APP下载

网络安全态势预测研究综述*

2019-09-04张志勇张文博李明桂

通信技术 2019年7期
关键词:攻击行为攻击者态势

张志勇 ,张文博 ,杨 慧 ,李明桂 ,刘 方 ,徐 锐

(1.网络空间安全四川省重点实验室,四川 成都 610041;2.中国电子科技网络信息安全有限公司,四川 成都 610041)

0 引 言

网络安全态势感知是网络安全领域中最受关注的研究方向之一,按照目标任务逐步递进的关系,可将其划分为态势觉察、态势评估、态势预测三个阶段。其中态势预测的难度最大,但也最具价值:通过提前准确预测网络安全状态发展趋势,可以从根本上提升入侵检测系统等传统的安全防御工具的性能,实现被动防御到主动防御的进化。因此,网络安全态势预测受到了国内外相关研究者的持续关注。

事实上,在开展有关网络安全态势预测的具体研究时,首先需要明确具体哪些方面的安全状态可被预测。首先,当某个攻击事件正在发生时,根据攻击事件的行为模式,预测其下一步可能采取的行动是可行的,本文将这类问题称为攻击行为预测。其次,与攻击行为预测问题类似,根据正在发生的攻击事件预测该事件背后隐含的最终目标,即攻击者的攻击意图,也能帮助防御者预判攻击者的下一步行为,该问题被称为攻击意图识别。另一个问题是在攻击或者入侵行为发生前,预测目标网络可能遭受的攻击或者入侵事件,亦被称为攻击/入侵预警。最后,安全管理人员也可能希望从宏观角度掌握目标网络的整体安全状态发展趋势,比如攻击事件的统计特征,该问题被称为整体安全态势预测。针对上述问题,人们提出了多种数学模型、理论方法、技术手段,建设了多个应用系统,使得相关研究形成了一个比较完整的研究方向,本文第2章将对其工作原理重点进行介绍。

明确可被预测的具体安全状态并提出相应的技术方法后,一个更为实际的问题是这些技术方法能否有效地发挥作用,为消除网络攻击、应对未知安全事件提供有效支撑。因此引发了如何评估相关技术方法的有效性,即应当采用什么性能度量指标,使用哪些数据集进行实验评估或者在实际网络环境中验证等问题。本文第3章针对上述问题,对相关工作的实用价值、验证方法重点进行介绍。

最后,本文第4章对全文进行总结,同时分析了现有工作的一些不足,以加深对该问题的理解和认识。

1 研究现状

根据网络安全态势预测的具体目标不同,可将现有研究分为以下四类:(1)攻击行为预测——当某个威胁事件正在发生时,预判其下一步可能采取的行动[1];(2)攻击意图识别——在某个威胁事件发生的过程中,预判攻击者的最终意图[2];(3)攻击/入侵预警——在威胁事件尚未发生时,预估目标网络可能遭受的攻击类型以及相应攻击可能发生的时间及具体位置[3];(4)整体安全态势预测——预测目标网络的整体安全状态演化趋势[4]。

总体而言,前两个问题是在威胁事件发生的过程中,即观测到威胁事件的某些行为之后,对其后续的发展从两个不同角度进行预判。它们是网络安全态势预测研究中最早受到关注的两个问题,所采用的方法也具有很多相似之处,甚至在某些场景下可以相互替换。而紧随之后的第三个问题则希望不再依赖于威胁事件的前期活动,而是在威胁事件实际发生之前就对其做出预警。最后一个问题则将关注的焦点放到了整个网络的宏观安全态势上[5],不再局限于某个具体威胁事件或者某个局部网络区域。下面对上述四个问题的研究现状进行详细阐述,由于前两个问题的相似性,下文对其进行统一介绍。

攻击行为预测及攻击意图识别的思想起源最早可以追溯到2001年,Geib和Goldman[6]将攻击行为预测问题视作攻击意图识别问题的一个扩展,首次提出了研究该问题的一些先决条件以及存在的障碍:比如威胁事件的前期活动可能无法直接观测得到,或者多个威胁事件可能同时发生。随后在2003年左右出现了第一个进行攻击行为预测及攻击意图识别的具体方法[7-8],自此,包括文献综述在内的相关研究也一直受到国内外学者的关注[1-2]。

为了预测一个威胁事件接下来的行为活动,通常需要深入理解攻击者的行为模式并为其建立表达模型。Bou-Harb等人[9]提出将网络攻击的整个流程分解为7个步骤:(a)扫描目标网络➔(b)分析目标网络资产➔(c)尝试入侵➔(d)提升权限➔(e)执行恶意任务➔(f)投放恶意软件/后门程序➔(g)清除痕迹并退出。由于许多网络攻击都按照上述步骤顺序进行,于是攻击行为预测似乎变得极为简单:如果入侵检测系统能够观测到一系列符合攻击行为表达模型的活动或者事件,那么就可以根据模型判断攻击者在下一个步骤中将采取何种行动。但是,上述表达模型太过抽象、模糊,实际上无法据此采用具体算法进行预测,因而需要更为精准的数学模型,如网络攻击图[7]。此外,考虑到网络攻击的种类繁多,很有必要在统一框架下为所有攻击建立统一的预测模型。但在早期阶段,常常通过人工方式手动建立攻击模型库[8],因而受到人力约束并且需要对其持续进行更新[1],后来则逐渐发展出通过数据挖掘技术自动产生攻击模型的诸多方法[10-11]。

如前文所述,攻击行为预测和攻击意图识别具有一定的相似性,二者的差异主要体现在它们的预测重点不同:进行攻击行为预测时,并不关注攻击者发起本次攻击的最终意图是什么。早期的攻击意图预测侧重于为网络取证提供支撑[2],相关方法也主要依赖于对历史数据的离线分析。后来的研究则逐渐聚焦到实时的攻击意图识别,进而和攻击行为预测越发相似。

攻击/入侵预警并不满足于攻击行为预测只针对正在发生的攻击进行预测的能力,而是希望能够事先对尚未发生的新的攻击事件进行预警,相关的变种问题包括网络脆弱性预测、攻击传播路径预测、多阶段网络攻击行为预测等。该问题的研究也通常和预警系统的相关研究存在交叉[5],在某种程度上属于网络安全态势预测领域中的通用性问题。

也正是由于该问题的研究目标过于笼统,相关研究工作采取的方法和模型很少有相似之处,从攻击图之类的离散模型到时间序列之类的连续模型都有涉及。事实上,对攻击行为预测所采用的模型进行细微改造,即可将其用于攻击/入侵预警:对离散模型而言,预测过程不再以某个已经观测到的攻击事件作为初始条件,而是目标网络所存在的漏洞可能会被利用的概率;对连续模型而言,若使用时间序列对目标网络遭受的攻击事件序列进行建模,该时间序列即可用来预测针对目标网络的某个攻击是否会出现。

该问题的更进一步的目标是根据攻击类型以及攻击者和受害者的特征,估计目标网络可能遭受什么类型的网络攻击,谁可能是攻击者和受害者。近期某些研究在预测过程中同时利用一些非技术性的数据源来提升网络攻击的“可预测性”,例如,文献[12-13]利用社交网络的情感分析结果,文献[14]利用用户行为的变化。

由于前文所述的三个问题面向局部的单个攻击或复合攻击进行预测,因而被也称为战术级预测(Tactical-level Prediction),与之相对的,对目标网络整体安全态势的预测被称为战略级预测(Strategic-level Prediction)。整体安全态势预测的核心目标是预测目标网络的宏观安全状态演变趋势,是网络态势感知研究中更受关注但也更具挑战的任务[15]。现有的大多数工作都采用量化分析的方式对目标网络在某个时刻的安全状态进行建模,获得其安全状态的数值化度量指标,并将该度量指标用来预测目标网络在未来某个时刻的安全状态度量。这类方法无法提供目标网络在未来可能遭受的具体威胁的相关信息,但是可以提供一个宏观且量化的指标,用于标识整个目标网络的安全性。

在度量目标网络的整体安全性时,主要存在以下两种方法:(1)层次化加权计算法将整个网络的安全要素划分为多个层次,首先计算其中各个基本网络元素(如主机、服务)的安全状态度量指标,然后自底向上地对其进行加权求和,从而得到整体的安全状态度量指标。不同研究者可能采用不同方法计算基本网络元素的安全度量,加权求和时所使用的权重实际上反映了各个网络元素的重要程度。(2)基于攻击强度估计的方法认为目标网络遭受的攻击强度直接反映其整体安全状态,通过融合多个数据源中的攻击信息计算得到一个同攻击事件的数量相关的数值,用于衡量网络的整体安全状态。由于这两种方法的输入变量及预测变量都是数值变量,因此相关算法多基于连续模型实现。

上述分类策略从态势预测所关注的具体目标对相关工作进行划分,并对相关工作的共性特征进行了分析。事实上,不同的研究所采取的数学模型及预测方法均存在差异。Husak和Komarkova等人[16]从模型方法的角度对现有工作进行了比较详尽的调研,并将相关研究的模型和方法归纳为(1)离散模型;(2)连续模型;(3)机器学习和数据挖掘;(4)难以纳入上述三类的其他方法等四个类别。

其中,离散模型主要包括攻击图模型、贝叶斯网络、马尔科夫模型等概率图模型,以及基于博弈论的预测模型。这些离散模型主要被用于预测单个或复合攻击事件的演化趋势,即战术级预测。基于连续模型的预测方法主要包括时间序列分析法和基于灰度模型的预测方法,而基于机器学习和数据挖掘的预测方法则试图对神经网络、支持向量机(Support Vector Machine,SVM)、频繁模式挖掘、关联规则挖掘、序列挖掘、决策树、随机森林等传统方法进行适当改造,将其应用到网络安全态势预测的具体场景中。表格1对上述模型方法和相应文献进行了归纳。

表1 网络安全态势预测模型分类及相关文献

第四个类别中的方法因为采用一些比较特殊的方法针对某个非常具体的问题进行研究,难以被纳入到上述几类中。相关研究主要包括基于相似度计算的攻击意图识别[73-75],基于流量强度异常分析的DDoS攻击预测[76-78],基于置信规则库模型和进化计算的网络安全整体态势评估及预测[79],基于非典型信息源的安全态势预测[12-13]等。其中基于非典型信息源的预测方法主要通过如Twitter之类的社交网络收集相关数据,分析其中所蕴含的情感倾向,为网络安全态势预测提供辅助。

2 方法评估

在对相关预测方法进行评估时,首先需要考虑该方法的实用性,而预测精度和算法效率是两个至关重要的衡量指标。许多方法都能够在特定测试数据集上取得超过90%的精度,但是已有研究表明,若将这些方法应用到实际网络场景中,针对实时网络流量进行处理,其预测精度会大幅下降至60%~70%甚至更低。算法效率方面的实用性主要通过两个方面的时间量进行衡量:(1)算法运行时间,即获得预测目标的相关信息所消耗的时间;(2)获得这些信息时距离对应事件实际发生时的时间。总体而言,预测方法应当尽可能提前在威胁事件发生之前得到准确的预测结果,为主动防御工具预留足够反应时间。早期的相关工作重点从算法的计算复杂度对其效率进行分析,但是系统性的分析报告十分稀少。而近期出现的工作多数都着力于在实时环境下对网络安全态势进行预测,算法延迟非常小,因此第一个方面的时间延迟不再是障碍。但是,了解威胁事件发生前的反应时间仍然很有必要。H. A. Kholidy等人在2014年发表了一系列文章[33-35],宣称他们所提的方法能够在攻击发生之前39分钟做出预测,为防御方预留了足够反应时间。然而据我们所知,使用这种度量方法的后续工作还未曾出现。

在调研现有研究的过程中,我们发现许多工作都采用了几个常见的数据集对所提方法进行评估。其中,使用最为广泛的当属麻省理工学院的Lincoln实验室于1998年-2000年先后发布的3套入侵检测数据集[82]。虽然这些数据集的相关文档非常全面,但是它们面临着时效性的问题——约20年前的数据并不能良好反映当今网络空间的安全威胁和流量模式。此外,还有许多学者在研究过程中独立创建了相应的测试数据集,但是由于数据敏感性,这些数据集无法被公开发布。另一种方案则是建设相应的测试平台,但也由于其工作繁琐的原因难以推广。因此,对相关研究结果的重现仍然是网络安全态势预测领域中面临的一个难题。用于攻击行为预测方法评估的数据集面临着一个更普遍的问题——产生这些数据集的初衷并不是将其用作攻击行为预测方法评估。D. S. Fava等人在2008年就曾指出[83],包括Lincoln实验室提供的多数常用数据集适用于入侵检测,但是将其用于攻击行为预测的方法评估则存在缺陷:数据中并不包含攻击行为的轨迹信息,无法从中挖掘攻击者的攻击意图以及各个攻击步骤之间的关联关系。因此,使用这些数据集固然可以检验对下一步攻击行为的预测精度,却难以评估相关方法对于攻击意图、攻击趋势的预测是否准确合理。

另一种价值更高但是也更具挑战的评估手段是在真实的场景中对所提方法进行检验。首先,为了验证所提方法的有效性而允许执行针对真实网络的恶意攻击或者入侵行为是非常冒险的。其次,在大规模网络中,获得所有被侵害的主机的访问权限以便掌握攻击或者入侵行为的完整信息也不具有可操作性。即便存在诸多困难,学者们依然借助蜜罐等手段形成了一些实际场景中的攻击行为数据集,如DShield[84]和Hackmageddon[85]。这类数据的优点在于通常其中只包含恶意的攻击或者入侵行为数据,缺点则在于仍然较难从中挖掘识别出老练的攻击者的攻击意图。此外,对攻击行为预测进行的研究通常伴随着如何对攻击流量进行引导或者欺骗的研究。防御方在感知到某次攻击的早期行为时,若能预测得到该次攻击所利用的服务及攻击目标,即可迅速在目标网络中构建一个蜜罐节点,令其运行可被攻击所利用的服务,伪装成一个可被攻击的目标。通过伪装的蜜罐节点,防御方可以对攻击者进行欺骗,引导其攻击行为朝着自己所期望的方向发展,从而在蜜罐节点收集得到比较完整的攻击行为数据。在早期的研究过程中,实现上述思路往往需要花费较高的代价,但随着软件定义网络(Software Defined Network,SDN)及网络功能虚拟化技术(Network Function Virtualization,NFV)的发展,对攻击流量进行高效地引导和欺骗成为可能。其中,较具影响力的工作当属S. Shin和V. Yegneswaran等人于2013年提出的AVANT-GUARD框架[86]。事实上,上述应用场景也反过来推动着SDN及NFV技术的进步。

3 结 语

前文对四个安全态势预测问题及其相关研究方法分别进行了介绍,对每个问题的各种研究方法都或多或少地面临一些阻碍,这些障碍在某种程度上也常常具有其相似之处。例如,依赖于攻击模型的攻击行为预测方法需要研究如何建立并维护合理的攻击模型;对网络安全状态进行形式化表达的方法需要研究构成网络安全状态的所有因素,即构建完备的安全状态表达模型。综上所述,学术界已经在网络安全态势预测方面进行了大量研究且仍对其保持着强烈关注,各种新型模型及方法不断涌现,但总体而言,下述问题仍未得到良好的解决[87]:(1)在预测方法的准确性方面,相较于博弈论和时间序列方法,马尔可夫模型方法、机器学习方法主要是先从历史数据中得到关联规则,在此基础上再进行分析。这种方案对已知的攻击行为能足够清晰和准确地分析出攻击者下一步要采取的行动,而对于一些新的攻击行为和相似攻击行为的变体需要额外处理,准确性有待提高;(2)在预测方法的性能方面,由于攻击活动是动态变化的,攻击活动产生的痕迹等相关信息非常庞大,传统处理方法未必可行,难以扩展到实时的大规模应用场景中,为此需要实时地对相关信息进行优化处理(如聚类)。

猜你喜欢

攻击行为攻击者态势
癫痫伴发精神障碍患者攻击行为发生状况及高危因素
住院精神病人暴力攻击行为原因分析及护理干预
基于人工蜂群算法的无线网络攻击行为的辨识研究
2019年12月与11月相比汽车产销延续了增长态势
汇市延续小幅震荡态势
国际金价能否延续上涨态势
我国天然气供需呈现紧平衡态势
正面迎接批判
正面迎接批判
有限次重复博弈下的网络攻击行为研究