JDRGit/detection-engineering-portfolio
GitHub: JDRGit/detection-engineering-portfolio
一个基于真实运营数据的检测工程项目集,展示 ATT&CK 覆盖评估、多格式检测规则编写、威胁狩猎和告警调优的完整方法论。
Stars: 0 | Forks: 0
# 检测工程与 AI 风险项目组合
这是一个基于证据的检测工程项目组合,构建于为期四个月的 MDR 服务评估期间观察到的实际运营发现之上。它映射了在生产相关安全事件中观察到的 26 种 MITRE ATT&CK 技术,并包含检测规则、威胁狩猎包 (hunt packs)、身份事件响应剧本、本地 AI 风险评估以及支持性自动化内容。
## 本项目组合的亮点成果
- 基于真实事件模式评估了 26 种 ATT&CK 技术
- 使用 Taegis、Sigma 和伪检测格式编写了 10 条检测规则
- 创建了 5 个威胁狩猎包以解决覆盖不全和已知盲区问题
- 采用多阶段关联方法,在提高真阳性率的同时减少了 95%+ 的警报量
- 将覆盖范围扩展至云身份威胁和本地 AI 数据渗漏场景
## 从这里开始
为了快速了解本项目组合,建议按以下顺序阅读:
1. `coverage-matrix/detection_coverage_matrix.md` — ATT&CK 映射覆盖评估
2. `tuning/before_after_analysis.md` — 在不损失保真度的情况下去除噪声的示例
3. `hunts/hunt_hypotheses.md` — 主动威胁狩猎设计与优先级排序
4. `playbooks/identity_cloud_incident_response.md` — 云和身份事件响应工作流
5. `ai-risk/local_ai_risk_assessment.md` — 本地 AI 和影子 AI 风险分析
## 为什么本项目组合很重要
本项目组合旨在展示五个领域的实用检测工程能力:
- 与 ATT&CK 对齐的覆盖评估
- 跨多种格式的检测规则编写
- 针对已知盲区的威胁狩猎
- 调优与误报减少
- 针对云身份和本地 AI 的新兴风险覆盖
## 仓库结构
```
detection-engineering-portfolio/
├── README.md
├── methodology.md # Evidence-based detection methodology
├── coverage-matrix/
│ └── detection_coverage_matrix.md # 26 ATT&CK techniques with coverage status
├── detections/
│ ├── taegis/
│ │ ├── DET-001_aadinternal_token_theft.yml
│ │ ├── DET-003_mshta_remote_payload.yml
│ │ └── DET-005_credential_vault_extraction.yml
│ ├── sigma/
│ │ ├── DET-002_impossible_travel.yml
│ │ ├── DET-004_jupyter_startup_shortcut.yml
│ │ ├── DET-007_cherryloader_indicators.yml
│ │ └── DET-010_mfa_fatigue_push_bombing.yml
│ └── pseudo/
│ ├── DET-006_vscode_tunnel_reverse_shell.yml
│ ├── DET-008_multistage_kill_chain.yml
│ └── DET-009_local_llm_data_exfil.yml
├── tuning/
│ └── before_after_analysis.md # Noise reduction without fidelity loss
├── hunts/
│ ├── hunt_hypotheses.md # Hunt index and prioritization
│ ├── HUNT-001_credential_store_no_powershell.md
│ ├── HUNT-002_lolbin_payload_delivery.md
│ ├── HUNT-003_nonstandard_persistence.md
│ ├── HUNT-004_cloud_identity_api_manipulation.md
│ └── HUNT-005_remote_access_scope_creep.md
├── playbooks/
│ └── identity_cloud_incident_response.md # Azure AD/Entra ID compromise response
├── ai-risk/
│ └── local_ai_risk_assessment.md # Local LLM / shadow AI risk program
└── scripts/
├── sigma_to_splunk.py # Convert Sigma rules to Splunk SPL
├── coverage_gap_checker.py # Map detections to ATT&CK and surface gaps
└── ioc_enrichment.sh # Enrich IPs, hashes, and domains via VirusTotal
```
## 覆盖情况摘要
| 状态 | 数量 | 描述 |
|--------|-------|-------------|
| **已覆盖** | 17 | 具有可接受误报率的自动化检测 |
| **部分覆盖** | 7 | 存在检测但存在已知盲区 |
| **缺口** | 2 | 目前没有自动化检测;通过威胁狩猎包解决 |
## 检测目录
| 规则 | 技术 | 格式 | 严重性 |
|------|-----------|--------|----------|
| DET-001: AADInternals Token Theft | T1528 | Taegis XDR | CRITICAL |
| DET-002: Impossible Travel | T1078 | Sigma | MEDIUM |
| DET-003: Mshta Remote Payload | T1218.005 | Taegis XDR | HIGH |
| DET-004: Jupyter Startup Shortcut | T1547.009 | Sigma | MEDIUM |
| DET-005: Credential Vault Extraction | T1555 | Taegis XDR | HIGH |
| DET-006: VS Code Tunnel Reverse Shell | T1219, T1572 | Pseudo | HIGH |
| DET-007: CherryLoader Indicators | T1036.005 | Sigma | HIGH |
| DET-008: Multi-Stage Kill Chain Correlation | T1003, T1055, T1574, T1547+ | Pseudo | CRITICAL |
| DET-009: Local LLM Data Exfiltration | T1048, T1567 | Pseudo | MEDIUM-HIGH |
| DET-010: MFA Fatigue Push Bombing | T1621 | Sigma | HIGH |
## 威胁狩猎包
| 狩猎任务 | 解决的缺口 | 优先级 |
|------|---------------|----------|
| HUNT-001: Credential Store Access Without PowerShell | T1555, T1552.001 | P1 |
| HUNT-004: Cloud Identity API Manipulation | T1556, T1528 (API variant) | P1 |
| HUNT-005: Remote Access Tool Scope Creep | T1219 | P2 |
| HUNT-003: Non-Standard Persistence Mechanisms | T1053, T1546 | P2 |
| HUNT-002: LOLBin Payload Delivery Beyond Mshta | T1105, T1218 | P3 |
## ATT&CK 覆盖图
### 身份与凭证访问
| ID | 技术 | 覆盖情况 |
|----|-----------|----------|
| T1078 | Valid Accounts (Impossible Travel) | ✅ 已覆盖 |
| T1528 | Steal Application Access Token | ✅ 已覆盖 |
| T1556 | Modify Authentication Process | ⚠️ 部分覆盖 |
| T1555 | Credentials from Password Stores | ✅ 已覆盖 |
| T1552.001 | Credentials in Files | ⚠️ 部分覆盖 |
| T1003.001 | LSASS Memory | ✅ 已覆盖 |
| T1621 | MFA Request Generation | ✅ 已覆盖 |
### 执行
| ID | 技术 | 覆盖情况 |
|----|-----------|----------|
| T1059.001 | PowerShell | ✅ 已覆盖 |
| T1059 | Command and Scripting Interpreter | ✅ 已覆盖 |
| T1204 | User Execution | ✅ 已覆盖 |
| T1218.005 | Mshta | ✅ 已覆盖 |
### 持久化
| ID | 技术 | 覆盖情况 |
|----|-----------|----------|
| T1547.009 | Shortcut Modification | ✅ 已覆盖 |
| T1547.001 | Registry Run Keys / Startup Folder | ⚠️ 部分覆盖 |
| T1574.001 | DLL Search Order Hijacking | ✅ 已覆盖 |
| T1053 | Scheduled Task / Job | ⚠️ 部分覆盖 |
| T1546 | Event-Triggered Execution | ❌ 缺口 |
### 防御规避
| ID | 技术 | 覆盖情况 |
|----|-----------|----------|
| T1055.001 | DLL Injection | ✅ 已覆盖 |
| T1564.003 | Hidden Window | ✅ 已覆盖 |
| T1036.005 | Match Legitimate Name or Location | ✅ 已覆盖 |
| T1562.001 | Impair Defenses | ⚠️ 部分覆盖 |
### 横向移动与影响
| ID | 技术 | 覆盖情况 |
|----|-----------|----------|
| T1486 | Data Encrypted for Impact | ✅ 已覆盖 |
| T1105 | Ingress Tool Transfer | ⚠️ 部分覆盖 |
### 指挥与控制
| ID | 技术 | 覆盖情况 |
|----|-----------|----------|
| T1219 | Remote Access Software | ⚠️ 部分覆盖 |
| T1572 | Protocol Tunneling | ✅ 已覆盖 |
| T1566.001 | Spearphishing Attachment | ⚠️ 部分覆盖 |
### AI 与新兴风险
| ID | 技术 | 覆盖情况 |
|----|-----------|----------|
| T1048 | Exfiltration Over Alternative Protocol | ⚠️ 部分覆盖 |
| T1567 | Exfiltration Over Web Service (Local LLM) | ✅ 已覆盖 |
## 检测格式
检测规则以三种格式编写,以展示跨平台能力:
- **Taegis XDR queries** — 针对 Secureworks 环境的原生平台查询
- **Sigma rules** — 可移植、与平台无关的逻辑,可转换为多种 SIEM 和分析堆栈
- **Pseudo-detection logic** — 用于独立于任何单一供应商平台传达分析意图的概念性检测
## 从业者见解
**身份层检测是许多 MDR 部署中影响最大的缺口之一。** 某个受评估的服务缺乏身份威胁检测能力,遗漏了凭证被盗活动,这些活动仅在将 Azure AD / Entra ID 登录异常与端点遥测数据相关联时才变得可见。DET-001、DET-002 和 DET-010 直接解决了这个问题。
**多阶段关联将噪声转化为信号。** 针对 PowerShell、注册表修改和可疑文件活动的单独检测可能会产生难以管理的警报量。在单个主机上关联三个或更多杀伤链 (kill chain) 阶段可以减少 95%+ 的警报量,同时将真阳性率提高到 90%+。
**调优前后的对比是从业者展示差异的地方。** 编写检测规则只是基本要求。记录抑制逻辑背后的权衡推理 —— 过滤什么、保留什么以及为什么 —— 展示了运营成熟度。
**本地 AI 是下一个未被监控的攻击面。** 许多企业 DLP 和可接受使用策略专注于云 AI 服务,如 ChatGPT 或 Copilot。在企业端点上运行的本地 LLM 可以绕过网络控制,并且对基于代理的监控不可见。包含 DET-009 和 AI 风险评估旨在解决这一新兴缺口。
## 方法论
本项目组合采用基于证据的检测工程,而非理论覆盖映射:
1. 案例收集自 2025 年 9 月至 2026 年 1 月期间进行的为期四个月的 MDR 服务评估。
2. ATT&CK 技术从观察到的事件中提取并独立验证。
3. 根据实际检测结果评估覆盖情况:规则是否触发,是否具有可操作性?
4. 通过分析哪些行为变体会逃避当前逻辑来识别盲区。
5. 编写检测规则以解决已验证的缺口和部分覆盖情况。
6. 调优分析源自观察到的警报量、保真度结果和抑制权衡决策。
完整的方法论文档请参见 `methodology.md`。
所有敏感标识符,包括主机名、用户名和 IP 地址,均已出于项目组合用途进行脱敏处理。案例参考编号作为脱敏占位符包含在内,以在保护运营细节的同时保留方法论背景。
## 假设与局限性
- 部分检测出于项目组合用途故意以脱敏或概念形式呈现。
- 包含伪检测逻辑是为了独立于任何单一平台传达检测意图。
- 检测有效性取决于可用的遥测数据、日志质量、平台配置和数据保留情况。
- ATT&CK 覆盖状态反映的是观察到的评估结果和已识别的盲区,而非所有环境中通用的平台能力。
- 诸如警报减少和真阳性率之类的定量改进是作为评估得出的观察结果呈现的,应在受评估环境的范围内进行解释。
## 关于
由 Jaime Rodriguez 构建,他是一名专注于检测工程、威胁狩猎、SOC 运营和安全平台评估的信息安全分析师。本项目组合展示了通过 ATT&CK 映射、关联逻辑、威胁狩猎开发、调优分析和新兴风险评估来提高检测覆盖率的实用方法。
标签:AI风险管理, Cloudflare, Cutter, MDR评估, MITRE ATT&CK, Sigma规则, 云身份安全, 告警调优, 安全组合, 安全运营中心, 影子AI, 本地AI安全, 目标导入, 相关性分析, 网络安全, 网络映射, 覆盖度评估, 误报减少, 逆向工具, 隐私保护