symbolnotdefined/T2DE-Threat_to_Detection_Engine

GitHub: symbolnotdefined/T2DE-Threat_to_Detection_Engine

基于大语言模型的威胁情报转检测引擎,自动将威胁报告映射到 MITRE ATT&CK 技术并生成检测规则与覆盖率分析。

Stars: 0 | Forks: 0

# 威胁到检测引擎(T2DE) 将威胁情报转化为行为检测逻辑 ## 功能 ### 🎯 核心能力 - 从**文本文件**或 **URL** 解析威胁情报报告 - 使用 AI 提取结构化威胁数据(支持 Ollama、Anthropic Claude、OpenAI GPT) - 将攻击链映射到 **MITRE ATT&CK** 技术 - 生成全面的 IOC 分析 ### 🔍 检测匹配 - 从 Sigma 和 Elastic 仓库**自动匹配检测规则** - 链接到 **Atomic Red Team** 测试进行验证 - 搜索 1000 多条社区检测规则 ### 📊 覆盖率分析 - **检测盲区识别** - 发现未被覆盖的技术 - **覆盖率评分** - 量化检测质量(0-100 分制) - **优先级建议** - 可执行的检测工程任务 - 可视化覆盖率评级(A-F 等级) ### 🤖 AI 驱动的检测工程 - 为检测盲区**自动生成 Sigma 规则** - 以多种格式(Splunk、KQL、EQL)**创建 hunting 查询** - 从攻击链中**提取行为模式** - **建议数据源**和实施指南 - 为每项检测**提供调优建议** ### 🧪 测试与验证 - 将技术映射到 Atomic Red Team 测试用例 - 为每项检测提供验证方法 - 展示可测试的攻击模拟 ### 💣 高性价比 - **使用 Ollama 的免费本地选项** - 无需 API 费用! - 初始克隆仓库后可离线运行 ## 安装 ``` pip3 install -r requirements.txt ``` ## 配置 在项目根目录创建一个 `.env` 文件,并配置您首选的 LLM 提供商: ### 选项 1:Ollama(免费,本地) ``` LLM_PROVIDER=ollama OLLAMA_BASE_URL=http://localhost:11434 OLLAMA_MODEL=llama3.1 MODEL_TEMPERATURE=0 MODEL_TIMEOUT=60.0 ``` **设置 Ollama:** 1. 从 https://ollama.ai/ 安装 Ollama 2. 拉取模型:`ollama pull llama3.1` 3. 启动 Ollama:`ollama serve` ### 选项 2:Anthropic Claude ``` LLM_PROVIDER=anthropic ANTHROPIC_API_KEY=your_anthropic_api_key_here MODEL_TEMPERATURE=0 MODEL_TIMEOUT=60.0 ``` 从以下地址获取您的 API 密钥:https://console.anthropic.com/ ### 选项 3:OpenAI GPT ``` LLM_PROVIDER=openai OPENAI_API_KEY=your_openai_api_key_here MODEL_TEMPERATURE=0 MODEL_TIMEOUT=60.0 ``` 从以下地址获取您的 API 密钥:https://platform.openai.com/ ### 性能调优(可选) ``` # 启用多种查询类型进行狩猎查询(速度较慢但更全面) # 默认:仅生成 Splunk 查询(7 次 LLM 调用,约 35-210 秒) # 启用此选项:生成 Splunk + KQL 查询(10 次 LLM 调用,约 50-300 秒) ENABLE_MULTI_QUERY_TYPES=true ``` **性能说明:** - 默认情况下,AI 检测生成会进行 7 次 LLM 调用(3 条 Sigma 规则 + 3 条 hunting 查询 + 1 次模式提取) - 每次 LLM 调用耗时 5-30 秒,具体取决于提供商和模型 - 总计时间:默认配置约为 35-210 秒 - 启用 `ENABLE_MULTI_QUERY_TYPES=true` 可以生成更全面的 hunting 查询,但会增加处理时间 ## 用法 ### 从文本文件: ``` python main.py --input data/raw/threat_report.txt --output data/output/analysis.md ``` ### 从 URL: ``` python main.py --input https://example.com/threat-report --output data/output/analysis.md ``` ### 参数: - `--input`:输入文本文件的路径或威胁报告的 URL(必填) - `--output`:保存 Markdown 输出的路径(默认值:output.md) ## 工作原理 1. **输入**:接受本地文本文件或包含威胁报告的 URL 2. **解析**:使用 LangChain 与您选择的 LLM 提取结构化情报 3. **分析**:识别包含 MITRE ATT&CK 技术和 IOC 的攻击链 4. **检测匹配**:自动在 Sigma 和 Elastic 仓库中搜索相关的检测规则 5. **输出**:生成包含匹配的检测和可操作情报的 Markdown 格式报告 ### 检测匹配与覆盖率分析 该工具会自动: 1. **克隆/更新仓库:** - [SigmaHQ/sigma](https://github.com/SigmaHQ/sigma) - 社区检测规则 - [elastic/detection-rules](https://github.com/elastic/detection-rules) - Elastic SIEM 规则 - [Atomic Red Team](https://github.com/redcanaryco/atomic-red-team) - 攻击测试用例 2. **匹配检测:** - 搜索与 MITRE ATT&CK 技术匹配的规则 - 根据威胁情报中的关键词进行匹配 - 提供指向检测规则的直接 GitHub 链接 3. **分析覆盖率:** - 计算检测覆盖率百分比 - 识别盲区(没有检测规则的技术) - 对检测质量进行评分(0-100 分制) - 分配覆盖率等级(A-F) 4. **建议操作:** - 按优先级排列盲区(CRITICAL、HIGH、MEDIUM、LOW) - 链接到 Atomic Red Team 测试进行验证 - 提供可执行的检测工程任务 **首次运行**:该工具将克隆仓库(总计约 800MB)。后续运行将通过 `git pull` 进行更新。 ## 输出结构 生成的报告包括: - **执行摘要**:威胁的高层级概述 - **攻击链**:带有 MITRE ATT&CK 技术映射的顺序步骤 - **匹配的检测规则**: - 来自 SigmaHQ 仓库的 Sigma 规则 - 来自 elastic/detection-rules 的 Elastic 检测规则 - GitHub 中规则文件的直接链接 - 每条规则匹配的技术和关键词 - **失陷指标 (IOCs)**:IP、域名、哈希值、文件路径等。 ## 示例输出 该工具生成全面的 Markdown 报告,包含: ### 1. 检测覆盖率分析 ``` ## 检测覆盖率分析 **Overall Coverage:** 🟡 GOOD (75.0%) ### 摘要 - **Total Techniques:** 8 - **Covered by Detections:** 6 (75.0%) - **Detection Gaps:** 2 - **Total Detection Rules:** 12 - **Techniques with Atomic Tests:** 7 (87.5%) ``` ### 2. 匹配的检测规则 ``` ### Sigma Rules #### 可疑的 PowerShell 执行 - **Description:** Detects suspicious PowerShell command execution - **Severity:** high - **Matched Techniques:** T1059.001 - **Source:** [Link to GitHub] - **Repository:** SigmaHQ/sigma ``` ### 3. Atomic Red Team 测试 ``` ## Atomic Red Team 测试覆盖 ### T1059.001 - PowerShell **Test Count:** 15 available tests #### 测试 #1:PowerShell 执行 - **Description:** Execute PowerShell script... - **Platforms:** windows - **Executor:** powershell [View all tests on GitHub](...) ``` ### 4. 关键检测盲区 ``` ## 关键检测盲区 ### 🔴 关键:T1055.012 - Process Hollowing **Description:** Adversary injects code into suspended process... **Has Atomic Tests:** ✅ Yes **Recommendation:** Validate detection capability using 3 available Atomic Red Team tests | Develop detection for Process Hollowing focusing on: Adversary injects... | Review MITRE ATT&CK for data sources and detection opportunities ```
标签:AI安全, AI风险缓解, Atomic Red Team, Chat Copilot, Claude, Cloudflare, CVE检测, DLL 劫持, Elastic规则, EQL, Gradle, IOC分析, IP 地址批量处理, KQL, LLM, LLM评估, MITRE ATT&CK, Ollama, OpenAI, Python安全工具, Sigma规则, Splunk查询, Unmanaged PE, 内存规避, 大语言模型, 威胁分析, 威胁情报, 开发者工具, 搜索语句(dork), 攻击链映射, 数据展示, 数据泄露检测, 无线安全, 本地部署, 检测差距, 漏洞测试, 目标导入, 紫队, 红队, 网络信息收集, 网络安全, 网络安全审计, 自动化侦查工具, 行为检测, 覆盖率分析, 逆向工具, 隐私保护