APP下载

攻击图和HMM结合的网络安全风险评估方法研究

2015-08-08刘仁山孟祥宏

关键词:漏洞成功率服务器

刘仁山,孟祥宏

(呼伦贝尔学院 计算机科学与技术学院,内蒙古 呼伦贝尔 021008)

0 引言

网络系统的脆弱性将会对国家基础设施构成直接威胁,网络安全风险制约着信息的有效利用并可能给经济安全、国防安全带来威胁[1],因此迫切需要对网络系统安全进行保护和准确的风险评估.网络安全风险评估是当前信息安全领域研究的热点问题,传统的风险评估方法大多采用静态数据分析的方法,这种方法难于发现网络运行过程中受到攻击的状况,缺乏实时性;数据分析准确性过于依赖管理者的经验和能力,缺乏客观性[2],而网络安全风险实时评估,能够对整个网络的运行状况进行准确的动态分析,帮助管理员了解网络的运行风险和安全弱点,提高网络的防护能力.

文献[3]在基于安全指标量化的基础上,采用动态攻击图的方法对网络安全进行实时评估,但对攻击图中单步攻击成功率的估算准确性不足,影响评估效果.文献[4]在攻击图的基础上提出了一种分布式网络风险评估方法,虽然部分地解决评估网络规模过大、脆弱性过多带来的攻击图庞大的问题,但攻击成功概率值的获取多依赖专家打分,没有给出具体实施方法,缺乏可操作性.文献[5]首先应用图论的方法生成网络攻击图,对网络安全状况做出较全面的评价,但攻击图的生成完全依赖手工,评估效率低且无法适应大规模网路.针对现有评估方法的不足,本文提出了攻击图和隐马尔可夫模型相结合的网络安全风险评估方法,利用攻击图分析攻击路径,利用隐马尔可夫模型计算攻击路径攻击成功率,结合系统的攻防信息对网络安全风险进行评估,提高了网络安全风险评估的准确性.

1 风险评估模型分析

1.1 隐马尔可夫模型

1.1.1 基本理论

Arnes认为主机可以处在不同的安全状态,每种安全状态的概率决定了其安全风险,而状态之间的转换可由隐马尔可夫模型(Hidden Markov Model,HMM)状态转换矩阵和观察矩阵决定[6].

定义1 设主机系统的状态空间为S={S0,S1},主机系统在某时刻t的状态为Ωt,Ωt∈S;S0代表主机处于安全状态,没有被侵入;S1代表主机处于危险状态,已被成功攻击(侵入).

定义2 设主机系统可能受到的攻击空间为A={A0,A1,A2,A3,A4},主机系统在时刻t受到的攻击为Vt,Vt∈A,A0~A4表示攻击的威胁度,取值是0~4;

定义3 状态转换矩阵Q=(qij)2×2,表示主机系统状态转换的概率,qij表示在t时刻状态Ωt=Si时,转换成t+1时刻Ωt+1=Sj的概率;观察矩阵G=(gmn)2×5表示在时刻t时,主机在Ωt=Sm状态下观测到某种攻击Vt=An的概率.

主机系统初始状态定义为π=(π0,π1),根据以上定义可形成网络安全态势实时评估HMM模型,即λ=(S,A,Q,G,π).

1.1.2 攻击成功概率计算方法

(1)定义HMM的前向变量

αt(i)=P(V1,V2,…,Vt,Ωt=Si|λ).

(2)初始时刻t=1时,

α1(k)=πkgk(V1),k=0,1.

(1)

(3)当t>1时,

(2)

(4)定义主机状态概率γt(μ)=P(Ωt=Sμ|V1,V2,…,Vt,λ),变换得:

(3)

其中μ=0,1.S={S0,S1}={γt(0),γt(1)}在t时刻对于主机被成功攻击的概率为

St=HMM(Vt)=γt(1).

(4)

1.2 攻击图模型

攻击图能够对网络中存在的攻击场景进行建模,并能对所有可能或已经存在的真实攻击路径进行描述,获取攻击行为为达到攻击目标所选择的所有可能攻击路径,从而可以全面地评估、计算网络所面临的安全风险[7].

1.2.1 攻击图生成算法

利用攻击图可以绘制网络中主机漏洞的前提集合和后果集合,首先按漏洞危害程度进行排序,并转化为攻击路径,然后再把网络中可能存在的多条攻击路径全部找出,进行分析,绘制攻击图,其算法如下:

Input:网络中所有主机集H,主机漏洞集L,主机间边集R,顶点集D.

Output:网络攻击图G=(H,L,R).

Steps:

Step1 主机Hi∈H,攻击者从Hi上出发,查找Hm上所有可以利用的远程漏洞Lmn(主机Hm的第n个漏洞),将Lij→Lmn(Hi作为初始攻击机不需要漏洞,j=0)添加到边集R中,将Lij和Lmn添加到顶点集D中.其中Lij、Lmn∈L,生成主机间的攻击路径.

Step2 主机Hm查找所有本地可利用漏洞,将Lmx和它的前提漏洞Lmy组成的边Lmy→Lmx添加到边集R中,将Lmx和Lmy添加到顶点集D中,生成主机内部攻击路径.

Step3 重复步骤1和2生成以漏洞为节点的网络动态攻击图.

1.2.2 路径攻击成功率算法

攻击者会找到网络中攻击成功概率最大的攻击路径来进行侵入,那么这条攻击路径的成功概率是如何计算的呢?攻击成功率算法如下:

Step1 若G中存在多条攻击路径AR1,AR2,…,可将攻击路径记为AR={Lij→Lmn},其中i,j,m,n=0,1,2,…,将以Lij漏洞为前提,针对Lmn漏洞的单步攻击记为Amn(Lij→Lmn),若i=m,则是本地攻击,否则是远程攻击.

Step2 将攻击Amn(Lij→Lmn)的攻击成功率记为Smn,表示利用第n个漏洞对主机Hm的攻击成功率,利用隐马尔可夫模型可得Smn=HMM(Amn).

Step3 若Lij存在前提漏洞Lbk,即单步攻击路径A(Lbk→Lij):

(1)若b≠i,则Aij(Lbk→Lij)是远程攻击,若对Lbk也存在攻击且攻击成功率记为Sbk=HMM(Abk),以主机Hb为视角观察主机Hm在攻击路径上被成功攻击的概率为Sm=Sbk×Smn.

(2)若b=i,则Aij(Lbk→Lij)是本地攻击,从Lbk开始沿攻击路径前向搜索,直到找到远程单步攻击的前提漏洞,比如Lpq,那么以主机Hp为视角观察主机Hm在攻击路径上被成功攻击的概率为Sm=Spq×Smn.

(3)若在步骤(2)中,前向搜索没有找到远程漏洞,则主机Hm被成功攻击的概率Sm=Smn.

2 风险评估过程分析

2.1 攻击威胁度的量化

2.1.1 漏洞利用成功率

定义4 当网络攻击行为发生时,攻击所针对漏洞的利用成功率表明攻击的难易程度,定义为L,分析漏洞的利用成功率可有效分析攻击的强度,本文借鉴国内外研究成果,结合CVSS[8]和文献[9-10],给出漏洞利用成功率计算公式:

L=(M+P+T),

(5)

其中:M∈[0,0.4],表示攻击方法的发布情况,无攻击方法发布时取值0,粗略发布攻击方法时取值为0.2,详细发布攻击方法时取值为0.4;P∈[0,0.1],表示漏洞的公布情况,无漏洞公布时取值为0,有漏洞公布时取值为0.1;T∈[0,0.4],表示攻击的复杂度,需要攻击工具但无相关说明信息时取值为0,有攻击工具且有相关说明信息时取值为0.2,不需要攻击工具时取值为0.4,漏洞利用成功率赋值如表1.

表1 漏洞利用成功率赋值标准

2.1.2 防御效果

定义5 防御行为是网络管理员为了保护信息安全,采用IDS、防火墙、网络管理工具软件等手段对网络攻击进行防范的过程,采用不同的技术和手段,防御的效果也不相同,本文参考文献[11]将防御效果分成5个级别,数值越低防御效果越好,见表2.

表2 防御效果赋值标准

在进行风险评估时,根据攻防信息的动态变化刷新并生成攻击图,将信息反馈给防火墙等网络防御体系,以及时更新防御措施.

2.1.3 威胁度的量化方法

定义6 攻击威胁度是指攻击者获得提升主机权限的可能性,由漏洞利用成功率和防御效果值共同决定,攻击威胁度的计算公式如下:

(6)

2.1.4 网络安全风险计算

定义7 严重度反映攻击警告信息代表的严重程度,与具体的网络环境无关[12].在IDS检测时都会给每个警告一个优先级,优先级由1到3,严重程度由高到低,转换成0-1之间方法是

(7)

其中W是攻击严重度.

网络中的资产主要包括网络中的数据、网络提供的服务、网络软件和硬件等,资产的安全需求有机密性、完整性和可用性,不同资产的安全需求是不同的.

主机安全风险计算公式为

R(host)=S×W×C,

(8)

其中:S为路径攻击成功率,W为攻击严重度,C为资产重要度.

网络安全风险计算公式为

(9)

式中,hosti为网络中的第i个主机.

2.2 风险评估的流程

为了更好地进行网络安全风险评估,需要收集原始信息,包括攻击复杂度信息、防护信息和资产信息等,一般通过扫描工具、现场测试并参照国家漏洞库等方法来获取这些数据,形成相应的数据库,根据IDS等安全设备检测攻击种类,基于这些数据来定量分析网络安全状况,具体流程如下:

Step1 从IDS入侵检测设备中读取攻击警告信息alert={Name,Time,Type,SIP,DIP,SP,DP},其中:Name,Time,Type表示攻击名称、发生时间和类型;SIP,DIP代表源地址和目的地址;SP,DP代表源和目的端口.

Step2 根据DIP从数据库中读取被攻击主机的漏洞信息、防御信息和资产信息.

Step3 根据Name和Type从数据库中获取攻击的复杂度信息以及攻击成功需要的配置条件(包括漏洞号、端口、OS版本等)和Step2中的信息比较,利用式(5)和(6)计算攻击的威胁度.

Step4 利用攻击图生成算法生成网络攻击图.

Step5 根据攻击威胁度,利用路径攻击成功率算法,通过隐马尔可夫模型计算攻击路径的攻击成功率.

Step6 利用式(9)计算网络安全风险值.

3 实例分析

3.1 系统描述

为了验证评估算法的可行性,参照普遍性业务应用系统建立实验环境,如图1所示,利用防火墙和入侵检测系统将网络分为互联网、DMZ区和内网3个区域,DMZ区域的DNS服务和WEB服务部署在同一台服务器上,为用户提供域名解析和页面浏览服务;邮件服务器和数据库服务器分别部署在子网1和子网2中,相应的安全策略配置如下:只允许外网用户访问DMZ区域中H1上的Web服务和DNS服务;主机H1可以访问子网1中的邮件服务器H2和子网2中的数据库服务器H3;禁止H1访问内网工作站主机;子网1和子网2可以访问DMZ区域的服务器和互联网.

3.2 实验结果与分析

网络中主机信息及相关的漏洞如表3所示,主要列出重要的服务器,包括服务器的名称、使用的操作系统名称和版本、漏洞信息以及漏洞的利用率.

攻击行为信息可以由区域中的IDS检测系统得到,针对实时处理速度的需求,采取基于标志的检测方法,将威胁大、易于发动的攻击特征提取出来,利用攻击图生成算法,生成实验网络攻击图,如图2所示.

图1 实验网络拓扑图

主机编号服务器名称版本漏洞编号CVE编号漏洞描述类型漏洞的利用率H1DNS服务器、Web服务器Windows2003Bind8.12IIS5.0L1CVE-2001-0010Bind远程缓冲区溢出远程0.7L2CVE-2002-0364IIS缓冲区溢出远程0.6L3CVE-2002-0366针对Windows的本地溢出本地0.8H2数据库服务器Mysql5.0018Redhat8.0L4CVE-2006-1518针对Mysql的远程信息泄露和溢出远程0.7L5CVE-2002-0004针对Linux的本地缓冲区溢出本地0.8H3邮件服务器Sendmail8.12Redhat8.0L6CVE-2002-1337Sendmail头处理溢出漏洞远程0.7L7CVE-2002-0004针对Linux本地缓冲区溢出本地0.8

图2 网络攻击图

利用HMM模型计算主机H1、H2、H3被成功攻击的概率,HMM模型参数为

π=(0.8,0.2),

结合风险评估流程、路径攻击成功率算法、攻击的严重度、威胁度计算攻击成功率,结果如表4所示.表4所列出的攻击成功率是针对主机的单步攻击成功率,若要计算某一条攻击路径的攻击成功率需要采用1.2.2中的算法,比如路径AR={L12→L13→L31→L32}的攻击成功率就是攻击A3和攻击A9攻击成功率的乘积.

利用式(8)和式(9)计算网络的风险变化趋势,结果如图3所示.

通过图3中可知在3月9日10:11:15网络风险值最大,这是因为主机H0对H1进行的攻击中,攻击A2和A3在一条攻击路径上,所以攻击A3发生时,网络风险值最大;10:15:16和10:18:28虽然发生了攻击A5和A6,但是系统安全防护好,没有可以被利用的漏洞,所以网络风险值最小;其他时间网络风险值较小,说明主机H0不能直接攻击内网服务器,从而导致网络风险值降低.根据网络风险值的变化可以有针对性地对网络采取相应的安全措施.

图3 网络安全风险

攻击编号时间攻击源攻击目标相关漏洞威胁度攻击成功率攻击严重度资产重要度防御等级A109/03-10:02:42H0H1CVE-2001-001040.2210.90.51.0A209/03-10:03:10H0H1CVE-2002-036430.2240.60.50.7A309/03-10:11:15H1H1CVE-2002-036620.3800.90.50.3A409/03-10:15:16H1H2CVE-2002-01930—0.60.30.0A509/03-10:18:28H1H2CVE-2002-05750—0.60.30.0A609/03-10:24:54H1H2CVE-2006-151820.1850.60.30.3A709/03-10:28:43H2H2CVE-2002-000430.3970.60.30.5A809/03-10:33:41H1H3CVE-2002-133720.1850.30.20.3A909/03-10:37:08H3H3CVE-2002-000420.3450.30.20.3

4 结束语

网络安全风险评估的关键是从攻防的角度生成合理的攻击图,并能够准确地估算攻击路径的攻击成功率,本文利用攻击图的方法对攻击的动态过程进行描述,通过隐马尔可夫模型估算攻击的成功率,结合攻击复杂度、防护等级和资产等量化指标对网络的安全风险进行评估.通过实例表明,该方法能够提高网络安全风险评估的准确性,帮助管理员了解网络安全状况,具有一定的实用价值.

猜你喜欢

漏洞成功率服务器
漏洞
成功率超70%!一张冬棚赚40万~50万元,罗氏沼虾今年将有多火?
如何提高试管婴儿成功率
通信控制服务器(CCS)维护终端的设计与实现
PowerTCP Server Tool
如何提高试管婴儿成功率
得形忘意的服务器标准
三明:“两票制”堵住加价漏洞
漏洞在哪儿
计算机网络安全服务器入侵与防御