改进萤火虫算法的DDoS攻击网络目标精确选择*
2019-03-12吴天昊郭伟博吴少强张乃浩
吴天昊,郭伟博,吴少强,张乃浩
(1.战略支援部队信息工程大学,河南 郑州 450001;2.中国人民解放军32553部队,海南 海口 570100)
0 引言
分布式拒绝服务攻击(distributed denial of ser-vice,DDoS)是一种通过消耗彼方网络资源造成其网络或服务器无法提供正常服务的攻击手段,是黑客以不正当竞争为动机恶意攻击网络用户的常用伎俩。网络空间对抗作为近年来萌生的新型作战样式,各类网络攻击手段还处于初步探索阶段,可大胆利用DDoS攻击具有可控性、瞬时性的特点达到短时间内瘫痪敌方重要网络目标的效果。与物理域的指挥决策不同,网络空间下DDoS攻击可同时对多个网络目标进行打击,涉及打击目标排序与优选的问题较少。同时,DDoS攻击一旦被嗅探,彼方会采取防护措施对其重要网络目标进行保护,且相同来源的数据会被同类网络目标同步拒绝。因此,对攻击目标的精确选择就显得尤为重要。本文针对DDoS攻击特点,提出一种改进的萤火虫算法研究攻击目标的精确选择问题,并通过仿真实例,验证方法的有效性。
1 网络空间战场环境下的DDoS攻击
1.1 DDoS攻击的定义和原理
在信息安全领域,分布式拒绝服务攻击(DDoS)定义为导致合法用户不能正常访问网络服务的行为[1]。其基本原理是利用多台傀儡机通过发送大量合法服务请求占用网络目标,使彼方网络中充斥庞大繁杂的无用数据包,造成其网络拥堵甚至能够瘫痪目标网络及服务器。被攻击控制的网络傀儡主机群被称为僵尸网络。
DDoS攻击的分类在文献[2]中有详细阐述,其中广泛使用并易于控制的为SYN Flood攻击,如图1所示,该攻击方式利用TCP协议3次握手的模式,向目标端发送第1条伪造的SYN报文后,停止发送后续响应,导致目标端服务器因等待后续响应而长时间保持TCP连接,造成资源耗尽并拒绝其他正常服务[3]。
1.2 网络空间对抗中的DDoS攻击模式
DDoS攻击成为战争工具并非首例。2007年,俄罗斯在与格鲁吉亚的五日战争中,对格鲁吉亚、阿塞拜疆国家及部分政府网站采用了拒绝服务攻击。2009年,俄罗斯某集团对伊朗大选中艾哈迪内贾德支持者网站使用DDoS攻击。我国网络空间对抗研究起步较晚,对各类技术手段的融合依然处于摸索阶段[4]。本文借鉴外军并利用信息安全领域DDoS攻击模式,设定实现对敌方数据中心、指令中心、通信设备和收发文系统的网络攻击,拟制攻击模式如图2所示。
1.3 DDoS攻击中的目标精确选择问题
网络目标的精确选择是DDoS攻击的前提条件,是实现首长决心达到预期目的核心内容,更是指挥决策的关键。
实现网络空间下DDoS攻击目标的精确选择,本文提出需要解决的3个问题:
(1) 网络空间维度广,实现精确选择需要更繁多的迭代次数,计算量大且耗费时间,迟滞指挥者作出决策时间。
(2) 各网络目标以局域网的形式各成一体,搜索目标时容易形成子群内的“早熟”现象,一旦寻优过程中发现局域最优解,算法将停止迭代而造成全局最优解的遗漏。
(3) 网络空间战场环境下真伪目标难以辨识,敌方若设置虚假目标并伪造光端、路由传输大量数据,极易迷惑指挥决策者,以致打击失效甚至暴露源IP。
本文围绕以上3点影响精确选择的问题进行算法的选择与改进,并通过实例仿真验证该算法有效性。
图1 SYN Flood攻击原理Fig.1 Principle of SYN Flood attack
2 改进自适应步长的萤火虫算法
2.1 应用可行性分析
萤火虫算法是剑桥大学学者Xin-She Yang于2009年提出的新型仿生算法[5-6],是一种通过模拟萤火虫夜晚群聚的自然现象形成的启发式寻优算法。自然界中,发光强度弱的萤火虫往往向发光强的萤火虫靠拢。在算法中,每只萤火虫被视为空间中的一个解,将求解最优值视为寻找最亮萤火虫的问题,搜索过程是亮度强的萤火虫的位置取代周围萤火虫的位置。初始状态下,各萤火虫随机分布在搜索域内,随后根据萤火虫的移动趋势进行数次迭代并寻找多个极值点,达到种群寻优目的[5-6]。
网络空间下DDoS攻击目标的精确选择是一个决策过程,是一种通过流量检测或频谱探测等来定位目标的过程。在局域网中,各类服务器、路由、防火墙、智能通讯设备等的交互过程与萤火虫相互吸引的现象十分相似,那么可通过物理频谱探测、计算机硬件等学科给出的相关目标函数结合实际问题建立数学模型,并利用萤火虫算法寻找最优解,来解决网络空间对抗中目标最优选择问题。
2.2 标准萤火虫算法描述
定义函数及参数:
(1) 发光亮度S(r)
S(r) =s0e-βr2,
(1)
式中:s0为最亮萤火虫亮度;β为吸收系数且为定值;r为萤火虫间距。
(2) 相互吸引度γ(r)
γ(r) =γ0e-βr2,
(2)
式中:γ0为最亮萤火虫吸引度。
(3) 最优目标迭代
(3)
式中:Xt为第t次迭代萤火虫的状态;ξ为随机参数;εt为第t次迭代正态分布上的参数。
(4) 距离:若两只萤火虫个体分别位于向量xi和xj,其间距离用欧式距离表示为
(4)
式中:D为求解域的空间维度;xik,xjk为第i,j个萤火虫在第k维的坐标。
2.3 改进的萤火虫算法
标准萤火虫算法具有全局及局部搜索快速收敛的特点,利用算法快速发现最优解的优势能够较好解决1.3中提出的问题(1),在后续实例验证中有具体体现。但标准萤火虫算法本身存在不足,在迭代过程中可能陷入局部最优而遗漏全局最优解,即“早熟”现象[7]。在网络空间各局域网距离较远时,有可能偏离该算法的搜索范围,如图3所示。
图2 网络空间对抗中的DDoS攻击模式Fig.2 Attack pattern in cyberspace warfare
图3 局部最优的"早熟"现象Fig.3 Locally optimal solution
为提高目标选择的精确性,对标准算法中步长参数加以改进。优化设计中,分别为每只萤火虫设置步长,以提高单独个体的搜索能力。在改进算法中,需要考虑2点:一是每只萤火虫前2次迭代目标函数值;二是当前迭代最优萤火虫的目标函数值[8]。
步长的改进设置为
(5)
式中:i为单只萤火虫个体编号;t为当前迭代次数;ai(t+1)为第t+1次迭代时i编号的萤火虫的步长;fbest为该迭代中全局最优解;fi(t)为该迭代中目标函数值[9-10]。公式(5)中的hi(t)是考虑前2次迭代时的目标函数值,可表示为
(6)
式中:fi(t-1),fi(t-2)为前2次迭代的函数值。
3 改进算法在网络目标精确选择中的应用
3.1 基本思想
网络空间下的DDoS攻击,是以精确打击核心目标以瘫痪彼方整个网络的攻击模式,这类似于特种作战中的“斩首行动”。在选择进攻目标时利用改进萤火虫算法来精确定位核心目标是一种精确、快速的应用方法。
目标函数的确定是实现萤火虫算法在网络空间下DDoS攻击模型应用的关键。对目标函数的选择没有固定的模式,要依据不同攻击模式和探测手段合理确定目标函数,比如,通过对网络数据流量、辐射、频谱、标记数据包等不同的侦察检测方式,可以参考相关学科给出不同的目标函数,当然,目标函数的确定更依赖于网络目标探测技术的发展与改进。
3.2 算法基本流程
利用改进的萤火虫算法对网络空间下DDoS攻击目标选择的基本流程为:
Step 1:确定目标函数;
Step 2:初始化萤火虫集群、个数、初始亮度(初始频谱值或流量值)、吸收系数γ、迭代次数及维度等算法相关参数ξ等;
Step 3:通过探测值计算每只萤火虫的亮度{S1,S2,…,Sn} ,即当前位置的目标函数值;
Step 4:由2.3中公式(5),(6)更新每只萤火虫步长值;
Step 5:更新每只萤火虫位置,使亮度弱的个体向亮度强的个体靠近;
Step 6:更新解集并保存当前迭代中的最优解;
Step 7:若达到求解精度或设定的最大迭代次数,则算法执行结束并给出最优解,否则继续执行Step 3。
算法基本流程图如图4所示。
图4 算法基本流程图Fig.4 Algorithm flow chart
3.3 真伪目标的选择决策
在传统作战中,敌方以虚假工事伪造指挥所是掩护真正目标的惯用伎俩。在网络空间对抗中,如何识别真伪网络目标,同样影响精确决策的质量效果。从指挥者决策层面考虑,指挥者可选择同时对真伪目标进行攻击,以确保实现预期目标。从辅助决策技术层面考虑,可以通过聚类相似性计算方法来判断真伪目标,本文给出2种辅助决策方式:
明可夫斯基(Minkowski)距离:
(7)
夹角余弦相似系数:
(8)
式中:xik,xjk表示第i,j个萤火虫在第k维的坐标;p为迭代的维度;q=1,q=2和q→∞分别表示Manhattan距离、Euclid距离和Chebyshev距离[12]。
当明可夫斯基距离或相似系数越小时,说明该目标是虚假目标的可能性越大,可为指挥者精确决策提供依据。
4 实例仿真
设定在某一空间内有50台收发文计算机,其中包括指令中心(指令发出源)和收发文终端(信息接收、处理和回函终端),且每台计算机初始频谱为a,a≥0。每收发文时将增加步长,步长频率与频谱的关系依据文献[13]给出的目标函数:
f= e-(x-4)2-(y-4)2+e-(x+4)2-(y-4)2+
2e-x2-(y+4)2+2e-x2-y2.
(9)
4.1 计算求解
设定50个萤火虫点为3维,迭代50次,用Matlab 2010进行求解,得出聚类图5~8所示。
图5 初始随机分布图Fig.5 Initial distribution map
图6 第10次迭代萤火虫分布图Fig.6 Iteration 10 firefly distribution map
在迭代50次后可显示萤火虫密度图如图9所示。
从图9可得,4个峰值以密度从高至低排列分别为
(X,Y,Z)=(-0.1,0,1.98),(0.1,-4,1.98),(3.9,4,0.99),(-4,4.1,0.99),
(10)
式中:X,Y为各萤火虫群中最亮个体坐标;Z为该最亮萤火虫的亮度,即频谱。
图7 第15次迭代萤火虫分布图Fig.7 Iteration 15 firefly distribution map
图8 第50次迭代萤火虫分布图Fig.8 Iteration 50 firefly distribution map
图9 第50次迭代萤火虫密度图Fig.9 Iteration 50 firefly density map
4.2 计算结果分析
由实验结果可以看出,仅用了15次迭代,基本可发现萤火虫密集程度(仅有3只萤火虫游离)。回归到实际问题中,可得知4.1中4个峰值为收发文最密集的位置,在不考虑伪目标的情况下,较好地解决了1.3中提出的影响精确定位的问题(1)和(2)。通过相似度计算并通过图中可以看出,(3.9,4),(-4,4.1)2处峰值极为相似,可考虑伪造报文收发目标的存在,为指挥者精确选择攻击目标提供依据[14-15]。
为了更直观地体现该改进算法的优势,本文选取上述目标函数和文献[6]给出的另一标准测试函数(表1)在相同的网络环境下进行仿真。
表1 标准测试函数Table 1 Benchmark functions
在运行时,为避免算法因随机性带来误差,本文对FA(firefly algorithm,标准萤火虫算法)和SAS-FA(self-adjusting step FA,改进自步长的萤火虫算法)各自独立运行50次,分别求出各自的最优值、最差值、平均值见表2所示。
其优化对比图如图10,11所示。
从表2、图10和图11中可以得出,本文所提出的自适应步长萤火虫优化算法从最优值、最差值、平均值等方面,与原始的标准算法相比有着较显著的表现。在图10中可看出,改进算法在相对较少次数的迭代中求出了最优值,且从数据对比中改进算法要优于标准算法,再次验证该方法能够实现网络目标的快速定位和精确选择。在图11中可看出,标准算法仅求得了局部最优值,陷入了“早熟”现象,而改进算法求得最优解明显优于标准算法,这说明所提出算法的稳定性及鲁捧性要高于标准萤火虫算法。
表2 算法运行结果对比Table 2 Comparisons of original
图10 对f1函数的优化比较图Fig.10 Comparison of curve graph for f1
图11 对f2函数的优化比较图Fig.11 Comparison of curve graph for f2
5 结束语
本文对网络空间下DDoS攻击模式进行了研究探索,分析标准萤火虫算法在该模式下应用的优势与不足,并针对3点影响网络目标精确选择的问题,提出自适应步长的萤火虫算法改进方法,并提出利用相似系数判断网络目标的真伪。通过对模型的实验仿真,证明该算法的应用能够实现网络目标的快速定位和精确选择,对指挥者精确选择攻击目标具有参考意义。未来相关研究要针对彼方的防护措施提出反跟踪检测的进攻方法。