(中国联合网络通信有限公司海南省分公司,海南 海口 572500)
2020上半年全球重大网络攻击及数据泄露事件回顾报告指出,网络攻击、黑客组织和数据泄露一直存在于网络世界中。比如:2020年5月,委内瑞拉国家电网干线遭黑客攻击,造成全国11州府大面积停电;2020年9月,印度总理纳伦德拉·莫迪的一个账户遭到黑客攻击,黑客呼吁莫迪粉丝捐赠加密货币,导致10万美元转入相关“基金”。网络攻击事件对政府、企业、个人造成了极其严重的经济损失,因此,如何在复杂多变的网络环境中实时掌握当前网络的安全态势,针对安全态势提前进行预警和防护,减少网络攻击对网络的伤害,是网络安全工作的首要任务。为了实时掌握网络的安全态势,初期的研究围绕告警信息本身进行网络态势评估:陈秀珍等人[1]通过对服务、主机、系统进行层次化分解后,提出层次化网络安全态势量化评估方法;韦勇等人[2]针对多源告警信息的特点,提出融合漏洞、服务信息等态势要素的网络安全态势评估方法。随着攻击手段的多样化和“迂回”特征的出现,研究者开始关注攻击路径安全态势分析的方法:Dai 等人[3]采用模糊综合评估法量化攻击路径数量和长度,结合攻击路径来挖掘对网络有威胁的路径,采用攻击图分析网络系统中具有最大风险的攻击路径,以此来预测潜在攻击对网络安全带来的危险程度;Abraham 等人[4]通过分析漏洞生命周期随着发布事件的变化规律,分析攻击路径与漏洞生命周期的相关关系,以此来判断网络安全态势值;刘强等人[5]通过构建网络攻击图,利用漏洞的信息刻画攻击者选取最有可能的路径;Zhu等人[6]针对告警数据的多源行,采用聚类分析的方法关联告警信息,并利用神经网络技术映射攻击场景;Bopche 等人[7]结合历史攻击路径,分析动态网络环境中攻击结果随时间变化的规律;杨豪璞等人[8]提出面向多步攻击的网络态势方法,通过关联攻击场景,识别攻击阶段,对当前网络态势进行评估;Liu等人[9]引入隐马尔可夫模型,结合告警信息,采用维特比方法推导最大可能的转移序列,实现攻击意图识别,但该方法没有对全网络进行安全态势评估;Fredj 等人[10]利用马尔可夫链描述攻击图中攻击行为的转移特征,通过告警关联,实现攻击行为识别与攻击意图的预测。上述方法大多偏重于对攻击行为特征的刻画,针对攻击序列的不确定性,提出了各种方法来描述攻击行为的转移过程,但缺乏从整个网络安全态势层面上对攻击威胁进行刻画,没有描述随着攻击行为的深入,整个网络安全态势在时间层面的动态演变机制。因此,本文在融合多源告警数据的基础上,研究多步攻击驱动下攻击者意图,分析整个网络层面上安全态势的变化规律。将底层攻击行为映射成可量化的安全态势值,实现基于动态攻击行为演变的网络安全态势精准刻画,达到网络安全态势的全面精准预测目标。
针对当前网络安全攻击行为层出不穷,企业一般采用多种网络安全检测设备来检测网络攻击行为。如此,一旦出现网络攻击行为时,各种的安全检测设备会产生格式不一、形式多样的告警日志,数量庞大的冗余告警信息将对网络安全管理员的攻击行为分析带来极大的不便。针对上述的情况,本文提出一种基于语义特征相似性的多源告警数据融合方法,基于数据融合及告警的语义信息,获取更加准确的网络攻击行为特征。
考虑不同安全检测设备对攻击行为的反应是不一致的,同一攻击行为的告警时间有可能出现不一致的现象。因此,本文采用滑动窗口对多源告警数据进行重新构造,不仅考虑攻击行为的空间特征,还考虑攻击行为在时间维度上的延续关系。多源告警数据重构的方法如图1 所示:
图1 告警信息的数据重构
基于上述告警信息的数据重构,采用CNN 对样本进行特征的提取、池化、最终形成特征图,实现告警信息特征层面的融合,特征提取的细节如图2 所示:
图2 基于卷积神经网络的特征融合过程示意图
现有的网络攻击一般采用“迂回”的路径,通过某个电脑的漏洞,获得其Root 权限,然后以该电脑为跳板攻击内部的服务器或者集群。因此,从“迂回”攻击理论上,网络攻击要完成既定的目标攻击,必须采用多步攻击的方法,才能达到最终的目的。基于上述的思路,本文通过融合告警信息特征映射网络攻击行为的攻击节点(可理解为被攻击的电脑IP),然后对攻击行为从当前攻击节点转移到下一个攻击节点的转移序列进行关联,获取多步攻击路径。
本文采用BP 神经网络来实现告警信息特征到攻击节点的映射。BP(Back Propagation)神经网络是1986 年由Rumelhart 和McCelland 为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP 神经网络能学习和存贮大量的输入-输出模式映射关系,将上述重构的告警信息特征输入到三层BP 神经网络中,并得到攻击每一个网络节点的攻击概率,将最大的攻击概率作为确认的攻击节点。
图3 展示一个6-3-1 神经网络三层神经网络,由一个输入层、一个隐含层和一个输出层组成,各层之间由可修正的权值w 互连。输入层包含六个节点、隐含层包含3 个节点、输出层包含1 个节点。BP 神经网络输出层的神经元输出重构告警信息特征的攻击节点,按照时间序列将攻击节点关联起来,形成每一次攻击行为的多步攻击路径。
图3 三层BP神经网络结构示意图
网络攻击节点包括攻击行为节点、资源节点,攻击行为节点ai受到网络攻击操作后,攻击者到达资源节点ri,将攻击行为节点ai和资源节点ri的拓扑顺序进行连接,得到攻击行为的路径。攻击路径的可表示为:
网络攻击图包括攻击行为节点、资源节点以及两个节点之间的边(代表攻击方向),节点之间的边有or 或者and 两个连接关系,and 表示上一个节点满足指定的条件就能达到下一个节点;or 表示上一个节点满足一个条件即可达到下一个节点。攻击图的表示如图4 所示:
图4 网络攻击图
图4 中,网络攻击图假设a1、a2和a3为网络攻击行为起始节点,通过对a1、a2和a3进行攻击之后,攻击者占用资源节点r1;接着攻击者对攻击节点a4进行攻击,占用资源节点r3;最后,经过就能到达网络攻击行为节点a7。
考虑到每一个节点的自身的特点,攻击路径的选择与节点本身的漏洞和防护有关,为了更科学地衡量攻击路径的序列转移概率,本文基于历史攻击行为,统计攻击行为的节点转移序列,获取攻击行为从当前攻击节点转移到下一个攻击节点的攻击概率,形成攻击概率转移表,部分攻击行为的转移概率如表1 所示。
表1 攻击行为转移概率表
基于攻击行为转移概率,定义概率攻击网络,科学量化攻击行为从当前攻击节点转移到下一个攻击节点的可能性,基于转移概率的网络攻击图如图5 所示:
图5 基于转移概率的网络攻击图
当网络管理员观测到某些攻击行为的告警时,本文采用深度学习的方法获取到告警的时空特征,并利用三层BP 神经网络来确认的攻击节点,然后将攻击节点按照时间序列关联起来,形成当前攻击行为的多步攻击路径。然后,结合转移概率网络攻击图,基于当前网络攻击路径判断攻击者的潜在攻击意图。比如网络攻击者通过对a1、a2和a3进行攻击之后,占用资源节点r1,那么我们要预测网络攻击者下一步的攻击意图是攻击节点a4还是a6,为了解决上述的问题,本文通过对每一条可能的攻击路径进行转移概率的累积,以最大的概率作为潜在攻击路径的选择。转移概率攻击图定义如下:
U(a1,a2,r1)表示指向r1的节点确定所有边的转移概率“与”操作,计算公式:
⊕(a4,a5,r3)表示指向r3的节点确定所有边的转移概率“或”操作,计算公式:
其中,paiir表示从攻击节点ai转移到资源节点ri的转移概率。下面重点分析r1受到攻击后,攻击者到达a7的所有可能路径。
基于上述各个攻击路径的累计概率分析,攻击者选择路径1 的可能性较大。基于上述的分析,选取最有可能的攻击路 径计算网络安全态势评估。
网络安全态势评估算法是利用网络中每一个服务器节点的网络安全信息(包括入侵信息、网络节点拓扑信息、漏洞信息、性能信息、服务信息以及日志信息)获取每一个节点的脆弱性态势、威胁性态势以及系统运行态势,结合节点在网络集群中的分布情况确定脆弱性态势、威胁性态势以及系统运行态势在不同节点的影响程度,那么整个网络的安全态势评估值可写为:
其中Vi表示节点i的脆弱性态势值,Ti表示节点i的威胁性态势值,Wi表示节点i的运行状态态势值。wiv表示节点i的脆弱性权重,wiT表示节点i的威胁性权重,wiw表示节点i的运行状态权重。各态势值得权重可以根据不同节点在网络中的拓扑结构以及集群重要性设置。
脆弱性态势值是结合节点的漏洞风险量化、漏洞类型、防护软件的安装情况以及端口的开放情况进行评估。单个物理节点的风险评估一般分为4 级(1 代表无,2 代表中等,3代表严重,4 代表非常严重);防护软件安装情况(1 代表安装,2 代表没有安装);端口开放情况(1 代表没有开放,2 代表对部分开放,3 代表对大部分进行开放),按照节点脆弱性的计算方式,脆弱性的取值范围在1-4 范围内(1=低风险;2=中等风险;3=中上风险;4=高风险)。
威胁性态势值根据该节点的木马攻击威胁、蠕虫破环性、Dos 攻击威胁性来衡量。木马攻击威胁通过木马发生的事件数来衡量,蠕虫破坏性通过蠕虫攻击的数量来衡量,Dos 攻击威胁性通过该节点是否受到攻击来衡量,1 表示受到攻击,2 表示没有受到攻击。结合威胁性的3个指标计算节点的威胁性,威胁性的取值范围在1-4 的范围内(1=安全;2=轻度威胁;3=中度威胁;4=高度威胁)。
运行状态态势值根据节点的内存使用率、硬盘使用率、带宽占用率和CPU 占用率来衡量。结合运行状态的4 个指标计算节点的状态态势值,状态态势值的取值范围在1-4 的范围内(1=运行正常;2=轻度威胁;3=威胁;4=高度威胁)。
结合权重,采用加权的方式计算最有可能攻击路径的各节点网络安全态势值后,对网络安全态势值进行累加,形成整个网络的安全态势评估值。
实验思路:模拟攻击行为,网管系统会发出告警,获取原始的实验数据——告警数据;然后对告警数据进行数据重构和时空特征提取,将时空特征输入到三层神经网络中,获得最有可能攻击的节点;基于当前攻击节点结合网络攻击图推测攻击者最有可能的攻击路径,在此基础上,计算攻击路径各个物理节点的安全态势;最后基于物理节点的安全态势计算整个网络的安全态势值。
本文通过模拟网络攻击行为,通过采用拒绝服务攻击、漏洞攻击、假消息攻击等方法对测试网络进行实验验证。在攻击过程中,提取告警事件593 条,并对相关的攻击行为进行标记。实验包括模拟2 种正常的网络行为和3 种不同组合的攻击行为。通过对告警数据进行时空特征融合后,通过三层神经网络(网络结构6-3-1,输入层包含六个节点、隐含层包括3 个节点、输出层包括1个节点,输入是告警数据的时空特征,本文对告警数据的N维时空特征通过池化压缩成6 个特征值并输入输入层,各层之间由可修正的权值w互连实现特征值之间的关联计算,最后输出基于告警信息时空特征的可疑攻击节点)对告警信息进行映射并获取攻击节点,结合时间序列形成多步攻击的路径;然后将转移概率引入到攻击图中,推断攻击者最有可能的攻击意图;最后结合潜在攻击路径,实现大概率攻击节点的安全态势评估,并根据各个节点在集群中的重要性,计算整个网络的安全态势评估值。本文采用传统的网络态势评估方法与本文的算法进行对比,两者的攻击路径预测准确率和网络安全态势评估预测值偏差率结果如表2:
表2 攻击路径预测准确率和网络安全态势评估预测值偏差
通过实验对比结果可知,本文提出的算法较传统的网络态势评估方法在很大层度上提升攻击路径预测准确率和网络安全态势评估的经度,这由于本文提出的算法通过提取告警数据的时空特征能够准确提取攻击行为,并根据当前攻击路径结合攻击概率转移表,实现攻击者攻击意图的推断,如此,该方法从多维度上分析攻击行为,降低了虚假告警事件对攻击行为判断的干扰;除此之外,该方法在现有攻击阶段的基础上,采用攻击路径的累计概率来预测最有可能的攻击路径,形成多步攻击驱动下的网络安全的动态演变机制,实现动态反映网络安全态势变化的目标,保证算法的精度。
本文提出一种基于攻击图模型的网络安全态势评估方法,该方法解决多源告警信息数量繁多,虚假告警事件对网络攻击路径确定造成干扰的问题。本文结合滑动窗口法重构告警数据,并对告警数据进行时空特征提取;基于三层BP 神经网络映射攻击节点并获取多步攻击路径;在网络攻击图的基础上,结合转移概率推断攻击者意图,采用累计概率的方法形成多步攻击驱动下的网络安全的动态演变机制,动态反映网络安全态势的变化情况。该方法在实验中取得了良好的攻击意图预测效果,从实验效果可知,本文提出的方法能够较为准确的识别网络攻击的各种行为和攻击者意图,具有一定的扩展性。在未来,将进一步研究网络安全态势感知的优化策略,利用深度学习神经网络算法对节点映射环节进行优化,借鉴智能动态分析技术实现多步攻击行为的快速感知,为现实的网络安全态势感知提供更具现实的应用意义。