攻击树和攻击链是网络安全领域中两个核心的威胁建模工具,它们从不同的视角和分析层次来描述攻击,相辅相成。

简单来说,它们的核心区别在于:

  • 攻击树 回答的是 “有多少种方法可以实现攻击目标?” ,侧重于可能性与路径。它是静态的、全面的蓝图

  • 攻击链 回答的是 “一次具体的攻击是如何一步步完成的?” ,侧重于过程与步骤。它是动态的、线性的剧本


对比表格

特性 攻击树 攻击链
核心视角 攻击者的目标(What) 攻击者的过程(How)
结构 树状层次结构(根、子节点、叶节点) 线性顺序链条(阶段1 -> 阶段2 -> ...)
逻辑关系 使用 “与” 和 “或” 门描述路径组合 通常是 “与” 关系,步骤按顺序发生
分析焦点 广度优先,枚举所有可能的方法 深度优先,描述一次成功攻击的完整生命周期
动态/静态 静态模型(描述系统在某个时刻的脆弱性) 动态模型(描述攻击随时间的演变)
主要用途 系统化的风险分析、防御规划 事件响应、威胁检测、理解攻击者行为
著名框架 无特定标准框架 洛克希德-马丁网络杀伤链, MITRE ATT&CK

深入解析与比喻

1. 攻击树 - “攻击路径的蓝图”

想象一下,你要为一座城堡设计安防系统。攻击树就是你画的一张蓝图,上面标记了所有可能的入侵点和方法。

  • 根节点:攻入城堡主殿。

  • 子节点:通过各种途径实现,比如“从正门进入”【或】“从密道进入”【或】“翻越城墙进入”。

  • 进一步分解

    • “从正门进入” = 偷到钥匙 【与】 避开门口卫兵

    • “翻越城墙进入” = 准备梯子 【或】 用抓钩 【与】 选择夜间行动

攻击树的价值在于:

  • 全面性:它能揭示你意想不到的入侵路径(比如那条你忘了封锁的密道)。

  • 防御规划:城堡指挥官可以根据这张蓝图,在每一个叶节点(具体攻击动作)上部署相应的防御措施。例如,在“偷到钥匙”这个节点,可以加强钥匙管理和使用电子门禁。

2. 攻击链 - “攻击过程的剧本”

现在,想象一个具体的攻击者正在实施入侵。攻击链就是描述他一步一步的行动剧本

以经典的洛克希德-马丁杀伤链为例,一次高级持续性威胁攻击可能包含以下阶段:

  1. 侦察:攻击者收集城堡信息(巡逻时间、守卫人数)。

  2. 武器化:制作带有木马病毒的假信件(相当于制作一个恶意PDF文件)。

  3. 投递:将假信件送给城堡里的某个人(通过钓鱼邮件)。

  4. 利用:收信人打开信件,触发了木马(漏洞被利用)。

  5. 安装:木马在城堡内部的电脑上安装了后门程序。

  6. 命令与控制:攻击者通过后门与城堡内的系统建立联系,接收指令。

  7. 目标行动:攻击者窃取宝藏(数据外泄)。

攻击链的价值在于:

  • 事件响应:安全团队可以在攻击链的早期阶段(如“侦察”、“投递”)发现并阻断攻击,实现“前置防御”。

  • 检测分析:帮助分析师理解攻击的全貌,找出安全监控的盲点。


一个具体的例子:入侵公司数据库

攻击树视角(我们只展开一部分):

            [窃取公司核心数据库]
                     |
                     OR
       /-------------+-------------\
[从外部网络入侵]           [从内部物理接触]        [贿赂内部员工]
       |                         |                     |
      AND                       OR                    ...
   /       \              /      |      \
[攻破Web服务器] [利用数据库漏洞] [偷取服务器硬盘] [从备份磁带恢复]

攻击链视角(描述一次具体的远程攻击):

  1. 侦察:扫描公司IP段,发现开放的80端口和一个Web应用。

  2. 武器化:准备一个针对该Web应用已知漏洞的利用代码。

  3. 投递:向Web服务器发送恶意HTTP请求。

  4. 利用:漏洞被触发,攻击者在服务器上获得了执行代码的能力。

  5. 安装:在服务器上安装Web Shell。

  6. 命令与控制:通过Web Shell连接服务器,横向移动到数据库服务器。

  7. 目标行动:导出整个数据库并压缩外传。

总结与关系

  • 互补而非对立:攻击树和攻击链是互补工具。你可以用攻击树来全面识别所有风险(例如,识别出“内部人员威胁”是一个重要路径),然后用攻击链来深入分析其中一种路径(例如,一个恶意内部人员会如何一步步窃取数据)的详细过程。

  • 现代框架的融合MITRE ATT&CK 框架在某种程度上融合了两者的思想。它提供了一个巨大的“战术和技术”知识库(类似于攻击树叶节点的全集),同时又以攻击链的阶段(战术)作为组织方式,描述了攻击者达成每个目标所使用的各种技术(具体方法)。

简单记忆:

  • 攻击树地图,告诉你所有能到达目的地的路。

  • 攻击链导航,告诉你现在走的这条路的具体路线和实时位置。

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐