网络安全风险评估关键技术研究

前言


北京邮电大学 博士研究生学位论文
作者:吴金宇
指导老师:方滨兴
2013/3/31

摘要


主要包括三个方面:定性评估、定量评估、实时评估。

定性评估:

在定性评估方面,针对攻击图分析中的两个重要问题:最优原子攻击修复集问题和最优初始条件修复集问题,定义了原子攻击拆分加权攻击图和初始条件拆分加权攻击图,将最优原子攻击修复集问题和最优初始条件修复集问题分别归结于原子攻击拆分加权攻击图中的最小割集问题和初始条件拆分加权攻击图中的最小割集问题,并证明其等价性。在此基础上提出了基于网络流的具有多项式复杂度的算法。实验表明,与己有成果相比,该算法具有较高的性能和很好的可扩展性,能应用于大规模攻击图的分析中。

定量评估:

在定量评估方面,(针对己有的贝叶斯攻击图模型无法表达网络运行环境因素对攻击发生可能性的影响,提出了广义贝叶斯攻击图模型,该模型涵盖了攻击者利用网络或信息系统中存在的脆弱性发动一步或多步攻击的各种可能性,攻击发生的不确定性,以及环境影响因素对攻击发生可能性的影响,在保留贝叶斯攻击图已有优点的基础上,进一步拓展了语义,引入了攻击收益和威胁状态变量,使得广义贝叶斯攻击图能够包括被评估网络或信息系统的业务应用环境和环境威胁信息对攻击可能性的影响,以及这些影响在广义贝叶斯网络上的传播,使得广义贝叶斯攻击图能够更真实地反映网络或信息系统中的网络攻击发生可能性的现实情况。(提出了基于广义贝叶斯攻击图的层次化定量评估方法,该方法利用广义贝叶斯攻击图表达被评估网络或信息系统中攻击者利用存在的脆弱性发动一步或多步攻击的各种可能性,攻击发生的不确定性,以及环境影响因素对攻击发生可能性的影响。在构建广义贝叶斯攻击图的基础上,提出了节点攻击概率、主机攻击概率、网络攻击概率三个层次攻击概率的计算方法,以及节点风险值、主机风险值和网络风险值三个层次风险值计算方法,使得安全管理员能够在节点、主机和网络三个层次了解网络的安全风险状况。实验表明,该方法更加切合被评估网络或信息系统的攻击发生可能性的真实情况,使得评估结果更客观准确。并且从理论和实验都证明了已有的基于贝叶斯攻击图的方法是本方法的一个特例,因此,本方法具有更广泛的应用价值。

实时评估:

在实时评估方面,(1)针对入侵检测系统产生的警报存在大量的误报问题和漏报问题,提出D-S证据攻击图模型,该模型利用D-S证据理论将安全警报得到的证据融合到攻击图中所关联的节点上,并在攻击图中进行前向和后向的信度传递,更新相应节点的预测支持因子和后验支持因子,进而计算节点攻击信度和节点预测信度。该模型既利用了D-S证据理论对不确定信息的融合处理能力,又利用了攻击图上脆弱点利用之间的关联关系优势,使得该模型能够有效地抑制安全警报中存在的误报和漏报问题。(2)提出基于D-S证据攻击图模型的增量式实时评估方法,该方法从空间上分为检测层、攻击图层、主机层和网络层四个层次,在时间上分为初始化阶段和实时更新阶段。该方法由于利用D-S证据攻击图模型很好地抑制了安全警报中存在的误报和漏报问题,对安全警报进行关联和融合,然后计算节点、主机和网络三个层次的攻击信度和预测信度,从而能够准确地进行攻击场景还原和攻击行为预测,并计算相应的威胁值和最终的网络安全态势值,从而获得了网络或信息系统在节点、主机以及网络三个层面的安全威胁态势状况,具有完善的功能。由于该方法是一种增量式的评估方法,并且具有线性的算法复杂度,实时性能较高。实验表明,该方法能够客观准确地进行攻击场景还原和攻击行为预测,并得出符合客观情况的实时网络安全威胁态势,并且,该方法具有高性能高可扩展性的特点,能应用于大规模网络或信息系统的实时评估之中。

关键字


网络安全风险评估;攻击图;网络流;广义贝叶斯攻击图;D-S证据攻击图模型

主要内容


  1. 论文的主要内容组织结构如下图:

    这里写图片描述

    扫描二维码关注公众号,回复: 1740606 查看本文章
  2. 论文的创新点:

    网络流攻击图分析方法;
    广义贝叶斯攻击图模型
    广义贝叶斯攻击图的层次化定量评估方法
    D-S证据攻击图模型
    基于D-S证据攻击图模型的增量式实时评估方法

    创新点之间的关系

    这里写图片描述

  3. 网络安全脆弱性分析技术

    a) 脆弱行描述方法

    为了能够存储、共享、交换以及使用脆弱性信息,各个标准组织以及研宄机构,提出了各种脆弱性描述方法,其中有两种方法最具有代表性,分别是基于巴科斯范式和基于XML的描述语言。

    基于巴科斯范式的描述方法的优点是避免脆弱性信息直接利用文字描述所带来的模糊性、冗余性以及不利于自动化关联性等问题。基于巴科斯范式的描述方法具有效率高、描述能力强等优点,但是可能存在符号体系和语法规则不统一的问题,使得互操作方面比较差。

    基于的描述方法则避免了巴克斯范式方法的不足之处,XML语言是具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言,由于基于XML的描述方法具有成熟的体系和良好的开放性,使得脆弱性信息的表达和互操作得到了很好的实现。正是基于XML的脆弱性描述方法具有多方面的优点,使得基于XML的脆弱性描述方法成为脆弱性描述方法的主流方法之一。

    b) 脆弱性检测方法

    脆弱点检测的方法主要是基于主机的检测方法和基于网络的检测方法。

    基于主机的检测方法,主要是通过在被检测的主机上安装相应的代理,然后通过该代理检测主机上所有的文件和进程,发现违反安全规则的对象,从而检测出相应的脆弱点。基于主机的脆弱性的检测方法能够准备的检测到相应主机上的脆弱点,而且只对被检测的主机有所影响,但该方法需要在被检测的主机上均安装相应的代理,并且发现远程渗透弱点的能力较差。

    基于网络的检测方法又分为主动检测方法和被动检测方法。
    其中主动检测方法通过发送特定的数据包到被检测的一个或多个主机当中,通过这种方法来判断被检测主机上是否存在相应的脆弱点。由于无需在被检测主机上安装相应的代理,并且可以给多个主机发生数据包,因此,这种方法的效率比较高。但由于主动发送的数据包有可能被防护墙等设备栏截,导致无法检测目标主机是否存在相应的脆弱性。并且主动检测方法产生的数据包会增加网络旳负荷,对网络的正常使用造成一定程度的影响。
    被动检测方法则通过抓取网络中的数据包进行分析,从而判断相应主机上是否存在脆弱性。由于被动检测方法不产生数据包,因此不会增加网络的负荷,从而不会对网络的正常使用造成影响,因此被动检测方法可以一直“透明式”的在线。但当检測主机由于服务不在线或其他原因导致没有发送数据包,或者只发送了具有部分脆弱点特征的数据包时,被动检测方法就不能检测或只能部分检测到目标主机上存在的脆弱性。
    通过上述的分析我们可以得知,在脆弱性检测的方面,每一种方法都有优缺点,在实际应用中需要根据网络或者信息系统的实际情况,采用某种或结合多种脆弱性检测方法来检测网络或信息系统上存在的脆弱性。

    c) 脆弱性的评估方法

    目的是为了评估网络或者信息系统上面脆弱点之间的关联,国内外比较经典的几个模型:比较典型的有故障树((Fault Tree)模型、攻击树(Attack Tree)模型、基于Petri Net的模型、特权图(Privilege Graph)模型、以及攻击图(Attack Graph)模型。

    故障树((Fault Tree)模型:是用于描述系统内部的故障及其原因之间关系的模型。Helmer提出用于攻击者的入侵行为建模,Helmer对攻击者的入侵的描述、标识和检测。故障树模型用于脆弱性评估之中可以从逻辑上清晰地表达脆弱点之间的关系,然而故障树会随着逻辑门和基本事件数目的增加而呈指数增长,产生组合爆炸问题。

    攻击树(Attack Tree)模型: 攻击树模型最早是由Schneier基于故障树模型的概念提出的。攻击树中的叶子节点表示攻击方法,根节点表示了攻击者的最终目标。攻击树中的节点分为AND节点和OR节点,其中AND节点表示只有所有孩子节点都实现,父节点才能实现,OR节点表示任意一个孩子节点实现了,父节点就能实现。
    攻击树对各种可能的攻击路径有清晰的逻辑表达能力,并且便于才攻击树上的攻击概率计算等量化计算工作,然而在攻击树的具体应用中,其结构可能变得非常庞大而复杂。攻击树模型的规模问题制约了该模型在实际脆弱性评估中的应用。

    Petri Net的模型:基于Petri Net的模型方面,McDermott提出了攻击网(Attack Net)模型,该模型使用Petri Net来表达攻击行为,其中位置表示攻击的目标和状态,变迁表示攻击行为。Petri Net可以很好地对网络攻击行为对脆弱性的利用进行建模和分析,并且具有灵活的结构,但Petri Net同样受限于规模问题,使得其难以应用于规模较大的网络或信息系统的评估中。

    特权图(Privilege Graph)模型:特权图模型首先由Dacier提出,特权图模型中的节点表示一组权限集合,特权图模型中的有向边表示使得权限集合发生变化的脆弱性。特权图上的一条路径表示攻击者利用一系列的脆弱性使得其获得的权限发生变化的过程,即表达了一条攻击路径。然而特权图只考虑了权限提升类的脆弱性,却依然存在着状态爆炸的问题,使其在实际应用中受到了一定的限制作用。

    d) 攻击图技术

    攻击图模型在脆弱性的表达和评估方面具有很多方面的优势,在脆弱性评估和评先评估方面都有着较为广泛的应用。针对脆弱性分析主要采用攻击图的技术。

    攻击图生成方法
    典型的攻击图的生成方法包括有:基于模型检测的方法、基于图论方法、基于逻辑编程的方法。
    在基于模型检测的攻击图生成方法中,Ramakrishnan使用模型检测方法对系统及所有安全策略及属性等进行形式化描述,然后在其上查询反例,每一个反例即为一条攻击路径。
    Ammann首次提出了非常重要的攻击图的单调性假设,将生成攻击图的复杂度从指数级别的复杂度降为多项式级别的复杂度,并提出了一个基于图论的方法来生成攻击图。Ingols提出多先决条件图(multiple-prerequisite graph)形式的攻击图,并采取剪枝技术来降低攻击图的复杂度,使得生成的攻击图的规模得到有效的降低。
    Ou等提出一个脆弱性分析引擎Mu1VAL,该引擎使用逻辑语言描述系统的相关属性以及存在的脆弱点,并使用逻辑推理分析网络的脆弱性。在此基础上,Ou提出了基于MuIVAL的攻击图生成方法,该方法使得攻击图的生成复杂度降低到了O(n2)(其中n为网络中的主机数量)。由于该方法的性能较好,具有较好的可扩展性,使得该方法能够应用于较大规模网络的攻击图的生成当中。Ou的研究团队提供了基于该方法的攻击图生成工具。Saha对Ou的方法进行进一步的拓展,使得拓展后的Mu1VAL能够表达更多的安全策略,并且实现了增量式的算法,从而能够根据变化了的脆弱点高效地更新攻击图。

    攻击图分析方法
    基于攻击图的分析方法主要可以解决在定性评估问题中使用最少代价的安全措施集合达到保护目的。

  4. 网络安全定量评估方法
    a) 攻击概率计算方法

    攻击概率反映了网络或信息系统的安全状况,并预测将会发生的攻击及其可能性大小,也是后续风险值计算的基础。攻击概率计算的准确性不仅影响了对网络安全状况和攻击预测的判断,并影响风险值的计算结果,以及后续的风险控制措施的选择,因此,攻击概率计算的准确性是网络安全定量评估的关键问题之一。

    状态攻击图中:攻击图的提出者Phillips等提出对攻击图上的攻击路径上的脆弱点的利用复杂度的乘积来计算攻击图的节点攻击概率。但是这些不能用于属性攻击图中。由于状态攻击图存在状态爆炸的问题,状态较小的网络可能生成的状态攻击图的网络规模也非常庞大,因此这种攻击概率的计算方法在实际应用中没有得到很好的应用。

    Dantu等对攻击能力和行为进行描述,并使用基于贝叶斯网络的方法计算节点攻击概率。Wang等提出一种基于攻击图的定量评估方法,该方法采用攻击阻力(attack resistance)来表示脆弱点利用的复杂度。Frigault等采用贝叶斯网络的方法网络的内在风险进行分析,并提出动态贝叶斯网络来包含脆弱性随着时间变化等时间特性。叶云等针对基于攻击图的概率计算中循环路径导致的攻击图的难以理解和概率重复计算问题,提出了最大可达概率的概念和计算方法。Xie利用贝叶斯网络对攻击发生的不确定性进行建模。Poolsappasit基于前人利用贝叶斯网络进行定量分析的方法的基础上,提出了贝叶斯攻击图的概念,并利用该贝叶斯攻击图进行静态评估和动态评估。

    b) 风险值计算

    风险值计算的阶段经理三个阶段:手工评估、定性计算、定量计算。
    这里主要介绍的是定量计算。由于定性计算方法存在不足之处,美国国家标准局提出一个风险值计算方法:
    这里写图片描述这里写图片描述

  5. 网络安全实时评估系统

    网络安全的实时评估方法包括有:基于关于警报关联的方法、基于D-S证据理论的方法、基于数据挖掘的方法、基于隐马尔可夫模型(HMM)的方法、基于贝叶斯网络的方法。

    在基于警报关联的方法中,Ning等人提出一种警报的关联方法,该方法利用了入侵攻击的前提条件和后置条件对相应的警报进行关联,并提出超警报(Hyper alert)的概念,通过将基本警报融合到超警报当中,然后根据超警报的前提条件和后置条件对超警报进行关联,得到超警报关联图(Hyper-alerts correlation graphs) 。

    基于D-S证据理论的方法对警报赋予了可信度,不同警报根据对应的检测器的准确率等不同其可信度不同。Sabata, Sudit和Quy等都提出基于D-S证据理论的评估方法对分布式的攻击事件进行融合,从而实现对网络态势的感知。

    在基于数据挖掘的方法中,Lu等人采用支持向量机(Support VectorMachine ,SVM)的方法对多源、多属性的信息进行融合,从而获得网络态势的感知。Braun和Jeswani也采用SVM作为融合技术,从而实现了多数据源信息的融合,并讨论了高维输入处理的有效性问题。Zhang等人采用人工神经网络(Artifical Neural Network,ANN)的方法对数据进行融合,该方法利用了ANN处理非线性问题方面的能力进行评估。在基于隐马尔科夫模型(HMM)的方法中,Ourston和Ames等人都提出采用HMM对网络攻击过程进行建模,将网络安全状态的变化过程采用隐马尔可夫模型来描述,然后利用该模型评估网络的安全态势。基于数据挖掘的方法和基于隐马尔科夫模型的方法都需要大量的训练数据来学习模型中的参数,而一般网络或信息系统往往较难获得这些数据,并且这些方法由于没有利用攻击关联等先验知识,从而难以实现具体攻击的预测。

    由于基于贝叶斯网络的方法能够充分利用攻击图的结构和脆弱点利用复杂度等信息,从而不需要对结构和参数进行学习,加上贝叶斯网络在概率逻辑关联推理方面的优势,使得基于贝叶斯网络的方法成为了网络安全威胁态势评估的热点之一。然而,基于贝叶斯网络的方法由于需要对所有节点(包括大量的警报节点)都建立条件概率表,因此需要较多的先验知识,并且已有的方法中并没有将攻击发生概率和攻击预测概率进行区分,不利于区分攻击己经发生的可能性和攻击将要发生的可能性。另外很重要的一点是,受贝叶斯网络推理算法复杂度的限制,基于贝叶斯网络的实时评估方法的性能不高,难以满足大型网络或信息系统实时评估的性能要求。

总结


风险评估和风险管理技术仍然是信息安全领域不断在发展的课题,仍然存在一些不足之处需要不断地进行完善。结合作者在网络安全风险评估的实践和体会,在将来的研究工作中,还有如下问题有待于进一步解决:

根据定量评估的结果,研究最优的风险控制方案,从而能够使用最少的风险控制代价将总的风险控制在可接受范围之内。这是一个最优化理论问题,需要结合风险评估和风险管理技术本身的特点来研究和完善相应的理论和算法。
根据实时评估的结果,研究最优的实时风险控制方案,从而能够及时地控制和遏制网络安全态势,并设计高性能的算法计算得到代价最小的防御方案,以确保关键资源避免受到攻击。由于实时评估对性能的要求较高,如何研究和设计有效并且高性能的算法是实时风险控制面临的一个挑战。
进一步提高网络安全风险评估和风险控制过程中的自动化实现方法,包括进一步提高风险评估过程中的复杂连接关系的识别等的自动化程度,以及根据评估结果自动化地生成网络安全风险控制建议报告,甚至根据实时风险评估结果自动化地采取有效的风险控制措施对攻击行为进行控制和防御。
本文主要是从技术上对可能的威胁利用脆弱性造成的影响进行评估,如何进一步结合管理上存在的风险等人为因素进行评估是风险评估和风险管理领域面临的难点之一。

猜你喜欢

转载自blog.csdn.net/gerald_jones/article/details/79245519