Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
dlr-ne-ics-security — 高度な持続的脅威と移動標的防御の間の確率的ICSセキュリティゲームに対する動的低ランクナッシュ均衡計算を実装した研究コード。 | Kitploit
ツール/GitHubGitHub/tz98lab/dlr-ne-ics-security
防御ツール脆弱性分析SCADA/ICSセキュリティユーティリティとフレームワーク機械学習論文と研究
GitHubtz98lab/dlr-ne-ics-security

dlr-ne-ics-security

高度な持続的脅威と移動標的防御の間の確率的ICSセキュリティゲームに対する動的低ランクナッシュ均衡計算を実装した研究コード。

リポジトリを見る
1104日前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

ICSセキュリティゲームのためのDLR-NE

Python 3.10+ License: MIT

高度標的型攻撃と移動標的防御の間の確率ゲームに対する動的低ランク均衡計算

通常論文、Automatica にて査読中(2026年10月再投稿)

概要

本リポジトリは、高次元産業制御システム(ICS)セキュリティゲームにおけるナッシュ均衡を計算するための**動的低ランクナッシュ均衡(DLR-NE)**アルゴリズムの実装と実験的検証を含んでいます。

**高度標的型攻撃(APT)と移動標的防御(MTD)**の間の戦略的相互作用は、次元 $n \sim 10^3$–$10^4$ の連続状態空間上の2人ゼロ和確率ゲームとしてモデル化されます。重要な洞察は、攻撃チャネルと防御チャネルの物理的低ランク結合(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^$ を半減させると精度が約20倍のコストになる);バッチサイズ $N_b$ の影響は比較的無視できる。

実験3:計算複雑性(定理3)

反復あたりの計算量 $\mathcal{O}(nr^2)$ と、フルランクFC-NNベースラインに対する $\Theta(n/r^2)$ の高速化を検証します。

python experiments/exp03_complexity.py

出力: results/figures/exp3_complexity.png
期待される結果: DLR-NEは $n$ に対して線形にスケールし(log-logで傾き1)、FC-NNは二次的にスケールする(傾き2);$n=2000, r=10$ において測定FLOPs高速化 $\approx 12\times$(実時間 $\approx 4\times$)。

実験4:ゲーム理論的ロバスト性(系1)

線形関係 $|V(\cdot;\pi_D,\pi_A) - V(\cdot;\tilde{\pi}D,\pi_A)|\infty \le L_\kappa |\Delta S|F$ を、条件数 $\kappa(S)$ によって保証される有限で $\beta$ 調整可能な感度定数 $L\kappa$(アプリオリな最悪ケース保証)とともに検証します。

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:アブレーション—基底拡張の必要性

3つの変種を比較します:(i) 完全なアルゴリズム1、(ii) 固定基底、(iii) レトラクションなし。

python experiments/exp06_ablation.py

出力: results/figures/exp6_ablation.png
期待される結果: 固定基底変種は停滞する;レトラクションなし変種は不安定である;完全なアルゴリズム1は制御されたコストで安定した減衰を達成する。

再現性に関する声明

すべての乱数シードは固定され、報告されています。各実験スクリプトは自己完結型であり、デフォルトの $n=200$ 設定では標準的なラップトップ(CPUのみ)で実行できます。フルスケールの実験($n \sim 10^3$)は、Intel Xeon Gold 6248RとNVIDIA A100 40GB GPU(フルランクベースラインの加速にのみ使用)で実施されました。

主要なハイパーパラメータ:

  • 割引率: $\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 を参照してください。

お問い合わせ

コードや実験に関する質問は、GitHubでissueを開いてください。 理論的内容に関する質問は、Automatica に投稿された原稿を参照してください。

ツールをダウンロード