Implements MITRE ATT&CK coverage mapping for SOC detection rules using Splunk/Sentinel exports and ATT&CK Navigator layers to identify gaps, score coverage, and prioritize rule development.
npx claudepluginhub killvxk/cybersecurity-skills-zhThis skill uses the workspace's default tool permissions.
MITRE ATT&CK 覆盖率映射为安全运营中心(Security Operations Center,SOC)团队提供了一个结构化的、以对手为中心的视角来评估检测能力。根据 2025 年 CardinalOps 报告,企业 SIEM 平均只对 21% 的 ATT&CK 技术具有检测覆盖,且由于数据源配置错误,13% 的现有规则无法正常工作。系统化的覆盖率映射可识别空白、优先排序规则开发,并随时间跟踪检测成熟度。ATT&CK v18.1(2025 年 12 月)是最新版本。
Implements MITRE ATT&CK coverage mapping for SOC teams to export detection rules from Splunk/Sentinel, build Navigator layers, identify gaps, prioritize rules, and measure maturity.
Implements MITRE ATT&CK coverage mapping for SOC teams to identify detection gaps, prioritize rule development, and measure maturity using ATT&CK Navigator and SIEM rule exports.
Maps adversary behaviors, security alerts, and detection rules to MITRE ATT&CK techniques/sub-techniques to quantify coverage and prioritize controls. Use for ATT&CK heatmaps, SIEM tagging, gap analysis with Navigator and Sigma.
Share bugs, ideas, or general feedback.
MITRE ATT&CK 覆盖率映射为安全运营中心(Security Operations Center,SOC)团队提供了一个结构化的、以对手为中心的视角来评估检测能力。根据 2025 年 CardinalOps 报告,企业 SIEM 平均只对 21% 的 ATT&CK 技术具有检测覆盖,且由于数据源配置错误,13% 的现有规则无法正常工作。系统化的覆盖率映射可识别空白、优先排序规则开发,并随时间跟踪检测成熟度。ATT&CK v18.1(2025 年 12 月)是最新版本。
# Splunk ES - 导出所有带 MITRE 映射的活跃关联搜索
| rest /services/saved/searches
| search disabled=0 action.correlationsearch.enabled=1
| table title, search, action.notable.param.security_domain,
action.notable.param.severity, action.correlationsearch.annotations
| eval mitre_techniques=mvfilter(match('action.correlationsearch.annotations', "mitre_attack"))
// Microsoft Sentinel - 导出带 MITRE 映射的分析规则
SecurityAlert
| summarize count() by AlertName, ProductName
| join kind=inner (
resources
| where type == "microsoft.securityinsights/alertrules"
| extend tactics = properties.tactics
) on $left.AlertName == $right.name
{
"name": "SOC Detection Coverage - 2025",
"versions": {
"attack": "16",
"navigator": "5.1",
"layer": "4.5"
},
"domain": "enterprise-attack",
"description": "Current detection coverage mapping",
"techniques": [
{
"techniqueID": "T1110",
"tactic": "credential-access",
"color": "#00ff00",
"comment": "2 active rules - Brute Force detection via EventCode 4625",
"score": 75,
"metadata": [
{"name": "rule_count", "value": "2"},
{"name": "data_sources", "value": "Windows Security Log, Linux Auth"},
{"name": "last_validated", "value": "2025-01-15"}
]
},
{
"techniqueID": "T1059.001",
"tactic": "execution",
"color": "#00ff00",
"comment": "3 rules - PowerShell Script Block Logging",
"score": 85
},
{
"techniqueID": "T1055",
"tactic": "defense-evasion",
"color": "#ff0000",
"comment": "NO DETECTION - Requires Sysmon EventCode 8/10",
"score": 0
}
],
"gradient": {
"colors": ["#ff0000", "#ffff00", "#00ff00"],
"minValue": 0,
"maxValue": 100
}
}
| 分数 | 颜色 | 含义 | 评判标准 |
|---|---|---|---|
| 0 | 红色 | 无检测 | 无规则,缺少数据源 |
| 25 | 橙色 | 极少 | 规则存在但未验证/测试 |
| 50 | 黄色 | 部分 | 规则有效但覆盖有限 |
| 75 | 浅绿 | 良好 | 已验证规则且数据源充足 |
| 100 | 绿色 | 优秀 | 多条已验证规则,经仿真测试 |
分数 = 数据源得分(0-25)+ 规则质量得分(0-25)+
验证得分(0-25)+ 富化得分(0-25)
数据源得分:
25:所有必需数据源已接入并解析
15:主要数据源可用
5: 数据源覆盖不完整
0: 所需数据源不可用
规则质量得分:
25:规则使用 CIM 合规查询并设置适当阈值
15:规则有效但可能产生误报
5: 基础规则未经调优
0: 无检测规则
验证得分:
25:通过对手仿真(Atomic Red Team)验证
15:使用合成数据测试
5: 逻辑已审查但未测试
0: 未验证
富化得分:
25:包含资产、身份和威胁情报富化的丰富上下文
15:基础富化(资产查询)
5: 无富化
0: 不适用(无规则)
优先级 = 技术流行度 × 影响程度 × 可行性
技术流行度(0-10):
- 基于 MITRE Top Techniques 报告
- 在所在行业威胁态势中的频率
- 在近期事件/数据泄露中的观察情况
影响程度(0-10):
- 技术成功时的破坏潜力
- 恢复难度
- 面临风险的数据敏感性
可行性(0-10):
- 数据源可用性
- 规则复杂度
- 所需工程投入
| 技术 | ID | 流行度 | 典型空白原因 |
|---|---|---|---|
| 命令和脚本解释器 | T1059 | 极高 | 需要脚本块日志记录 |
| 钓鱼(Phishing) | T1566 | 极高 | 邮件网关集成 |
| 有效账户 | T1078 | 高 | 需要行为基线 |
| 进程注入(Process Injection) | T1055 | 高 | 需要 Sysmon 或 EDR |
| 横向移动(RDP/SMB) | T1021 | 高 | 网络分段可见性 |
| 计划任务/作业 | T1053 | 高 | 事件日志采集 |
| 数据加密影响 | T1486 | 高 | 文件系统监控 |
| 入侵工具传输 | T1105 | 中 | 网络流量分析 |
第一季度:弥补关键空白(评分 0,高流行度)
第 1-2 周:启用缺失数据源
第 3-4 周:为前 5 个空白技术构建并测试规则
第 5-8 周:通过对手仿真验证
第 9-12 周:调优并投入运营
第二季度:提升部分覆盖(评分 25-50)
- 为现有规则添加富化
- 添加辅助检测方法
- 通过紫队演练验证
第三季度:完善良好覆盖(评分 50-75)
- 添加行为分析
- 实施检测即代码流水线
- 跨技术关联规则
第四季度:卓越状态(评分 75-100)
- 使用 BAS 工具持续测试
- 自动化覆盖率回归测试
- 红队验证
# 将可用数据源映射到可检测的技术
DATA_SOURCE_TECHNIQUE_MAP = {
"Windows Security Event Log": [
"T1110", "T1078", "T1053.005", "T1098", "T1136",
"T1070.001", "T1021.001", "T1543.003"
],
"Sysmon": [
"T1055", "T1059", "T1003", "T1547.001", "T1036",
"T1218", "T1105", "T1071"
],
"Network Traffic (Firewall/IDS)": [
"T1071", "T1048", "T1105", "T1572", "T1090",
"T1571", "T1573"
],
"DNS Logs": [
"T1071.004", "T1568", "T1583.001", "T1048.003"
],
"Email Gateway": [
"T1566.001", "T1566.002", "T1534"
],
"Cloud Audit Logs": [
"T1078.004", "T1537", "T1530", "T1580",
"T1087.004", "T1098.001"
],
}
| inputlookup mitre_coverage_lookup
| stats avg(score) as avg_score count(eval(score=0)) as no_coverage
count(eval(score>0 AND score<50)) as partial
count(eval(score>=50 AND score<75)) as good
count(eval(score>=75)) as excellent
count as total
by tactic
| eval coverage_pct=round((total - no_coverage) / total * 100, 1)
| sort -coverage_pct