陈赵懿, 高秀峰, 曲 直
(陆军工程大学石家庄校区模拟训练中心, 河北 石家庄 050003)
由于Ad hoc网络不依赖固定基础设施,因此比传统网络更容易遭受各种安全威胁,如窃听、重放、篡改报文和拒绝服务等。现有的网络风险评估方法可分为4大类:定量评估、定性评估、定性与定量相结合的集成评估以及基于模型的评估[1]。单纯采用定性或定量评估方法都不能完整地描述整个评估过程。相比而言,基于博弈论模型的安全分析方法可以对网络攻防行为进行推演,对网络风险进行有效预判。
博弈论作为一种研究参与者之间竞争与合作关系的数学理论工具,已广泛应用于Ad hoc网络的节点合作、入侵检测、资源分配、动态功率调整等问题的研究。沈士根[2]综述了博弈论在无线传感器网络安全方面的应用;AMIN等[3]提出了网络资源受限条件下节点间合作博弈的入侵检测系统模型;唐洁[4]根据贝叶斯博弈理论建立了节点转发博弈模型,改进了节点激励策略,提升了网络整体性能;WANG等[5]提出贝叶斯攻防模型,考虑了信道噪声对攻防策略收益的影响,研究了与恶意节点共存的问题;BASANT等[6]提出了一种基于多层博弈论的入侵检测框架,研究了车载自组网的安全。但上述博弈模型大多在以下3个方面考虑不足:一是没有考虑实际Ad hoc环境中的攻击方法具有多样化的特点;二是没有考虑攻击检测率与误检率随攻击类型与强度的变化,而这些都会直接影响博弈模型中攻防双方的收益;三是没有考虑节点资产价值与权重,Ad hoc网络中的节点不同,其风险也不同,需要区别对待[7]。
笔者采用2人非合作博弈描述网络攻击者与防御者的博弈过程,从攻击检测率、误检率、节点资产权重、不同攻击方式等多方面综合量化攻防双方收益,使模型更符合网络实际,通过求解博弈模型的纳什均衡解,可预测每个节点的风险与最优攻防策略。主要从资产、脆弱性以及攻击角度对Ad hoc网络风险进行评估,依据这些要素给出常用网络风险表达式为
R(W,V,T)=R(λ(W),P(T,W),B(T,W,V)),
(1)
式中:R为风险;W为资产;V为脆弱程度;T为威胁;P为概率;B为攻击对网络节点造成的损失;λ为节点资产权重。
风险评估流程如图1所示。首先,利用攻防博弈模型求解每个节点的攻击概率与攻击损失;然后,求解节点风险;最后,结合节点资产权重,对网络整体风险进行评估。
Ad hoc具有节点资源有限、缺乏集中管理、网络拓扑动态变化等固有属性,较容易受到网络攻击。入侵检测系统(Intrusion Detection System,IDS)是保护Ad hoc安全的一道防线,一种最安全而朴素的IDS实现方法就是激活每个网络节点上的检测机制,但这种实现方式并不适合资源受限的Ad hoc网络环境,所以防御系统在最大化网络安全方面与攻击者存在博弈。
Ad hoc网络中的恶意节点可发动网络攻击,为博弈攻击者,它的目的是在被发现和捕获的最小概率前提下,最大化地破坏Ad hoc网络的通信,通过丢包、泛洪等手段占用网络资源和干扰网络通信而获取利益。
按攻击性质,Ad hoc网络攻击可以分为被动攻击和主动攻击。被动攻击的目的是从网络中窃取有用信息,而不干扰破坏网络正常通信,如窃听等;主动攻击目的是破坏网络正常通信,造成网络拥塞,消耗网络和节点资源,如Dos攻击、黑洞攻击等[8]。按攻击实施位置可以分为外部攻击和内部攻击[9]。也可按网络层次进行分类[10],其中路由攻击是实施较多的攻击,包括黑洞、灰洞、虫洞、泛洪、Sybil和Rushing攻击等[11]。理智攻击者常常采用不连续、多种攻击策略相组合方式进行攻击,以降低被检测发现的概率。
Ad hoc网络中节点所处位置和担负的角色决定了其对网络的重要程度。选择那些安全性薄弱且对网络重要的节点进行攻击,对系统造成的风险会更大。
根据Ad hoc网络特点,定义节点资产价值
wx=100×(e1×sx+e2×cx+e3×mx+e4×dx),
(2)
式中:ek(k=1,2,3,4)为权重因子;sx为节点等级;mx为节点能量;cx为偏心率;dx为节点度数。这些参数归一化后参与计算。各参数说明如下:
1)sx。在实际的Ad hoc网络中,节点等级越高,其权限越大,承担的任务越重要;在同级同质网络中,该参数权重因子可设置为0。
2)mx。为保持网络结构的稳定性,一般能量小的节点风险较大,需重点保护,以防止其能量耗尽而造成网络路由中断。若所有节点能量足够充沛,该参数权重因子可设置为0。
4)dx。一般认为节点度越大的节点在网络中越重要[13],即受到恶意攻击时,其所影响的范围越广。
Ad hoc网络中,节点资产可以通过节点发送的hello报文相互告知,节点资产不仅影响攻防策略的收益,也影响网络的整体风险评估。
网络攻防是一个复杂问题,攻防双方依据各自策略选择攻防动作,网络在攻防双方的联合行为作用下进行推演。假设网络对抗中攻防双方都是理性的,目的都是获得各自最大收益。
定义Ad hoc攻防博弈模型(Ad hoc Game Model,AGM)为一个9元组:AGM={P,S,U,C,B,δ,θ,β,F}。相关参数说明如下:
1)P={攻击者A,防御者D},为博弈参与者,即Ad hoc网络攻击者与防御者;
3)U=Ua×Ud,为攻防效用函数,取值为实数;
4)C=Ca×Cd,为攻防双方采取纯策略的操作代价;
5)B=Ba×Bd,为攻防双方采取某策略的获利,与策略与节点资产有关;
6)δ为攻击方被防御而受到的惩罚代价,是攻击者前期的准备成本,也表示失去潜在威胁的损失;
7)F={f(w)},其中f(w)为防御措施给网络带来的负面损失,即采取防御后导致系统无法正常提供服务的损失;
8)β为系统误检率,与入侵检测系统有关;
效用函数表示攻防双方从博弈中最终得到的收益水平。对于博弈参与者,效用值即为采取某行为后,其收益与代价的差值。在实际应用中,攻防双方的收益受攻击目标、攻防策略等多方面因素的影响,效用函数量化是网络攻防最优策略选取的基础,量化是否合理直接影响策略选取结果,对其量化需要参考历史数据、仿真实验、网络环境和专家经验等。
表1 博弈模型攻防双方效用函数
双方攻防效用期望
(3)
(4)
纳什均衡求解算法为
minv=Ua(Pa*,Pd*)-Ua+Ud(Pa*,Pd*)-Ud;
其中,Ua(Pa*,Pd*)和Ud(Pa*,Pd*)分别表示攻击者和防御者在纳什均衡点的期望效用。
美国国家标准局提出的风险计算方法
(5)
得到广泛认可与应用[14]。式中:I(Oi)为风险Oi的损失值;Fi为风险Oi发生的概率。参考该计算方法,定义Ad hoc节点风险计算公式为
(6)
节点风险值为攻防策略下攻击发生的概率及攻击所造成损失的乘积。该值能更客观地反映网络的风险状况。Ad hoc网络整体风险为各节点风险值的综合,其风险期望为
(7)
式中:λx为各节点资产权重,其可根据各节点资产价值wx归一化得到。
根据Ad hoc网络环境,可获取攻击检测率、误检率、攻击的获利、防御的负面损失等参数。具体评估算法如下。
输入:AGM
输出:Ad hoc网络风险值
Step 1:初始化攻击策略的检测率θ和误检率β;
Step 2:初始化AGM;
Step 3:计算网络节点资产;
Step 4:循环网络所有节点;
Step 6:调用纳什均衡算法,计算攻防双方混合策略(Pa*,Pd*);
Step 7:结束Step 4的循环;
Step 8:根据节点风险公式,计算网络每个节点的风险值;
Step 9:计算网络整体风险值。
DU等[15]证明了纳什均衡算法的时间复杂度是多项式级别,本文模型的计算时间主要取决于纳什均衡子算法的求解和网络节点的规模,因此,整个算法具有多项式级别的时间复杂度。
根据纳什均衡算法,推导、分析不同参数下的最优攻防策略与网络风险。
4) 当不存在占有策略时,博弈参与者将以混合策略形式选择攻防动作。
5) 相对攻击和防御获利,当攻击与防御成本很小,可以忽略不计,此时为二人非合作零和博弈模型。
为进一步阐述本文所提AGM模型和算法的可行性和有效性,利用OMNet++软件进行Ad hoc网络的仿真实验。
Ad hoc网络仿真实验拓扑结构如图2所示,仿真区域300 m×200 m,节点10个,发射距离250 m,节点能量相同,路由协议AODV。根据节点资产公式,资产W=(89,100,67,67,56,56,56,44,44,56),权重λ=(0.18,0.2,0.13,0.13,0.11,0.11,0.11,0.09,0.09,0.11)。根据纳什均衡算法和风险评估算法,求解网络风险值。
表2 最优攻击策略和节点风险值
笔者针对Ad hoc网络特点,依据攻防双方策略,提出了基于攻防博弈下的网络风险评估模型。该模型框架综合攻击检测率、误检率、节点资产价值、攻击惩罚损失和防御措施负面损失等因素,更符合实际;根据风险计算公式,给出网络风险评估算法,从实验数据分析,本模型操作简单,切实可行,能有效预测攻击策略和网络节点的风险,可为管理者提高网络安全提供参考。