词条 | 攻击树 |
释义 | 攻击树的定义攻击树(Attack trees) 为我们提供了一种正式而条理清晰的方法来描述系统所面临的安全威胁和系统可能受到的多种攻击。我们用树型结构来表示系统面临的攻击,其中根节点代表被攻击的目标,叶节点表示达成攻击目标的方法。 攻击树的节点攻击树具有多级节点,其中包括根节点和叶节点。根节点的下级就是叶节点,叶节点的下级依然是叶节点。对于一个叶节点,由它直接引出的下级叶节点就是它的子节点,自然,该叶节点就是其下级子节点的父节点。在下图中我们可以看到,叶节点C的子节点是叶节点D和叶节点F,那么叶节点C就是叶节点D和叶节点F的父节点。在攻击树中,子节点必须满足使其父节点为真的条件(即节点D可以导致节点C为真)。 根节点A / \\ 叶节点B 叶节点C / \\ 叶节点D 叶节点F 一个实例举一个具体例子,在一个教室中一台电脑放在讲台桌上,其中电脑与讲台桌被被钢丝锁连接。如果想偷取这个电脑,我们假设可以采取两种方法,剪断钢丝或想办法打开锁,我们可以通过撬锁或者得到钥匙来开锁,要想获得钥匙,我们可以通过威胁钥匙的所有者,贿赂钥匙的所有者,从储存钥匙的地方直接拿取等方法。现在我们将这个偷取电脑的攻击绘制成攻击树,自然,根节点就是这个攻击的最终目标,偷取电脑。 偷取电脑 / \\ / \\ 切断钢丝 打开锁 / \\ / \\ 撬锁 取得钥匙 / | \\ / | \\ 胁迫 贿赂 从存钥匙的地方拿取 现在我们从下往上看,所有子节点都满足使父节点成立的条件(如贿赂钥匙所有者可以取得钥匙,撬锁可以打开锁)。 子节点间的关系我们注意到,在上图中,所有同级子节点间的关系都是“或”的关系,即单独使用一个节点的攻击方法就能使其父节点为真,当然在现实中也存在必须将两种或两种以上的攻击方法 结合使用才能使攻击实现的情况,不如在上例中,如果在切断钢丝的同时,报警器会报警,那么必须使切断钢丝与令报警器失效同时生效,才能偷取电脑,那么,切断钢丝与令报警器失效两个节点就是“和”的关系 。 偷取电脑 / -and- | \\ 令报警器失效 切断钢丝 打开锁 / \\ 撬锁 取得钥匙 / | \\ 胁迫 贿赂 从存钥匙的地方拿取 (由于用文本绘图的局限,可能引起误会,真正绘图方法参见上传的图片) 结论当攻击树应用在具体实例中时,其结构可能变得庞大而复杂。一个完整的攻击树很可能包括成百上千的叶节点,即便如此,攻击树也可以在很大程度上帮助我们判断系统存在的威胁和决定应对攻击的方法。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。