errmorra/IR_Sim

GitHub: errmorra/IR_Sim

一款基于NIST和MITRE ATT&CK框架的事件响应桌面模拟器,通过20个安全场景帮助蓝队和安全团队进行实战化桌面演练与GRC合规评估。

Stars: 0 | Forks: 0

# 🛡️ 事件响应桌面模拟器 ![Python](https://img.shields.io/badge/Python-3.9%2B-blue?style=flat-square&logo=python) ![License](https://img.shields.io/badge/License-MIT-green?style=flat-square) ![Scenarios](https://img.shields.io/badge/Scenarios-20-purple?style=flat-square) ![MITRE](https://img.shields.io/badge/MITRE-ATT%26CK%20v14-red?style=flat-square) ![Framework](https://img.shields.io/badge/Framework-NIST%20SP%20800--61%20r2-orange?style=flat-square) ## ✨ 功能 - **20 个详尽的场景** — 每次启动时随机选择,具有极高的重玩价值 - **打乱的选项顺序** — 每次注入(inject)的选项顺序都是随机的;无论显示在哪个位置,评分始终会准确对应到正确的质量级别 - **深色赛博仪表盘 GUI** — 基于 Python `tkinter` 构建(无需 Electron、Web 服务器或互联网) - **MITRE ATT&CK 映射的注入** — 100 个注入中包含 51 个独特的 MITRE 技术编号 - **NIST SP 800-61 r2 生命周期** — 全部 5 个阶段:准备 → 检测 → 遏制 → 根除 → 事件后恢复 - **三轴 GRC 评分** — NIST IR 评分、监管合规评分、法律地位评分;全部实时更新 - **Markdown 报告导出** — 完整的事件后 GRC 合规报告,包含执行建议、监管检查清单和 MITRE 技术覆盖范围 - **数据与代码分离** — 所有场景内容均在 `scenarios.json` 中;添加新场景无需修改任何 Python 代码 - **验证脚本** — `validate_scenarios.py` 可确认任何新场景是否符合要求的 schema ## 🚀 快速开始 ### 前置条件 - Python **3.9+** - `tkinter` — 包含在 Python 标准库中 ``` # 1. Clone git clone https://github.com/errmorra/IR_Sim.git cd IR_Sim # 2. 可选:安装 customtkinter 以增强 widget 样式 pip install customtkinter # 3. 运行 — 自动选择一个随机 scenario python app.py ``` 无需数据库、无需 API 密钥、无需服务器、无需 Docker。 ## 🎮 如何游玩 | 步骤 | 操作 | |------|--------| | 1 | 阅读注入事件 — 描述您的安全团队发现状况的场景事件 | | 2 | 查看显示当前攻击者所用技术的 MITRE ATT&CK 徽章 | | 3 | 选择一项响应措施 — 每次的顺序都是随机的 | | 4 | 点击 **COMMIT DECISION** | | 5 | 阅读附带监管法规引用的 GRC 反馈 | | 6 | 在侧边栏监控实时分数和 MITRE 追踪器 | | 7 | 结束后,点击 **GENERATE GRC REPORT** 导出您的 Markdown 合规报告 | | 8 | 随时点击 **↻ NEW SCENARIO** 加载新的随机场景,无需重启程序 | **键盘快捷键:** 按 `1`–`3`(或 `A`–`C`)选择响应,按 `Enter` 提交您的决定 / 进入下一个注入。 每次启动都会随机选择不同的场景 — 游玩全部 20 个场景以获得完整体验。 ## 📁 项目结构 ``` IR_Sim/ ├── app.py # Main GUI — all UI, session state, report export ├── scenarios.json # 20 scenarios, 100 injects, 300 choices, 51 MITRE IDs ├── validate_scenarios.py # Headless schema + scoring validator (for contributors) ├── requirements.txt # Optional dependencies ├── CONTRIBUTING.md # Scenario schema, PR process, accuracy standards ├── CHANGELOG.md # Version history ├── LICENSE # MIT ├── .gitignore └── .github/ └── workflows/ └── ci.yml # GitHub Actions — syntax, JSON validation, logic tests ``` ## 🎯 场景列表 | # | ID | 标题 | 主题 | 行业 | 严重程度 | |---|----|-------|-------|----------|----------| | 01 | RANSOMWARE-2024-001 | Operation Midnight Cipher | 企业勒索软件与数据泄露 | 医疗保健 | CRITICAL | | 02 | INSIDER-2024-002 | Operation Trusted Betrayal | 恶意内部人员数据窃取 | 金融服务 | HIGH | | 03 | SUPPLYCHAIN-2024-003 | Operation Poisoned Update | 软件供应链攻陷 | 国防 / 科技 | CRITICAL | | 04 | CLOUD-S3-2024-004 | Operation Open Bucket | AWS S3 错误配置泄露 | 电子商务 | HIGH | | 05 | DDOS-2024-005 | Operation Flood Wall | 多向量 DDoS 勒索 | 在线游戏 | HIGH | | 06 | WHALING-2024-006 | Operation Silver Tongue | CEO 捕鲸攻击 / BEC 电汇欺诈 | 制造业 | HIGH | | 07 | ZERODAY-2024-007 | Operation Silent Strike | Zero-Day VPN 设备漏洞利用 | 关键基础设施 | CRITICAL | | 08 | PHYSICAL-2024-008 | Operation Trojan Badge | 物理入侵 / 恶意网络植入 | 制药 | HIGH | | 09 | CRYPTOJACK-2024-009 | Operation Silent Miner | 凭据泄露导致的云加密劫持 | SaaS / 科技 | MEDIUM | | 10 | MOBILEPHISH-2024-010 | Operation Smishing Storm | 短信钓鱼 / AiTM 会话劫持 | 零售 | HIGH | | 11 | WEBAPP-2024-011 | Operation Broken Gate | SQL 注入与 Web 应用数据泄露 | 电子商务 | HIGH | | 12 | ATO-2024-012 | Operation Account Harvest | 大规模撞库 / 账户接管 (ATO) | 银行 | HIGH | | 13 | VENDOR-2024-013 | Operation Broken Chain | 第三方供应商泄露 | 保险 | HIGH | | 14 | DEEPFAKE-2024-014 | Operation Synthetic Voice | AI 深度伪造语音社会工程学 | 媒体 | HIGH | | 15 | MEDDEVICE-2024-015 | Operation Flatline | 医疗设备与医疗物联网攻陷 | 医院系统 | CRITICAL | | 16 | PAM-2024-016 | Operation Root Access | 特权账户滥用 / MSP PAM 失效 | MSP | CRITICAL | | 17 | DR-2024-017 | Operation Cold Restart | 数据中心中断与灾难恢复失败 | 银行 | HIGH | | 18 | CONTAINER-2024-018 | Operation Broken Pod | Kubernetes 容器逃逸 | SaaS / 科技 | HIGH | | 19 | OAUTH-2024-019 | Operation Consent Trap | 恶意 OAuth 应用授权同意 | SaaS / 科技 | HIGH | | 20 | DEFI-2024-020 | Operation Empty Vault | DeFi 智能合约漏洞利用 | 金融科技 / 加密货币 | CRITICAL | ## 🧠 架构 四个清晰的类,完全按关注点分离: ``` ScenarioManager → loads scenarios.json, randomly selects one at startup SimulationSession → runtime state: scores, decision log, MITRE technique tracking ReportGenerator → stateless Markdown report builder (reads from session) IncidentSimulatorApp → all tkinter GUI: dashboard, sidebar, meters, buttons ``` ### 随机化设计 **场景选择** — `ScenarioManager.__init__` 中调用一次 `random.randrange(len(all_scenarios))`。窗口标题和页眉会显示 `Scenario N/20: Title`,以便玩家知道当前抽到的是哪一个场景。 **选项打乱** — `_load_inject()` 在每次显示注入时打乱选项列表的一个*副本*。每个按钮都被分配一个作用域令牌 `f"{inject_index}_{display_letter}"` 作为其单选按钮值。`_choice_token_map` 在 `_on_submit()` 中将令牌解析回原始选项字典 — 因此评分始终与 `quality` + `text` 挂钩,而与 A/B/C 的显示位置无关。 ### 添加新场景 仅需编辑 `scenarios.json` — 无需更改 Python 代码。然后进行验证: ``` python validate_scenarios.py ``` 有关完整的注入 schema 和评分增量指南,请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。 ## 📊 评分系统 三个独立的分数均从 **50/100** 开始,并根据决策质量发生变化: | 指标 | 衡量内容 | |--------|-----------------| | **NIST IR 评分** | 根据 NIST SP 800-61 r2 衡量的技术事件响应决策质量 | | **合规评分** | 对 HIPAA、GDPR、PCI DSS、GLBA、NIST CSF 及其他适用框架的遵守程度 | | **法律地位** | 保护组织或使其面临监管和法律责任的决策 | **评级标准:** A (≥85) · B (≥70) · C (≥55) · D (≥40) · F (<40) ## 📄 生成的报告包含 - 包含整体评级和综合得分的执行摘要 - 包含各维度评级的 GRC 指标表 - NIST 阶段效率细分 - 完整的决策时间线 — 每次注入、您的选择、质量评级、反馈以及 MITRE 背景 - MITRE ATT&CK 检查清单 — 遇到的所有技术,已识别与遗漏的对比 - 7 项优先执行补救建议,映射至 NIST CSF 2.0、CIS Controls v8、HIPAA、DISA STIG - 监管义务检查清单 — HIPAA OCR、OFAC、CIRCIA、FBI IC3、GLBA、GDPR、各州数据泄露法 - 适合作品集和审计文档的报告认证块 ## ⚖️ 引用的监管框架 NIST SP 800-61 r2 · MITRE ATT&CK Enterprise v14 · HIPAA Security Rule · NIST CSF 2.0 · NIST SP 800-53 r5 · NIST SP 800-161r1 · GDPR · CCPA · PCI DSS v4 · GLBA Safeguards Rule · OFAC Sanctions · CIRCIA 2022 · DFARS 252.204-7012 · CMMC Level 2 · AWIA 2018 · FFIEC Authentication Guidance · NIST AI RMF 1.0 · SEC Cybersecurity Disclosure Rules (2023) · FinCEN SAR Requirements · CIS Controls v8 · ISO/IEC 27001:2022 ## 🤝 贡献 请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。特别欢迎提交场景 PR — 请查看上方的列表以了解尚未涵盖的主题。 ## 📜 许可证 MIT — 详见 [LICENSE](LICENSE) *框架参考:NIST SP 800-61 r2 · MITRE ATT&CK Enterprise v14 · NIST CSF 2.0*
标签:ATT&CK框架, Cloudflare, customtkinter, GRC, GUI, Homebrew安装, IR, JSON, MITRE ATT&CK, NIST, NIST SP 800-61, Python, SecOps, tkinter, 云安全架构, 人工智能安全, 合规性, 安全态势, 安全运营, 库, 应急响应, 意识培训, 扫描框架, 数据驱动, 无后门, 桌面应用, 桌面演练, 漏洞修复, 离线应用, 网络安全, 网络安全培训, 网络安全教育, 逆向工具, 隐私保护