规划图算法PlanningGraph

原文

Analysis of Attack Graph Representations for Ranking Vulnerability Fixes

出版

  • EPiC Series in Computing
  • GCAI-2018. 4th Global Conference on Artificial Intelligence
  • Volume 55, 2018, Pages 215–228


一、摘要

  攻击者可以利用软件中存在的漏洞发起攻击。然而修复软件的漏洞需要代价,防守方很难同时修复软件中存在的所有漏洞,所以需要对漏洞的修复进行排序,优先修复被攻击概率大的漏洞。本文给出规划图(Planning Graph)算法能够解决这个问题,并且还可以找出最短的一组攻击序列。

二、相关技术介绍

(一)逻辑攻击图(LAG)

  逻辑攻击图表示攻击者可能的动作行为和执行动作后产生的结果。逻辑攻击图下图所示,图中包括三种节点,矩形节点,椭圆节点和菱形节点。矩形节点表示实体,如网络连接、防火墙规则、用户账户等。椭圆节点表示动作;菱形节点表示权限,表示攻击者执行动作后权限的变化情况。以下图为例子,c1->a3->p2->a5表示的过程为:攻击者首先获得c1实体的一定权限,执行动作a3,权限变为p2,最终对实体a5产生影响。如果c1和a5都是主机,可以将该过程理解为攻击者从主机c1发起攻击,通过动作a3提权,最终完成对主机a5的攻击。
pic_center
  本文还给出了评估节点中心性的一些评估方法和指标。评估节点中心性最常见的方法就是计算节点的入度和出度。这种方法计算很简单,但是非常不准确。本文提出了两个较为准确的评价指标:
1.计算通过该节点的最短路径数量,数量越多,表示该节点越重要。假设LAG图的起点是s,终点是t。图中有一点v,则点v的中心性计算公式如下,公式的计算不难理解,分母表示从起点s到终点t一共有多少条最短路径,分子表示通过点v的最短路径。
在这里插入图片描述
2. 距离中心性(Closeness Centrality)该指标是通过计算当前节点到其他节点的路径来评估节点中心性的。计算方法也很容易理解,下面公式是计算LAG中节点v的距离中心性,d(u,v)表示节点u和节点v之间的距离。
在这里插入图片描述
此外,论文还给出了Google的PageRank算法计算公式,PageRank也是用来评估节点重要性的一个方法,计算公式如下:
在这里插入图片描述
公式中的N表示图中的节点数量,Out(j)表示从当前节点j跳转到其他节点的数量(这个节点可以理解成一个网页),对应的,In(j)就表示从其他页面跳转到页面j的数量。d表示用户跳转到其他页面而当前页面j的可能性。

(二)规划图(Planning Graph)算法

规划图包括两种类型的节点和两种类型的边,同时规划图使用分层结构,通过实体层和动作层的交替表示整个网络状态信息的变化过程。实体层中包含实体节点,动作层中包含动作节点。对前文的LAG使用规划图生成算法,得到的规划图如下图所示,第1层、第3层、第5层是实体层,第2层和第4层是动作层。第一层表示攻击者初始状态下可操作的实体,对这些实体执行响应动作后,如a1、a2等。实体层需要更新攻击者可操作的实体元素,同时对新出现的实体元素再进行扩展,知道实体层中出现了终止元素即g(表示goal,攻击目标)。此时,停止扩展。一旦找到了终止元素就停止扩展,此时也就得到了最短的攻击序列。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值