CN106850607A - 基于攻击图的网络安全态势的量化评估方法 - Google Patents
基于攻击图的网络安全态势的量化评估方法 Download PDFInfo
- Publication number
- CN106850607A CN106850607A CN201710050255.2A CN201710050255A CN106850607A CN 106850607 A CN106850607 A CN 106850607A CN 201710050255 A CN201710050255 A CN 201710050255A CN 106850607 A CN106850607 A CN 106850607A
- Authority
- CN
- China
- Prior art keywords
- node
- saturated
- attack
- maximum probability
- successful
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种基于攻击图的网络安全态势的量化评估方法,属于信息安全技术领域。具体为:步骤一、生成攻击图。步骤二、评估攻击图G中节点的重要度。步骤三、在步骤一操作的基础上,计算攻击图G中节点被渗透成功的最大概率。步骤四、得到网络安全态势评估值。本发明提出的方法与已有技术相比较,具有以下优点:①基于攻击图的评估方法能够反映出攻击者利用网络中的漏洞进行多步攻击的意图。②评估方法中使用的数据易于采集,具有可操作性。③评估过程中可以得到网络中各节点的防护情况,反映网络中各节点的防护情况。④评估方法综合考虑了网络的拓扑信息、漏洞关联信息和攻击者的攻击意图,评估结果精度高。
Description
技术领域
本发明涉及一种基于攻击图的网络安全态势的量化评估方法,属于信息安全技术领域。
背景技术
随着计算机网络的迅猛发展,网络信息***中的安全漏洞和隐患也层出不穷,网络攻击的种类和数量成倍增长,基础网络和信息***面临着严峻的安全威胁。在此背景下研究网络安全态势的量化评估具有重要的意义。
近年来,在评估网络安全态势方面逐渐从单机、局部、定性分析逐向分布式、全局、客观分析方向发展。目前大多数的网络安全评估方法多是定性评估,其缺点在于由于研究者对网络安全的定义标准各有不同,给评估、应急响应等带来了不确定性,评估的结果也就带有主观性。已有的定量评估研究方案,主要问题是:操作性上的困难和不可扩展性。如Lian YiFeng等人提出的应用贝叶斯网络定量评估网络的漏洞,该方法为量化评估计算方法,其缺点是无法克服贝叶斯网络在计算过程中大量先验概率的获取问题。
本发明中使用到了CVE(Common Vulnerabilities&Exposures,公共漏洞和暴露)兼容的数据库。所谓CVE就是一个字典表,为广泛认同的信息安全漏洞或者已经暴露出来的弱点给出一个公共的名称。帮助用户在各自独立的各种漏洞数据库中和漏洞评估工具中共享数据。这样就使得CVE成为了安全信息共享的“关键字”。使用漏洞的CVE名称,可以快速地在任何其它CVE兼容的数据库中找到相应的信息。
发明内容
本发明的目的是提出一种基于攻击图的网络安全态势的量化评估方法,通过分析网络中的主机信息、拓扑信息、漏洞信息以及攻击者信息等,得到网络中所有可能的攻击路径,生成攻击图;然后,对攻击图进行图论以及概率论等方面的分析,得出网络安全评估的结果,从而使得安全管理员更加有针对性的进行网络安全加固措施。
本发明的目的是通过以下技术方案实现的。
本发明的一种基于攻击图的网络安全态势的量化评估方法,具体操作为:
步骤一、生成攻击图。具体为:
步骤1.1:通过扫描工具获取网络中的漏洞CVE名称,在CVE兼容的数据库中查找漏洞信息,形成漏洞信息列表,用符号VulExploitList表示。然后,针对漏洞信息列表VulExploitList中的每一个漏洞,在CVE兼容的数据库中寻找攻击者能够采用的攻击动作,形成漏洞攻击动作列表,用符号VulExploitDB表示。
所述漏洞信息列表VulExploitList包括:漏洞名称、漏洞分类、通用漏洞评分***(Common Vulnerability Scoring System,CVSS)分值、攻击复杂度值、受影响的平台与产品以及受影响的程序版本。
步骤1.2:定义攻击图为G,G=(C0∪Cd,T,E),其中,C0表示初始节点集合,Cd表示中间节点集合,T表示目标节点集合,E表示连接节点之间的有相弧集合。C0初始化为攻击者可直接利用的漏洞主机节点,
步骤1.3:依次对漏洞攻击动作列表VulExploitDB中的每一条数据,查找网络中存在的漏洞以及与该漏洞对应的攻击动作,将所述攻击动作涉及的节点添加到中间节点集合Cd和目标节点集合T中,将节点间的有向弧添加到有相弧集合E中,完成攻击图G如图所示。
步骤二、评估攻击图G中节点的重要度。
在步骤一操作的基础上,通过节点的网页等级(PageRank)评分以及中介中心性评分评估节点的重要度。具体为:
步骤2.1:用符号N表示攻击图G中的节点个数;用符号T表示迭代次数,T为人为设定值,T≥50。用变量t表示当前的迭代次数,t∈[1,T]。用符号PR(pi,t)表示第t次迭代中第i个节点pi的PageRank评分,i∈[1,N]。当t=1时,令
步骤2.2:按照公式(1)进行迭代,当公式(2)满足条件时,停止迭代,得到各个节点的PageRank评分。
其中,PR(pi,t+1)表示第t+1次迭代中第i个节点pi的PageRank评分;d表示阻尼系数,d=0.85;pj表示第j个节点,j∈[1,N];M(pi)表示指向节点pi的节点的个数,L(pi)表示节点pi指向其他节点的个数;PR(pj,t)表示第t次迭代中第j个节点pj的PageRank评分。
|PR(pi,t+1)-PR(pi,t)|<ε (2)
其中,ε表示收敛值,ε为人为设定值,ε≤0.1。
步骤2.3:通过公式(3)对PageRank评分进行标准化处理。
其中,PR(pi)表示第i个节点pi的PageRank评分;min(PR)表示所有节点中PageRank评分的最小值,max(PR)表示所有节点中PageRank评分的最大值。
步骤2.4:用符号g(i)来表示节点i的中介中心性,根据公式(4)来计算所有节点的中介中心性。
其中,s,t,i∈[1,N];σst代表所有从节点s到节点t的最短路径的条数,而σst(i)代表所有经过节点i的从节点s到节点t的最短路径的条数。
步骤2.5:通过公式(5)对中介中心性进行标准化处理。
其中,符号min(g)表示所有节点中介中心性评分的最小值,符号max(g)表示所有节点中介中心性评分的最大值。
步骤2.6:综合考虑节点的PageRank评分和中介中心性评分,对其两项评分值取平均加权得到节点的重要度评估值。
步骤三、在步骤一操作的基础上,计算攻击图G中节点被渗透成功的最大概率。
网络安全问题遵循木桶原理,即木桶的容量是由最短的那块木板的长度决定的,网络的安全强度取决于它最薄弱环节的防护强度,因此可以用节点在所有攻击序列下被渗透成功的最大概率评估节点的安全程度。
攻击者在攻击到中间节点时,选择最容易渗透的路径时节点被渗透成功的概率最大,那么中间节点被渗透成功的最大概率用公式(6)计算。当攻击者攻击目标节点时,其父节点之间存在“与”的关系,所有父节点的条件必须同时满足,因此目标节点被渗透成功的最大概率用公式(7)计算。
p(t)=d(t)*Max{p(e)|e∈Pre(t)} (6)
其中,t、e是攻击图G中的节点;p(t)表示攻击图G中节点t被渗透成功的最大概率;d(t)表示攻击图G中节点t自身被渗透成功的概率;p(e)表示攻击图G中节点e被渗透成功的最大概率;Pre(t)表示攻击图G中节点t的父节点的集合。
步骤3.1:给临时变量flag(i)、p(i)和n(i)赋初值为0。其中,flag(i)为节点i的计算完成标识;p(i)为节点i的被渗透成功的最大概率;n(i)为节点i的父节点计算完成的数量。
步骤3.2:给变量d(i)赋初值。d(i)为节点i自身被渗透成功的概率。如果节点i不涉及对漏洞的渗透而是代表攻击者的网络操作行为,将节点i被渗透成功的概率d(i)赋初值为1;否则,将节点i被渗透成功的概率d(i)赋初值为漏洞信息列表VulExploitList中的攻击复杂度值对应的数值。
步骤3.3:对攻击图G=(C0∪Cd,T,E)中的节点t,若flag(t)=0成立,则获取父节点集合Pre(t)和子节点集合,用符号Post(t)表示,计算父节点集合Pre(t)中节点的数量,用符号Count(t)表示。遍历节点t的子节点集合Post(t)。
用符号m表示节点t的子节点,即m∈Post(t);用符号n(m)表示节点m的父节点计算完成的数量;用符号Count(m)表示父节点集合Pre(m)中节点的数量;用符号Pre(m)表示攻击图G中节点m的父节点的集合;flag(m)表示节点m的计算完成标识。
情况1:如果节点m是中间节点,即m∈Cd,首先使变量n(m)的值自增1。
如果p(m)<p(t),则按照公式(8)更新节点m的被渗透成功的最大概率。
p(m)=p(t) (8)
其中,p(m)表示节点m的被渗透成功的最大概率;p(t)表示节点t的被渗透成功的最大概率。
如果n(m)=Count(m),表示节点m的父节点已经全部计算完成,则按照公式(9)更新节点m的被渗透成功的最大概率p(m)。此时,节点m的被渗透成功的最大概率p(m)计算完毕,将计算完成标识flag(m)的值更新为1。
p(m)=p(m)*d(m) (9)
其中,d(m)表示节点m自身被渗透成功的概率。
如果0<n(m)<Count(m),表示节点m的父节点中存在被渗透成功的最大概率未计算完毕的节点,则跳转到步骤3.4,执行步骤3.4的操作。
情况2:如果节点m是目标节点,即m∈T,首先使变量n(m)的值自增1。然后,通过公式(10)更新节点m的被渗透成功的最大概率。
p(m)=p(m)*p(t) (10)
如果n(m)=Count(m),表示节点m的父节点已经全部计算完成,按照公式(11)更新节点m的被渗透成功的最大概率p(m)。此时,节点m的被渗透成功的最大概率p(m)计算完毕,将计算完成标识flag(m)的值更新为1。
p(m)=p(m)*d(m) (11)
如果0<n(m)<Count(m),表示节点m的父节点中存在被渗透成功的最大概率未计算完毕的节点,则跳转到步骤3.4,执行步骤3.4的操作。
步骤3.4:用符号a表示节点m的父节点,即a∈Pre(m);flag(a)表示节点a的计算完成标识;p(a)表示节点a的被渗透成功的最大概率。
情况1:如果节点m是中间节点即m∈Cd,考虑到有多条攻击序列的情况,因此需要遍历节点m的父节点,将其父节点的最大被渗透概率全部计算完毕。
若flag(a)=0成立,则对节点a执行步骤3.4。当节点m的父节点全部计算完成时,用公式(12)更新m节点的被渗透成功的最大概率,然后将节点m的计算完成标识置为1。
p(m)=d(m)*Max(p(a)) (12)
情况2:如果节点m是目标节点,即m∈T,需要遍历节点m的父节点,将父节点的被渗透成功的最大概率全部计算完毕。
若flag(a)=0成立,则对节点a执行步骤3.4。当节点m的父节点全部计算完成时,用公式(13)更新m节点的被渗透成功的最大概率,然后将节点m的计算完成标识置为1。
步骤3.5:当所有节点的计算完成表示都等于1,则结束操作,得出所有节点的被渗透成功的最大概率。
步骤四、得到网络安全态势评估值。
根据步骤二得到的攻击图G中各节点的重要度评估值以及步骤三得到的攻击图G中各节点的被渗透成功的最大概率,通过公式(14)计算得出攻击图G的网络安全态势评估值,用符号V表示。
其中N表示攻击图G中节点的个数;mi、pi分别表示第i个节点的重要度评估值和被渗透成功的最大概率。
有益效果
本发明提出的基于攻击图的网络安全态势的量化评估方法与已有技术相比较,具有以下优点:
①基于攻击图的评估方法能够反映出攻击者利用网络中的漏洞进行多步攻击的意图。
②评估方法中使用的数据易于采集,具有可操作性。
③评估过程中可以得到网络中各节点的防护情况,反映网络中各节点的防护情况。
④评估方法综合考虑了网络的拓扑信息、漏洞关联信息和攻击者的攻击意图,评估结果精度高。
附图说明
图1为本发明具体实施方式中基于攻击图的网络安全态势的量化评估方法的操作流程图;
图2为本发明具体实施方式中的网络架构图;
图3为本发明具体实施方式中的攻击图。
具体实施方式
根据上述技术方案,下面结合附图和实施实例对本发明技术方案进行详细说明。
采用本发明提出的基于攻击图的网络安全态势的量化评估方法对网络进行网络安全态势评估,其操作流程如图1所示,具体操作步骤为:
步骤一、生成攻击图。具体为:
步骤1.1:实验采用的网络架构图如图2所示,通过X-san扫描工具获取网络中的漏洞CVE名称,在CVE兼容的数据库中查找漏洞信息,形成漏洞信息列表,用符号VulExploitList表示,如表1所示。然后,针对漏洞信息列表VulExploitList中的每一个漏洞,在CVE兼容的数据库中寻找攻击者能够采用的攻击动作,形成漏洞攻击动作列表,用符号VulExploitDB表示,如表2所示。
所述CVE兼容的数据库采用的是中国国家信息安全漏洞库(CNNVD)。
表1漏洞信息列表VulExploitList
表2漏洞攻击动作列表VulExploitDB
所述漏洞信息列表VulExploitList包括:漏洞名称、漏洞分类、通用漏洞评分***CVSS分值、攻击复杂度值以及受影响的平台与产品。
步骤1.2:定义攻击图为G,G=(C0∪Cd,T,E),其中,C0表示初始节点集合,Cd表示中间节点集合,T表示目标节点集合,E表示连接节点之间的有相弧集合。C0初始化为攻击者可直接利用的漏洞主机节点,
步骤1.3:依次对漏洞攻击动作列表VulExploitDB中的每一条数据,查找网络中存在的漏洞以及与该漏洞对应的攻击动作,将所述攻击动作涉及的节点添加到中间节点集合Cd中,将节点间的有向弧添加到有相弧集合E中;然后,将中间节点集合Cd中没有子节点的节点转移到目标节点集合T中,完成攻击图G如图3所示。图3能够直观的表现出攻击者利用网络漏洞进行多步攻击的攻击路径。图中以C开头的节点代表攻击者的远程攻击动作和当前的网络状态,以E开头的节点代表攻击者对漏洞的渗透。其中初始节点集合C0={C1,C2},中间节点集合Cd={C3,C4,C5,C6,C8,C9,C11,E1,E2,E3,E4,E5,E6},目标节点集合T={C7,C11,C12},有向弧集合为图中所有节点之间的弧形成的集合。
步骤二、评估攻击图G中节点的重要度。
在步骤一操作的基础上,通过节点的网页等级PageRank评分以及中介中心性评分评估节点的重要度。具体为:
步骤2.1:用符号N表示攻击图G中的节点个数,N=18;用符号T表示迭代次数,T=100。用变量t表示当前的迭代次数,t∈[1,T]。用符号PR(pi,t)表示第t次迭代中第i个节点pi的PageRank评分,i∈[1,N]。当t=1时,令
步骤2.2:按照公式(1)进行迭代,当公式(2)满足条件时,停止迭代,得到各个节点的PageRank评分。
其中,PR(pi,t+1)表示第t+1次迭代中第i个节点pi的PageRank评分;d表示阻尼系数,d=0.85;pj表示第j个节点,j∈[1,N];M(pi)表示指向节点pi的节点的个数,L(pi)表示节点pi指向其他节点的个数;PR(pj,t)表示第t次迭代中第j个节点pj的PageRank评分。
|PR(pi,t+1)-PR(pi,t)|<ε (2)
其中,ε表示收敛值,ε=0.01。
步骤2.3:通过公式(3)对PageRank评分进行标准化处理,处理结果如表3所示。
其中,PR(pi)表示第i个节点pi的PageRank评分;min(PR)表示所有节点中PageRank评分的最小值,max(PR)表示所有节点中PageRank评分的最大值。
表3各节点的PageRank评分
节点编号 | PageRank评分 |
C1 | 0.20 |
C2 | 0.20 |
C3 | 0.66 |
C4 | 0.20 |
C5 | 0.20 |
C6 | 0.67 |
C7 | 0.86 |
C8 | 0.20 |
C9 | 0.67 |
C10 | 0.20 |
C11 | 0.67 |
C12 | 1.0 |
E1 | 0.54 |
E2 | 0.56 |
E3 | 0.56 |
E4 | 0.56 |
E5 | 0.77 |
E6 | 0.94 |
步骤2.4:用符号g(i)来表示节点i的中介中心性,根据公式(4)来计算所有节点的中介中心性。
其中,s,t,i∈[1,N];σst代表所有从节点s到节点t的最短路径的条数,而σst(i)代表所有经过节点i的从节点s到节点t的最短路径的条数。
两点之间的最短路径通过Dijkstra算法算法来计算。得出图中经过节点i的所有节点对之间的最短路径的条数。得到σst和σst(i)之后,将其带入公式(4)得到节点i的中介中心性评分。
步骤2.5:通过公式(5)对中介中心性进行标准化处理,处理结果如表4所示。
其中,符号min(g)表示所有节点中介中心性评分的最小值,符号max(g)表示所有节点中介中心性评分的最大值。
表4各节点的中介中心性评分
节点编号 | 中介中心性评分 |
C1 | 0 |
C2 | 0 |
C3 | 1.0 |
C4 | 0 |
C5 | 0 |
C6 | 0.42 |
C7 | 0 |
C8 | 0 |
C9 | 0.37 |
C10 | 0 |
C11 | 0 |
C12 | 0 |
E1 | 0.74 |
E2 | 0.47 |
E3 | 0.26 |
E4 | 0.32 |
E5 | 0.28 |
E6 | 0.14 |
步骤2.6:综合考虑节点的PageRank评分和中介中心性评分,对其两项评分值取平均加权得到节点的重要度评估值,如表5所示。
表5各节点的重要度评估值
节点编号 | 节点重要度评估值评分 |
C1 | 0.1 |
C2 | 0.1 |
C3 | 0.83 |
C4 | 0.1 |
C5 | 0.1 |
C6 | 0.54 |
C7 | 0.43 |
C8 | 0.1 |
C9 | 0.52 |
C10 | 0.1 |
C11 | 0.34 |
C12 | 0.5 |
E1 | 0.64 |
E2 | 0.52 |
E3 | 0.41 |
E4 | 0.44 |
E5 | 0.53 |
E6 | 0.54 |
步骤三、在步骤一操作的基础上,计算攻击图G中节点被渗透成功的最大概率。
网络安全问题遵循木桶原理,即木桶的容量是由最短的那块木板的长度决定的,网络的安全强度取决于它最薄弱环节的防护强度,因此可以用节点在所有攻击序列下被渗透成功的最大概率评估节点的安全程度。
攻击者在攻击到中间节点时,选择最容易渗透的路径时节点被渗透成功的概率最大,那么中间节点被渗透成功的最大概率用公式(6)计算。当攻击者攻击目标节点时,其父节点之间存在“与”的关系,所有父节点的条件必须同时满足,因此目标节点被渗透成功的最大概率用公式(7)计算。
p(t)=d(t)*Max{p(e)|e∈Pre(t)} (6)
其中,t、e是攻击图G中的节点;p(t)表示攻击图G中节点t被渗透成功的最大概率;d(t)表示攻击图G中节点t自身被渗透成功的概率;p(e)表示攻击图G中节点e被渗透成功的最大概率;Pre(t)表示攻击图G中节点t的父节点的集合。
步骤3.1:给临时变量flag(i)、p(i)和n(i)赋初值为0。其中,flag(i)为节点i的计算完成标识;p(i)为节点i的被渗透成功的最大概率;n(i)为节点i的父节点计算完成的数量。
步骤3.2:给变量d(i)赋初值。d(i)为节点i自身被渗透成功的概率。如果节点i不涉及对漏洞的渗透而是代表攻击者的网络操作行为,将节点i被渗透成功的概率d(i)赋初值为1;否则,将节点i被渗透成功的概率d(i)赋初值为漏洞信息列表VulExploitList中的攻击复杂度值对应的数值。
节点被渗透成功的概率d(i)与节点上的漏洞的攻击复杂度值的对应情况如表6所示。
表6节点被渗透成功的概率d(i)与节点上的漏洞的攻击复杂度值的对应表
攻击复杂度值 | 描述 | 节点被渗透的概率d(i) |
Low | 漏洞利用没有访问限制 | 0.35 |
Medium | 漏洞利用存在一定的访问条件 | 0.61 |
High | 漏洞利用存在特定的访问条件 | 0.71 |
Undefined | 未定义 | 0.71 |
步骤3.3:对攻击图G=(C0∪Cd,T,E)中的节点t,若flag(t)=0成立,则获取父节点集合Pre(t)和子节点集合,用符号Post(t)表示,计算父节点集合Pre(t)中节点的数量,用符号Count(t)表示。遍历节点t的子节点集合Post(t)。
用符号m表示节点t的子节点,即m∈Post(t);用符号n(m)表示节点m的父节点计算完成的数量;用符号Count(m)表示父节点集合Pre(m)中节点的数量;用符号Pre(m)表示攻击图G中节点m的父节点的集合;flag(m)表示节点m的计算完成标识。
情况1:如果节点m是中间节点,即m∈Cd,首先使变量n(m)的值自增1。
如果p(m)<p(t),则按照公式(8)更新节点m的被渗透成功的最大概率。
p(m)=p(t) (8)
其中,p(m)表示节点m的被渗透成功的最大概率;p(t)表示节点t的被渗透成功的最大概率。
如果n(m)=Count(m),表示节点m的父节点已经全部计算完成,则按照公式(9)更新节点m的被渗透成功的最大概率p(m)。此时,节点m的被渗透成功的最大概率p(m)计算完毕,将计算完成标识flag(m)的值更新为1。
p(m)=p(m)*d(m) (9)
其中,d(m)表示节点m自身被渗透成功的概率。
如果0<n(m)<Count(m),表示节点m的父节点中存在被渗透成功的最大概率未计算完毕的节点,则跳转到步骤3.4,执行步骤3.4的操作。
情况2:如果节点m是目标节点,即m∈T,首先使变量n(m)的值自增1。然后,通过公式(10)更新节点m的被渗透成功的最大概率。
p(m)=p(m)*p(t) (10)
如果n(m)=Count(m),表示节点m的父节点已经全部计算完成,按照公式(11)更新节点m的被渗透成功的最大概率p(m)。此时,节点m的被渗透成功的最大概率p(m)计算完毕,将计算完成标识flag(m)的值更新为1。
p(m)=p(m)*d(m) (11)
如果0<n(m)<Count(m),表示节点m的父节点中存在被渗透成功的最大概率未计算完毕的节点,则跳转到步骤3.4,执行步骤3.4的操作。
步骤3.4:用符号a表示节点m的父节点,即a∈Pre(m);flag(a)表示节点a的计算完成标识;p(a)表示节点a的被渗透成功的最大概率。
情况1:如果节点m是中间节点即m∈Cd,考虑到有多条攻击序列的情况,因此需要遍历节点m的父节点,将其父节点的最大被渗透概率全部计算完毕。
若flag(a)=0成立,则对节点a执行步骤3.4。当节点m的父节点全部计算完成时,用公式(12)更新m节点的被渗透成功的最大概率,然后将节点m的计算完成标识置为1。
p(m)=d(m)*Max(p(a)) (12)
情况2:如果节点m是目标节点,即m∈T,需要遍历节点m的父节点,将父节点的被渗透成功的最大概率全部计算完毕。
若flag(a)=0成立,则对节点a执行步骤3.4。当节点m的父节点全部计算完成时,用公式(13)更新m节点的被渗透成功的最大概率,然后将节点m的计算完成标识置为1。
步骤3.5:当所有节点的计算完成表示都等于1,则结束操作,得出所有节点的被渗透成功的最大概率,如表7所示。
表7各节点被渗透成功的最大概率
步骤四、得到网络安全态势评估值。
根据步骤二得到的攻击图G中各节点的重要度评估值以及步骤三得到的攻击图G中各节点的被渗透成功的最大概率,通过公式(14)计算得出攻击图G的网络安全态势评估值,用符号V表示。
其中,N表示攻击图G中节点的个数;mi、pi分别表示第i个节点的重要度评估值和被渗透成功的最大概率。
网络安全的态势评估值与网络安全状态的对应情况如表8所示,本示例中计算得出V=0.73,表明网络中存在严重的漏洞,这些漏洞造成的损失可能比较大,会对网络的正常运行造成比较大的影响,应引起网络安全管理人员的注意,查找原因,并采取有效的安全措施确保网络的正常运行。
表8网络安全的态势评估值与网络安全状态的对应表
Claims (1)
1.一种基于攻击图的网络安全态势的量化评估方法,其特征在于:具体操作为:
步骤一、生成攻击图;具体为:
步骤1.1:通过扫描工具获取网络中的漏洞CVE名称,在CVE兼容的数据库中查找漏洞信息,形成漏洞信息列表,用符号VulExploitList表示;然后,针对漏洞信息列表VulExploitList中的每一个漏洞,在CVE兼容的数据库中寻找攻击者能够采用的攻击动作,形成漏洞攻击动作列表,用符号VulExploitDB表示;
所述漏洞信息列表VulExploitList包括:漏洞名称、漏洞分类、通用漏洞评分***CVSS分值、攻击复杂度值、受影响的平台与产品以及受影响的程序版本;
步骤1.2:定义攻击图为G,G=(C0∪Cd,T,E),其中,C0表示初始节点集合,Cd表示中间节点集合,T表示目标节点集合,E表示连接节点之间的有相弧集合;C0初始化为攻击者可直接利用的漏洞主机节点,
步骤1.3:依次对漏洞攻击动作列表VulExploitDB中的每一条数据,查找网络中存在的漏洞以及与该漏洞对应的攻击动作,将所述攻击动作涉及的节点添加到中间节点集合Cd和目标节点集合T中,将节点间的有向弧添加到有相弧集合E中,完成攻击图G如图所示;
步骤二、评估攻击图G中节点的重要度;
在步骤一操作的基础上,通过节点的网页等级PageRank评分以及中介中心性评分评估节点的重要度;具体为:
步骤2.1:用符号N表示攻击图G中的节点个数;用符号T表示迭代次数,T为人为设定值,T≥50;用变量t表示当前的迭代次数,t∈[1,T];用符号PR(pi,t)表示第t次迭代中第i个节点pi的PageRank评分,i∈[1,N];当t=1时,令
步骤2.2:按照公式(1)进行迭代,当公式(2)满足条件时,停止迭代,得到各个节点的PageRank评分;
其中,PR(pi,t+1)表示第t+1次迭代中第i个节点pi的PageRank评分;d表示阻尼系数,d=0.85;pj表示第j个节点,j∈[1,N];M(pi)表示指向节点pi的节点的个数,L(pi)表示节点pi指向其他节点的个数;PR(pj,t)表示第t次迭代中第j个节点pj的PageRank评分;
|PR(pi,t+1)-PR(pi,t)|<ε (2)
其中,ε表示收敛值,ε为人为设定值,ε≤0.1;
步骤2.3:通过公式(3)对PageRank评分进行标准化处理;
其中,PR(pi)表示第i个节点pi的PageRank评分;min(PR)表示所有节点中PageRank评分的最小值,max(PR)表示所有节点中PageRank评分的最大值;
步骤2.4:用符号g(i)来表示节点i的中介中心性,根据公式(4)来计算所有节点的中介中心性;
其中,s,t,i∈[1,N];σst代表所有从节点s到节点t的最短路径的条数,而σst(i)代表所有经过节点i的从节点s到节点t的最短路径的条数;
步骤2.5:通过公式(5)对中介中心性进行标准化处理;
其中,符号min(g)表示所有节点中介中心性评分的最小值,符号max(g)表示所有节点中介中心性评分的最大值;
步骤2.6:综合考虑节点的PageRank评分和中介中心性评分,对其两项评分值取平均加权得到节点的重要度评估值;
步骤三、在步骤一操作的基础上,计算攻击图G中节点被渗透成功的最大概率;
网络安全问题遵循木桶原理,即木桶的容量是由最短的那块木板的长度决定的,网络的安全强度取决于它最薄弱环节的防护强度,因此可以用节点在所有攻击序列下被渗透成功的最大概率评估节点的安全程度;
攻击者在攻击到中间节点时,选择最容易渗透的路径时节点被渗透成功的概率最大,那么中间节点被渗透成功的最大概率用公式(6)计算;当攻击者攻击目标节点时,其父节点之间存在“与”的关系,所有父节点的条件必须同时满足,因此目标节点被渗透成功的最大概率用公式(7)计算;
p(t)=d(t)*Max{p(e)|e∈Pre(t)} (6)
其中,t、e是攻击图G中的节点;p(t)表示攻击图G中节点t被渗透成功的最大概率;d(t)表示攻击图G中节点t自身被渗透成功的概率;p(e)表示攻击图G中节点e被渗透成功的最大概率;Pre(t)表示攻击图G中节点t的父节点的集合;
步骤3.1:给临时变量flag(i)、p(i)和n(i)赋初值为0;其中,flag(i)为节点i的计算完成标识;p(i)为节点i的被渗透成功的最大概率;n(i)为节点i的父节点计算完成的数量;
步骤3.2:给变量d(i)赋初值;d(i)为节点i自身被渗透成功的概率;如果节点i不涉及对漏洞的渗透而是代表攻击者的网络操作行为,将节点i被渗透成功的概率d(i)赋初值为1;否则,将节点i被渗透成功的概率d(i)赋初值为漏洞信息列表VulExploitList中的攻击复杂度值对应的数值;
步骤3.3:对攻击图G=(C0∪Cd,T,E)中的节点t,若flag(t)=0成立,则获取父节点集合Pre(t)和子节点集合,用符号Post(t)表示,计算父节点集合Pre(t)中节点的数量,用符号Count(t)表示;遍历节点t的子节点集合Post(t);
用符号m表示节点t的子节点,即m∈Post(t);用符号n(m)表示节点m的父节点计算完成的数量;用符号Count(m)表示父节点集合Pre(m)中节点的数量;用符号Pre(m)表示攻击图G中节点m的父节点的集合;flag(m)表示节点m的计算完成标识;
情况1:如果节点m是中间节点,即m∈Cd,首先使变量n(m)的值自增1;
如果p(m)<p(t),则按照公式(8)更新节点m的被渗透成功的最大概率;
p(m)=p(t) (8)
其中,p(m)表示节点m的被渗透成功的最大概率;p(t)表示节点t的被渗透成功的最大概率;
如果n(m)=Count(m),表示节点m的父节点已经全部计算完成,则按照公式(9)更新节点m的被渗透成功的最大概率p(m);此时,节点m的被渗透成功的最大概率p(m)计算完毕,将计算完成标识flag(m)的值更新为1;
p(m)=p(m)*d(m) (9)
其中,d(m)表示节点m自身被渗透成功的概率;
如果0<n(m)<Count(m),表示节点m的父节点中存在被渗透成功的最大概率未计算完毕的节点,则跳转到步骤3.4,执行步骤3.4的操作;
情况2:如果节点m是目标节点,即m∈T,首先使变量n(m)的值自增1;然后,通过公式(10)更新节点m的被渗透成功的最大概率;
p(m)=p(m)*p(t) (10)
如果n(m)=Count(m),表示节点m的父节点已经全部计算完成,按照公式(11)更新节点m的被渗透成功的最大概率p(m);此时,节点m的被渗透成功的最大概率p(m)计算完毕,将计算完成标识flag(m)的值更新为1;
p(m)=p(m)*d(m) (11)
如果0<n(m)<Count(m),表示节点m的父节点中存在被渗透成功的最大概率未计算完毕的节点,则跳转到步骤3.4,执行步骤3.4的操作;
步骤3.4:用符号a表示节点m的父节点,即a∈Pre(m);flag(a)表示节点a的计算完成标识;p(a)表示节点a的被渗透成功的最大概率;
情况1:如果节点m是中间节点即m∈Cd,考虑到有多条攻击序列的情况,因此需要遍历节点m的父节点,将其父节点的最大被渗透概率全部计算完毕;
若flag(a)=0成立,则对节点a执行步骤3.4;当节点m的父节点全部计算完成时,用公式(12)更新m节点的被渗透成功的最大概率,然后将节点m的计算完成标识置为1;
p(m)=d(m)*Max(p(a)) (12)
情况2:如果节点m是目标节点,即m∈T,需要遍历节点m的父节点,将父节点的被渗透成功的最大概率全部计算完毕;
若flag(a)=0成立,则对节点a执行步骤3.4;当节点m的父节点全部计算完成时,用公式(13)更新m节点的被渗透成功的最大概率,然后将节点m的计算完成标识置为1;
步骤3.5:当所有节点的计算完成表示都等于1,则结束操作,得出所有节点的被渗透成功的最大概率;
步骤四、得到网络安全态势评估值;
根据步骤二得到的攻击图G中各节点的重要度评估值以及步骤三得到的攻击图G中各节点的被渗透成功的最大概率,通过公式(14)计算得出攻击图G的网络安全态势评估值,用符号V表示;
其中N表示攻击图G中节点的个数;mi、pi分别表示第i个节点的重要度评估值和被渗透成功的最大概率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710050255.2A CN106850607B (zh) | 2017-01-20 | 2017-01-20 | 基于攻击图的网络安全态势的量化评估方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710050255.2A CN106850607B (zh) | 2017-01-20 | 2017-01-20 | 基于攻击图的网络安全态势的量化评估方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106850607A true CN106850607A (zh) | 2017-06-13 |
CN106850607B CN106850607B (zh) | 2019-09-20 |
Family
ID=59119726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710050255.2A Active CN106850607B (zh) | 2017-01-20 | 2017-01-20 | 基于攻击图的网络安全态势的量化评估方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106850607B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109194693A (zh) * | 2018-10-30 | 2019-01-11 | 福州大学 | 一种网络攻击模式图的生成方法 |
CN109327480A (zh) * | 2018-12-14 | 2019-02-12 | 北京邮电大学 | 一种基于神经网络和贝叶斯网络攻击图的多步攻击场景挖掘方法 |
CN110012037A (zh) * | 2019-05-21 | 2019-07-12 | 北京理工大学 | 基于不确定性感知攻击图的网络攻击预测模型构建方法 |
CN110138788A (zh) * | 2019-05-20 | 2019-08-16 | 北京理工大学 | 一种基于深度指标的脆弱性攻击代价定量评估方法 |
CN110380896A (zh) * | 2019-07-04 | 2019-10-25 | 湖北央中巨石信息技术有限公司 | 基于攻击图的网络安全态势感知模型和方法 |
CN110378121A (zh) * | 2019-06-19 | 2019-10-25 | 全球能源互联网研究院有限公司 | 一种边缘计算终端安全评估方法、装置、设备及存储介质 |
CN112651110A (zh) * | 2020-12-14 | 2021-04-13 | 国网辽宁省电力有限公司经济技术研究院 | 基于多阶段动态博弈的恶性数据注入攻击防御方法 |
CN112699382A (zh) * | 2021-03-25 | 2021-04-23 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 物联网网络安全风险的评估方法、装置及计算机存储介质 |
CN113949570A (zh) * | 2021-10-18 | 2022-01-18 | 北京航空航天大学 | 一种基于攻击图的渗透测试攻击路径选择方法及*** |
CN114338075A (zh) * | 2021-11-10 | 2022-04-12 | 国网浙江省电力有限公司金华供电公司 | 基于广泛嗅探的攻击对象防御方法 |
CN114553534A (zh) * | 2022-02-22 | 2022-05-27 | 国网河北省电力有限公司电力科学研究院 | 一种基于知识图谱的电网安全漏洞评估方法 |
CN115022063A (zh) * | 2022-06-14 | 2022-09-06 | 安天科技集团股份有限公司 | 网空威胁行为体攻击意图分析方法、***、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101162993A (zh) * | 2007-11-29 | 2008-04-16 | 哈尔滨工程大学 | 一种网络风险分析方法 |
CN103368976A (zh) * | 2013-07-31 | 2013-10-23 | 电子科技大学 | 一种基于攻击图邻接矩阵的网络安全评估装置 |
CN104394177A (zh) * | 2014-12-16 | 2015-03-04 | 云南电力调度控制中心 | 一种基于全局攻击图的攻击目标可达性的计算方法 |
CN105871885A (zh) * | 2016-05-11 | 2016-08-17 | 南京航空航天大学 | 一种网络渗透测试方法 |
WO2016127834A1 (zh) * | 2015-02-15 | 2016-08-18 | 华为技术有限公司 | 网络安全防护方法及装置 |
-
2017
- 2017-01-20 CN CN201710050255.2A patent/CN106850607B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101162993A (zh) * | 2007-11-29 | 2008-04-16 | 哈尔滨工程大学 | 一种网络风险分析方法 |
CN103368976A (zh) * | 2013-07-31 | 2013-10-23 | 电子科技大学 | 一种基于攻击图邻接矩阵的网络安全评估装置 |
CN104394177A (zh) * | 2014-12-16 | 2015-03-04 | 云南电力调度控制中心 | 一种基于全局攻击图的攻击目标可达性的计算方法 |
WO2016127834A1 (zh) * | 2015-02-15 | 2016-08-18 | 华为技术有限公司 | 网络安全防护方法及装置 |
CN105871885A (zh) * | 2016-05-11 | 2016-08-17 | 南京航空航天大学 | 一种网络渗透测试方法 |
Non-Patent Citations (1)
Title |
---|
叶云: "基于攻击图的网络安全风险计算研究", 《中国博士学位论文全文数据库》 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109194693A (zh) * | 2018-10-30 | 2019-01-11 | 福州大学 | 一种网络攻击模式图的生成方法 |
CN109327480A (zh) * | 2018-12-14 | 2019-02-12 | 北京邮电大学 | 一种基于神经网络和贝叶斯网络攻击图的多步攻击场景挖掘方法 |
CN109327480B (zh) * | 2018-12-14 | 2020-12-18 | 北京邮电大学 | 一种多步攻击场景挖掘方法 |
CN110138788A (zh) * | 2019-05-20 | 2019-08-16 | 北京理工大学 | 一种基于深度指标的脆弱性攻击代价定量评估方法 |
CN110138788B (zh) * | 2019-05-20 | 2020-07-10 | 北京理工大学 | 一种基于深度指标的脆弱性攻击代价定量评估方法 |
CN110012037A (zh) * | 2019-05-21 | 2019-07-12 | 北京理工大学 | 基于不确定性感知攻击图的网络攻击预测模型构建方法 |
CN110378121A (zh) * | 2019-06-19 | 2019-10-25 | 全球能源互联网研究院有限公司 | 一种边缘计算终端安全评估方法、装置、设备及存储介质 |
CN110380896B (zh) * | 2019-07-04 | 2022-04-01 | 湖北央中巨石信息技术有限公司 | 基于攻击图的网络安全态势感知***和方法 |
CN110380896A (zh) * | 2019-07-04 | 2019-10-25 | 湖北央中巨石信息技术有限公司 | 基于攻击图的网络安全态势感知模型和方法 |
CN112651110A (zh) * | 2020-12-14 | 2021-04-13 | 国网辽宁省电力有限公司经济技术研究院 | 基于多阶段动态博弈的恶性数据注入攻击防御方法 |
CN112651110B (zh) * | 2020-12-14 | 2024-01-26 | 国网辽宁省电力有限公司经济技术研究院 | 基于多阶段动态博弈的恶性数据注入攻击防御方法 |
CN112699382B (zh) * | 2021-03-25 | 2021-06-18 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 物联网网络安全风险的评估方法、装置及计算机存储介质 |
CN112699382A (zh) * | 2021-03-25 | 2021-04-23 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 物联网网络安全风险的评估方法、装置及计算机存储介质 |
CN113949570A (zh) * | 2021-10-18 | 2022-01-18 | 北京航空航天大学 | 一种基于攻击图的渗透测试攻击路径选择方法及*** |
CN113949570B (zh) * | 2021-10-18 | 2022-09-16 | 北京航空航天大学 | 一种基于攻击图的渗透测试攻击路径选择方法及*** |
CN114338075A (zh) * | 2021-11-10 | 2022-04-12 | 国网浙江省电力有限公司金华供电公司 | 基于广泛嗅探的攻击对象防御方法 |
CN114338075B (zh) * | 2021-11-10 | 2024-03-12 | 国网浙江省电力有限公司金华供电公司 | 基于广泛嗅探的攻击对象防御方法 |
CN114553534A (zh) * | 2022-02-22 | 2022-05-27 | 国网河北省电力有限公司电力科学研究院 | 一种基于知识图谱的电网安全漏洞评估方法 |
CN114553534B (zh) * | 2022-02-22 | 2024-01-23 | 国网河北省电力有限公司电力科学研究院 | 一种基于知识图谱的电网安全漏洞评估方法 |
CN115022063A (zh) * | 2022-06-14 | 2022-09-06 | 安天科技集团股份有限公司 | 网空威胁行为体攻击意图分析方法、***、电子设备及存储介质 |
CN115022063B (zh) * | 2022-06-14 | 2023-08-29 | 安天科技集团股份有限公司 | 网空威胁行为体攻击意图分析方法、***、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106850607B (zh) | 2019-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106850607B (zh) | 基于攻击图的网络安全态势的量化评估方法 | |
Chen et al. | Improving Bayesian network structure learning with mutual information-based node ordering in the K2 algorithm | |
CN100463461C (zh) | 主动式网络安全漏洞检测器 | |
CN104102745B (zh) | 基于局部最小边的复杂网络社团挖掘方法 | |
CN105718805A (zh) | 基于评价可信度的云计算信任管理方法 | |
CN102413003A (zh) | 检测网络安全性的方法及*** | |
CN102724210B (zh) | 一种求解k最大概率攻击图的网络安全分析方法 | |
CN105184653A (zh) | 一种面向社交网络的基于信任的众包工人筛选方法 | |
CN111818055B (zh) | 基于动态反馈的网络攻击路径分析方法 | |
CN113452699A (zh) | 基于配置文件的跳板攻击路径分析方法 | |
Sariyuce et al. | Incremental algorithms for network management and analysis based on closeness centrality | |
CN109710599A (zh) | 一种基于知识图谱的群体划分方法及装置 | |
KR20180089479A (ko) | 사용자 데이터 공유 방법 및 디바이스 | |
CN116112278A (zh) | 基于Q-learning的网络最优攻击路径预测方法及*** | |
CN103455754B (zh) | 一种基于正则表达式的恶意搜索关键词识别方法 | |
CN107943882A (zh) | 基于边扩散性K‑truss分解方法的网络重要节点识别方法 | |
Liu et al. | Social group query based on multi-fuzzy-constrained strong simulation | |
Lu et al. | Identifying vital nodes in complex networks based on information entropy, minimum dominating set and distance | |
Hildrum et al. | Focused community discovery | |
CN109918939B (zh) | 基于hmm的用户查询风险评估和隐私保护方法 | |
Wei et al. | SPLMax: exploiting the simple path introduced locality for maximum flow acceleration | |
CN112966155B (zh) | 基于路径相关性的链路预测方法 | |
CN1510592B (zh) | 快速网络流特征检测的关键词匹配方法说明书 | |
Lin et al. | The prediction algorithm of network security situation based on grey correlation entropy Kalman filtering | |
Kong et al. | Taprank: A time-aware author ranking method in heterogeneous networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |