Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
dlr-ne-ics-security — 고급 지속적 위협과 이동 표적 방어 간의 확률적 ICS 보안 게임을 위한 동적 저랭크 내시 균형 계산을 구현한 연구 코드. | Kitploit
도구/GitHubGitHub/tz98lab/dlr-ne-ics-security
Defensive ToolsVulnerability AnalysisSCADA/ICS SecurityUtilities & FrameworksMachine LearningPapers & Research
GitHubtz98lab/dlr-ne-ics-security

dlr-ne-ics-security

고급 지속적 위협과 이동 표적 방어 간의 확률적 ICS 보안 게임을 위한 동적 저랭크 내시 균형 계산을 구현한 연구 코드.

저장소 보기
184일 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

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$에 대해 선형으로 확장(로그-로그에서 기울기 1), FC-NN은 이차적으로 확장(기울기 2); $n=2000, r=10$에서 측정된 FLOPs 속도 향상 $\approx 12\times$(실제 시간 $\approx 4\times$).

실험 4: 게임 이론적 견고성 (따름정리 1)

조건수 $\kappa(S)$에 의해 인증되는 유한하고 $\beta$로 조정 가능한 민감도 상수 $L_\kappa$를 갖는 선형 관계 $|V(\cdot;\pi_D,\pi_A) - V(\cdot;\tilde{\pi}D,\pi_A)|\infty \le L_\kappa |\Delta S|_F$를 검증합니다(사전적 최악의 경우 인증서).

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$에서 최적점: 약 2.3%의 효용 손실로 약 94%의 파라미터 압축.

실험 6: 절제—기저 증강의 필요성

세 가지 변형을 비교합니다: (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에 이슈를 열어 주십시오. 이론적 내용에 관한 질문은 Automatica에 투고된 원고를 참조하십시오.

도구 다운로드