首页 > 范文大全 > 正文

风险分析论文:论网络安全风险动态分析算法

开篇:润墨网以专业的文秘视角,为您筛选了一篇风险分析论文:论网络安全风险动态分析算法范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

作者:魏晴 吕良双 姚珊 吴伟康 单位:北京航空航天大学网络技术北京市重点实验室

1网络安全风险动态分析框架

通过提取的攻击警告信息、目标网络拓扑、存在的漏洞以及资产,发现攻击者破坏目标网络安全的攻击过程,并在此基础上计算网络安全风险,以实现对网络安全现状的理解和对网络安全发展趋势的预测.该框架中,觉察态势元素是从外部获取计算风险时所需要的信息,包括来自IDS的攻击警告及来自目标网络的拓扑、漏洞和资产信息.对其进行预处理,是确定攻击、发现攻击过程、评估资产权重的基础.最后,根据漏洞、资产及攻击信息,便可以动态计算网络安全风险值.

2网络安全风险动态分析算法

2.1确定攻击

确定攻击的目的是明确IDS警告对应的攻击是否对攻击目标造成了损害,若攻击活动对目标的损害达到了攻击者的期望,则该警告对应一次成功的攻击事件,否则是一次失败的攻击事件.确定攻击需要对IDS报告的攻击警告进行冗余处理,将攻击源、攻击目的以及攻击特征3个属性相同的攻击警告按照最近时间存储一条攻击事件记录.确定攻击是否成功的过程为:a.查看防火墙过滤规则,即从攻击源节点到攻击目标节点之间的数据包是否可达,若不可达则攻击失败,否则转入b;b.若攻击属于拒绝服务攻击类,则通过访问攻击目标节点是否失效以确认攻击是否成功,否则转入c;c.查看攻击目标节点的操作系统信息或者其上的服务配置信息是否与攻击依赖漏洞的平台特征相符,若不相符,则攻击失败,否则转入d;d.查看攻击目标节点是否存在攻击依赖的漏洞,若不存在,则攻击失败,否则判定攻击成功.

2.2发现攻击过程

攻击过程发现算法通过对攻击活动的关联分析,构造出攻击者破坏目标网络安全的过程,使决策者能够站在比单独、离散的IDS警告更全面的视角去认识攻击行为.算法输入攻击引导模板和确定成功执行的攻击事件,通过分析攻击活动间关系重现攻击者破坏目标网络安全的攻击过程.在建立了攻击引导模板的基础上,读取新输入的攻击事件并与模板节点进行匹配.新的攻击输入后,对应的模板节点A与已存在攻击过程中模板节点B有3种可能的关系,即相同、模板节点A是B的后继节点、没有关系.判断规则如下:若A和B属于攻击引导模板中的同一个模板节点,且A对应的攻击源IP及目标IP与B节点的特征节点源IP及目标IP相同,则A和B相同;若A在B的后继节点集合中,且攻击事件的攻击源和目的IP与B的特征节点的攻击源和目的IP相同,或者与攻击事件的攻击源IP与B的特征节点的攻击目的IP相同,则节点A为模板节点B的后继节点;若非以上2种情况,则A与B没有关系.随着攻击过程的发展,系统可能会出现已确定为成功的攻击是一次失败攻击的情况,这可能是攻击者利用某漏洞未能成功实行该攻击,从而利用其他漏洞进行成功攻击的情况.系统会判定先前的攻击失败,进而修改最初的判定结果.

2.3服务权重和节点权重计算

采用AHP方法计算节点上的服务权重,该方法能够合理地将定性与定量的决策结合起来,按照思维、心理的规律把决策过程层次化、数量化,是一种有效的评估方法.服务权重是组织对服务重要性的定量描述.服务对完整性、机密性和可用性的防御需求权重能客观反映服务的重要性[11-12].建立决策的目标、考虑的因素(决策准则)和决策对象构成AHP中的3个层次:目标层、准则层和方案层.这里目标层为服务重要性;准则层为评价服务重要性考虑的3个因素,即服务对完整性、机密性和可用性的防御需求;方案层是待评价重要性的各服务.假设某网络系统中有s1~s5共5种服务,依据其重要性程度建立完整性-机密性-可用性(ICA)3阶判断矩阵A,矩阵中元素aij为完整性、机密性、可用性3种属性中,属性i对于属性j的重要性程度(i,j=1,2,3).服务对完整性、机密性、可用性的两两比较判断矩阵为BI,BC和BA,其中每个矩阵中的元素bInm,bCnm和bAm为服务sn对服务sm完整性、机密性及可用性程度(n,m=1,2,…,5).在各判断矩阵均通过一致性检验后,根据最大特征根求得服务对应于ICA的权向量wI,wC和wA.准则层Cp共包含3个因素,其对目标的层次单排序权向量(w1,w2,w3)分别对应完整性、机密性和可用性的权重.方案层共包括5个服务,其关于Cp的层次单排序权重分别为w1p,w2p,w3p,w4p,w5p,分别对应于5个服务对于ICA的权重.各服务的层次总排序经过一致性检验后的权重为(w1,w2,w3,w4,w5),其中wq=∑3p=1wqpwp(q=1,2,…,5).网络中节点权重whst由其上的服务数量以及服务重要性共同决定,且whst=∑Nn=1wsrvn,其中:wsrvn为服务的权重;N为节点上服务的数量.

2.4网络安全风险计算

网络安全风险的根本原因是网络系统中存在可被利用的漏洞,随着攻击者对目标网络的渗透深入,暴露在攻击者面前的漏洞可能会越来越多;因此,目标网络面临的风险逐渐增大,并且已被损害的节点会影响某些漏洞的暴露情况以及被利用的可能性.这里网络安全风险值计算综合考虑服务权重、主机权重、漏洞威胁度、漏洞可利用性以及攻击对漏洞可利用性的影响共5个参数.

2.4.1漏洞固有威胁度计算漏洞固有威胁度是在不考虑资产价值的情况下,定量描述漏洞利用对资产的固有威胁,其值越大对资产的威胁越大.漏洞固有威胁度由漏洞固有损害度和漏洞可利用性决定.漏洞固有损害度指的是漏洞一旦被利用后,不考虑资产重要性时,会对资产造成的损失大小.设CVSS中漏洞利用对资产在完整性、机密性和可用性等3个方面的影响分别有没有影响、部分影响和完全影响3个可能值,分别取值0,0.275和0.660,则漏洞利用对资产的固有损害度Dvul=10.41(1-(1-ICon)(1-IInt)(1-IAva)),其中:ICon为机密性影响;IInt为完整性影响;IAva为可用性影响.漏洞被利用的条件、被满足的易难和条件的多少影响着漏洞可利用性.参考CVSS评估漏洞可利用性的指标———访问向量、访问复杂度和访问认证,漏洞可利用性Evul=2VACVAuVAV,其中:VAC为访问复杂度量化值;VAu为访问认证量化值;VAV为访问向量量化值.访问向量有网络访问、邻近网络访问、本地访问3种可能的取值,对应的量化值分别为0.395,0.646和1.000.访问复杂度可能的高、中、低量化值分别为0.35,0.61和0.71;访问认证表同样有不需要认证、需要1次认证、需要2次及以上的认证3种可能的取值,对应的量化值分别为0.250,0.560和0.704.则漏洞固有威胁度Tvul=DvulEvul.

2.4.2漏洞可利用性的变化规则由于受损节点和未受损节点之间可能存在访问关系,原本没有暴露或者不能被攻击者直接访问的漏洞被暴露或者能被访问了;因此,须根据一些规则动态修订这部分漏洞的访问向量、访问复杂度或者漏洞可利用性,修订规则如下:a.与受损节点同在一个访问域的其他节点上的漏洞被暴露;b.对于权限提升类攻击,与该受损节点同在一个访问域的所有与该攻击利用的漏洞相同的漏洞可利用性修订为最大值(假定攻击者是贪婪的);c.对于在同一个访问域内的不同的漏洞,其访问向量若为“邻近网络访问”,则修订为“网络访问”,若为“本地访问”,且漏洞所在节点包含在目标节点访问列表中,则修订为“网络访问”,否则不变;d.与该受损节点不在同一个访问域内且不在其访问列表上的其他节点上的相同漏洞的访问复杂度均修订为最低;e.与该受损节点不在同一个访问域内,其漏洞所在节点包含在目标节点的访问列表中,若漏洞与攻击利用漏洞相同,则修订其访问向量为“网络访问”、访问复杂度最低,否则修订其访问向量修订为“网络访问”.根据攻击过程的发展,系统会对已经过确定成功的攻击进行修订:将实际失败执行却被判定•为成功的攻击的状态修订为失败.系统须根据这些攻击修改过漏洞的相关状态恢复到攻击未发生前的状态.

2.4.3网络安全风险值计算风险初始值由最初暴露在入侵者面前的漏洞引起,其值为漏洞威胁度与威胁利用可能性的乘积按照服务到节点再到网络的层次融合得到.最终的网络安全风险值是网络风险为网络中所有节点的风险值之和.该风险计算方法能够评估实时发生的攻击事件对漏洞可利用性的影响,基于AHP的服务权重算法相比基于纯主观的评估方法对服务权重的评估更精确.但由于网络规模的影响,若节点较多,则节点之间的关系信息将会比较庞大,增加算法的运算量.

3实验分析

为了验证本文算法的有效性,使用了入侵检测系统以及数据回放工具搭建一个多步攻击想定的实验环境,选取了林肯实验室提供的2000年美国国防部高级研究计划署(DARPA)的LLDoS2.0.2评估数据集[13]作为实验数据.根据节点的操作系统和版本信息及节点间数据包、公共漏洞数据库以及入侵检测系统攻击警告记录,推断并设定各相关节点上的漏洞信息和服务信息[14].

启动入侵检测系统开始入侵检测,并启动数据包回放软件Iris回放数据,读取攻击警告记录进行冗余处理及确定攻击.经过处理后得到了4条包含时间的攻击事件记录,分别为远程IP对目标IP172.16.115.20的IP扫描、Sadmind缓冲区溢出、172.16.115.20对172.16.112.50的Sadmind缓冲区溢出以及172.16.112.50对172.16.115.20的拒绝服务攻击.其中缓冲区溢出依赖的漏洞为CVE-1999-0977.根据确定的攻击事件,匹配其相应的模板节点并发现攻击过程.特征节点上的编号表示攻击事件序列号,根据攻击序列号可以查看攻击事件的详细信息.本系统能根据确定的攻击事件,发现攻击过程.但是同时对比想定中的攻击过程存在差别,这主要是由于入侵检测系统漏检了从mill主机到pascal主机的信息探测以及在mill和pascal上放置木马的攻击造成的.根据提出的网络安全风险分析算法计算整个网络的风险值.设定完整性-机密性-可用性判断矩阵为。

分别设置所有服务对于完整性、机密性和可用性的判断矩阵,行和列元素所代表的服务分别为FTP,DNS,HTTP,TELNET,RPC和SMTP.以完整性为例,有BI=[BI1,BI2,…,BI6]T,其中:BI1=[1.00,2.00,0.25,0.20,0.50,0.50];BI2=[0.5000,1.0000,0.6700,0.1429,0.2500,0.2500];BI3=[4.0,6.0,1.0,0.5,2.0,2.0];BI4=[5,7,2,1,3,5];BI5=[2.0000,4.0000,0.5000,0.3333,1.0000,2.0000];BI6=[2.0,4.0,0.5,0.2,0.5,1.0].根据AHP法计算各服务在网络中的权重分别为0.057466,0.118305,0.222516,0.217153,0.126893,0.257687.相比文献[12,15]对服务权重直接等级赋值的方法,本文算法对服务权重计算更加精确.依据节点上的服务、漏洞以及节点权重,计算节点的风险值及整个网络的风险结果如图3所示,图中:R为网络风险值;v为检测时间.随着攻击的发生,风险逐渐增大.最初未遭受攻击时所有漏洞均处于未暴露状态,风险值为0;确定节点mill受到IP扫描攻击后,与mill节点在同一个访问域内的节点上的漏洞暴露,风险值增大;随后确定mill受到利用其Sadmindbufferflower缓冲区溢出漏洞获取root权限的攻击,因此mill节点访问列表中的节点上的漏洞暴露,其他节点上的Sadmindbufferflower漏洞访问复杂度降为最低,风险值进一步增大;随着攻击者入侵的深度和广度,网络安全风险值继续增大(假定在这个过程中,防御方没有实施防御措施).

攻击过程的算法不能发现多个攻击者发起的协同攻击,因此研究协同攻击的行为模式,建立相应协同攻击行为模型,探索如何将攻击者最终意图所带来的风险进行动态评估,将是今后的主要研究工作.