可扩展攻击路径查找以增强安全性
1. 逻辑攻击图
逻辑攻击图(LAGs)用于表示攻击者在系统中为获取目标资产可能采取的行动及其结果。图中包含三种类型的节点:
- 派生事实节点(特权节点) :代表攻击者执行某个动作(派生阶段)后获得的能力。例如,攻击者可以在特定机器上以特定权限执行任意代码。在图中通常用菱形节点表示。
- 派生节点(动作节点) :通常表示攻击者为在系统中获得新能力而采取的行动。执行该动作的结果是实例化一个新的派生事实。在图中用椭圆形节点表示。例如,在主机上获得代码执行权限的一种方式是发起允许远程代码执行的漏洞利用,另一种方式是获取有效用户的密码并使用其凭据登录。派生事实可以由其作为动作节点的父节点实例化。要实例化一个动作节点,其所有父节点都需要被实例化。
- 原始事实节点 :是模型的基本事实节点,代表关于系统的事实。通常可以表示网络连接性、防火墙规则、各种计算机上的用户账户等。在图中用矩形节点表示。
形式上,攻击图表示为一个元组:$(N_p, N_e, N_c, E, L, G)$
其中:
- $N_p$、$N_e$ 和 $N_c$ 分别是图中不相交的特权节点、动作节点和原始事实节点的集合。
- $E$ 是图中的有向边集合,$E \subseteq (N_e \times N_p) \cup ((N_p \cup N_c) \times (N_e))$
- $L$ 是从节点到其标签的映射。
- $G \subseteq N_p$ 是攻击者目标的集合。
攻击图中的边是有向的,有