DaSa7/deadband

GitHub: DaSa7/deadband

将CVE数据与MITRE ATT&CK for ICS技术进行关联,识别威胁组织并分析安全平台检测能力的ICS/OT威胁情报映射工具。

Stars: 0 | Forks: 0

# // deadband ### ICS/OT 对手映射工具 Deadband 接收供应商或协议名称,从 NVD 和 CISA 提取所有相关 CVE,将其映射到 [MITRE ATT&CK for ICS](https://attack.mitre.org/matrices/ics/) 技术,找出使用这些技术的威胁行为者,然后告诉您哪些是您的安全平台无法检测到的——全部在一 个命令中完成,全部在一个可以直接交给别人的 PDF 中。 ![Deadband 报告预览](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/44620af68d134126.png) ## 功能说明 ``` CVEs (NVD + CISA) → ATT&CK for ICS techniques → Threat group attribution → Detection gap analysis → PDF report ``` 一个命令输入,一份报告输出。或者启动 Web UI,从浏览器进行操作。 ## Web UI Deadband 有一个基于 Flask 的 Web UI,带有实时流水线流式传输——您可以实时观看分析运行,并直接从浏览器下载 PDF 报告。 ``` python app.py ``` 然后打开 `http://127.0.0.1:5000`。 功能特性: - 从 `detection_coverage.json` 填充的平台下拉菜单 - 流水线运行时通过 Server-Sent Events 推送的实时日志输出 - 结果摘要卡片——收集的 CVE、发现的技术、覆盖率%、盲点 - 覆盖率条形图和带有威胁行为者归属的热门盲点列表 - 一键式 PDF 下载 ## 支持的平台 | 类别 | 平台 | |----------|-----------| | OT/ICS | Claroty、Dragos、Nozomi | | SIEM | Splunk、QRadar、Microsoft Sentinel | | EDR | CrowdStrike Falcon、Microsoft Defender | | 开源 | Zeek、Snort | 检测覆盖率在 `data/detection_coverage.json` 中定义——添加新平台只需编辑 JSON 文件。 ## 安装 ``` python app.py ``` 您需要一个免费的 NVD API 密钥——在 [nvd.nist.gov/developers/request-an-api-key]( 获取一个。大约需要 2 分钟。 在项目根目录创建 `.env` 文件: ``` NVD_API_KEY=your-key-here ``` WeasyPrint 在 Debian/Kali 上需要一些系统依赖: ``` sudo apt install libpango-1.0-0 libpangoft2-1.0-0 libpangocairo-1.0-0 -y ``` ## 使用方法 ### CLI ``` # Generate a threat intelligence report python main.py --vendor "Siemens" --platform claroty # Try a different vendor and platform python main.py --vendor "Schneider" --platform dragos python main.py --vendor "Modbus" --platform splunk # Custom output path python main.py --vendor "Rockwell" --platform sentinel --output reports/rockwell_sentinel.pdf # See all available platforms python main.py --list-platforms ``` 报告默认保存到 `reports/` 目录,命名为 `deadband_{vendor}_{platform}.pdf`。 ### Web UI ``` python app.py # → http://127.0.0.1:5000 ``` ## 输出示例 针对 Siemens + Claroty 运行: ``` // deadband — ICS/OT Threat Intelligence Mapper Vendor : Siemens Platform : claroty Output : reports/deadband_siemens_claroty.pdf === Deadband Collector: 'Siemens' === [NVD] Total results reported by API: 259 [NVD] Done. 259 CVEs collected. [CISA] Found 1 entries matching 'Siemens'. [Mapper] Indexed 83 techniques, 14 groups. [Mapper] Done. 260/260 CVEs matched at least one technique. [GapAnalyzer] Threat profile contains 83 unique techniques. [GapAnalyzer] Done. 48/83 techniques covered (57.8%). 35 blind spot(s) identified. ✓ Report ready: reports/deadband_siemens_claroty.pdf 83 techniques | 48 covered | 35 blind spots | 57.8% coverage ``` PDF 报告包含: - 包含覆盖率和顶级威胁行为者的执行摘要 - 盲点表格——您的平台无法检测到的技术,按行为者参与情况标记 - 按 CVSS 分数排序的热门 CVE - 完整的已覆盖技术列表 ## 项目结构 ``` deadband/ ├── data/ │ ├── attack_ics.json # ATT&CK for ICS bundle (auto-downloaded) │ └── detection_coverage.json # Platform detection coverage config ├── src/ │ ├── collector.py # NVD + CISA data ingestion │ ├── mapper.py # CVE → ATT&CK ICS technique + group mapping │ ├── gap_analyzer.py # Detection gap analysis │ └── reporter.py # HTML + PDF report generation ├── templates/ │ └── index.html # Web UI ├── reports/ # Generated reports go here ├── assets/ # Screenshots and static files ├── app.py # Flask web UI entry point ├── main.py # CLI entry point └── requirements.txt ``` ## 映射原理 技术匹配基于关键词——从 CVE 描述中提取的关键词与 ATT&CK for ICS 技术名称和描述进行比对。每次匹配都会根据关键词重叠情况获得分数,技术按分数排序。这不是完美的(宽泛的关键词会提高匹配率),但它能为您提供一份扎实的工作威胁画像,然后您可以手动完善。 威胁组织归属直接来自 ATT&CK for ICS STIX 数据包——与 MITRE 发布的关系相同。所以当 Deadband 说 Sandworm 使用 T0807 时,那是来自 MITRE 的数据,而不是猜测。 检测覆盖率数据来源于公开的供应商文档、ATT&CK 评估和能力披露。它存储在一个 JSON 文件中,您可以编辑它以反映您实际部署的环境。 ## 数据源 | 来源 | 提供内容 | |--------|-----------------| | [NVD API 2.0](https://nvd.nist.gov/developers/vulnerabilities) | CVE 详情、CVSS 分数 | | [CISA KEV](https://www.cisa.gov/known-exploited-vulnerabilities-catalog) | 正在被利用的漏洞 | | [MITRE ATT&CK for ICS](https://attack.mitre.org/matrices/ics/) | 技术、战术、威胁组织 | ## 局限性 - 关键词匹配有意做得简单——它是一个起点,而不是事实真相 - 检测覆盖率数据反映公开的供应商披露,而不是您特定的部署环境 - CVE 到技术的映射对描述性 CVE 效果最好;稀疏的描述会产生较弱的匹配 - ATT&CK for ICS 有 83 个技术——比企业版矩阵更小,因此匹配范围更广 ## 操作系统兼容性 | 操作系统 | 状态 | 备注 | |----|--------|-------| | Linux | ✅ 完全支持 | 已在 Kali 和 Ubuntu 上测试 | | macOS | ✅ 完全支持 | 需要 `brew install pango` | | Windows | ⚠️ 仅支持 WSL2 | 由于 WeasyPrint 依赖,不支持原生 Windows | ## 技术栈 Python · Flask · NVD API · CISA KEV · MITRE ATT&CK for ICS STIX · Jinja2 · WeasyPrint *由 [DaSa7](https://github.com/DaSa7) 构建——实验室系列的一部分。*
标签:ATT&CK for ICS, CISA, Claroty, Cloudflare, CrowdStrike, CVE分析, Dragos, EDR, Flask, GPT, ICS安全, Microsoft Defender, Microsoft Sentinel, MITRE ATT&CK, Nozomi, NVD API, OT安全, PDF报告生成, Python, QRadar, Rootkit, Zeek, 威胁情报, 威胁映射, 威胁行为者归因, 安全运营, 工业控制系统安全, 开发者工具, 扫描框架, 无后门, 检测盲区分析, 检测覆盖, 漏洞管理, 脆弱性评估, 逆向工具