3. 威胁建模与威胁情报基础
威胁建模解决的是“我们自己的系统可能被怎样攻击”,威胁情报解决的是“外部世界正在怎样攻击”。两者结合,才能把抽象的风险清单转化为可验证、可运营的威胁场景。本节围绕四种核心方法展开:STRIDE 用于结构化枚举威胁类型,攻击树用于拆解单一攻击目标的实现路径,MITRE ATT&CK 用于把攻击行为映射到可观测的战术与技术,威胁情报源接入则提供外部证据与优先级依据。最终目标是把这些方法沉淀为企业可复用的威胁场景库。
STRIDE:按威胁性质分类枚举
STRIDE 是微软提出的威胁分类模型,六个字母分别对应六类威胁:Spoofing(仿冒)、Tampering(篡改)、Repudiation(抵赖)、Information Disclosure(信息泄露)、Denial of Service(拒绝服务)、Elevation of Privilege(权限提升)。它的价值在于提供一套“检查视角”,避免建模时只盯着某几类问题。
实际使用时,先画数据流图(DFD),标出外部实体、进程、数据存储和数据流,再对每个元素套用 STRIDE。例如一个登录接口:外部实体是用户浏览器,进程是认证服务,数据存储是用户表,数据流是凭证传输。对“认证服务”可问:能否被仿冒(伪造令牌)?能否被篡改(参数污染)?能否抵赖(无审计日志)?是否泄露信息(错误信息暴露账号是否存在)?能否被拒绝服务(暴力破解打满连接)?能否提权(普通用户调用管理接口)?
STRIDE 的产出通常是威胁条目表,字段包括:元素、威胁类型、威胁描述、现有控制、残余风险、建议措施。它适合在架构评审阶段快速铺开覆盖面,但本身不提供攻击路径和优先级,需要与攻击树、ATT&CK 配合。
攻击树:从攻击目标反推路径
攻击树以“攻击者目标”为根节点,向下分解为子目标,叶节点是具体攻击动作。节点之间用 AND/OR 连接:OR 表示任一子路径成功即可达成父目标,AND 表示所有子路径都需成功。攻击树适合分析高价值单点目标,例如“获取数据库管理员权限”。
以一个示例攻击树说明:根目标为“读取生产数据库敏感数据”。第一层分为 OR 两条路径:直接攻击数据库、先攻陷应用再横向到数据库。直接攻击下又分 OR:弱口令爆破、利用未修复漏洞、窃取备份文件。先攻陷应用下分 AND:获得应用低权限账号、利用注入或反序列化提权、读取数据库连接配置。每个叶节点可标注可行性、所需技能、检测难度,用于估算路径成本。
攻击树的关键不是画得漂亮,而是把“攻击者要完成哪些前置条件”显式化。这些前置条件往往就是防御方的检测点和阻断点:例如“读取数据库连接配置”对应文件访问审计,“弱口令爆破”对应登录失败告警。
MITRE ATT&CK:把行为映射到战术与技术
ATT&CK 是攻击行为的知识库,按战术(Tactic)和技术(Technique)组织。战术描述攻击者“为什么做”,如初始访问、执行、持久化、权限提升、防御规避、凭证访问、发现、横向移动、收集、命令与控制、数据外泄、影响。技术描述“怎么做”,每个技术有编号,如 T1059 命令与脚本解释器、T1078 有效账户、T1055 进程注入。
ATT&CK 的实战用法是“覆盖度评估”:把企业已有的检测规则、日志源、安全控制映射到具体技术编号,找出未覆盖的技术。例如企业部署了 EDR,可覆盖 T1055 进程注入的部分行为;但若没有 DNS 日志,T1071 应用层协议 C2 中的 DNS 隧道就难以发现。评估结果通常用热力图呈现,横轴是战术,纵轴是技术,颜色表示覆盖程度。
ATT&CK 还提供攻击组织画像(Group)和软件(Software)信息,可用于威胁情报关联。当情报提到某组织使用某技术时,可直接检查本地是否具备对应检测能力。
威胁情报源接入:从外部证据到本地优先级
威胁情报源分几类:开源情报(OSINT)如公开报告、漏洞库、IOC 订阅;商业情报如厂商情报平台;行业共享如 ISAC;内部情报如自身 SOC 告警和事件复盘。接入时不能“全量灌入”,而要经过采集、规范化、富化、评分、分发五个环节。
采集阶段确定源和频率;规范化把不同格式(STIX、CSV、JSON)统一为内部结构;富化补充上下文,如 IP 的地理位置、ASN、历史信誉;评分根据可信度、时效性、与自身资产相关性计算优先级;分发把高优先级 IOC 推送到 SIEM、防火墙、EDR。一个可参考的评分公式为:优先级 = 源可信度 × 时效衰减 × 资产相关性。例如某 IP 来自高可信源(0.9),24 小时内(衰减 0.8),且命中企业对外服务网段(相关性 1.0),则优先级约 0.72,应优先阻断;若同一 IP 来自低可信源且已过 30 天,优先级会降到 0.1 以下,仅作观察。
企业威胁场景库构建
威胁场景库是把 STRIDE 条目、攻击树路径、ATT&CK 技术和情报线索整合后的可运营资产。一个场景条目建议包含:场景编号、场景名称、关联资产、攻击者画像、ATT&CK 技术编号、攻击路径摘要、前置条件、可观测信号、现有控制、残余风险、建议动作、情报来源、更新时间。
构建流程可概括为:先按业务系统梳理关键资产,再用 STRIDE 铺开威胁类型,对高价值目标用攻击树细化路径,把路径中的行为映射到 ATT&CK 技术,最后用情报源验证哪些路径正在被真实使用。场景库不是一次性文档,而应随架构变更、情报更新和事件复盘持续迭代。
把上述四类方法串起来,威胁建模就不再是纸面工作:STRIDE 保证覆盖面,攻击树保证路径深度,ATT&CK 保证行为可检测,情报源保证优先级贴近现实。场景库则是这四者交汇后的沉淀,让每一次建模和情报消费都能被复用、被验证、被更新。