2. 中国科学院 信息工程研究所, 北京 100195
2. Institute of Information Engineering, The Chinese Academy of Sciences, Beijing 100195, China
自诞生之日起,计算机网络一直在不断地发展,其规模在不断扩大,应用也愈加广泛.在给人们带来便利的同时,计算机网络也存在着众多的安全威胁,分布式拒绝服务攻击(distributed denial ofservice,简称DDoS)是其中一种主要的、影响范围广、危害性大的恶意行为.2012年4月10日,韩国中央选举管理委员会网站受到DDoS攻击.2012年下半年,美国数家银行遭受DDoS攻击,使得网上银行及网站间歇性失去响应.2013年3月28日,欧洲反垃圾邮件组织Spamhaus遭到DDoS攻击,随后,为其提供安全服务的CloudFlare也遭受到攻击,攻击流量从10Gbps增大到300Gbps,对整个欧洲的网络造成了严重影响.众多网站、运营商因为DDoS攻击遭受严重的经济损失,而普通用户也因为DDoS攻击造成的网络瘫痪而受到影响.
研究人员针对DDoS攻击做了大量研究工作,从不同角度对不同种类的DDoS攻击提出了多种防护措施.不同的防护措施适用于不同的攻击方式和保护对象,在实际的网络应用环境中,需要综合考虑保护对象的特性和当前可能面临的攻击行为,选择最为适合的防护措施.针对这一问题,本文研究针对DDoS攻击防护措施的评价方法以指导防护措施的遴选,有效提升目标网络和目标系统的安全性.
本文针对DDoS攻击防护措施的选取问题,提出DDoS防护措施遴选模型(DDoS countermeasureselection model,简称DCSM).该模型使用多种指标从多角度对防护措施进行评价,并引入多属性决策理论,将防护措施的遴选转化为多属性决策问题加以解决.多属性决策方法(如TOPSIS方法[1])的结果受评估属性的重要性权重的影响很大,而现有的重要性权重多依赖专家的主观赋值.本文结合DDoS攻防实际提出客观的权重赋值方法,通过分析目标系统在攻防场景下的指标,最终得到评估属性的重要性权重,避免了人为赋值带来的主观影响.具体评估方法从攻击和防护的角度分为基于历史攻击偏好的方法和熵权法两种.最后,本文对提出的方法进行了实验,验证了DCSM模型在选择DDoS防护措施时的有效性.
本文第1节介绍相关研究工作.第2节对构建的DCSM模型进行阐述.第3节描述基于多属性决策方法的DDoS防护措施遴选方法,详细描述重要性权重的计算方法.第4节通过模拟攻击场景对提出的方法进行验证.最后是全文的总结.
1 相关工作研究人员对DDoS攻击和防护方法进行了大量研究.Peng等人[2]对DoS和DDoS的防护手段进行了具体的研究,并分析了每种防护措施针对DoS和DDoS攻击的防护效果.Mirkovic等人[3]和Specht等人[4]对DDoS的攻击措施和防护措施分别进行了分类,M?ls?[5]进一步对泛洪DoS攻击的防护措施效果评估指标进行了分类.
在对DDoS攻击防护措施进行充分研究的基础上,研究人员开始评估防护措施的效果.Butler[6]提出的SAEM(security attributeevaluation method)评估方法首先评估每一种安全措施对所有威胁产生的总体减弱效果,然后评估每种安全措施所能应对的威胁种类,最后评估每种安全措施的实施成本.防护措施的最终选取将综合考虑这3方面因素.Bellaiche等人[7]提出应从性能、部署成本、对被保护系统性能的影响和自身健壮性这4个方面来评估和比较防护措施.Schwab等人[8]将DDoS评估指标分为3类:网络流量指标、攻击效果指标和防护有效性指标,认为攻击效果可以通过评估上述指标在受到攻击时的变化程度得到;防护绩效可以通过评估指定防护措施启用后增加的防护效果得到,但文献[8]并未给出具体评估方法.Meadows[9]定义了防护成本集C和攻击能力集G,并在此基础上定义了容忍关系集CxG,用以分析协议能否抵御DoS攻击.该方法从攻防策略入手,考虑得较为全面,但是不易对结果进行量化计算,在实际应用中操作性不强.Mirkovic等人在文献[10]中为DDoS的评估方法提出了一套评测标准,认为DDoS防护措施的核心要素在于是否能够保证合法用户仍旧享受可接受的服务.在文献[11, 12]中,Mirkovic等人进一步在3GPP(3rd Generation Partnership Project)发布的服务质量(QoS)指标基础上提出了基于阈值的DDoS攻击效果评估方法.如果指标不在所属网络应用(如Web浏览、FTP传输等)正常的QoS阈值范围内,则认为当前应用是失败的.他们以各类网络应用中失败所占的比例(percentage offailed transactions,简称PFT)作为DDoS攻击效果的评估指标,以流量中各种应用的PFT值的加权平均结果反映DDoS攻击的整体效果.Li[13]等人提出了一种基于数据包计算的DDoS防护效果评估方法.该方法通过计算合法数据包通过率与攻击数据包通过率的比值(LAR)来评价防护系统的强弱.LAR越高,则防护效果越好.
多属性决策的概念最早在1944年由vonNeumann和Morgenstern以对策论的角度提出[14].截至目前,多属性决策问题已广泛存在于社会、经济等领域.在信息安全领域,多属性决策也被应用于多个方面.2001年,Butler在文献[1]中指出:在使用专家知识时,引入多属性决策方法可以更好地进行安全措施选择.张义荣在文献[15]中使用层次分析法(analytic hierarchyprocess,简称AHP)来确定提出的攻击效果评估方法中的指标的权重值.Zhao在文献[16]中提出一种正规化的网络安全评估框架,使用多属性决策方法解决评估指标多、评估过程复杂等问题.Dewri等人在文献[17]中将“在一定成本下达到最好的防护效果”转化为“最小化残留伤害和最小化安全控制成本”的多属性决策问题,并使用NSGA-II遗传算法加以解决.多属性决策的重要性权重将对多属性决策的结果产生很大影响,研究人员对如何更客观、有效地进行权重的赋值提出了AHP方法、主成分分析法、离差最大化法、均方差法等方法.本文从DDoS攻防实际出发,以防护措施在攻防场景中的指标作为参考,使用历史攻击偏好以及熵权法进行权重计算.
本文将多属性决策方法引入DDoS防护措施遴选模型,综合考虑各角度评价指标进行防护措施的最优选择.基于攻防指标进行基于重要性权重的计算,从方法上避免了多属性决策过程中由于人为指定重要性权重而引入的主观因素影响,最终提出了用于DDoS防护措施遴选的方法.
2 DDoS防护措施遴选模型(DCSM)决策问题可分为单属性决策问题和多属性决策问题.多属性决策具有两大要素:决策方案集、评估属性.决策方案集是候选决策方案的集合,评估属性是指决策过程中需要考虑的各项指标.从多个评估属性对候选决策方案进行评价,并进一步对评价结果进行综合评估,最终确定决策方案的排序.多属性决策问题广泛存在于社会、经济等领域,对它的研究已取得相应成果,并有较为成熟的解决方法.单属性决策问题只需考虑单一属性的排序,而多属性决策问题由于属性数量的增加,不同属性之间存在不可公度性及矛盾性.属性间的不可公度性是指属性间没有统一的度量标准,难以进行比较.属性间的矛盾性是指为了提升某一属性而选取某种方案,可能会使得另外一个或多个属性值不如当前方案.由于多属性决策问题需要解决不可公度性和矛盾性,使得多属性决策问题比单属性决策问题更为复杂,也使得多属性决策问题通常只能得到非劣解,而无法如单属性决策问题般得到最优解.所谓非劣解是指由于多属性决策问题中矛盾性的存在,当一个解是非劣解时,若要选择某一属性更优的解,则该解至少存在一个属性劣于原非劣解.也就是说,如果某一个解是非劣解,则不存在一个解在所有属性上都优于该非劣解.
对于DDoS防护措施,可以从诸如响应时间、误报率、漏报率、购买成本、维护成本等多个角度进行评价.本文将对防护措施多种角度的评价对应到多属性决策中的评估属性,将防护措施集对应到多属性决策的决策方案集,从而将DDoS防护措施遴选问题转化为多属性决策问题.
下面先给出相关定义,接着我们将构建DCSM模型.
定义1(合法用户平均等待时间Tres). 这是指在实验观测时间内,合法用户向服务器发出请求的时刻t和合法用户完全接收到该次请求应答数据的时刻t'之间的时间间隔t'-t关于合法用户的成功请求次数n的平均值.本文假设合法用户向服务器请求相同的文件,计算公式如下:
${{T}_{res}}=\frac{1}{n}\sum\limits_{i=1}^{n}{({{{{t}'}}_{i}}-{{t}_{i}})}.$ |
=定义2(合法用户请求应答率Pres). 这是指在实验观测时间内,合法用户成功接收到服务器响应的请求次数CReq_Success占合法用户发出的总请求次数CReq_Total的比值.计算公式如下:
${{P}_{res}}=\frac{{{C}_{Req\_Success}}}{{{C}_{Req\_Total}}}\times 100%.$ |
防护措施的目的在于削弱攻击效果,因此,用于评估攻击效果的指标亦可用于评估防护措施.DDoS攻击对攻击目标一定范围内的主机、网络均会产生影响,受影响的指标众多,从攻击目标角度寻找指标较为繁琐.从DDoS攻击定义可知:无论攻击影响的范围多么广,攻击效果都会体现在用户感受中.攻击猛烈时,用户感受到请求等待的时间延长、请求得到响应的概率降低;反之,用户感受到请求等待的时间缩短、请求得到响应的概率提高.本文从用户感受角度进行指标选择,使用合法用户平均等待时间Tres和合法用户请求应答率Pres作为指标[18].
定义3(防护措施的属性). 将使用某一防护措施进行DDoS攻防实验收集到的评估属性在该攻防场景中的取值称为该防护措施的属性.防护措施的属性表示多个评估属性对该防护措施多角度的评价.使用向量形式表示的防护措施的属性称为防护措施的属性向量.
防护方案是具体的防护措施,所有待选防护措施的属性构成决策矩阵.一个决策矩阵表示一个DDoS防护措施遴选问题.现有n个防护方案,则Defence={di|i∈[1,n]}是防护方案集合.现有评估属性集合Attr={attr1, attr2,…,attrm},对于任意防护方案di∈Defence,有从不同角度得到的m个评价结果,即di的属性为{attr1_i,attr2_i,…,attrm_i},则向量(attri1,attri2,…,attrim)称为防护方案di的属性向量.那么根据评估属性集合Attr收集防护方案集合Defence中各个防护措施的属性,可以形成如下决策矩阵:
$\left( \begin{matrix} att{{r}_{11}} & att{{r}_{12}} & \cdots & att{{r}_{1m}} \\ att{{r}_{21}} & att{{r}_{22}} & \cdots & att{{r}_{2m}} \\ \vdots & \vdots & \cdots & \vdots \\ att{{r}_{n1}} & att{{r}_{n2}} & \cdots & att{{r}_{nm}} \\ \end{matrix} \right).$ |
本文中使用合法用户平均等待时间和合法用户请求应答率作为评估属性,因此,本文中的决策矩阵形如公式(1):
$M=\left( \begin{matrix} \begin{matrix} {{P}_{1}} \\ {{P}_{2}} \\ \vdots \\ {{P}_{n}} \\ \end{matrix} & \begin{matrix} {{T}_{1}} \\ {{T}_{2}} \\ \vdots \\ {{T}_{n}} \\ \end{matrix} \\ \end{matrix} \right)$ | (1) |
其中,矩阵M的第i行是防护方案di的属性向量,即(Pi,Ti).Pi,Ti分别是防护方案di实施后的合法用户请求应答率和合法用户平均等待时间,i∈{1,2,3,…,n}.
基于上述定义,本文提出一种基于多属性决策的DDoS防护措施遴选模型,表示如下:
{Attr,Defence,g,M,ω,ρ,w,H,j,Rank}, |
其中,
1)Attr是评估属性集合.Attr={attr1,attr2,…,attrm},其中,attri,i∈{1,2,…,m}是具体的评估属性.本文中:
Attr={合法用户平均等待时间(Tres),合法用户请求应答率(Pres)}, |
即,本文将使用合法用户平均等待时间(Tres)和合法用户请求应答率(Pres)对候选防护措施进行评价;
2)Defence是防护方案集合.Defence={d1,d2,…,dn},其中,dj,j∈{1,2,…,n}是具体的防护方案;
3)γ是映射关系γ:dj→AVecj,其中,dj∈Defence是具体的防护方案,AVecj是dj的属性向量.映射关系γ表示对根据评估属性集合Attr产生的防护方案dj进行多角度的评价,即,通过实验收集防护方案dj的属性向量;
4)M是决策矩阵.$M=\left( \begin{matrix} {{m}_{11}} & \ldots & {{m}_{1m}} \\ \vdots & \ddots & \vdots \\ {{m}_{n1}} & \cdots & {{m}_{nm}} \\ \end{matrix} \right)$,mij表示第i个防护方案的第j个评估属性的属性值.i∈{1,2,…,n},j∈{1,2,…,m}.M中第i行是防护方案di的属性向量,也即$\gamma \left( \begin{matrix} {{d}_{1}} \\ {{d}_{2}} \\ \vdots \\ {{d}_{n}} \\ \end{matrix} \right)=M;$
5)ω是映射关系,ω:Attr→w,表示利用熵权法,通过评估属性值计算权重向量w;
6)ρ是映射关系,ρ:H→w,表示利用历史数据,使用基于历史攻击偏好的方法计算向量w;
7)w是重要性权重向量,表示评估属性间的重要性,与决策矩阵一起参与多属性决策过程;
8)φ是映射关系φ:wxM→Rank,表示决策过程,即根据重要性权重向量w及决策矩阵M进行防护措施遴选,最终得到防护方案集合Defence中防护方案的排序结果;
9)H是历史数据,用于生成重要性权重;
10)Rank是防护方案的排序结果.Rank={rank1,rank2,…,rankl},其中,rankk={dk,rankNok},k∈{1,2,…,l},dk是防护方案,rankNok是该防护方案经过排序之后的序号.
DCSM模型中各个元素的关系如图 1所示.
本节介绍DCSM模型框架下的基于多属性决策的DDoS防护措施遴选算法,首先介绍评估属性重要性权重的计算方法.评估属性的重要性权重反映了决策过程对不同属性的偏重程度,通常情况下由专家或决策者指定评估属性的重要性权值.虽然专家或决策者相对普通人更有经验,对于各评估属性具有更深的了解,但是人工赋值不可避免地会带有个人偏好,使得评估结果会受到主观影响.本文分别从攻击和防护的角度提出基于历史攻击偏好的方法和熵权法,通过分析攻防指标数据,对评估属性的重要性权重进行计算赋值.然后介绍多属性决策过程,并在最后给出基于多属性决策的防护措施遴选的算法.
3.1 基于历史攻击偏好的重要性权重计算方法在实际场景中,由于攻击者的偏好,攻击者会倾向于使用特定的DDoS攻击方式.不同类型的DDoS攻击对各项指标的影响存在差异,因此,不同攻击者的DDoS攻击对目标系统的指标的影响程度各有不同.通过对历史数据的分析,发现攻击偏好,确定受影响更大的指标,从候选方案中选择能够更好地抑制该指标变化的防护措施,从而更加有针对性地对抗DDoS攻击,提高目标系统的安全性.
历史数据可以通过目标系统的日志获取.然而由于本文使用的是基于用户感受角度的指标,目标系统的日志中并不会对此进行记录,因此我们抽取日志可以记录的瓶颈链路带宽BWthres、请求频率Ratt、半开队列长度Qlimit等指标,利用神经网络的预测能力得到合法用户请求应答率Pres和合法用户平均等待时间Tres.
人工神经网络是对人脑神经网络进行抽象的计算模型,具有良好的分类、识别和非线性映射等能力.神经网络包括感知器神经网络、自组织竞争神经网络、径向基函数神经网络、支持向量机等种类.在众多的神经网络中,后向传播神经网络(BP网络)是应用最为广泛的一种.同时,理论上已经证明,具有3层结构的BP网络可以实现任意非线性映射.为了实现指标输入到攻击效果输出的映射,本文选择具有3层结构的BP神经网络对攻击效果进行预测计算.若无特殊说明,下文中提到的神经网络均指BP网络.
使用神经网络预测需要进行训练.本文使用网络模拟器SSFNet[19]模拟多种网络参数和攻击参数下的DDoS攻击,并记录每组参数(瓶颈链路带宽BWthres、请求频率Ratt、半开队列长度Qlimit)对应的合法用户平均等待时间Tres和合法用户请求应答率Pres.本文将记录的网络参数和攻击参数以及合法用户平均等待时间和合法用户请求应答率作为训练数据集,以<BWthres,Ratt,Qlimit>作为输入向量、以<Pres,Tres>作为目标向量,将数据向量和目标向量进行归一化处理之后,使用训练迅速的LM(Levenburg-Marquardt)算法对神经网络进行训练.整个训练过程将不断重复,直到神经网络的预测准确性满足要求为止.本文中要求均方误差小于等于10-6,或者训练循环次数达到600次.设定循环训练次数的限制是为了避免神经网络被过度训练,反而影响预测效果.连接权重值和阈值的初值选取对训练时间至关重要,对训练结果没有影响[20].本文对初值进行随机赋值.
设通过神经网络映射得到受到攻击时的合法用户请求应答率和合法用户平均等待时间为PPredict和TPredict,没有受到攻击时的合法用户请求应答率和合法用户平均等待时间为P0和T0.由于DDoS攻击会影响可用性,因此存在以下不等式:
$\left\{ \begin{array}{*{35}{l}} {{P}_{0}}\ge {{P}_{Predict}} \\ {{T}_{0}}\le {{T}_{Predict}} \\ \end{array} \right.$ | (2) |
那么,在受到DDoS攻击后,合法用户请求应答率和合法用户平均等待时间的相对改变量为
$\left\{ \begin{array}{*{35}{l}} \text{ }\!\!\Delta\!\!\text{ }{{P}_{r}}=\frac{{{P}_{0}}-{{P}_{Predict}}}{{{P}_{0}}} \\ \text{ }\!\!\Delta\!\!\text{ }{{T}_{r}}=\frac{{{T}_{Predict}}-{{T}_{0}}}{{{T}_{Predict}}} \\ \end{array} \right.$ | (3) |
因此,根据历史数据求得的合法用户请求应答率和合法用户平均等待时间的重要性权重为
$\left\{ \begin{array}{*{35}{l}} {{\omega }_{P}}_{\_Hisroty}=\frac{\text{ }\!\!\Delta\!\!\text{ }{{P}_{r}}}{\text{ }\!\!\Delta\!\!\text{ }{{P}_{r}}+\text{ }\!\!\Delta\!\!\text{ }{{T}_{r}}} \\ {{\omega }_{T}}_{\_History}=\frac{\text{ }\!\!\Delta\!\!\text{ }{{T}_{r}}}{\text{ }\!\!\Delta\!\!\text{ }{{P}_{r}}+\text{ }\!\!\Delta\!\!\text{ }{{T}_{r}}} \\ \end{array} \right.$ | (4) |
历史数据中可能记录了m次DDoS攻击,设分别求得的合法用户请求应答率和合法用户平均等待时间的重要性权重为${{\omega }_{{{P}_{i}}}},{{\omega }_{{{T}_{i}}}},$i∈{1,2,3,…,m},则将m个重要性权重进行平均作为综合权重,计算公式为
$\left\{ \begin{array}{*{35}{l}} {{\omega }_{P}}=\frac{\sum\limits_{i=1}^{m}{{{\omega }_{{{P}_{i}}}}}}{m} \\ {{\omega }_{T}}=\frac{\sum\limits_{i=1}^{m}{{{\omega }_{{{T}_{i}}}}}}{m} \\ \end{array} \right.$ | (5) |
基于历史攻击偏好的方法从攻击的角度,根据历史攻击数据,计算得到评估属性的重要性权重.本节将从防护措施的角度出发,利用部署了防护措施后在攻防场景中收集的指标数据,使用熵权法计算评估属性的重要性权重.
熵是热力学中的概念,最初由香农引入信息论,作为系统无序程度的度量,也用于表示数据所包含有效信息量的多少.熵值越高,则评价对象在某项指标上的差异度越小,其包含的有效信息越少,权重越低;反之则越高.特别地,当各评价对象在某项指标的值完全相同时,熵值达到最大,此时,该评价指标对于选择评价对象的决策活动无法提供有用信息,可以考虑从评价指标中剔除,也即其重要性权重为0.当某一评估属性的区分度越大,也即确定性越大时,其提供的信息量越多,其所需的额外的信息量也就越少.为了充分利用现有信息,减少由于信息获取而增加的成本,该区分度越大的评估属性,其权重越大.
利用熵权法计算第j个评估属性的重要性权重的方法如下:
·首先,计算第j个评估属性的熵值:
${{E}_{j}}=-\frac{1}{\ln n}\sum\limits_{i=1}^{n}{{{p}_{ij}}\ln {{p}_{ij}}}$ | (6) |
其中,${{p}_{ij}}=\frac{{{z}_{ij}}}{\sum\limits_{i=1}^{n}{{{z}_{ij}}}}$表示第i个方案中的第j个评估属性与所有方案的第j个评估属性之和的比值,n是决策方案的数目.
·然后,计算差异度Gj.差异度Gj表示方案集中第j个指标的差异程度.指标差异越大,Ej越小,Gj越大;反之,Ej越大,Gj越小.计算公式如下:
Gj=1-Ej. |
·最后,对差异度进行标准化,得到第j个指标的权重:
${{w}_{j}}=\frac{{{G}_{j}}}{\sum\limits_{j=1}^{m}{{{G}_{j}}}}$ |
综上,第j个评估属性的熵权计算公式为
${{w}_{j}}=\frac{(1-{{E}_{j}})}{m-\sum\limits_{j=1}^{m}{{{E}_{j}}}}$ | (7) |
其中,m是评估属性的个数.本文中,评估属性为合法用户平均等待时间Tres及合法用户请求应答率Pres,即m=2.
根据公式(7)得到根据熵权法求得的评估属性的重要性权重.
综上,本文分别从攻击和防护的角度提出了基于历史攻击偏好和基于熵权法的评估属性重要性权重计算方法,接下来将介绍如何使用重要性权重进行防护措施的遴选.
3.3 基于多属性决策的防护措施遴选本文提出的基于多属性决策的DDoS防护措施遴选方法参考了TOPSIS方法.TOPSIS方法是常见的多目标决策方法之一,它对原始数据进行同趋势和归一化的处理后,消除了不同指标量纲的影响;利用原始数据的信息,充分反映各方案之间的差距,客观真实地反映实际情况;对样本资料无特殊要求,具有普遍适用性.TOPSIS方法在企业经济效益分析、顾客满意程度调查、软件项目风险评价等方面都得到了广泛应用.TOPSIS方法的基本思路是定义决策问题的正理想解和负理想解,通过寻找距离正理想解最近又距离负理想解最远的解来确定最佳方案.正理想解是假定的最好的方案,负理想解是假定的最差的方案,这两者往往是不可行的.在寻找最佳方案时,通常距离正理想解最近的方案未必是距离负理想解最远的方案,因此,实际中使用相对接近度对待选方案进行排序.
本文提出的基于多属性决策的DDoS防护措施遴选算法步骤如下.
为了体现攻击和防护对合法用户请求应答率Pres和合法用户平均等待时间Tres的改变程度,首先对公式(1)中决策矩阵M中的元素使用公式(8)进行变换:
$\left\{ \begin{array}{*{35}{l}} {{P}_{i}}_{\_t}=\frac{{{P}_{i}}-{{P}_{w}}}{{{P}_{0}}-{{P}_{w}}} \\ {{T}_{i\_t}}=\frac{{{T}_{i}}-{{T}_{0}}}{{{T}_{w}}-{{T}_{0}}} \\ \end{array} \right.$ | (8) |
其中,P0和T0分别是目标系统在没有攻击且没有防护时收集的合法用户请求应答率和合法用户平均等待时间,Pw和Tw分别是目标系统在没有防护且受到攻击时收集的合法用户请求应答率和合法用户平均等待时间.
此时,决策矩阵M变为Mt.
${{M}_{t}}=\left( \begin{matrix} {{{{P}'}}_{1\_t}} & {{{{T}'}}_{1\_t}} \\ {{{{P}'}}_{2\_t}} & {{{{T}'}}_{2\_t}} \\ {{{{P}'}}_{3\_t}} & {{{{T}'}}_{3\_t}} \\ \vdots & \vdots \\ {{{{P}'}}_{n\_t}} & {{{{T}'}}_{n\_t}} \\ \end{matrix} \right)$ | (9) |
然后,对公式(9)中决策矩阵Mt中的元素使用公式(10)进行正规化处理.
${{{m}'}_{ij}}=\frac{{{m}_{ij}}}{\sqrt{\sum\limits_{i=1}^{n}{m_{ij}^{2}}}}$ | (10) |
其中,${{{m}'}_{ij}}$是正规化之后的第i个方案的第j个评估属性,mij是矩阵Mt中第i个方案的第j个评估属性.
由${{{m}'}_{ij}}$构成了正规化决策矩阵M'.
${M}'=\left( \begin{matrix} \begin{matrix} {{{{P}'}}_{1}} \\ {{{{P}'}}_{2}} \\ {{{{P}'}}_{3}} \\ \vdots \\ {{{{P}'}}_{n}} \\ \end{matrix} & \begin{matrix} {{{{T}'}}_{1}} \\ {{{{T}'}}_{2}} \\ {{{{T}'}}_{3}} \\ \vdots \\ {{{{T}'}}_{n}} \\ \end{matrix} \\ \end{matrix} \right)$ |
然后,将M'右乘权重向量w,得到加权正规化决策矩阵Z.
$Z=w{M}'=\left( \begin{matrix} {{w}_{p}} \\ {{w}_{t}} \\ \end{matrix} \right)\left( \begin{matrix} \begin{matrix} {{{{P}'}}_{1}} \\ {{{{P}'}}_{2}} \\ {{{{P}'}}_{3}} \\ \vdots \\ {{{{P}'}}_{n}} \\ \end{matrix} & \begin{matrix} {{{{T}'}}_{1}} \\ {{{{T}'}}_{2}} \\ {{{{T}'}}_{3}} \\ \vdots \\ {{{{T}'}}_{n}} \\ \end{matrix} \\ \end{matrix} \right)¥ |
在传统TOPSIS方法中,w由专家或者决策者给出,用于反映各个评估属性的重要性.本文为了减少主观因素的影响,分别从攻防两方面以基于历史攻击偏好的方法和熵权法计算w.
然后,选取加权正规化决策矩阵Z中各列最好的属性作为正理想解.
${{Z}^{*}}=\{\underset{i}{\mathop{\max }}\,{{z}_{ij}}|i=1,2,3,...,n\}=\{z_{P}^{*},z_{T}^{*}\}.$ |
选取加权正规化决策矩阵Z中各列最差的属性作为负理想解.
${{Z}^{-}}=\{\underset{i}{\mathop{\min }}\,{{z}_{ij}}|i=1,2,3,...,n\}=\{z_{P}^{-},z_{T}^{-}\}.$ |
求解各方案到正理想解和负理想解的距离.对于方案i,与正理想解的距离为
$S_{i}^{*}=\sqrt{\sum\limits_{j=1}^{2}{{{({{z}_{ij}}-z_{j}^{*})}^{2}}}},i=1,2,3,...,n;$ |
$S_{i}^{-}=\sqrt{\sum\limits_{j=1}^{2}{{{({{z}_{ij}}-z_{j}^{-})}^{2}}}},i=1,2,3,...,n.$ |
根据到正、负理想解的距离计算方案i的相对接近度.
$C_{i}^{*}=\frac{S_{i}^{-}}{S_{i}^{*}+S_{i}^{-}},$ |
其中,$C_{i}^{*}$的值域是(0,1).越接近理想解,$C_{i}^{*}$的取值就越接近于1.可以根据各个方案的$C_{i}^{*}$的取值对防护方案集Defence中所有的防护方案进行排序,进而从中选择最优的方法.上述整个过程即为DCSM模型中的映射关系φ.
在此基础上得到DDoS防护措施遴选算法,如算法1所示.
算法1. DDoS DefenseCountermeasure Selection.
输入: Set of countermeasures with value of evaluationattributes, Historical attack data (if available);
输出: Rank of eachcountermeasure.
BEGIN
1.Let M represents the decision matrix, each row of which consists ofattributes’ value of every countermeasure;
2. M_t=transform(M)
3. M_n=Normolize(M_t);
4. IF based on history attack data HData (from attackperspective),
5. w=HistoryBasedMethod(HData);
6. ELSE (from defense perspective)
7. w=EntropyMethod(M_n);
8. Z=wxM_n;
9. Z*=FindPositiveIdealSolution(Z);
10. Z-=FindNegativeIdealSolution(Z);
11. $S_{i}^{*}=\sqrt{\sum\limits_{j=1}^{2}{{{({{z}_{ij}}-z_{j}^{*})}^{2}}}},{{z}_{ij}}\in Z,z_{j}^{*}\in {{Z}^{*}};$
12. $S_{i}^{-}=\sqrt{\sum\limits_{j=1}^{2}{{{({{z}_{ij}}-z_{j}^{-})}^{2}}}},{{z}_{ij}}\in Z,z_{j}^{-}\in {{Z}^{-}};$
13. $C_{i}^{*}=\frac{S_{i}^{-}}{S_{i}^{*}+S_{i}^{-}}$;
14. Rank countermeasures accroding to the value of $C_{i}^{*}$;
END
该算法首先记录各个防护措施在受到攻击时每项评估属性的属性值,构建决策矩阵M.将决策矩阵M中的元素使用公式(8)进行变换得到矩阵Mt,接着使用公式(10)正规化之后得到正规化决策矩阵M'.如果从攻击的角度计算重要性权重,则使用公式(5)计算权重向量w;否则,使用公式(7).然后,将权重向量w左乘正规化决策矩阵M',得到加权正规化决策矩阵Z.然后,利用Z构造正理想解Z*和负理想解Z-,并分别计算出每个防护措施与正、负理想解的距离S*与S-,最终计算出每个防护措施与正理想解的相对接近度C*,将防护措施按照C*从大到小排序,得到防护措施的排序结果.
4 模拟实验 4.1 实验方案本文使用网络仿真软件SSFNet[19]进行模拟实验.为不失一般性,在保证连通性的前提下,实验采取随机生成拓扑的方法对真实网络进行模拟.本文使用100台路由器进行随机拓扑的生成,攻击者、受害主机和合法用户均连接在路由器上.攻击者和合法用户向受害主机发送请求,受害主机对合法用户和攻击者的请求做出响应.拓扑示意图如图 2所示.
实验采用网络中常见的SYN flood作为典型的DDoS攻击方式.SYNflood攻击通过与受害主机进行不完全的TCP 3次握手,使受害主机长时间维持大量无用的半开连接,无法响应合法用户的正常请求,甚至令受害主机资源耗尽,从而达到拒绝服务的目的.
实验选取地址黑名单和增大半开队列长度两类防护措施作为候选防护措施,从中进行防护措施的遴选.地址黑名单通过识别并阻断攻击源以减少攻击流量,对目标系统进行保护;增大半开队列长度通过增大维持的半开连接的上限,提高目标系统对攻击的抵抗能力.实验分别模拟识别并阻断10个、30个、50个攻击源以及将半开队列长度从4 000分别增大为5 000和6 000时的情况,即,防护措施集合为
Defence={阻断10个攻击源,阻断30个攻击源,阻断50个攻击源,半开队列长度增大为5000,半开队列长度增大为6000}.
实验分为如下两部分:
·第1部分实验对神经网络进行训练,并通过实验验证预测效果.使用SSFNet选取多组BWthres,Ratt,Qlimit进行实验,将实验结果作为训练数据集对神经网络进行训练,并对预测效果进行验证.训练时,BWthres, Ratt,Qlimit为输入向量,Pres和Tres为目标向量;
·第2部分实验利用训练好的神经网络从攻击角度计算重要性权重,同时,使用熵权法从防护角度计算重要性权重,使用这两种权重以基于多属性决策的防护措施遴选方法对候选防护措施进行遴选.最后,对比传统的对重要性权重进行人为赋值的TOPSIS方法,分析不同方法对防护措施选择结果的影响.
4.2 实验及结果分析为了更好地贴近目标系统的实际情况,基于历史攻击偏好的方法使用目标系统受到攻击的历史数据对重要性权重进行计算.由于本文采用的评估指标无法直接通过日志记录,因此我们使用神经网络,以能够记录在日志中的指标作为输入,通过训练,预测出相应的合法用户请求应答率和合法用户平均等待时间.下面将首先对神经网络的预测能力进行验证,通过验证结果说明将神经网络应用在实际计算中的可行性.
使用SSFNet,在目标系统没有防护的情况下,使用表 1中的实验参数进行DDoS攻击模拟,得到实验数据.其中,僵尸主机数目(Szombie)、半开队列长度(Qlimit)、僵尸主机攻击间隔(Iatt)、瓶颈链路带宽(BWthres)、合法用户数目(Suser)都会影响请求频率(Ratt).我们将使用这些数据对神经网络进行训练和测试.
为了充分证明神经网络的预测能力,实验使用k折交叉验证(k-foldcross-validation)方法进行预测效果验证, k=10.具体来说,我们将实验数据随机均等分为10份,轮流取出1份作为测试集,剩下的9份作为训练集,总共进行10次训练和预测.通过10次的“训练-测试”实验来验证神经网络的预测效果.我们使用预测结果和实际结果的相对误差作为指标.相对误差的计算公式如公式(11)所示.
$relative{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} error = \frac{{|predict{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} value{\rm{ - }}real{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} value|}}{{real{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} value}}$ | (11) |
根据公式(11),计算得到的10次“训练-测试”实验的相对误差的平均值数据见表 2,可以看到,所有相对误差均小于5%,证明了神经网络的预测能力.
接下来将进行模拟攻击实验,并根据实验数据进行防护措施的遴选.
首先使用SSFNet对候选防护措施进行模拟,并进行攻击,记录合法用户请求应答率Pres和合法用户平均等待时间Tres,实验数据见表 3.
然后计算评估属性的重要性权重.下面将分别从攻击和防护角度使用基于历史攻击偏好的方法和熵权法计算评估属性的重要性权重.
当从攻击角度进行评估属性的重要性权重计算时,将使用公式(5)进行计算.其中,没有受到攻击时的合法用户请求应答率和合法用户平均等待时间如表 3第1行所示,受到攻击时的合法用户请求应答率和合法用户平均等待时间使用训练好的神经网络根据收集的模拟攻击指标数据进行预测得到.收集的指标见表 4.
将Qlimit,Ratt,BWthres作为神经网络的输入向量,求得Pres和Tres分别为0.771 101,15.836 6.
由于本文模拟实验中只进行了1次攻击,因此使用公式(4)计算评估属性的重要性权重.结果为
wP_h=0.206498,wT_h=0.793502. |
即,使用基于历史攻击偏好的方法求得的评估属性重要性权重向量为
${w_h} = \left( {\begin{array}{*{20}{c}} {0.206498}\\ {0.793502} \end{array}} \right)$ | (12) |
当从防护角度使用熵权法计算重要性权重时,利用公式(6)计算评估属性的熵值:
EP=0.996000,ET=0.996178, |
之后,利用公式(7)计算重要性权重:
wP_e=0.5108,wT_e=0.4892. |
即,使用熵权法求得的评估属性重要性权重向量为
${w_e} = \left( {\begin{array}{*{20}{c}} {0.5108}\\ {0.4892} \end{array}} \right)$ | (13) |
接下来将使用算法1对防护措施集合进行遴选,过程如下.
首先,根据表 3的数据进行转换和归一化处理,得到矩阵M':
$M' = \left( {\begin{array}{*{20}{c}} {\begin{array}{*{20}{c}} {0.015139}\\ {0.022885}\\ {0.025709}\\ {0.681314}\\ {0.731025} \end{array}} {\begin{array}{*{20}{c}} {0.418094}\\ {0.388383}\\ {0.387155}\\ {0.510169}\\ {0.513999} \end{array}} \end{array}} \right).$ |
当从攻击角度进行遴选时,利用wh左乘M'计算得到加权正规化决策矩阵Zh.
${Z_h} = \left( {\begin{array}{*{20}{c}} {\begin{array}{*{20}{c}} {0.003126}\\ {0.004726}\\ {0.005309}\\ {0.14069}\\ {0.150955} \end{array}} {\begin{array}{*{20}{c}} {0.331758}\\ {0.308183}\\ {0.307208}\\ {0.40482}\\ {0.407859} \end{array}} \end{array}} \right).$ |
从加权正规化决策矩阵Zh中选取正理想解$Z_h^*$和负理想解$Z_h^ - $.需要指出的是:合法用户请求应答率是效益型指标,越大越好;合法用户平均等待时间是成本型指标,越小越好.
$\begin{array}{l} Z_h^* = (0.150955,{\kern 1pt} {\kern 1pt} 0.307208),\\ Z_h^ - = (0.003126,{\kern 1pt} {\kern 1pt} 0.407859). \end{array}$ |
分别计算5种防护措施到正、负理想解的距离,求解各个防护措施的相对距离$C_h^*,$并进行排序,结果见表 5.在5种防护措施中,将优先选择将半开队列长度增大到6 000的防护措施.
当从防护角度进行遴选时,利用we左乘M'计算得到加权正规化决策矩阵Ze.
${Z_e} = \left( {\begin{array}{*{20}{c}} {\begin{array}{*{20}{c}} {0.007733}\\ {0.01169}\\ {0.013132}\\ {0.348015}\\ {0.373408} \end{array}} {\begin{array}{*{20}{c}} {0.204531}\\ {0.189997}\\ {0.189396}\\ {0.249575}\\ {0.251448} \end{array}} \end{array}} \right).$ |
从加权正规化决策矩阵Ze中选取正理想解$Z_e^*$和负理想解$Z_e^ - $.需要指出的是:合法用户请求应答率是效益型指标,越大越好;合法用户平均等待时间是成本型指标,越小越好.
$\begin{array}{l} Z_e^* = (0.373408,{\kern 1pt} {\kern 1pt} 0.189396),\\ Z_e^ - = (0.007733,{\kern 1pt} {\kern 1pt} 0.251448). \end{array}$ |
分别计算5种防护措施到正、负理想解的距离,求解各个防护措施的相对距离$C_e^*,$并进行排序,结果见表 6.在5种防护措施中,将优先选择将半开队列长度增大到6 000的防护措施.
下面使用传统的TOPSIS方法进行实验,与本文方法的实验结果进行对比.假设传统的TOPSIS方法对权重向量赋值为
${w_t} = \left( \begin{array}{l} 0.3\\ 0.7 \end{array} \right).$ |
此时,正规化正交决策矩阵为
${Z_t} = \left( {\begin{array}{*{20}{c}} {0.004542} {0.292666}\\ {0.006866} {0.271868}\\ {0.007713} {0.271008}\\ {0.204394} {0.357118}\\ {0.219307} {0.369799} \end{array}} \right).$ |
根据算法1最终得到各个防护措施的相对距离$C_t^*$及排序结果,结果见表 7.在5种防护措施中,将优先选择将半开队列长度增大到6 000的防护措施.
通过表 3可以看出:在地址黑名单的防护措施中,阻断50个攻击源的防护措施效果最好;在增大半开队列长度的防护措施中,将半开队列长度增大到6 000的防护措施效果最好.这在表 5~表 7的排名中均有体现.但是阻断50个攻击源的防护措施和将半开队列长度增大到6 000的防护措施二者各有优劣:前者的合法用户平均等待时间更短,后者的合法用户请求应答率更高.因此,这两个防护措施是所有5个防护措施中的非劣解.所谓非劣解是指不存在一个解使得该解的所有属性均优于非劣解.这是由于多属性决策中的矛盾性所导致的.
如上所述,本文提出的基于多属性决策的防护措施遴选方法分别从攻击和防护的角度选择了增大半开队列长度至6 000的防护措施,同时,传统的TOPSIS方法在重要性权重为(0.3,0.7)的情况下也选择了增大半开队列长度至6 000的防护措施.这3种方法选择的都是非劣解集中的防护措施,且是同一个防护措施,因此,这3种方法的选择都是正确的.
虽然本文提出的方法和传统的TOPSIS方法都选择了非劣解集中的防护措施,但是传统的TOPSIS方法的权重向量由人为指定,存在主观性,会造成选择结果的不确定.如果实验中传统的TOPSIS方法指定的重要性权重为(0.15,0.85),此时通过计算得到的各个防护措施与理想解的相对距离见表 8.此时应选择阻断50个攻击源的防护措施,而不是重要性权重为(0.3,0.7)时选择的增大半开队列长度至6 000的防护措施.这种赋值的主观性在实际应用中会导致由于是不同的使用者而使得人为赋值的重要性权重有所不同,因此最终选择的防护措施不一致的情况出现.而本文提出的方法只要指标数据确定,无论从攻击角度还是防护角度计算得到的重要性权重都不会改变,即使使用者不同,也不会造成结果的差异,因此减少了传统TOPSIS方法的主观性和不确定性.综上,本文提出的措施遴选方法可以选择出非劣解集中的防护措施,减少了由于人为赋值引入的主观性因素.
本文提出的基于多属性决策的防护措施遴选方法分别使用基于历史攻击偏好的方法和熵权法计算重要性权重,其结果都成功选择了非劣解集中的防护措施.但是这两种计算方法还存在不同:前者因为考虑了历史攻击的偏好状况,所以使用该方法计算得到的权重对于实际攻击防护而言更具有针对性,但该方法需要使用历史数据对神经网络进行训练,应用条件较为复杂;后者基于熵权法的计算方法,其最大的优势在于不需要事先获取历史数据,使用范围更广,但是也因此存在选择结果针对性不强的情况.因此,当存在系统日志可以提取历史数据时,可使用基于历史攻击偏好的方法计算重要性权重,以便结果更有针对性;当无法获取历史数据时,则使用熵权法计算重要性权重更加合适.
5 总 结针对现有评价方法对防护措施选择指导性不强的问题,本文首先构建了DDoS防护措施遴选模型(DCSM).在此基础上,本文提出基于多属性决策的DDoS防护措施遴选方法.该方法利用多角度的评估指标,基于DDoS攻防实际,分别从攻击和防护的角度以基于历史攻击偏好的方法和熵权法计算评估属性的重要性权重并进行防护措施的排序,最后,根据计算结果对DDoS防护措施的遴选进行指导.在实验部分,使用SSFNet模拟常见的SYN flood攻击对地址黑名单和增大半开队列长度两类防护措施进行评估,验证了本文提出的防护措施遴选方法的正确性.通过对比传统TOPSIS方法,验证了本文方法对于减少主观因素影响的效果.
后续研究工作包括增加对防护措施成本的考虑,更加全面地对防护措施进行考量;引入模糊数学以应对无法获取准确指标值的场景;结合攻防两个角度,提出综合的措施遴选方法等.
[1] | ButlerSA. Improving security technology selections with decision theory. In: Proc. ofthe 3rd Workshop on Economics-Driven Software Engineering Research. 2001. 1-4. http://www.cs.cmu.edu/afs/cs/project/vit/ftp/pdf/improv.butler.pdf |
[2] | PengT, Leckie C, Ramamohanarao K. Survey of network-based defense mechanismscountering the DoS and DDoS problems. ACM Computing Surveys, 2007,39(1):3 . |
[3] | Mirkovic J, Reiher P. A taxonomy of DDoSattack and DDoS defense mechanisms. SIGCOMM Computer Communication Review, 2004,34(2):39-53 . |
[4] | SpechtSM, Lee RB. Distributed denial of service: Taxonomies of attacks, tools, andcountermeasures. In: Proc. of the ISCA PDCS. 2004. 543-550. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.133.4566 |
[5] | Mölsä JVE. A taxonomy of criteria forevaluating defence mechanisms against flooding DoS attacks. In: Proc. of the 1stEuropean Conf. on Computer Network Defence. London: 1Springer-Verlag, 2006.3-22 . |
[6] | Butler SA. Security attribute evaluationmethod: A cost-benefit approach. In: Proc. of the 24th Int’l Conf. on SoftwareEngineering. Orlando: ACM Press, 2002.232-240 . |
[7] | Bellaiche M, Gregoire J. Measuringdefence systems against flooding attacks. In: Proc. of the Wireless Communicationsand Mobile Computing Conf. 2008. 600-605. http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4600003&tag=1 |
[8] | Schwab S, Wilson B, Thomas R. Methodologiesand metrics for the testing and analysis of distributed denial of serviceattacks and defenses. In: Proc. of the Military Communications Conf. 2005. 2686-2692 . |
[9] | Meadows C. A formal framework andevaluation method for network denial of service. In: Proc. of the 1999 IEEEComputer Security Foundations Workshop. 1999.4-13 . |
[10] | Mirkovic J, ArikanE, Wei SJ, Thomas R, Fahmy S, Reiher P. Benchmarksfor DDoS defense evaluation. In: Proc. of the Military Communications Conf.2006 (MILCOM 2006). 2006.1-10 . |
[11] | Mirkovic J, ReiherP, Fahmy S, Reiher P, Thomas R. Measuring denial ofservice. In: Proc. of the Conf. on Computer and Communications Security. Alexandria,2006. 53-58. http://dl.acm.org/citation.cfm?id=1179506 |
[12] | Mirkovic J, HussainA, Wilson B, Fahmy S, Reiher P, Thomas R, Yao WM, Schwab S. Towards user-centric metrics fordenial-of-service measurement. In: Proc. of the Workshop on Experimental ComputerScience. San Diego, 2007 . |
[13] | Li ZW, Xiang Y, HeDS. Simulation and analysis of DDoS in active defenseenvironment. In: Proc. of the Computational Intelligence and Security. Guangzhou, 2006.878-886 . |
[14] | Zuo J. MultiCriteria Decision Making. Hangzhou: Zhejiang University Press, 1991 (in Chinese). |
[15] | Zhang YR, Xian M,Wang GY. A quantitative evaluation technique of attack effect of computernetwork based on network entropy. Chinese Journal on Communications, 2004,25(11):158-165 (in Chinese with English abstract). |
[16] | Zhao JJ, Wen Y, WangDX. A network security evaluation method frameworkbased on multiple criteria decision making theory. In: Proc. of the 2011 5thInt’l Conf. on Innovative Mobile and Internet Services in Ubiquitous Computing(IMIS). 2011.371-375 . |
[17] | Dewri R,Poolsappasit N, Ray I, Whitley D. Optimal securityhardening using multi-objective optimization on attack tree models of networks.In: Proc. of the 14th ACM Conf. on Computer and Communications Security. NewYork: ACM Press, 2007.204-213 . |
[18] | Huang L, Feng DG,Lian YF, Chen K. Artificial neural network based DDoS defense effectivenessevaluation. Chinese Journal of Computer Research and Development, 2013,50(10):2100-2108 (in Chinese with English abstract). |
[19] | SSF Research Network. Scalable simulation framework network models. 2013. http://www.ssfnet.org/homePage.html |
[20] | Han LQ. TheTutorial of Artificial Neural Network. Beijing: Beijing University of Posts andTelecommunications Press, 2006 (in Chinese). |
[14] | 左军.多目标决策分析.杭州:浙江大学出版社,1991. |
[15] | 张义荣,鲜明,王国玉.一种基于网络熵的计算机网络攻击效果定量评估方法.通信学报,2004,25(11):158-165. |
[18] | 黄亮,冯登国,连一峰,陈恺.基于神经网络的DDoS防护绩效评估.计算机研究与发展,2013,50(10):2100-2108. |
[20] | 韩力群.人工神经网络教程.北京:北京邮电大学出版社,2006. |