发明名称 基于最小顶点割的网络攻击意图阻止方法
摘要 本发明提供一种基于最小顶点割的网络攻击意图阻止方法,根据具体网络 环境的关键资产和安全需求与攻击意图的对应关系,确定针对每个关键资产的 攻击意图,得到该网络的攻击意图集合;根据主机的脆弱性生成网络的攻击路 径图,应用最小顶点割理论生成阻止攻击意图实现的最优方案。针对某个特定 攻击意图,只要移除从当前节点到意图实现节点的最小顶点割,就可以用最小 数量的防御手段阻止该攻击意图的实现,为安全管理员制定最优的防护策略提 供理论依据。节省了成本,提高了网络的安全性,也减小了阻断对系统造成的 损失。
申请公布号 CN103748990B 申请公布日期 2012.02.08
申请号 CN201010048423.2 申请日期 2010.05.07
申请人 北京理工大学 发明人 胡昌振;彭武;姚淑萍
分类号 H04L12/24(2006.01)I;H04L12/26(2006.01)I 主分类号 H04L12/24(2006.01)I
代理机构 北京理工大学专利中心 11120 代理人 郭德忠;杨志兵
主权项 1.一种基于最小顶点割的网络攻击意图阻止方法,包括:攻击意图数据库,用于存储按照攻击后果分类的攻击意图;脆弱性知识库,用于存储各种脆弱性信息及其前提集和后果集;其特征在于,本方法包括如下步骤:第一步,生成攻击意图集合:根据具体网络环境的关键资产和安全需求与攻击意图的对应关系,确定针对每个关键资产的攻击意图,最终得到该网络的攻击意图集合INHY;第二步,生成攻击路径图:输入信息:主机集合HOST,主机集合所构成的特定网络的脆弱性集合VULN,主机间连接关系集合CONN,攻击意图集合INHY;①对主机集合HOST中的每一个主机,执行如下操作:A.根据漏洞扫描器的探测结果生成该主机的脆弱性集合VULN<sub>h</sub>,然后在脆弱性知识库中搜索脆弱性集合VULN<sub>h</sub>中的每个脆弱性vuln<sub>i</sub>的前提条件集合vuln_pre及后果集合vuln_post;B.在该主机的脆弱性集合VULN<sub>h</sub>中,搜索所有满足脆弱性vuln<sub>i+1</sub>的前提条件集合vuln_pre是脆弱性vuln<sub>i</sub>的后果集合vuln_post的子集的脆弱性vuln<sub>i+1</sub>,则认为从vuln<sub>i</sub>到vuln<sub>i+1</sub>是一条边,其中vuln<sub>i</sub>,vuln<sub>i+1</sub>∈VULN<sub>h</sub>;将搜索结果中重复的边删除后剩下的所有边添加到该主机的边集;C.将该主机的脆弱性集合VULN<sub>h</sub>中的所有脆弱性作为顶点,添加到该主机的顶点集;根据顶点集和边集,将这些顶点和边连接在一起,生成该主机的攻击路径图;②对主机集合HOST中的每一个主机,从主机间连接关系集合CONN中取出所有与该主机有连接关系的主机host<sup>*</sup>,按照步骤①的方法生成这些主机host<sup>*</sup>各自的攻击路径图;如果在这些主机host<sup>*</sup>中,主机i的一个脆弱性的后果集为获得root或user权限,且主机j的一个脆弱性的前提集为远程攻击,则将这两个脆弱性连接起来,从而获得由主机集合构成的整个网络的攻击路径图;③对攻击意图集合INHY中的每一个攻击意图,搜索由主机集合所构成的特定网络的脆弱性集合VULN中与该攻击意图存在因果关系的脆弱性,则将该攻击意图作为与该攻击意图存在因果关系的脆弱性vuln<sub>i</sub>的后续节点,生成网络的攻击路径图Graph;第三步,应用最小顶点割理论生成阻止攻击意图实现的最优方案:(1)在网络的攻击路径图Graph中寻找最大两两顶点不相交路径,获得Graph的最大两两顶点不相交路径集合PATH,PATH中共有b条路径;(2)寻找网络的攻击路径图Graph中两个节点之间的最小顶点割,方法如下:①从最大两两顶点不相交路径集合中的每条路径上选取一个节点,构成具有b个元素的顶点集合,这样的集合共有m个,分别记为VERTEX<sub>1</sub>,……,VERTEX<sub>m</sub>,其中,<img file="DEST_PATH_FBM2013121802160000021.GIF" wi="333" he="178" />d<sub>i</sub>为最大两两顶点不相交路径集合中第i条路径上的除起点和终点之外的其它顶点的个数;②PATH<sup>*</sup>为PATH的补集,对该补集中的路径path<sup>*</sup>∈PATH<sup>*</sup>,进行如下检验:如果path<sup>*</sup>不经过集合VERTEX<sub>j</sub>中的任意顶点,则将VERTEX<sub>j</sub>删除,否则保留,其中VERTEX<sub>j</sub>∈{VERTEX<sub>1</sub>,……,VERTEX<sub>m</sub>};经过上述删除处理后,剩下顶点集合m’个,分别是VERTEX’<sub>1</sub>,……,VERTEX’<sub>m’</sub>,则为所求的一组最小顶点割MinCut;(3)在攻击路径图中,移除成本最低的最小顶点割,即为阻止攻击意图实现的最优方案。
地址 100081 北京市海淀区中关村南大街5号