张 炳,任家东,*,王 苧
(1.燕山大学 信息科学与工程学院,河北 秦皇岛 066004; 2.燕山大学 软件工程重点实验室,河北 秦皇岛 066004)
随着计算机网络技术的迅猛发展,网络中存在着各种各样的攻击手段,网络安全事件频繁发生,导致网络安全的问题受到社会各界的高度关注。另外,网络空间逐步成为国家之间或地区之间相互安全博弈的新战场,此种情况下我国所面临的相关的网络安全问题日渐复杂,严峻的安全形势给网络安全技术提出了挑战。长期以来,形成的以防火墙、入侵检测技术和病毒检测技术等为主的安全防护手段,只能在检测到攻击行为后为网络提供安全防护,未经过风险评估直接产生报警信息,造成了较高的漏报率和误报率,这种被动防御技术显然已无法满足我们的需求。
1967年,迈特(MITIE)等国防工业相关公司基于计算机的安全问题研究,第一次针对大型机和终端等网络设备做了较大规模的风险评估[1]。这是研究人员首次将风险评估应用于网络安全领域,此后网络安全领域的风险评估从未间断过。而网络安全风险评估作为一种主动的防御技术,通过对网络在运行过程中面临的问题进行分析,利用网络系统中存在的脆弱性进而找到引发威胁事件的薄弱环节,能在攻击前进行及时的预警和安全防护,在一定程度上降低了安全事件发生的频率。
近年来,由于网络安全事件频繁发生,造成了巨大的经济损失及恶劣的社会影响,针对网络安全风险评估的研究得到了越来越多的关注。因此,为了能够更加系统地对网络安全风险评估进行掌握,更准确地对网络安全状态进行评估,在文献[2-5]中,根据方法本身的特性对评估方法进行了分类对比,进行了综合性研究。但以上工作只是针对某类方法进行研究,目标单一,缺乏对当前各类评估方法的现状分析,具有一定的局限性。鉴于网络态势具有模糊性、复杂性、评估的主观性等特点,要进行准确的安全风险评估是一个急需解决的问题,所以需要对网络安全风险评估方法进行全面系统的总结分析,掌握每种方法的特点及适用情况,这也是本文主要的研究意义。本文通过对2008年到2018年间发表的关于网络安全风险评估方法的文献进行检索、归纳、总结和分析,研究得出能够影响网络风险评估结果的相关因素,并将评估方法划分成四类,并对它们进行了对比分析,以便更好地掌握各个评估方法适用情况,将不同技术方法的优势结合起来,有利于融合形成一个高效、合理的网络安全评估系统。最后,综合分析得出了四类评价标准。本文的研究结果有利于研究人员快速理解网络安全评估分析方法的问题挑战,及未来在该领域可研究的方向。
风险评估理论最早起源于欧美核电厂的安全评估[1]。风险评估就是量化测评某一事件或事物带来的影响或损失的可能性程度,后来被应广泛用于金融、化工、航天、交通、工业控制系统等领域。网络安全的风险评估是研究网络安全的前提和基础。通过专业的安全评测机构对网络安全风险进行分析评估,预测网络风险事件发生的可能性、影响范围和危害程度,以便管理人员提前采取安全策略,减少安全事件的发生。因此,建立维护网络安全的长效机制刻不容缓。
网络安全风险评估是一种主动的防御技术,是应对网络安全问题的一个主要解决方法。网络的安全风险状态构成的因素有三种,即系统的脆弱性的内因、外部威胁的外因和系统的资产价值的必要指标。所以,针对网络风险的评估正是用这些因素构造出恰当的对应函数,这个函数能够准确地反映出真实的网络风险状态。根据我国颁布的《信息安全风险评估指南》[6],风险的计算公式为
R=f(A,V,T)=f(Ia,L(Va,T)),
(1)
式中,R代表的是网络的风险,V、T、A分别对应的是网络中的脆弱性、外界威胁和资产价值;Ia代表的是资产发生安全事件对组织业务产生的影响(也称为资产的重要程度),L代表的是威胁利用资产的脆弱性造成相应的安全事件发生的可能性,Va代表的是某一资产本身的脆弱性。
网络安全风险评估的基本目的是将网络风险控制在可以接受的范围之内,对网络中存在的风险因素进行有效的评估,是解决安全问题的有效途径。通过利用系统内部的脆弱性、威胁对系统进行攻击,可能会导致安全事件的发生,然后根据威胁和脆弱性的发生频率来确定安全事件发生的频率;此外,资产也会因安全事件的发生而受到损失,资产价值的重要程度则是确定系统出现安全事件后,衡量造成损失的必要指标。评估的原理如图1所示。通过网络安全评估,了解网络当前所处的风险状态、面临的安全威胁;对网络系统可能遭受攻击的概率进行预测;最后,为网络安全管理员要采取的安全措施提供建议。
图1 风险评估原理
Fig.1 Principles of risk assessment
目前,研究人员已对多个领域内的风险评估进行了系统性的研究。Barrere[1]研究自主网络和服务面临各种各样的安全风险,对漏洞脆弱性的评估方法和技术进行了总结;Knowles[7]对工业控制系统中的空间安全管理进行了研究;Cherdantseva[8]回顾了SCADA系统中网络安全风险评估的最新进展。近年来,研究人员也将风险评估应用到了网络安全领域,并发表了相关的综述研究。Li X等人[2]对现有的基于模型的评估方法进行研究,但此类方法无法适用于大规模的复杂网络中,易产生状态爆炸问题;Leau等人[3]将现有的网络态势预测方法分为三类:机器学习、马尔可夫和灰色论,对它们的优势和局限性方面进行了讨论;Yang等人[4]主要研究了网络安全脆弱性分析方法、定量的和实时的评估方法,但未对方法进行详细的说明;Leau等人[5]将网络安全态势评估的方法进行了总结,从基于关联性、基于人工智能和基于统计学方法三个层面进行了分析介绍。
以上工作存在一些局限性:1)只是从方法本身的特点出发,对现有的评估方法进行了分类分析;2)只涉及某类风险评估方法,无法全面把握网络风险评估方法的现状,综合分析不够全面;3)无法得知影响评估结果的因素,从而不能精确地就某一问题改善某种方法。因此,本文对现有的评估方法进行分析、总结,对每种方法的适用情况、局限性进行介绍,提取总结了对评估结果产生影响的因素,并将现有的方法进行分类,有助于研究者进行更深入的研究,结合不同方法的优势进行风险评估,得出一个可靠、准确的评估结果。
本文的研究受到了Yang等人[4]和Leau等人[5]对风险评估方法的评价的启发,进行了一系列的工作研究,如:识别选取主要的文献、数据的提取与合成、结果的呈现,对现有的网络安全风险评估方法进行更加全面的总结归纳。在了解现有评估方法的基础之上,从网络风险评估存在的挑战性因素出发,将评估方法分为4类,并提出了评估方法未来的研究方向。本文的研究,按照以下的步骤进行。
本文研究主要回答了以下问题:
RQ:对网络安全风险进行评估时,用到了哪些方法?
更具体地说,本研究主要关注以下3个问题:
RQ1:在网络安全风险评估过程中,主要存在哪些问题因素使评估结果不准确?
RQ2:存在哪些方法可以解决或优化这些问题?
RQ3:评估标准有哪些?
我们在线搜索了可获得的英文版的文献,搜索策略包括电子数据库和人工进行会议或期刊搜索。为了获得大量科学可信的信息来源,我们对IEEEXplore、Springer Link、Web of Science、Engineering Village、Elsevier Science Direct、ACM Digital Library等知名数据库进行了关键词检索。
我们用表1中所列关键词在数据库进行搜索,获得与之相关的文献。
表1 本次研究使用的关键词
Tab.1 Keywords used in the review
类别关键词Networksecurity riskassessmentNetwork security assessment,Network security evaluation,Risk assessment of network security,Evaluating network securityMethodAttack tree, Attack graph, Fault tree, Petrinet,HMM, SVM, Fuzzy theory, Grey theory,D-S evidence theory, Rough set theory,Bayes network, Game theory, Cloud model,Entropy theory, Neural network
首先,用类别1所示关键词进行检索,即“网络安全风险评估”的不同表述短语,从而对评估使用的方法进行初步的了解掌握;然后通过使用逻辑与操作,结合类别2的评估方法关键词进行检索,找到和网络安全评估方法相关的文章。通过对类别1和类别2所有可能的组合进行检索,最终获取了196篇相关的文章。
在进行系统的文献综述时,最容易发生的错误是漏掉或排除了一些相关的文章。为了降低此风险,我们对以上6个常用的电子数据库进行检索获得相关的文章,并且采用了人工snowballing技术,在第二阶段,对所选文献的参考文献进行审查,识别得到搜索策略未涉及的文章。
1) 纳入和排除的标准
本次研究,排除了社论、立场文件、主题演讲、评论、教程摘要、小组讨论和非英语研究,只选择了介绍方法并经验证有效的文章。如果发现涉及同一主题同作者且发表在不同会议或期刊上的多篇文章,发表时间最新的将会被保留,避免重复研究。表2是具体纳入和排除的准则,适用于从数字图书馆检索获取的文章。
2) 文献的管理
通过搜索关键词,共选取了涉及该主题的196篇文章,并且使用NoteExpress作为文献管理工具。利用此工具,对文献的来源、作者、出版时间进行标注;在阅读全文后,将文章的目标、局限性等方面进行归纳,作为文章的标签,以便阅读管理。
表2 文献选取和排除的准则
Tab.2 Inclusion criteria and exclusion criteria
选取的准则排除的准则I1 可获得全文的英文文献I2 提出相关的方法(如:技术、框架、算法)I3 经验研究:通过案例研究,调查和实验等实证研究方法评估、验证所提出的方法I4 2008年~2018年间发表的文献E1 非同行评审的论文,如社论,立场文件,主题演讲,评论,教程摘要和小组讨论E2 文章篇幅较短 (少于4页)E3 主题不符的论文E4 学位论文
3) 筛选过程
研究的选择过程如图2所示。在筛选阶段,先根据关键词和题目,将明显与研究内容不符的文章排除。因为在一般情况下,文章的题目可清楚地反映出论文研究的内容。但是,有时候题目不能代表论文的真实内容,所以要进行下一步的筛选,即:对论文摘要进行阅读分析,将超出研究范围的文章排除,保证所选取的文章是和我们的研究相关的。然后,阅读文献全文,根据以下准则,进行最后的筛选(只有满足所有的条件,文献才会被选取):
①文章对网络安全风险评估的实践是否具有指导意义?
②文章是否在现实中得到了应用?
③文章是否明确提及其目标?
图2 主要文献选取过程
Fig.2 Main documents selection process
经过仔细严格审查,最终选取了51篇论文,通过对文献的阅读分析,进行数据的提取与合成。
数据提取是进行系统文献回顾的一个关键环节,提取出的文本信息和数据是根据预先定义的提取策略以统一的方式获得的。为了解文献内容,在进行数据提取之前,选取的所有文献至少要阅读一次。本次研究中,待提取的数据有:出版物的信息,如:作者、时间、来源、标题等;文章对网络安全风险评估方法的相关描述,如:方法、平台、结果、目标、局限性、评估标准等。
表3 从文献提取的数据
Tab.3 Data extracted from literature
提取的数据类型拟解决问题描述时间文章发表时间来源文章来源数据库标题RQ、RQ1文章标题目标RQ2解决什么问题方法RQ、RQ1、RQ2评估方法平台RQ、RQ2实验平台结果RQ2、RQ3评估结果局限性RQ2影响评估结果的因素评估标准RQ3方法评估指标
通过从每篇文献中提取的数据、文本信息进行统计、分析,进行数据的合成,将感兴趣的内容以直观的形式呈现,用于解决研究问题。在下一章中,会展示数据合成的结果。
为了解决以上提到的研究问题,本章将会分成两部分:第一部分介绍了系统文献回顾的结果;第二部分是提取数据分析与合成的结果,即研究问题(RQ)结果分析。
在本次研究中,我们最终选取51篇均发表在2008年到2018年间的来自不同数据库中的文章: 51篇方法类的文章,包括41篇会议论文、6篇期刊和4篇专著,涵盖了计算机网络、信息安全、概率论等学科,覆盖了教育、金融、交通等领域的网络安全风险评估。图3表示了论文的来源分布和年份的分布。
为了证明各论文所提方法的实用性和有效性,选取的51篇文献均对其通过实验进行了验证。真实的网络环境复杂多变,对处于安全状态的网络或系统发动攻击,会影响系统的正常运行并造成一定的损失。由于以上原因,研究人员很少采用真实的网络系统进行验证,在51篇文献中,仅有10篇使用真实的网络或信息系统作为测试对象,包括:校园网络、军事信息系统、网上订票系统、银行系统、公司信息系统等;其余的41篇则进行了模拟实验,构建了由若干台主机、路由器、防火墙、IDS、服务器等组成的小型网络。仿真实验验证时,文献[9-11]用MATLAB作为软件平台,编程实现了评估测试模型;而且使用Honeynet[12]、DARPA2000[13]、LLDos1.0[14]等数据集进行模拟攻击,监测网络状态的变化并收集网络安全状态信息。文献[13,15]将数据集分为训练集和测试集,验证方法的准确性。
图3 51篇论文的来源和时间分布
Fig.3 Source and time distribution of 51 papers
本节讨论如何用从综述研究中抽取的数据来解决我们的问题。通过调查3个研究问题,进行了综合的文献概述。
RQ: 网络安全风险进行评估时,用到了哪些方法?
本次研究,共涉及到了攻击树等15种网络安全风险评估的方法,根据每个方法的特性进行分类,分类结果如表4所示。
RQ1:网络安全风险评估过程中主要存在哪些问题因素,使评估结果不准确?
通过对51篇文献系统性的阅读,从中提取了4类影响评估结果准确性的因素,如图4所示。这些因素会对最终的评估结果产生直接的影响,从而使安全管理决策不够客观准确。
1) 关联性的评估
现有的研究结果[2,16-18]中,存在一些仅考虑单个节点或主机影响网络系统的方法,忽略了脆弱性之间的关联性会对系统造成的损害。然而,网络节点、脆弱性及攻击行为间的联系,能真实地反映网络的安全状态,使评估更符合实际情形。
表4 方法的分类
Tab.4 Classification of methods
分类方法特性基于树/图模型攻击树[2]产生组合爆炸问题故障树[16]利用攻击行为间的关联性进行评估攻击图[17]攻击图是最常用的基于模型的方法Petri网[18]Petri网考虑网络攻击与防御的并发性,描述了故障动态传递的过程数学模型云模型[19]模糊性和随机性有效集成在一起,能够实现定性概念与定量表示之间的不确定性转换博弈模型[20]考虑了攻防双方间的关系D-S证据论[21]不确定信息的表达和处理,降低证据间冲突,进行证据间的合成粗糙集理论[22]对不完备的信息、数据进行分析和推理,去除冗余信息,降低分析复杂度灰色理论[23]适用于信息不完整、数据量小的系统层次分析模糊论[24]无法解决指标相互影响带来的指标权重问题,解决边界问题量化信息熵[25]实现对不确定信息的量化机器学习支持向量机[26]对小样本的环境具有较强的适应能力贝叶斯网络[27]概率论与因果知识的结合,会产生组合爆炸问题,不适用于大规模网络隐马尔可夫[28]对问题进行量化,需要对很多属性进行量化神经网络[11]较高的容错性,适用于网络态势的预测
图4 风险评估值的确定
Fig.4 Determination of risk assessment value
2) 实时性评估
传统的评估方法是对网络状态进行人工的静态分析,不适合数据量大的情况,但网络的安全状态是动态变化的。由于缺乏对网络遭受动态攻击的检测,导致网络安全问题处于被动和响应延迟。为了解决以上问题,提出了实时的风险评估方法,通过观测序列评估安全状态的分布,准确、有效地对安全事件进行响应。
3) 评估过程的不确定性
确定影响网络安全的指标体系是对网络状态进行建模评估的关键环节,目前该领域内还没有提出一个公认的、标准化的指标体系,因此许多专家、学者会根据经验来确认某一因素是否为评估所需的安全指标并确认其权重。这一过程带有较强的主观性、随意性,加大了评估过程的模糊性与不确定性,会对评估结果的可靠性产生直接影响。
4) 评估过程中对各种因素的量化
对网络安全进行评估,最初使用的是定性的评估方法,对评估者的要求较高且具有较强的主观性,定量的分析可以弥补此不足。但是将安全因素进行量化分析,将安全事件出现的概率及其造成的损失以概率或数值的方式进行表示,将评估结果以可视化的数据展现,能够为制定安全防御系统或安全管理决策提供依据。
RQ2:存在哪些方法可以解决或优化这些问题?
本次研究分析过程中,发现了很多可以使评估结果更加准确的技术方法,这些方法能降低前文提到的因素造成的影响。我们基于4类影响因素,对这些技术方法进行分类,分类分析的结果如下。
A.关联性
在本次研究中发现了很多基于关联性分析的方法,描述了攻击事件及节点状态间的关联关系,更准确地表示了网络的安全状态。
1) 故障树和攻击树
故障树(Fault Tree Analysis,FTA)和攻击树(Attack Tree)都是考虑节点间关联关系、分析网络系统安全性和可靠性的重要方法。故障树分析方法,按照演绎分析法从顶事件逐级向下分析各自的直接原因事件,确定发生故障的各种组合,对基本事件的概率和逻辑关系分析,最终得到造成顶事件的直接原因。目前的分析方法只关注整体风险的评估,但忽视了形成整体风险的基本故障的评估。Tao等人[29]通过引入底层故障重要性的概念,对底层故障的重要性进行定量分析,使系统安全人员更容易发现关键故障,以便采取具体措施,以提高系统的风险防范能力。Sun等人[30]将保密性、完整性、可用性作为主要的顶事件,并将BS7799[31-32]提供的事件和实际遇到的风险事件作为底事件,并对涉及信息机密性、完整性和可用性的各种指标进行了权重确定,最后根据基本事件的概率计算出顶事件发生故障的概率。
攻击树的构造过程是一个反向推理的过程,能准确刻画攻击行为及各阶段攻击目标之间的关系。但其结构会因网络系统的规模而变得庞大复杂,在实际应用中受到了限制。为了能识别可能的攻击策略,分析系统被攻击的风险,Du等人[16]利用攻击树模型,识别可能的攻击路径,易于分析原子攻击的能力及评估某个威胁可能给系统带来的影响,最后根据为叶子节点分配的攻击成本、技术难度和识别难度三个属性来计算攻击总目标的概率。Lv等人[33]给出了详细的风险评估步骤,提出了攻击链的概念,并利用多属性效用理论对叶节点的风险值进行量化,然后计算系统的风险值,具有较好的客观性、可实现性和清晰的过程。但是这些方法对叶子节点的风险值进行量化时,都带有一定的主观性。Kato 等人[34]将攻击树模型用于动态的识别和评估,动态地改变安全级别需要三个阶段:攻击序列的定义、概率确定和最佳对策的调整,但这种方法适用于存在预先操作的情况。Maciel等人[35]将层次的攻击树模型用于评估DDoS攻击对系统可用性的影响,根据ENISA的相关内容构造攻击树模型,提出的攻击可能性、攻击者的利益、可行性、危害程度及攻击的方式等的计算表达式为大型网络系统的分析提供了解决方案。
2) 攻击图
攻击图可以自动分析目标网络中脆弱性之间的关系和由此产生的潜在威胁,揭示网络的安全状态及面临的风险。基于攻击图的风险评估方法是被公认的表示脆弱性之间的依赖关系和因果关系的最有效的模型之一,它采用有向图的形式,根据节点和边之间的逻辑关系,生成描绘网络遭受攻击的详细过程的攻击路径。但一般只是静态的对安全风险做出初步的评估,很少考虑动态因素的影响。
Zheng 等人[36]基于攻击图模型提出了以节点的重要性和可达的最大概率为参数的安全评估函数,并用由Page Rank和Betweenness Centrality 确定的NTI来度量节点的重要性等级,使用该方法,网络管理员可以定期地检查网络并且收集安全风险信息。Zhang 等人[37]提出一种基于攻击图的抽象技术,在生成攻击图之前将冗余信息移除,降低了攻击图的规模和复杂度;但不可避免地会丢失一些信息且实际中没有两个节点是完全相同的。Sun 等人[38]提出的方法能够自动、定期地收集网络拓扑和漏洞信息,联合CVSS和攻击路径的概率评估,从而确定网络安全的风险等级。Xie 等人[16]采用多Agent技术和全局攻击图生成算法自动构建攻击图,并采用风险评估算法计算计算机组件、主机、目标网络的风险指标,并对漏洞和关联关系的风险指标进行排序。
3) Petri网
随着网络中攻击事件的发生,网络的防御也会同时发生,因此在网络安全分析过程中需要考虑网络攻击与防御的并发性,以更形象、直观的方式表达故障的动态传递过程。Petri网是一种图形演绎的方法,Petri网是基于图形的数学建模的工具,因为Petri网具有语义规范、表达能力强等特点,所以更适合于网络攻击过程的描述。
Liao 等人[13]结合了模糊论和Petri网,提出了一种基于警报和网络攻击行为信息的实时、动态的风险评估与预测方法,为了获得系统风险的准确评估值,进行了攻击行为的推理和漏洞识别。通过降低误报率,提高未知攻击检测率,实时动态预测整个系统的潜在威胁,大大提高风险评估质量。Almutairi等人[18]使用PIPE对SDN的GSPN攻击模型进行建模和分析,考虑了SDN攻击的动态行为。在该模型中,库所表示安全状态和条件,迁移表示攻击行为,令牌表示系统或攻击过程中并发的攻击者,清晰地展现了SDN攻击,便于理解攻击者的行为和分析攻击的方法。
B.实时性问题
网络状态是动态变化的,为了能准确地掌控网络的安全状态,对系统进行直观、动态的实时性评估,对网络正在遭受的攻击进行分析,避免出现延迟的现象。以下是被应用于实时评估的方法。
1) 隐马尔科夫
为了能够对网络在受到攻击后所处的风险状态进行及时有效的评估,提出了隐马尔科夫模型HMM。HMM模型是双重随机的过程,其中隐含了一个不可见的随机过程,此过程目的是用来描述网络所处的风险状态的转移情况,第二个随机过程的作用是用来描述风险状态和观测值之间的统计对应关系,便于通过观测值来识别状态的变化。HMM可以用于描述网络系统受到攻击后的状态转换的过程,同时可以通过相应的观察符号参数来评估此时的网络安全状态。而马尔科夫的特性,即当t0所处的状态已知,在t(t>t0)时刻所处的状态与t0时刻的状态无关,使其不能很好地用来进行风险预测。
由于HMM对波动性数据具有良好的预测效果,且建模复杂度可控,所以应用到实时的概率风险预测。Zhang 等人[12]建立的HMM模型主要涉及状态转移概率矩阵、网络初始状态的概率分布以及观测矩阵三方面,系统中的安全状态和入侵报警事件能够分别与HMM模型中的状态和观察符号一一对应,最终的网络风险由各个主机的风险叠加所得,更好地反映了主机风险对整个网络安全状况的影响。但是,该模型没有考虑主机间的关联性,而且模型训练需要更多的数据。Li等人[13]使用遗传算法自动生成转移矩阵,简化配置参数操作的同时,提高了效率,但是只将Snort作为输入,效果可能不太理想。Xiang 等人[14]根据实时的网络状态修改状态转移矩阵,提高了转移矩阵的合法性,但是根据该算法只能得到下一个采样时段内安全状态的概率。Liu[28]将攻击图与HMM有机地结合,有效地避免了观测状态和攻击状态的不确定性,得出最大概率的状态转移序列。
2) 支持向量机
支持向量机具有较强的学习能力、泛化能力及全局最优解等优点,应用到风险评估中具有可行性和突出优势。支持向量机通过不同的核函数构造出相应的最优分类超平面和分类函数,随后支持向量机对样本数据进行多次测试,最后可以得到问题的最优分类解。它克服了传统方法缺点,对小样本的环境具有较强的适应能力,适用于解决过拟合、非线性及高维模式识别等问题,是网络安全领域的研究热点之一。
Chen 等人[15]设计实现了SVM的网络安全风险评估模型,得到了分类的最优解,但是在多分类评估和核函数选择的方法上有待改进。Gao等人[26]提出了一种基于支持向量机的人工鱼群算法的分类模型,比交叉验证方法具有更快的收敛速度和更强的空间自适应能力以找到最佳参数。Wang等人[40]将节点根据历史记录提取的特征进行表示,利用粗糙集和SVM分类器对交易失败事件进行了详细分析、分类管理并且实现了交易节点的分类控制,提高了交易成功率,具有更稳定的动态适应能力。
C.不确定性问题
网络安全风险涉及到人为、技术和管理等多种因素,任何一方面的缺陷都会导致经济或声誉受损。网络具有模糊性和不确定性的特点,加大了评估的难度,我们详细地分析了用来降低不确定性的方法。
1) 模糊论
模糊论主要是把模糊数学作为基础,同时应用到模糊关系合成,模糊论能够把一些边界不清楚并且不容易量化的因素进行相应的定量化。模糊论中包括两个关键步骤:确定模糊关系,即风险因素到结果集的映射;模糊子集的计算。模糊论的应用,从一定程度上解决了定量到定性的难题,现已成为处理模糊不确定性问题的主要方法。
为了进一步地完成对风险的全面评估,在综合分析了影响网络安全的因素后,Yang 等人[41]用模糊逻辑的方法处理风险评估中模糊的自然语言,引入安全-威胁基的概念,综合了脆弱性、威胁、资产三种因素进行识别和评估,最终确定整个系统的风险值。但是在复杂系统中,对资产都采用这种方式进行评估,专家工作量会比较大(拟采用半自动化或自动化评估)。Bai[42]用基于模糊关系矩阵的方法,从资产识别、风险计算和风险结果三个方面实现了风险评估,根据事件的风险概率和风险影响值计算整体的风险,生成风险评估报告。Fu等人[24]提出基于模糊论和层次分析法的综合评估方法,有效地解决了定性指标的量化评估问题。而三角模糊数[43]的应用,缓解了传统方法中只用一个简单的数字指标作为分界线所造成评估结果不准确的问题。
2) 灰色理论
灰色论适用于小规模、不完整、不确定数据的处理,在预测信息不完整的系统中得到了广泛应用,通过捕获小样本的优势来提供更好的短期预测。灰色论的方法主要有灰色关联分析和灰色聚类评估两种方法。其中灰色关联分析是依据序列曲线中几何形状的相似程度判断联系是否紧密。其中几何形状越接近,说明了相应序列之间具有较大的关联度,反之则说明具有较小的关联度。灰色聚类评估方法中依据了灰色关联矩阵或灰色数的白化权函数,该方法利用一些观测指标或观测对象划分成多个能够定义类别的方法。
分辨系数的确定是与评估结果准确性直接相关的一个问题,目前还没有统一的体系来解决。Li 等人[44]将灰色理论应用在指标权重的确定中,提出了一种将灰色关联度与传统层次分析法(AHP)结合起来的算法,在确定分辨系数时,为每个评估指标分配一个标准化的权重,考虑了数据序列与参考序列之间几何形状的差异程度和数据值间的相似程度,综合考虑了影响结果的各种因素。Yu 等人[23]将灰色论与ANP(Analysis Network Process)结合,用灰色论的相关方法计算出预测风险矩阵U,然后使用ANP方法比较每个影响网络安全的风险因素,以便计算其权值。以上提到的两种方法,虽然降低了专家的主观性,但是没有考虑模糊性与不确定性的信息融合。Miao等人[45]计算了通过不同方法得到的指标值与系统风险评分之间的灰色关联度,使用每个风险等级的灰色关系等级来确定D-S理论中的基本概率分配函数,最后利用合成规则融合产生评估结果。
3)D-S证据论
证据理论是一种处理不确定性的推理方法,是贝叶斯推理的扩展,能处理由随机性和模糊性所导致的不确定性问题,适用于存在人为和不确定因素的评估,在不确定信息的表达及合成方面有着明显优势。将证据理论用于网络安全风险评估, 可以减少网络安全评估中的不确定性,提高评估的准确性。但是证据论在推广上存在一定的限制,是因为其要求合成的证据间必须是相互独立的,但网络系统内存在的各种信息间是互相关联的。
Wang 等人[46]基于D-S证据理论识别网络攻击,将分布在网络中的感知器产生的相似的警报信息进行融合,产生超级警报作为判断攻击是否发生的证据,提高了系统的可靠性、合理性。传统的证据理论中合成规则,在证据不一致、证据间冲突较大时,难以发挥作用。为了减少个人和主观评论对整个评估结果的影响。Huang 等人[47]改进了模糊证据论,利用模糊集的隶属函数构造证据理论中的基本概率分配(BPA)函数,有效解决了BPA函数难以确定的问题;权重系数采用了真实数据与先验知识相结合的方法,实现了客观和主观的统一。Yu 等人[21]基于长期经验研究,提出了优化的加权Dempster合成法则,用于合成每层指标的可靠性值。
4) 粗糙集理论
粗糙集理论可以被当作为一种处理模糊性以及不确定性知识的数学工具,能有效地分析不精确性(imprecise)、不一致性(inconsistent)、不完整性(incomplete)等各种不完备的信息,还能对数据进行分析和推理,从中发现隐含的知识、揭示潜在的规律。其主要思想是在保持分类能力一致的情况下,考虑不同属性的重要性程度,通过知识约简去除冗余信息,简化输入信息的表达空间维数,导出问题的决策或分类规则。
粗糙集理论通常用来处理不确定、不完整、不精确的信息,通过知识的约简降低分析的复杂性。Qu 等人[48]利用粗糙集和聚类算法对网络安全评估规则进行挖掘,移除影响网络安全的冗余属性,降低了特征向量的维度,利用该规则构建网络安全系统评估决策的算法模型。Fu 等人[22]基于粗糙集和层次分析法相结合的指标约简算法,得到了最优关键属性集。Zhang 等人[49]用粗糙集评估关键节点,查找与系统安全相关的要素并测试记录中元素的重要性,将不影响评估结果的安全因素移除,并挖掘元素组合的潜在威胁规则;用模糊数学分析整个网络的安全情形,自动化地生成基于知识规则评估模型。
5)贝叶斯网络
贝叶斯网络是一种将概率论与因果知识相结合,用于描述不确定性因果关系的模型。本质上是一个被赋值的因果关系网络图,原因和结果变量都用节点表示,节点之间用有向弧连接,该有向图是无环的。而基于贝叶斯网络的概率计算方法也只适用于无环攻击图,因为其计算复杂度是指数级,所以不适用于大规模网络。贝叶斯网络在处理不确定性问题有明显的优势,强大的计算能力为通过已知信息推测出未知信息提供了保障。在网络风险评估过程存在很多不确定的因素,所以用贝叶斯网络进行风险评估具有可行性。风险评估流程如图5所示。
图5 基于贝叶斯网络的风险评估流程
Fig.5 Risk assessment process based on Bayesian network
Kondakci[50]利用条件概率方法结合权重进行推理和决策分析,分析了系统的所有组成部分之间的相互依赖性以及因果关系,以便确定总体的量化风险水平。因其没有对测试域进行先验假设,该方法同样适用于其他系统的评估。Wang等人[27]用动态贝叶斯网络进行评估,建立了一个动态过程模型和推理模型,用条件概率表和转移矩阵计算出风险等级,通过多时间点观测提供了更加有效合理的评估方式。Khosravi-Farmad等人[9]利用贝叶斯网络来修改和增强贝叶斯攻击图,不仅考虑了漏洞的固有特性,还加入了时间属性,使分析结果更加准确;需要管理员根据预算选择最佳的降低风险的对策。Kondakci等人[51]提出了一种基于贝叶斯信任网络(BBN)的因果关系的风险评估模型(CRAM),识别和分析因果威胁并量化与之相关的风险。
D. 量化问题
对风险因素进量化分析,主要对安全事件出现的概率及其造成的损失进行量化评估,通常会采用以下几种方法。
1)博弈模型
在网络安全风险评估中,如何对威胁概率进行量化是一个关键的问题。在网络安全领域中,攻击方和防御方的互动过程是一个博弈过程。网络安全攻防对抗的本质可理解为在网络中攻防双方的策略的一种相互影响。通常情况下,网络攻击中防御者所适用的防御策略能否有效,不但取决于自身的行为,同时还与攻击者和防御系统的策略有一定的关系。执行攻击的决定是在攻击收益和被检测可能带来的后果之间进行权衡,而防御者的安全策略主要取决于对攻击者意图的了解程度。
He等人[52-53]找到了网络安全评估和博弈模型的结合点,建立了博弈理论网络风险评估框架,框架结构如图6所示。
图6 博弈理论风险评估框架
Fig.6 Risk assessment framework of game theory
该框架的重点是计算博弈的平衡点和攻击的概率,由此计算出节点和系统所处的风险值。Liang等人[20]提出了基于网络设备状态的动态感知方法,建立了网络安全系统的随机博弈模型,考虑了四种网络设备:web、http、FTP以及NFS,量化了网络的安全态势,并计算出在博弈双方的收益上取得平衡的纳什平衡点。Wang等人[54]提出了一个复杂的、非合作、非零和的网络攻防博弈模型,从当前网络获取脆弱性和资产信息并根据网络拓扑和防火墙配置得出潜在的攻击路径,然后利用攻防博弈模型分别计算攻击者和防御者的损失和收益,得出相对于二者的最优行动策略。每种类型的攻击对主机的影响综合考虑了机密性、完整性和可用性等三个因素,使得评估结果更加准确。
2)云模型
在对网络安全问题研究时,由于网络入侵行为的随机性和网络安全状态分析结果的模糊性,提出了一种新的模型——云模型。它将模糊性和随机性有效集成在一起,能够实现定性概念与定量表示之间的不确定性转换,是定性概念的定量描述。
利用云模型,可以解决定性和定量转换的问题。Li等人[55]将网络安全风险评估与云模型相结合,基于访问图模型提出了依据威胁事件发生概率来评估网络安全的方法以及依据相应的信息资产来评估网络安全的方法,并计算了网络信息系统的综合安全值,并以其为参数构建了云模型,通过抽样和计算得到云模型的特征值。Lin等人[56]建立了综合的指标系统并用层次分析法确定每个指标的权重,基于云模型的故障分析结果科学地反映了不同故障存在的客观因素及造成影响的严重程度,从而给分析人员提供合理的建议。Huang等人[19]利用云模型建立评估集的隶属矩阵,用熵系数确定因子的权重向量,从而得到系统的风险值。该方法将一维云模型扩展成为多维云模型,分别生成和计算了安全事件概率、安全事件损失的二维云模型和关系矩阵,最终根据风险因素的权重、关系矩阵和风险等级的权重确定了系统的风险等级。
3)信息熵
通常我们使用概率和统计来评估不同网络安全系统的安全性能,造成了网络或安全系统的风险评估很高的不确定性。而信息熵概念的提出,解决了对信息的量化度量问题。将信息熵应用到网络风险的评估当中,信息系统安全风险分析很好地解决了过程中存在的不确定信息不能够准确量化的问题,此方法中可以精准的量化评估信息系统中的风险状况,因此,该方法为信息系统的安全风险综合评估的研究提供了高效可行的新思路。
Lv[25]提出了基于熵理论和Neyman-Pearson准则的模型,定义了最容易受到攻击的路径公式并利用Dijkstra的最短路径算法来解决此问题,实现了网络安全风险的度量。Hamid[57]提出了安全评估算法对保护矩阵进行归一化处理,计算熵和熵的权重,然后利用权重和路径来评估计算系统的风险,避免了在风险评估中的不确定性。Wang等人[58]采用熵理论计算出信息安全指标的客观权重,用TOPSIS分析评估数据和指标权重从而获得最终评估结果。由原始数据矩阵得到的权重结合专家的主观权重,使权重更加准确。
4)神经网络
由于安全风险评估的复杂性、不确定性和实时性,而传统数学模型的主观性、随机性和模糊性、缺乏自学能力等特点限制了其在信息风险安全评估方面的应用。神经网络具有良好的自学习能力、非线性映射能力、泛化能力,以及较高的容错性,这些特征使它成为网络安全评估、预测网络状态的一个理想的方法。
神经网络适合处理定量的问题,不适合做定性分析,为了确保风险评估中的精准性,一般将运用模糊论与神经网络结合的方法。Zhao等人[59]使用模糊评估方法处理风险因素,即对人工神经网络(小波神经网络和BP神经网络的集成)的输入进行预处理,克服了学习速度较慢和拟合度较低的问题。为了提高评估的准确性以及网络的拟合度,Wang等人[10]采用了模糊评估和RBF神经网络结合的方法,并利用粒子群优化算法训练神经网络,与传统的RBF相比,在处理相同的任务时,该方法更简单,有更高的收敛率和准确性。Song等人[11]采用遗传算法优化权重和阈值,与传统的BP神经网络相比,具有更低的模拟误差和更好的拟合效果但却是以时间的花费为代价的。
E. 评估方法的对比分析
故障树和攻击树是基于树形结构的分析系统可靠性和安全性的重要方法,考虑了基本故障(攻击攻击目标)的关联性对顶事件(具体攻击方法)的影响,并非将最终的风险值作为唯一的目标,但由于该类方法易产生组合爆炸问题而其应用受到限制。表5为故障树与攻击树两种方法的比较分析。
表5 故障树和攻击树的比较
Tab.5 Comparison between fault tree and attack tree
故障树[29]攻击树[35]分析方向自顶向下自下而上适用范围分析系统内部故障系统外部的攻击建模描述顶事件为系统不希望发生的事件;基本事件为直接原因事件 根节点为攻击目标;子节点表示字母表;叶子结点表示具体的攻击方法
Petri网和博弈模型两种方法,从攻击和防御两个角度进行了风险的分析。博弈模型考虑了攻防双方决定之间的依赖性和交互性;Petri网考虑了攻击与防御的并发性,以直观的方式动态地表述故障的传递过程[17]。
D-S证据论和粗糙集理论适用于建立指标体系时期,用两种方法对指标属性或影响因素进行处理,将冗余或者相关性较低的因素排除,以降低后续评估的复杂性和时间消耗。在D-S证据论中未忽略证据间的冲突[21],解决了舍去冲突证据而导致信息缺乏发问题,运用 Demspter合成法则提高了评估的精度和有效性,但数据合成不能无限度的进行,会造成证据间的冲突更大。粗糙集理论不需要除数据之外的先验知识,是在保证分类能力不变的情况下进行知识约简。
灰色理论和神经网络适用于网络安全态势的预测分析,对风险进行定量分析。灰色理论不需要大量的有特定概率分布的数据,适合不完整、样本量小的系统;神经网络需要大量的样本数据进行训练学习模型中的参数,而在实际当中,这些数据很难获得。神经网络通常会结合粗糙集等方法[60-61],简化输入变量,降低维度,提高训练速度和准确度。
云模型和模糊论是将定性与定量问题相结合的方法。云模型利用云生成器实现了定性和定量问题的相互转换。而模糊论实现了定量到定性的转换,适用于多指标且指标之间互相影响的复杂问题。
RQ3:评估标准有哪些?
对风险评估方法的主要评估标准具体如表6所示,内容分析如下。
TCSEC ( Trusted Computer System Evaluation Criteria)[8]是公认的第一个计算机信息系统评估准则,解决保密性的操作系统、数据库和网络产品评价。随着信息安全行业的发展,人们对风险评估的认识也不仅局限于通信时的信息保密,而外延到信息的保密性、完整性、可用性等方面。
ITSEC(Information Technology Security Evaluation Criteria)[62]提出了信息安全的可用性、保密性和完整性等概念,并且引导着信息安全度量变得越来越科学、越来越客观,但是该标准中缺少一定的形式化的理论证明。
BS 7799(British Standard 7799)分两部分组成,其中的第一部分[31]是具体的信息安全管理实施细则,该部分是用于指导机构如何制定响应的信息安全策略;另一部分[32]是信息安全管理中体系的标准,此部分是认证的根据,其中着重强调的是均衡管理,但是对控制项中缺少了提供权重这一项。
表6 风险评估方法相关的评估标准
Tab.6 Evaluation criteria related to risk assessment methods
标准时间发布者等级划分特点影响TCSEC1985美国国防部7级(D、C1、C2、B1、B2、B3、A1)主要用与操作系统的评估,以保密性为重点第一个计算机信息系统评估准则 ITSEC1990欧洲四国(英法德荷)7级(E0-E6)解决了保密性、完整性、可用性的安全评估首次在信息安全方面提出保密性、完整性、可用性的概念BS 77991995英国信息安全管理委员会对控制项都没有提供权值,不利于形成一个定量的分析指标目前世界上最典型、应用最广泛的信息安全管理标准CC1999美国及欧盟忽略对信息系统的安全风险评估,缺少相应的理论模型第一个信息技术安全评估的国际标准
国内的风险评估标准的制定起源于20世纪80年代,国内的风险评估标准主要在借鉴国际标准的基础上结合了我国的一些实际的情况进行相应的修改,目前,我国中风险评估的标准主要有:GB 17859—1999《计算机信息系统安全保护等级划分准则》[63]、GB/T 9361—2011《计算机场地安全要求》[64]、GB/T 18336—2008《信息技术安全技术信息技术安全性评估准则》[65-67]、GB/T 22081—2008《信息技术安全技术信息安全管理实用规则》[68]等。
在本节中,将讨论系统文献综合分析过程中发现的问题并做出了以下讨论要点分析,同时分析并给出了本文研究存在的一些局限性。
要点1:风险评估面临着很多挑战性因素,如:评估过程的主观性与不确定性及因素的量化问题,这些因素都会影响最终的评估值。网络的风险评估包括对资产、脆弱性、威胁的分析识别和量化,会依赖一定的历史数据和专家经验,对一些问题的评估带有主观性色彩,使评估结果不准确,使网络安全管理员无法做出正确、及时的安全措施,对系统造成危害。
要点2:目前,基于模型的评估方法在应用于大规模的复杂网络时,仍未能解决路径爆炸问题,限制了其在大规模网络中的应用。由于网络中节点和设备的增多及各节点错综复杂的联系,而评估旨在为整个网络系统进行建模,增大了建模难度和算法的复杂度,产生状态爆炸问题。
要点3:评估过程的自动化程度将会提高评估结果的准确性。计算机网络是复杂的,它包括数量巨大的计算机节点、软硬件资源、开放互联的环境、错综复杂的互联关系,以及由此产生的风险因素和不确定性,这些特点表明自动化的工具适合应用在网络安全风险评估的实现。所以应提高风险评估过程中各个环节的自动化程度,并根据评估结果,自动生成安全策略。
要点4:目前,还没有提出针对网络安全风险评估的公认的评估标准,大部分是借鉴了信息安全管理标准,其中主要的是评估资产、脆弱性、威胁对风险的影响。此外,在评估时并没有采用统一评估标准,导致了依据不同评估方法的所得结果无法相比较。所以,在对风险因素进行风险等级划分时,缺少了一定的科学依据,并且存在标准不统一的现象。
要点5:评估方法中多数是以模拟仿真为主。但是,评估方法作为传统风险评估的核心内容,进行系统安全漏洞和隐患分析时需要绕过系统的安全机制,验证信息安全漏洞和隐患的存在性,不可避免地会对待测网络系统的保密性、完整性和可用性造成一定的破坏,此方法中直接在网络系统上实施风险性极高,所以此方法并不可取。 因此针对评估方法的研究需要通过实际数据来建立模拟仿真环境,同时应该在此基础上进行相应的漏洞和隐患的验证。
本次研究所涉及到的文章均发表在2008年到2018年期间,通过对在线数据库和相关会议进行搜索,获取了大量的相关文章,由于研究该领域文献数目的增多、研究方法的多样性等因素会导致选取的参考文献不够全面,可能会遗漏掉一些重要的相关文献。
本文对网络安全风险评估进行了系统的文献综合分析,分析得出了影响评估结果的关联性、实时性、不确定性、量化等四类因素,并根据这些四方面的影响因素,综合分析了能够解决或优化这些因素带来问题的评估方法,将它们分为四大类,并进行了各类方法对比,最后分析得出四种适用于目前风险评估方法的评价标准。通过本文的分析研究发现网络风险评估是一项尚未成熟的技术,因此,我们还需对网络风险评估的技术进行更深入的研究,优化评估算法,找到更加合理、准确的评估方法和评估标准。此外,根据对网络风险评估方法的综述研究,总结并给出了未来的研究方向:1) 继续降低评估过程的主观性和不确定性;2) 根据评估结果,自动生成安全建议,为管理员的决策提供方案,提高评估过程的自动化程度;3) 针对不同类型的网络,影响评估结果的主要因素也不尽相同,因此风险评估系统要主动适应网络环境,调整各个风险因素的权重值;4)探究一种可以模拟真实网络攻击的环境,提高风险评估的效率。