Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
dlr-ne-ics-security — بحث كودي يطبق حساب توازن ناش الديناميكي منخفض الرتبة لألعاب أمن أنظمة التحكم الصناعية العشوائية بين التهديدات المستمرة المتقدمة ودفاعات الأهداف المتحركة. | Kitploit
أدوات/GitHubGitHub/tz98lab/dlr-ne-ics-security
أدوات دفاعيةتحليل الثغرات الأمنيةأمن SCADA/ICSالأدوات والمكوناتتعلم الآلةالأوراق والأبحاث
GitHubtz98lab/dlr-ne-ics-security

dlr-ne-ics-security

بحث كودي يطبق حساب توازن ناش الديناميكي منخفض الرتبة لألعاب أمن أنظمة التحكم الصناعية العشوائية بين التهديدات المستمرة المتقدمة ودفاعات الأهداف المتحركة.

عرض المستودع
18منذ 4 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

DLR-NE لألعاب أمن أنظمة التحكم الصناعي

Python 3.10+ License: MIT

حساب التوازن الديناميكي منخفض الرتبة للألعاب العشوائية بين التهديدات المستمرة المتقدمة والدفاع بالهدف المتحرك

ورقة بحثية عادية، قيد المراجعة في Automatica (أُعيد تقديمها في أكتوبر 2026)

نظرة عامة

يحتوي هذا المستودع على التنفيذ والتحقق التجريبي لخوارزمية التوازن الديناميكي منخفض الرتبة لناش (DLR-NE) لحساب توازنات ناش في ألعاب أمن أنظمة التحكم الصناعي (ICS) عالية الأبعاد.

يُنمذج التفاعل الاستراتيجي بين التهديدات المستمرة المتقدمة (APTs) والدفاعات بالهدف المتحرك (MTDs) كلعبة عشوائية صفرية المجموع بين لاعبين على فضاء حالة مستمر بأبعاد $n \sim 10^3$–$10^4$. الفكرة الجوهرية هي أن الاقتران الفيزيائي منخفض الرتبة بين قنوات الهجوم والدفاع (خاصية بنيوية متأصلة في طوبولوجيا شبكة ICS) تُمكّن من تقريب مقبول منخفض الرتبة للشبكة العصبية لدالة قيمة التوازن، مما يقلل التعقيد لكل تكرار من $\mathcal{O}(n^2)$ إلى $\mathcal{O}(nr^2)$، أي تسريع بمقدار $\Theta(n/r^2)$.

المساهمات النظرية الأساسية

المبرهنةالنصالتجربة
المبرهنة 1حد خطأ التقريب العالمي منخفض الرتبة لدالة القيمة المثلى $V^*$تجربة 1
المبرهنة 2التقارب الهندسي لـ DLR-NE مع تفكيك صريح لخطأ الحالة المستقرةتجربة 2
المبرهنة 3التعقيد لكل تكرار $\mathcal{O}(nr^2)$ والتسريع $\Theta(n/r^2)$ مقارنة بخطوط الأساس كاملة الرتبةتجربة 3
النتيجة المترتبة 1المتانة النظرية للألعاب: حساسية التوازن يتحكم بها رقم الشرط $\kappa(S)$تجربة 4

هيكل المستودع

dlr-ne-ics-security/
├── src/                          # Core algorithmic modules
│   ├── environment.py            # Synthetic nonlinear power-system dynamics
│   ├── networks.py               # Low-rank and full-rank neural networks
│   ├── bellman.py                # Bellman operator and greedy Nash policy extractor
│   ├── dlra_vi.py                # Algorithm 1: DLR-NE
│   └── utils.py                  # FLOPs accounting, EYM error, metrics
│
├── experiments/                  # Experimental scripts (one per theorem)
│   ├── exp01_truncation_error.py     # Theorem 1: Low-rank truncation error
│   ├── exp02_convergence.py          # Theorem 2: Convergence of DLR-NE
│   ├── exp03_complexity.py           # Theorem 3: Computational complexity
│   ├── exp04_robustness.py           # Corollary 1: Game-theoretic robustness
│   ├── exp05_tradeoff.py             # Compression-accuracy Pareto frontier
│   └── exp06_ablation.py             # Ablation: necessity of basis augmentation
│
├── data/                         # Generated datasets (excluded from git)
├── results/                      # Figures and logs (excluded from git)
├── notebooks/                    # Prototyping and visualization
├── requirements.txt              # Python dependencies
└── README.md                     # This file

التثبيت

المتطلبات الأساسية

  • Python >= 3.10
  • NumPy, SciPy, Matplotlib, PyTorch (CPU أو CUDA)

الإعداد السريع

# Clone the repository
git clone https://github.com/tz98lab/dlr-ne-ics-security.git
cd dlr-ne-ics-security

# Create a virtual environment (recommended)
python -m venv venv
source venv/bin/activate        # Linux/Mac
# venv\Scripts\activate         # Windows

# Install dependencies
pip install -r requirements.txt

المتطلبات

numpy>=1.24.0
scipy>=1.10.0
matplotlib>=3.7.0
torch>=2.0.0

التجارب

جميع التجارب مكتفية ذاتيًا ويمكن تشغيلها بشكل مستقل. يُنشئ كل سكربت الأشكال في دليل results/figures/.

ملاحظة حول النطاق: تستخدم الإعدادات الافتراضية $n=200$ للعرض السريع. لإعادة إنتاج النتائج كاملة النطاق المُبلَّغ عنها في الورقة ($n \sim 10^3$)، عدّل PowerSystemConfig في أعلى كل سكربت (انظر التعليقات المضمّنة).

تجربة 1: خطأ الاقتطاع منخفض الرتبة (المبرهنة 1)

تتحقق من أن خطأ الاقتطاع $|V_{\mathrm{full}} - \widehat{V}r|\infty$ يتلاشى مع الرتبة $r$ ويتوافق مع التنبؤ النظري لـ Eckart-Young-Mirsky.

python experiments/exp01_truncation_error.py

المخرجات: results/figures/exp1_truncation_error.png
المتوقع: الخطأ المقاس (دوائر زرقاء) يتتبع الحد النظري $L_\phi |w_{\mathrm{out}}^*|2 R{\mathcal{X}} \epsilon_{\mathrm{EYM}}(r)$ (الخط البنفسجي المتقطع)؛ يُظهر طيف القيم المفردة تلاشيًا سريعًا.

تجربة 2: تقارب DLR-NE (المبرهنة 2)

تتحقق من التقارب الهندسي بمعدل $\gamma$ وجوار خطأ الحالة المستقرة الصريح $\varepsilon_{\mathrm{total}}/(1-\gamma)$.

python experiments/exp02_convergence.py

المخرجات: results/figures/exp2_convergence.png
المتوقع: تتحلل منحنيات الخطأ أولاً على طول غلاف $\gamma^k$، ثم تنحني إلى هضبة يهيمن عليها ميزانية الحلقة الداخلية $s^$ (تنصيف $s^$ يكلف معاملًا قدره $\approx 20$ في الدقة)؛ حجم الدفعة $N_b$ له تأثير ضئيل نسبيًا.

تجربة 3: التعقيد الحسابي (المبرهنة 3)

تتحقق من التعقيد لكل تكرار $\mathcal{O}(nr^2)$ والتسريع $\Theta(n/r^2)$ مقارنة بخطوط الأساس FC-NN كاملة الرتبة.

python experiments/exp03_complexity.py

المخرجات: results/figures/exp3_complexity.png
المتوقع: يتوسع DLR-NE خطيًا في $n$ (ميل 1 في المقياس اللوغاريتمي المزدوج)، ويتوسع FC-NN تربيعيًا (ميل 2)؛ التسريع المقاس بـ FLOPs $\approx 12\times$ (زمن الحائط $\approx 4\times$) عند $n=2000, r=10$.

تجربة 4: المتانة النظرية للألعاب (النتيجة المترتبة 1)

تتحقق من العلاقة الخطية $|V(\cdot;\pi_D,\pi_A) - V(\cdot;\tilde{\pi}D,\pi_A)|\infty \le L_\kappa |\Delta S|F$ مع ثابت حساسية منتهٍ قابل للضبط بـ $\beta$ وهو $L\kappa$ مُصدَّق عليه برقم الشرط $\kappa(S)$ (شهادة أسوأ حالة مسبقة).

python experiments/exp04_robustness.py

المخرجات: results/figures/exp4_robustness.png
المتوقع: انحراف القيمة خطي في $|\Delta S|_F$ مع ميل يتناقص مع وزن التنظيم الطيفي $\beta$؛ يُضغط $\kappa(S)$ بزيادة $\beta$.

تجربة 5: المقايضة بين الضغط والدقة

تستكشف حدود باريتو بين نسبة الضغط وأداة سياسة التوازن.

python experiments/exp05_tradeoff.py

المخرجات: results/figures/exp5_tradeoff.png
المتوقع: النقطة المثلى عند $r = 5$: ضغط معاملات $\approx 94%$ بخسارة أداة $\approx 2.3%$.

تجربة 6: الاستئصال—ضرورة تعزيز الأساس

تقارن ثلاثة متغيرات: (i) الخوارزمية 1 الكاملة، (ii) أساس ثابت، (iii) بدون ارتداد.

python experiments/exp06_ablation.py

المخرجات: results/figures/exp6_ablation.png
المتوقع: متغير الأساس الثابت يركد؛ متغير بدون ارتداد غير مستقر؛ الخوارزمية 1 الكاملة تحقق تحللًا مستقرًا بتكلفة مضبوطة.

بيان قابلية إعادة الإنتاج

جميع البذور العشوائية ثابتة ومُبلَّغ عنها. كل سكربت تجربة مكتفٍ ذاتيًا ويمكن تنفيذه على حاسوب محمول قياسي (CPU فقط) للإعداد الافتراضي $n=200$. أُجريت التجارب كاملة النطاق ($n \sim 10^3$) على معالج Intel Xeon Gold 6248R مع وحدة معالجة رسومات NVIDIA A100 40GB (استُخدمت فقط لتسريع خطوط الأساس كاملة الرتبة).

المعاملات الفائقة الرئيسية:

  • معامل الخصم: $\gamma = 0.95$
  • دالة التنشيط: $\tanh$ ($L_\phi = 1$)
  • حجم الدفعة: $N_b = 512$ (LHS)
  • خطوات الحلقة الداخلية: $s^* = 10$
  • التنظيم الطيفي: $\beta = 0.1$ (افتراضي)

انظر src/utils.py وسكربتات التجارب الفردية للحصول على قوائم المعاملات الكاملة.

الاقتباس

إذا استخدمت هذا الكود، يرجى الاقتباس:

@article{dlrne2026,
  title={Dynamical Low-Rank Equilibrium Computation for Stochastic Games between Advanced Persistent Threats and Moving Target Defense},
  author={Tian, Zijian and Zhang, He and Chen, Xinjie and Wang, Wenhai and Liu, Xinggao},
  journal={Automatica},
  year={2026},
  note={Under review}
}

الترخيص

هذا المشروع مرخّص بموجب رخصة MIT. انظر LICENSE للتفاصيل.

التواصل

للأسئلة المتعلقة بالكود أو التجارب، يرجى فتح issue على GitHub. للأسئلة المتعلقة بالمحتوى النظري، يرجى الرجوع إلى المخطوطة المقدمة إلى Automatica.

تنزيل الأداة