«上一篇
文章快速检索     高级检索
下一篇»
  哈尔滨工程大学学报  2020, Vol. 41 Issue (9): 1405-1410  DOI: 10.11990/jheu.201903099
0

引用本文  

马晓. 最小代价下网络攻击主动防御算法[J]. 哈尔滨工程大学学报, 2020, 41(9): 1405-1410. DOI: 10.11990/jheu.201903099.
MA Xiao. A defense algorithm against an active network attack with minimum cost[J]. Journal of Harbin Engineering University, 2020, 41(9): 1405-1410. DOI: 10.11990/jheu.201903099.

基金项目

陕西省重点研发计划项目(2018GY-137)

通信作者

马晓, E-mail:maxiao6566@163.com

作者简介

马晓, 男, 工程师

文章历史

收稿日期:2019-03-31
网络出版日期:2020-07-23
最小代价下网络攻击主动防御算法
马晓     
长安大学 信息与网络管理处, 陕西 西安 710064
摘要:针对在网络空间安全攻击防御中,因无法准确获取攻击策略,导致攻击主动防御成功率较低、且能耗高,代价大的问题,本文设计扫描流量熵的计算方式,计算信息熵,根据信息熵感知网络空间安全态势,判断出可疑非安全数据,并预判得出攻击方式集合,构建带防御策略集合,以5个指标为约束条件,设计不同的防御方法。以防御方法的指标约束为基础,设计攻击主动防御策略代价集合。以最小代价主动防御网络空间攻击为目标,结合粒子群算法,通过不断迭代寻优,找到攻击图的最小关键策略,实现最小代价下的网络空间攻击主动防御。实验结果表明,该算法能够高效主动防御网络空间攻击,防御代价小,是一种可行性较强的网络攻击主动防御算法。
关键词网络攻击    主动防御    粒子群算法    流量熵    态势感知    最小代价    迭代寻优    指标约束    
A defense algorithm against an active network attack with minimum cost
MA Xiao     
Department of Information and Network Management, Chang'an University, Xi'an 710064, China
Abstract: Cyber security refers to the body of technologies, processes, and practices designed to protect networks, devices, programs, and data from attack, damage, or unauthorized access. But it is difficult to ascertain attack strategy accurately, so designing and executing a proper defense strategy is a daunting task, which leads to low success rate, high energy consumption, and high cost. We design a new method for scanning traffic entropy and calculating the entropy of information. Based upon the information entropy, we perceive the network space security situation, judge the suspicious non-security data, obtain the attack mode set, and construct the defense strategy set. Different defense methods are designed with five indexes as constraints. Based on the index constraints of defense method, we design the cost set of active defense strategy of attack. As getting the minimum (optimal) cost for active defense of cyberspace attack is our target, particle swarm optimization algorithm, a bio-inspired optimization algorithm, is used. The minimum key strategy set of attack graph is obtained through continuous iterative optimization, and the active defense strategy of cyberspace attacks with minimum cost is realized. The experimental results show that the algorithm can effectively and actively defend against cyberspace attacks with low defense cost. It is a feasible and an efficient active defense algorithm against cyberattacks.
Keywords: network attack    active defense    particle swarm optimization algorithm    traffic entropy    situation awareness    minimum cost    iterative optimization    index constraint    

当前网络框架存在较大漏洞,网络安全防御中被动式的安全防御理念也逐渐不能适应大规模网络。构建包含防火墙、访问控制等多层次攻击防御方式,无法更好地增强网络应用过程的安全性[1-2]。一些大型网络安全事件层出不穷,如何利用动态化和主动化的技术手段,改善网络操作环境,加速打破传统网络攻击防御方式所处的思维困境,将传统亡羊补牢形式的被动防御转换成较难侦测的主动防御,成为了亟待解决的问题。

网络空间攻击主动防御的思路,可以凭借主动形式防御网络攻击,但网络元素处于频繁变化的状态,主动防御代价较为昂贵。网络空间攻击主动防御的难点在于需要提前预支整个网络空间安全态势,依据网络空间安全态势分析,结合攻击图实现网络空间攻击主动防御手段的选取。但是,这种行为需要较大的预判计算成本。相关学者也进行了深入研究。

文献[3]在传统网络框架下,设计了基于拜占庭容错的软件定义网络控制面的抗攻击性研究方法。但是,该算法容错计算成本太高, 存在较大缺陷。张恒巍等[4]从网络攻击防御的实际情况出发,针对多阶段动态防御过程信息约束不完全的特点,设计并构建了多阶段防御信号博弈模型。对于多阶段攻击防御中存在的信号衰减问题,结合信号衰减因子对衰减程度进行量化。给出多阶段攻击防御博弈均衡求解方程,提供了最佳主动防御策略选择算法。但是,博弈模型博弈过程代价较大。张连成等[5]依据SDN网络攻击主动防御技术,在处理网络空间攻击情况过程中,对路径的跳变问题进行建模,使其转换成约束求解问题,通过求解器得到满足约束条件的多条路径,根据指定的跳变时隙,向所有跳变路径上的OpenFlow交换机发布相应端址跳变流表项,修正其端口和地址信息,以此实现网络攻击主动防御。虽然约束过程可以让攻击防御成本降低,但是,约束转换过程存在较大代价计算。针对当前网络攻击主动防御研究成果存在的攻击防御成功率低、能耗高等问题,提出一种代价最小的网络空间攻击主动防御算法。

1 网络攻击主动防御算法的设计 1.1 信息熵计算

以提升主动防御针对性和成功率为目的,通过扫描流量熵的方式,扫描网络空间,实现网络空间安全态势感知。网络空间扫描是各种攻击形式的先导技术与初始环节,通过分析不同扫描方式的行为感知特征,能够高效感知网络空间安全态势,得出攻击行为的大体导向。针对网络空间的流量样本,流量包的某些属性概率分布能够反映出流量的特点,信息熵度量任意变量期望[6],定量则表示变量的不确定程度,是一种特征量化方式。在真实网络空间攻击中,恶意敌手扫描一般是对某个IP地址块中的全部地址进行逐一扫描,且会在较短的时间内向网络空间传输大规模IP流量包[7]。基于上述特点,当网络空间攻击主动防御中的蜜罐网络接收到流量包时,会将其传输至主动防御中心。假设流量包的目的IP不在窗口期,那么将该IP地址称作非活跃IP,并将该数据包归纳为可疑流量包。

网络攻击防御中心的扫描攻击方案分析模块,根据扫描流量熵的网络空间安全态势感知方式,实现对恶意攻击的实时扫描,完成对网络空间安全态势实时感知。具体实现方法如下。

假设网络空间用随机变量s表示,将其取值集合定义为s={s1, s2,…, sn},取值概率分布定义为P={p1, p2,…, pn}。其中,$\sum\limits_{i = 1}^n {{p_i}} $=1,0 < pi≤1。则变量s的信息熵H可表示为:

$ H{\rm{ = }} - \sum\limits_{i = 1}^n {{p_i}} {\mathop{\rm lb}\nolimits} {p_i} $ (1)

相对熵等价于2个概率分布的信息熵,能够表征2个概率分布存在的相似性[8-10]。针对2个离散概率的分布P={p1, p2, …, pn}与Q={q1, q2, …, qn},式中:

$ \sum\limits_{i = 1}^n {{p_i}} = \sum\limits_{i = 1}^n {{q_i}} = 1 $ (2)

综上,PQ相对熵计算公式为:

$ D(P\left\| Q \right.) = - \sum\limits_{i = 1}^n {{p_i}} {\mathop{\rm lb}\nolimits} \frac{{{p_i}}}{{{q_i}}} $ (3)

式中:D代表PQ概率分布差距值;当D为0,表示PQ属于同一分布。因D(PQ)≠D(QP),为了可以更加精准、稳定地刻画PQ分布,扩展相对熵成为扫描流量熵:

$ D(P, Q) = - \sum\limits_{i = 1}^n {\left( {{p_i} - {q_i}} \right)} {\mathop{\rm lb}\nolimits} \frac{{{p_i}}}{{{q_i}}} $ (4)

综上可知,当被保护的网络空间被分割成了ns块,第t个时间周期内,申请失败的报文总数是Nfail,第i块网络空间申请失败报文数量是Nifail,利用式(5)获取一个时间周期内申请失败报文源地址概率分布PiSrc(π),其中,目的地概率分布可表示为PiDst(π),设定j∈{Src, Dst}。

$ P_i^j({\rm{ \mathsf{ π} }}) = {\rm{ \mathsf{ π} }} \cdot \left( {\sum\limits_{i = 1}^{{N_{{\rm{fail }}}}} {{{\rm{ \mathsf{ π} }}_i}} } \right) $ (5)

通过上述网络空间安全态势感知,能够较好地帮助工作人员检验网络运行状况与环境,检测出僵尸网络、恶意网站等各类攻击者及其攻击活动,结合知识库以及网络情报库,快速准确发现本地网络中的威胁和异常,按照时间维度形成攻击证据链,实现安全智能防御功能。

1.2 基于熵的可能攻击方式策略集合

假设是盲扫描方式,那么理想情况下,在完成信息熵计算的基础上,各划分地址空间在指定时间周期中平均被扫描次数为Nfail/ns。但因在划分的时间周期范围内,能够完成一次随机扫描的可能性较小,在一个时间周期范围内申请失败报文中,直接计算获得的IP地址概率分布和Nfail/ns次扫描流量熵较为简易。由此,通过式(6)准则对此种情况进行调整。

以此为依据,采用式(7)对第t个时间周期范围内申请失败报文中IP地址概率分布和修正之后的平均概率分布扫描流量熵进行计算,与设定阈值进行比较,判断攻击者是否列入安全态势图例。假设阈值在δ范围,那么攻击者被列入图中;反之,不列入,以所有列入攻击方式作为集合,形成高度疑似攻击方式集合。

$ {\frac{{N_i^{{\rm{fail}}} - {N_{{\rm{fail}}}}/{n_s}}}{{{{\left( {{n_s}} \right)}^2}/12}} < - \delta } $ (6)
$ \begin{array}{l} D\left( {P_t^{{\rm{Src}}}(\pi ), {N_{{\rm{fail}}}}/{n_s}} \right) = \\ - \left( {P_t^{{\rm{Src}}}(\pi ) - {N_{{\rm{fail}}}}/{n_s}} \right)\log \frac{{P_t^{{\rm{Src}}}(\pi )}}{{{N_{{\rm{fail}}}}/{n_s}}} \end{array} $ (7)

其中,被例如集合里的熵计算结果,被标记成顺序表,在盲扫描方式攻击位置不定的情况下,可以结合标记结果,对盲扫描方式下的安全态势进行分析。

1.3 防御方式的指标对应

网络的防御方式是一个宏观概念,在选取合理的防御方式时,必须结合实际问题,设计合理的指标[11-12]。选取网络防御方式的主要指标有:

1) 可靠度的忽然大幅度变化,可靠度R(t),表示网络忽然不能正常运行的概率,计算方法为:

$ R(t) = p(T > t) = \int_t^\infty f (x){\rm{d}}x = 1 - F(t) $ (8)

2) 网络的失效概率大幅度变化,网络失效分布函数F(t),在固定时间[0, t]内,网络失效概率计算方法为:

$ F(t) = p\left( {T \le t} \right) = 1 - R\left( t \right) $ (9)

3) 网络的失效密度忽然发生大幅度变化,设该指标为f(t),在特定时间t内,其计算方法为:

$ f(t) = \frac{{{\rm{d}}F(t)}}{{{\rm{d}}t}} $ (10)

4) 网络的失效率发生大幅度变化,设置该指标函数为λ(t),在(t, t+Δt)时间内,其计算方法为:

$ \lambda (t) = \frac{{f(t)}}{{R(t)}} $ (11)

5) 网络的平均失效间隔时间发生较大幅度变化,该指标可以用MTBF表示,计算你仿佛为2次失效间的平均运行时间。防御攻击的指标和对应的具体方式如下图 1所示。

Download:
图 1 防御方式选取 Fig. 1 Defense mode selection
1.4 最小代价下网络空间攻击主动防御方式选取 1.4.1 最小代价防御集合

在计算得到防御方式指标后,为解决盲扫描方式下的恶意攻击主动防御问题,需将攻击图和防御行为相结合,实现网络空间攻击主动防御选取。依据当前攻击防御评估结果,生成最小代价的集合。引入综合防御权重策略集合M,结合上文获取的防御策略图指标G′,其依据七元组构成:G′=(S′, H′, C′, E′, M, R′)。其中,S′代表可靠度集合;H′代表网络失效率集合,根据h′∈H′的四元组(ID,运行服务,入侵者权限,网络漏洞集合)构成;C′代表主机之间失效密度集合;R′代表攻击者;E′代表网络空间失效时间集合,根据eE的四元组(攻击先验条件、源主机、目的主机和恶意攻击效果)构成;M代表网络空间攻击防御策略集合。以最小代价阻止入侵者攻击为目的,网络安全管理相关人员必须采取高效策略,攻击防御策略图即为利用攻击防御策略集合,依照实施难度对其进行权值等级划分,形成防御代价,给各个策略赋予不同权值,针对不同程度的攻击采取不同防御策略,降低防御能耗。

假设对目标网络实施策略集合中的全部策略,即可有效防御所有攻击场景产生,以此可以使网络空间处在某一安全状态[13-15]。针对策略集合Mc∈M,假设Mc中涵盖的策略可以在所有攻击场景内进行防御,则Mc为关键策略。假设Mc中含有的策略权值之和最小,则Mc为攻击防御最小代价关键策略集合。

1.4.2 基于粒子群算法的最小代价防御方式选取

引入粒子群算法,根据攻击图中各攻击动作,以最小代价防御策略集合为基础,突出攻击主动防御策略产生的代价。将最小代价主动防御网络空间攻击作为目标,利用粒子群算法,通过不断迭代寻优,找到攻击图的最小关键策略集合,实现网络空间攻击主动防御。

以下为利用粒子群算法寻找最小关键策略集合过程:

1) 将防御集合中的防御代价指标全部场景转换为粒子。

2) 初始化粒子运行参数,同时将各个粒子速度定义为0。

3) 假设迭代次数未达到最大,利用式(12)对粒子群中的最小代价目标进行更新yi

$ {y_i}(t + 1) = \left\{ {\begin{array}{*{20}{l}} {{y_i}(t), f\left( {{y_i}(t)} \right) \ge f\left( {{x_i}(t)} \right)}\\ {{x_i}(t), f\left( {{y_i}(t)} \right) < f\left( {{x_i}(t)} \right)} \end{array}} \right. $ (12)

式中f代表适应度函数。

4) 根据式(13)对粒子全局最优位置进行更新:

$ {{\hat y}_i}(t + 1) = \left\{ {\begin{array}{*{20}{l}} {{{\hat y}_i}(t), f\left( {{{\hat y}_i}(t)} \right) \ge f\left( {{y_i}(t)} \right)}\\ {{y_i}(t), f\left( {{{\hat y}_i}(t)} \right) < f\left( {{y_i}(t)} \right)} \end{array}} \right. $ (13)

5) 根据式(14)对粒子搜索速度进行更新:

$ \begin{array}{l} {v_{ij}}(t + 1) = {v_{ij}}(t) + {c_1}{r_1}(t)\left( {{y_i}(t) - {x_i}(t)} \right) + \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;{c_2}{r_2}(t)\left( {{{\hat y}_i}(t) - {x_i}(t)} \right) \end{array} $ (14)

6) 根据式(15)对粒子最小代价集合位置进行更新:

$ {x_i}(t + 1) = {x_i}(t) + {v_{ij}}(t + 1) $ (15)

式中:c1c2代表粒子的认知因子与邻域学习因子,通常情况下2个值的取值区间为[0, 2];r1r2代表时间维度上的随机数。

利用上述过程不断更新最优解,直到达到最大迭代次数或者搜索到最小关键策略集合,算法结束。将最小代价策略集合输出,将其当作网络空间攻击主动防御策略集合,实现最小代价下的攻击防御算法选取。

2 实验结果与分析

为了验证提出的网络空间攻击主动防御方法的可行性及有效性,构建模拟实验网络拓扑结构,设置转换的端信息根据一个IP地址池与大小是216的端口池构建而成。构建初始攻击防御图如图 2所示。

Download:
图 2 攻击防御图 Fig. 2 Attack defense map

在加入随机攻击数据后,结合权重计算结果,重新计算攻击图,结果如下图 3所示。

Download:
图 3 不同方法下网络攻击防御变化 Fig. 3 Change diagram of network attack defense under different methods

图 4是结合图 3,模拟不同方法现实主动防御中,节点分布的数据包抵抗过程。节点连线表示抵抗中的成本,色彩越浓说明抵抗成本越高。连线上的数值表示在主动抵抗测量下,链路的代价(包括此节点所产生的数据包和此节点转发的子节点的数据包)。红曲线表示PC刚刚收到的数据包的路由路线。

Download:
图 4 主动防御策略模拟 Fig. 4 Simulation diagram of active defense strategy

通过图 4可以看出,与文献[4]和文献[5]的方法对比,本文方法的代价明显变小,这是由于在选取不同防御策略下,本文方法的代价最小。

多个信息的融合有助于提高评估的客观性和准确度。因而选取AV、AS作为判断攻击防御效果的指标。其中AV表示攻击途径,AS表示入侵告警的严重程度,具体实验结果如下:由图 5可以看出,在AV、AS这2个指标变化的过程中,文献方法预测效果均呈现下降的趋势,而所提方法的预测效果则稳步上升,由此可见,所提网络攻击防御算法结合粒子群算法,通过不断迭代寻优,找到攻击图的最小关键策略,可高效预测网络安全态势,防御性能较高。

Download:
图 5 不同方法对攻击防御效果的影响分析 Fig. 5 Analysis of the effect of different methods on attack defense

利用TinyOS软件,设计具体应用中能量损耗计量模式,利用本文算法可以尽可能的降低主动防御环境中的能量消耗。在主动防御的情况下,测量路由节点电流消耗,得到消耗模型图。

图 6中,图 6(a)表示在主动防御没有进行最优选择的策略下,所有电源模块开启,即扫描过程与防御过程一直工作,不进入选择性的抵抗策略状态,对网络空间的扫描进行不间断监听,此时路由节点消耗能量最大,平均电流消耗达到12 mA。图 6(b)表示经过文献[4]方法后,节点能够做出最优抵抗策略,即无需实时扫描,节点有时可进入休眠状态,由于采用文献[4]方法后,减少了节点的能量消耗,可以看到总的平均电流通消耗有所减少,达到了11.46 mA。但也可以看出减少并不明显。图 6(c)是当采用文献[5]方法后的能量消耗,由于采用间隔时间片扫描,可以有效的减少网络被攻击后,节点做出反击的能量消耗。消耗下降到了4.26 mA。图 6(d)是本文方法之后能量消耗进一步减小,达到了1.04 mA,从而达到有效的节能效果。

Download:
图 6 能量消耗对比图 Fig. 6 Comparison of energy consumption
3 结论

1) 防御过程中,利用网络安全态势感知作为网络攻击主动防御奠定基础,结合攻击图与粒子群算法实现攻击防御。

2) 通过实验验证所提方法,实验结果表明,所提方法鲁棒性与可实践性能均较强。

下一步的研究方向为对于能够涵盖所有攻击场景的最小代价防御策略,是否在每一类攻击场景下都满足代价最小、防御效果最优,是否可以采用动态、实时的防御策略。

参考文献
[1]
胡毅勋, 郑康锋, 杨义先, 等. 基于OpenFlow的网络层移动目标防御方案[J]. 通信学报, 2017, 38(10): 102-112.
HU Yixun, ZHENG Kangfeng, YANG Yixian, et al. Moving target defense solution on network layer based on OpenFlow[J]. Journal on communications, 2017, 38(10): 102-112. (0)
[2]
樊琳娜, 马宇峰, 黄河, 等. 移动目标防御技术研究综述[J]. 中国电子科学研究院学报, 2017, 12(2): 209-214.
FAN Linna, MA Yufeng, HUANG He, et al. The research summary of moving target defense technology[J]. Journal of China academy of electronics and information technology, 2017, 12(2): 209-214. (0)
[3]
高洁, 邬江兴, 胡宇翔, 等. 基于拜占庭容错的软件定义网络控制面的抗攻击性研究[J]. 计算机应用, 2017, 37(8): 2281-2286.
GAO Jie, WU Jiangxing, HU Yuxiang, et al. Research of control plane'anti-attacking in software-defined network based on Byzantine fault-tolerance[J]. Journal of computer applications, 2017, 37(8): 2281-2286. (0)
[4]
张恒巍, 李涛. 基于多阶段攻防信号博弈的最优主动防御[J]. 电子学报, 2017, 45(2): 431-439.
ZHANG Hengwei, LI Tao. Optimal active defense based on multi-stage attack-defense signaling game[J]. Acta electronica sinica, 2017, 45(2): 431-439. (0)
[5]
张连成, 魏强, 唐秀存, 等. 基于路径与端址跳变的SDN网络主动防御技术[J]. 计算机研究与发展, 2017, 54(12): 2761-2771.
ZHANG Liancheng, WEI Qiang, TANG Xiucun, et al. Path and port address hopping based SDN proactive defense technology[J]. Journal of computer research and development, 2017, 54(12): 2761-2771. (0)
[6]
刘江, 张红旗, 杨英杰, 等. 一种面向C/S模式的地址跳变主动网络防御方法[J]. 电子与信息学报, 2017, 39(4): 1007-1011.
LIU Jiang, ZHANG Hongqi, YANG Yingjie, et al. A proactive network defense method based on address hopping for C/S model[J]. Journal of electronics & information technology, 2017, 39(4): 1007-1011. (0)
[7]
孙家文, 杨波, 贾新春. 一种兼具主、被动防御的WSNs安全通信策略[J]. 科学技术与工程, 2016, 16(14): 249-253, 258.
SUN Jiawen, YANG Bo, JIA Xinchun. A security communication strategy for WSNs with both active and passive defenses[J]. Science technology and engineering, 2016, 16(14): 249-253, 258. (0)
[8]
向征, 谭田天, 蔡桂林, 等. 通信网络动目标防御技术研究[J]. 高技术通讯, 2017, 27(8): 690-698.
XIANG Zheng, TAN Tiantian, CAI Guilin, et al. Research on the moving target defense technology of communication networks[J]. Chinese high technology letters, 2017, 27(8): 690-698. (0)
[9]
罗兴国, 仝青, 张铮, 等. 拟态防御技术[J]. 中国工程科学, 2016, 18(6): 69-73.
LUO Xingguo, TONG Qing, ZHANG Zheng, et al. Mimic defense technology[J]. Engineering science, 2016, 18(6): 69-73. (0)
[10]
于丽. 基于数据挖掘技术的计算机网络病毒防御技术探索[J]. 现代电子技术, 2016, 39(21): 120-122, 126.
YU Li. Exploration of data mining technology based virus defense technology for computer network[J]. Modern electronics technique, 2016, 39(21): 120-122, 126. (0)
[11]
吴晓平, 付钰, 李洪成. 防范高级持续性威胁的军事信息系统安全框架研究[J]. 海军工程大学学报(综合版), 2016, 13(2): 30-35.
WU Xiaoping, FU Yu, LI Hongcheng. A study on security framework of military information systems guarding against advanced persistent threats[J]. Journal of Naval University of Engineering, 2016, 13(2): 30-35. (0)
[12]
刘世文, 马多耀, 雷程, 等. 基于网络安全态势感知的主动防御技术研究[J]. 计算机工程与科学, 2018, 40(6): 1054-1061.
LIU Shiwen, MA Duoyao, LEI Cheng, et al. An active defense technique based on network security awareness[J]. Computer engineering and science, 2018, 40(6): 1054-1061. (0)
[13]
张为, 苏旸, 陈文武. 基于信号博弈的主动防御模型[J]. 计算机工程与应用, 2018, 54(17): 77-82.
ZHANG Wei, SU Yang, CHEN Wenwu. Game model with active defense based on signaling game[J]. Computer engineering and applications, 2018, 54(17): 77-82. (0)
[14]
孔亚洲, 张连成, 王振兴. 基于滑动时间窗口的IPv6地址跳变主动防御模型[J]. 计算机应用, 2018, 38(7): 1936-1940, 1973.
KONG Yazhou, ZHANG Liancheng, WANG Zhenxing. Address hopping proactive defense model in IPv6 based on sliding time window[J]. Journal of computer applications, 2018, 38(7): 1936-1940, 1973. (0)
[15]
顾泽宇, 张兴明, 魏帅. 基于增强学习的自适应动态防御机制[J]. 小型微型计算机系统, 2019, 40(2): 401-406.
GU Zeyu, ZHANG Xingming, WEI Shuai. Adaptive dynamic defense mechanism based on reinforcement learning[J]. Journal of Chinese computer systems, 2019, 40(2): 401-406. (0)