APP下载

基于连通度算子的系统漏洞风险评估

2015-12-20张恒巍王晋东何嘉婧

计算机工程与设计 2015年1期
关键词:邻接矩阵攻击者漏洞

张恒巍,张 健,王晋东,何嘉婧

(信息工程大学,河南 郑州450001)

0 引 言

风险矩阵是在邻接矩阵的基础上建立的描述网络系统漏洞[1]之间利用关系的数学工具,叶云等[2]提出一种基于攻击图的风险邻接矩阵方法,并通过实验验证了所提方法的合理性和有效性。潘晓中等[3]构建了一个攻击路径漏洞矩阵,行表示攻击主机漏洞,列表示下一步要攻击的主机漏洞,但是该矩阵中元素为1或0,只表示漏洞是否连通而不能体现漏洞之间连通率的概念。本文风险矩阵的行和列对应系统漏洞,风险矩阵中元素为漏洞之间连通度。用风险矩阵表示漏洞之间的利用关系更加清晰直观,便于进行后续运算。

攻击图是一种基于模型的网络脆弱性分析技术[4],能够把网络中的漏洞关联起来进行分析,分析目标网络内脆弱性之间的关系和由此产生的潜在威胁,使安全管理人员能够直观地把握网络漏洞之间的关系。对于攻击图在风险分析中的应用研究,王永杰等[5]介绍了利用攻击图模型方法分析计算机网络攻击行为的基本原理,给出了攻击图生成算法,研究了利用攻击图对网络系统安全性进行风险分析的方法。何江湖等[6]提出了一种基于漏洞关联攻击代价的网络攻击图的自动生成算法,有效结合漏洞之间的相关性,科学地评估攻击代价。王会梅等[7]提出了扩展网络攻击图生成方法,并提出一种基于扩展网络攻击图的网络攻击策略生成算法。

本文针对信息系统安全漏洞的量化评估问题,对漏洞的连通度和价值进行了定义,提出了利用漏洞攻击图对安全漏洞之间的影响和相互作用进行定量分析的方法。在此基础上,通过设计的两种连通度算子,实现了对漏洞连通度的量化计算,并提出了基于连通度算子的漏洞风险评估算法 (vulnerability risk evaluation algorithm based on connectivity operator,VREA-CO),实现了对信息系统中安全漏洞的自身风险和传播风险的准确、全面评估,能为系统安全人员识别漏洞的风险程度,为有针对性地进行安全防御提供有效帮助。

1 漏洞连通性和价值

漏洞连通度[9]表示攻击者利用一个漏洞攻击另一个漏洞的可能性。本文参考CVSS的漏洞评价方式,定义的漏洞连通性和价值评价体系如图1所示。CVSS是由美国国家基础设施顾问委员会NIAC 提出的,旨在提供一套开放的通用的脆弱点评分框架机制,其对漏洞的基本度量包含6项主要指标:入侵途径AccessVector(AV)、身份认证Authentication (AU)、攻 击复杂度AccessComplexity (AC)、机密性影响ConfImpact (CI)、完整性影响IntegImpact(II)、可用性影响AvailImpact(AI)。

定义1 漏洞连通度。在复杂的网络拓扑结构中下,攻击者需要利用多个漏洞节点达到攻击目标,攻击者利用一个漏洞节点攻击另一个与该节点相邻接的漏洞节点的可能性称为漏洞连通度。漏洞连通度与节点之间的信息可获取性、主机可连接性、漏洞可利用性相关,如图1所示。

信息可获取性以NVD 数据库的AccessVector(AV)属性表示,参考CVSS其推荐分值为0.395 (local),0.646(adjacent network),1.0 (Network)。主 机 可 连 接 性 以NVD 数据库的Authentication (AU)属性表示,参考CVSS 其 推 荐 分 值 为0.45 (multiple),0.56 (single),0.704 (none)。漏 洞 可 利 用 性 以NVD 数 据 库 的Access-Complexity (AC)属 性 表 示,CVSS 推 荐 分 值 为0.35(high),0.61 (medium),0.71 (low)。因此,节点i和节点j 之间的连通度pij可表示为

其中pij∈(0,1),主机可连接性与漏洞连通度呈正相关关系,信息可获取性、漏洞可利用性与漏洞连通度呈负相关关系。一般来说,两个漏洞之间的可连接性越强、信息获得越容易、漏洞利用难度越小,则攻击者有更大的概率选择攻击该漏洞,漏洞之间的连通度更大;如果攻击者难以通过主机认证、难以获取漏洞信息、漏洞利用难度大,则攻击者有较小的概率选择攻击该漏洞,漏洞之间的连通度较小。

图1 漏洞间连通性评价

图2 漏洞价值评价

2 漏洞攻击图

系统的漏洞之间有着复杂的关联关系,攻击者可以利用这种关联关系,从一个已经得手的安全漏洞出发,攻击与之关联的漏洞,进而形成一条攻击链,直到达到攻击目标,多条攻击链形成攻击图。

定义3 漏洞节点。定义漏洞节点N ={v,r,u},其中v代表节点对应的漏洞名称和CVE 编号,一般一个节点对应一个系统漏洞。r为该节点处的主机资产或系统资源,是攻击者和防御者希望获得或者保护的对象。u 表示漏洞价值,即一旦该漏洞被渗透将会对系统造成的损失或影响。

定义4 漏洞攻击图。漏洞攻击图 (vulnerability attack graph,VAG)以漏洞节点N 作为图的节点,以攻击路径作为有向边,因此是一个有向图AG ={N,L}。其中N =(n1,n2,…,nm)为节点集合,表示该网络存在的所有漏洞。其中入度为0的节点称为起始节点,出度为0的节点称为目标节点,入度和出度均不为0的节点称为过程节点。L 为有向边的集合,表示漏洞之间的利用关系。

根据英国标准协会 (BSI)针对信息安全管理而制定的标准BS7799,指出信息系统风险是威胁利用信息系统的漏洞攻击资产而导致的安全事件及其对系统的影响。攻击者总是试图利用该资产对象存在的漏洞以获得收益,在该节点处 形 成 “威 胁 (Threat)-漏 洞 (Vulnerability)-资 产(Asset)”风险链,节点模型如图3所示。

图3 漏洞节点模型

定义5 邻接矩阵。设VAG 是由若干漏洞组成的漏洞攻击图,M 为VAG 的邻接矩阵,矩阵元素表示2个有直接利用关系的节点之间连通度。漏洞攻击图VAG 和邻接矩阵M 之间有以下特性:

(1)漏洞攻击图和邻接矩阵M 一一对应;

(2)邻接矩阵M 中,如果有元素全为零的列,其所对应的节点为源节点或输入节点;如果有元素全为零的行,其所对应的节点称为汇点或输出节点;

(3)如果在漏洞攻击图VAG 中,从ni出发经过k条边可达到nj,则称ni到nj存在长度为k的通路,此时矩阵M 的第i行第j 列元素为pij,否则为0;

(4)矩阵元素表示2个漏洞之间的有向利用关系。

漏洞的邻接矩阵可表示为

其中,对角线上的pii均为零,v为漏洞数,pij为漏洞ni和nj之间的连通度。

3 连通度算子

3.1 综合连通度

在文献 [6]中,作者针对单步风险邻接矩阵和多步风险邻接矩阵提出了一种多步风险邻接矩阵MRAM 中元素的计算方法,其计算结果为2 个节点之间的最大可能损失。本文将节点连通性与节点损失进行独立分析,作为评估漏洞风险的相互独立的两个因素。在定义邻接节点连通度的基础上,可以得到漏洞攻击图中任意两个节点之间的综合连通度,其计算方法以图4中的例子进行说明。

图4 多路径节点连通性分析

如图4所示,节点1和节点5 之间共有3 条通路,由概率计算可知节点1到节点5的三步连通度为

两步连通度为

考虑到这两个节点之间还有一条步长为1的通路,则节点1到节点5的综合连通度为

3.2 连通度算子

在上述连通度分析的基础上,可以定义风险矩阵运算的连通度算子。

定义6 连通度算子。在矩阵乘法的基础上,定义矩阵的连通度乘法算子,则两个矩阵之间的运算结果为

在矩阵加法的基础上,定义风险矩阵的连通度加法算子⊕,则多个矩阵之间的⊕运算结果为

单步风险矩阵最大的缺陷在于只能表示相邻两个节点之间的连通性,而无法表示攻击图中有多步攻击关系漏洞之间的连通性。如果风险矩阵中的元素表示沿着攻击图中的某条路径进行若干次渗透发生的可能性值,就称这样的邻接矩阵为多步风险矩阵。

由风险矩阵元素的意义可知,pij表示有直接利用关系的两个节点ni和nj之间的连通度。因此节点间步长为2的两步风险矩阵可计算得

其中p(2)ij表示节点i到节点j 经步长为2的路径的两步连通度。在两步风险矩阵中,对于攻击图中有多个路径连通的两个节点之间的连通度如下

综上可知,M(r)中元素意义为步长为r的任意两个节点之间的r步连通度。如果n为漏洞攻击图的的最大步长,则M(n)中元素意义为攻击图中任意两个节点之间的n步连通度。

4 基于连通度算子的漏洞风险评估

4.1 自身风险评估

通过定义漏洞的自身风险[9]和传播风险[10]概念,对漏洞的全局风险进行评价。

定义7 漏洞风险。漏洞风险Rw包括该漏洞的自身风险Rs和传播风险Ro[10]。漏洞自身风险表示来自其它漏洞的威胁影响该漏洞所导致的系统风险,其关联因素为其它漏洞与该漏洞的连通度、漏洞自身价值;漏洞传播风险表示漏洞通过有向边传递给其它漏洞的风险,其关联因素为该漏洞与其它漏洞的连通度、受影响漏洞的价值。漏洞全局风险为这2种风险的和

漏洞自身风险可以表示为该漏洞发生风险事件的概率与风险事件发生后系统损失的乘积。攻击者会通过不同路径攻击漏洞,因此一个漏洞的自身风险可能来自于不同的风险源。风险源节点l导致评估目标节点k 发生风险事件的概率可以用l和k 的连通度表示,该事件发生后的系统损失可以用节点k的漏洞价值来表示,则该事件的风险为

所有可能传播到节点k 的风险之和即为该节点的自身风险Rs(k)

则信息系统漏洞节点的自身风险向量为

4.2 传播风险评估

对单步风险矩阵M 迭代进行 运算,可得漏洞之间的r步风险矩阵为

其中r为风险矩阵步长。设M0表示系统任意2个节点之间的连通度,将M ~M(n)的所有风险矩阵作⊕运算,其中n为攻击图中的最大步长,可得攻击图的综合连通度风险矩阵M0

其中矩阵元素βij 表示节点i和节点j 之间的综合连通度

其中,如果两条路径所经过节点有重叠,则认为这是独立并联的两条不同路径。攻击者可以通过漏洞间的利用关系进行渗透,因此用漏洞传播风险表示攻击者从被渗透漏洞传播到其它漏洞所造成的风险,张永铮等[13]提出了由风险网络和风险传播算法构成的风险传播模型,本文则尝试利用风险矩阵来对传播风险进行分析。设信息系统漏洞的价值向量为U = μ(1) μ(2) … μ(v[]) ,其中v为漏洞数,μ(k)为第k个漏洞价值,则漏洞k的传播风险向量为

其中传播风险向量中的元素Ro(k)表示漏洞k 对信息系统其它漏洞造成的传播风险

漏洞k对系统的全局风险向量为

4.3 漏洞风险评估算法VREA-CO

算法输入:单步风险矩阵M ,漏洞价值向量U ,攻击图最大步长n,漏洞数v

算法输出:漏洞全局风险向量V(Rw)算法描述:

(1)START

(2)初始化参数:

(3)For(i=1;i=i+1;i<=n)

(4) M(i)=M(i-1)M ;

(5) M0=M0⊕M(i);

(6)End For

(7)For(k=1;k=k+1;k<=v)

(8) For(l=1;l=l+1;l<=v)

(9) Rs(l,k)=βlk×μ(k);

(10) Rs(k)=Rs(k)+Rs(l,k);

(11) Ro(k,l)=βkl×μ(l);

(12) Ro(k)=Ro(k)+Ro(k,l);

(13) End For

(14)Rw(k)=Rs(k)+Ro(k);

(15)End For

(16)输出V(Rw)= [Rw(1) Rw(2) … Rw(v)]

(17)END

5 实例分析

为说明漏洞分析算法在实际中的应用,可以对某网络的漏洞进行扫描。根据Nessus扫描结果得到主机的端口和漏洞信息,假设网络主要存在5个系统漏洞。提取NVD 和Bugtraq漏洞库中的信息得到漏洞利用模式,参照CVSS评分标准对各个漏洞进行评价,各漏洞和有向边的属性值见表1和表2。

表1 漏洞价值描述

表2 有向边连通度

由上述各漏洞及有向边的漏洞值,可以计算各个漏洞价值和漏洞之间连通度,通过麻省理工学院开发的NetSPA系统生成漏洞攻击[11],如图5所示。

图5 漏洞攻击

该漏洞攻击图所对应的单步风险矩阵M 和漏洞价值向量U 为

该漏洞攻击图的最大步长n=3,漏洞总数v=5。将单步风险矩阵M 、漏洞价值向量U 、最大步长n 和漏洞总数v 输入漏洞风险评估算法VREA-CO,可得系统漏洞的全局风险向量

则漏洞的严重性程度为n1>n5>n4>n3>n2,假设风险的显著性阈值为0.8,则可知n1和n5漏洞对网络系统的影响最为显著。两者所对应的资产分别为网络防火墙和DB Server服务器,前者为数据库服务器,后者为网络进出的门户,其重要性在本算法中得以验证。这2个漏洞发生的风险往往会给网络系统带来难以挽回的重大损失,是管理者应该进行重点防御的对象。

6 结束语

为评估网络系统中安全漏洞所造成的风险,本文提出了一种基于连通度算子的风险评估方法,该方法包括漏洞攻击图、连通度算子和漏洞风险评估算法。利用该方法,风险评估人员可以基于漏洞攻击图对网络系统中的漏洞利用关系进行定量分析,并通过连通度算子对漏洞的自身风险和传播风险进行计算,最后使用风险评估算法VREACO 综合得出网络系统漏洞的全局风险向量。该方法可以有效识别不同安全漏洞对网络系统的影响程度,帮助管理者有针对性地实施重点防御。

本文提出的方法主要有以下2个方面的特点和优势:

(1)提出通过CVSS评价体系对漏洞攻击图的节点连通度进行评价。借鉴CVSS中AV、AU 和AC 这3个属性对漏洞节点间的信息可获取性、主机可连接性和漏洞可利用性进行定量分析,提出了一种节点连通度的计算方法,相比文献 [9]中给出的节点连通性量化方法,文中基于CVSS的量化方法更具权威性和可信性,应用更加简单方便。

(2)提出风险矩阵连通度算子和漏洞风险评估算法VREA-CO。利用连通度算子可以对任意2个漏洞间的连通度进行计算,为漏洞风险的定量评估奠定基础;漏洞风险评估算法VREA-CO 能够综合漏洞的自身风险和传播风险,对漏洞的系统风险进行全面评估,评估结果更加合理、可信。

[1]ZHANG Youchun,WEI Qiang.Architecture of vulnerability discovery technique for information systems [J].Journal on Communications,2011,32 (2):42-47 (in Chinese). [张友春,魏强.信息系统漏洞挖掘技术体系研究 [J].通信学报,2011,32 (2):42-47.]

[2]YE Yun,XU Xishan.Research on the risk adjacency matrix based on attack graphs [J].Journal on Communications,2011,32(5):112-120(in Chinese).[叶云,徐锡山.基于攻击图的风险邻接矩阵研究[J].通信学报,2011,32 (5):112-120.]

[3]PAN Xiaozhong,HE Jianghu.Visualization of risk assessment using matrix based on attack graph [J].Journal of Chinese Computer Systems,2013,34 (3):553-556 (in Chinese).[潘晓中,何江湖.攻击图在风险评估中的矩阵可视化 [J].小型微型计算机系统,2013,34 (3):553-556.]

[4]CHEN Feng,ZHANG Yi.Research of quantitative vulnerability assessment based on attack graphs [J].Computer Engineering and Science,2010,30 (10):8-11 (in Chinese).[陈锋,张怡.基于攻击图的网络脆弱性量化评估研究 [J].计算机工程与科学,2010,30 (10):8-11.]

[5]WANG Yongjie,XIAN Ming.Study of network security evaluation based on attack graph model[J].Journal on Communi-cations,2007,28 (3):29-34 (in Chinese).[王永杰,鲜明.基于攻击图模型的网络安全评估研究 [J].通信学报,2009,28 (3):29-34.]

[6]HE Jianghu,PAN Xiaozhong.Algorithm of attack graph generation based on attack cost of vulnerability relations [J].Application Research of Computers,2012,29 (5):1907-1909(in Chinese).[何江湖,潘晓中.基于漏洞关联攻击代价的攻击图 生 成 算 法 [J].计 算 机 应 用 研 究,2012,29 (5):1907-1909.]

[7]WANG Huimei,XIAN Ming.A network attack decision-making algorithm based on the extended attack graph [J].Journal of Electronics &Information Technology,2011,33 (12):3015-3021 (in Chinese).[王会梅,鲜明.基于扩展网络攻击图的网络攻击策略生成算法 [J].电子与信息学报,2011,33(12):3015-3021.]

[8]ZHANG Yongzheng,FANG Binxing.Research on network node correlation in network risk assessment[J].Chinese Journal of Computers,2007,30 (2):234-240 (in Chinese).[张永铮,方滨兴.网络风险评估中网络节点关联性的研究 [J].计算机学报,2007,30 (2):234-240.]

[9]ZHOU Liang,LI Jun’e.Research on quantitative assessment model on vulnerability risk for information system [J].Journal on Communications,2009,30 (2):71-76 (in Chinese).[周亮,李俊娥.信息系统漏洞风险定量评估模型研究 [J].通信学报,2009,30 (2):71-76.]

[10]ZHANG Yongzheng,FANG Binxing.Risk propagation model for assessing network information systems[J].Journal of Software,2007,18 (1):137-145 (in Chinese). [张永铮,方滨兴.用于评估网络信息系统的风险传播模型 [J].软件学报,2007,18 (1):137-145.]

[11]QING Dapeng,ZHOU Yuan.Method to generate attack graphs for assessing the overall security of networks [J].Journal on Communications,2009,30 (3):1-5 (in Chinese).[苘大鹏,周渊.用于评估网络整体安全性的攻击图生成方法 [J].通信学报,2009,30 (3):1-5.]

猜你喜欢

邻接矩阵攻击者漏洞
轮图的平衡性
漏洞
基于微分博弈的追逃问题最优策略设计
正面迎接批判
三明:“两票制”堵住加价漏洞
漏洞在哪儿
基于邻接矩阵变型的K分网络社团算法
高铁急救应补齐三漏洞
有限次重复博弈下的网络攻击行为研究
Inverse of Adjacency Matrix of a Graph with Matrix Weights