叶春果陈丽娜李 晖范 渊苗春雨∗
(1.浙江邮电职业技术学院通信技术院,浙江 杭州 312000;2.浙江师范大学网络应用安全研究中心,浙江 金华 321004;3.西安电子科技大学网络与信息安全学院,陕西 西安 710126)
无线传感器网络已被应用于生产生活中的各个领域,如何保障无线传感器网络的安全已成为重点研究内容之一[1]。 目前针对无线传感器网络的安全研究主要分为两个方面:①基于无线传感器网络的通信协议的安全解决方案,这类安全解决方案仅包括一些数据加密和身份认证等技术,无法应对复杂攻击[2]。 ②无线传感器网络的攻击抵御,现有的无线传感器网络抵御机制通常是针对不同场景下的具体攻击,例如协作频谱感知[3],802.15.4MAC 协议[4],或者抵御机制[5]。 针对这类抵御机制,本文提出了两个关键问题:临时抵御问题和最优抵御问题。
临时抵御问题 现有的抵御机制通常是针对某种具体攻击而设计的,因此随着攻击方式的变化,抵御机制将无法抵御各类不同的攻击。 例如,在各类研究中一般只针对某种特定的攻击,并设计一种针对该攻击类型的抵御算法[6-7]。 但当这种攻击进行微小的改变后会导致原本的抵御算法对变化后的攻击失效。
最优抵御问题 该类问题的攻击方法和抵御方法往往难以被精确地建模,现有的大多数抵御方法是基于历史数据分析而构建的,因此无法准确知道抵御方法对于某种特定攻击是否能达到最佳抵御效果,同时也不知道抵御方法的抵御效果离最佳的抵御效果有多少差距。 该问题和临时抵御问题相似:由于无法知道抵御机制对于某种攻击的最佳抵御效果,导致抵御算法无法适应攻击方法的变化。
本文从攻击者角度出发,提出一种基于MDP 的攻击策略生成方法。 该方法使用马尔科夫决策过程(MDP)对WSN 中的攻击模式进行建模。 同时,马尔科夫决策过程还可以解决临时抵御问题,即攻击者还可以通过马尔科夫决策过程来破解未知抵御方法。
针对临时抵御问题,大量研究都是基于某种特定的网络攻击而提出相应的抵御方法。 如文献[6,8-9]等都提供了抵御CCS 攻击的相关方法,这类算法缺点在于攻击者可以通过学习抵御算法的特点轻松破解它。
最优抵御问题是无线传感器网络安全研究的重要课题之一,目前的研究往往通过仿真的方式来验证抵御方法的抵御效果。 文献[8]在一个分布式的网络中评估隐性自适应数据注入攻击,通过仿真验证其提出的抵御方法的效果。 Kailkhura[10]等人通过实验评估了频谱感知数据伪造(SSDF)攻击下集中式CSS 方案的抵御性能。
马尔科夫决策过程是一个基于离散时间最优控制问题的成熟模型。 用于模拟智能体感知当前的系统状态,按一定策略对环境实施反馈,从而改变环境的状态并得到奖励。 MDP 有两种计算方式,第一种通过动态编程的方式,这种方式需要对环境的切换过程有明确的了解;第二种方式不需要对环境转化有明确的了解,而是通过机器学习的方式去认知环境的改变[11-12],在这种方式下,智能设备通过与环境的交互即可学习掌握学习对象的变化过程。 我们正是利用了它的这种能主动感知并学习抵御算法特征的能力来学习抵御方法,从生成更具有破坏力的攻击策略。
马尔科夫决策过程常被用于解决动态系统的建模问题。 MDP 能够智能的感知当前的系统状态,按一定策略对环境进行反馈调节,从而改变环境的状态并得到奖励。 马尔科夫决策过程包含5 个要素:(S,A,P,R,γ)。 定义如下:S表示环境状态的集合;A表示动作的集合;Pa(sn,sn+1)表示在时间n时,动作a使环境状态从sn改变到sn+1的概率;Ra(sn,sn+1)表示在时间n时,动作a使环境状态从sn改变到sn+1能获得预期奖励;γ表示一个折扣因素。
MDPs 的关键特征符合马尔科夫算法,即阶段n时刻到达状态s的概率仅仅取决于阶段n-1 时刻的状态。 MDP 可以是无限或者有限的,这取决于最终时间N是否是有限的。 为了评估策略的性能,我们首先定义一个策略π映射S→A,然后将使用策略后获得的总预期奖励作为策略性能的评估指标。 当某一策略得到最高累加奖励时,则该策略为最优策略,定义为π∗。 当MDP 可以获得最优策略时,则认为该MDP 可解。
本文通过研究CSS 无线传感器网络中的SSDF攻击来验证MDP 框架的优势。 CSS 网络中有两个主要的干扰来源:节点通讯误码和恶意节点干扰。 如在频谱感知数据篡改(SSDF)或拜占庭式攻击的情况下,网络中多个攻击者向数据汇聚节点(FC)提供虚假数据,从而误导FC 做出错误的决策,达到攻击的目的[13]。 目前已提出了几种抵御机制来应对SSDF 攻击,具体可以分为:硬融合,即中心节点FC 的决策依赖于部分节点的感知数据;软融合,即在节点的感知信息中添加额外的信息协助FC 进行决策。 硬融合的抵御方法有加权序列概率比测试(WSPRT)和EWSZOT[14],软融合的抵御机制有基于能级分布的统计检验法[5]。 即使目前已经有一定的网络安全技术,但该领域仍然存在许多挑战[15]。
以无线传感器网络安全为基础,我们构建了无线传感器网络的模型。 假设无线传感网络中有M个传感器节点,其中正常节点有Mn个,攻击节点有Ma个,M=Mn+Ma。 该网络以EWSZOT 方法作为网络的抵御策略,其中二进制变量ei表示每个节点向FC 发送的报文,当e=1 时表示信道繁忙,e=0 表示信道空闲,i表示传感器的编号。 在没有干预的情况下,每个节点均有可能发生信道空闲或繁忙错误的情况,假设发生错误的概概为Qc,同时每个节点评估信道错误的概率都是独立且固定的。 那么,每个ei遵循参数Qc伯努利分布,即当e=0 时,每个ei的错误概率Qc,当e=1,错误概率为1-Qc。 利用错误概率Qc。 定义FC 的决策错误总概率为qe,t,即当FC 的信道空闲时,错误地认为信道是繁忙的,反之亦然。 因此,攻击节点需要将qe,t最大化,由于EWSZOT 是基于信誉的抵御方案,攻击节点在攻击的同时还会通过伪装方式保持高信誉。 本文的目的是设计最佳的攻击策略,使得被攻击的节点能够欺骗过EWSZOT 抵御方法。
每个节点权重值计算如式(4)所示,其中avg(rn)表示所有节点的平均信誉值,Δ表示计算误差偏移系数。 从公式中可以看出,信誉较高的节点对HT的决策影响较大,参数Δ可以让错误概率Qc引起的负信誉度也能参与到决策中。
整个节点信誉计算过程还取决于节点反馈的报文顺序,EWSZOT 以信誉从高到底的顺序与前Mm个传感器节点进行交互。 确保信誉最高的节点参与到决策中。 其EWSZOT 算法详细过程如表1 所示。
表1 EWSZOT 算法实现
本章节提出了一种攻击策略生成技术。 首先我们定义两种常见的攻击策略。 ①虚拟攻击策略:这种策略被广泛使用,即攻击节点始终执行预定义策略进行攻击。 EWSZOT 算法能够成功抵御三种攻击:(a)报告信道始终繁忙;(b)始终空闲;(c)始终提供错误。 但是没有给出针对这些攻击的最优解研究。 ②最佳攻击策略:通过对抵御方法建模获得最佳攻击策略。 如本文利用MDP 学习EWSZOT 抵御方法,然后生成针对该抵御方法的攻击策略。 通过求解MDP 问题,可在理论上得出最佳攻击策略。
同时我们针对攻击策略定义以下两种攻击场景:①标准SSDF 攻击,定义为SA,该类型攻击的恶意节点始终向FC 发送错误报文。 ②组合攻击,定义为CA,包括标准SSDF 攻击和针对通信链路的干扰攻击。 例如FC 请求传感器报文时,由于信道问题,导致传感器节点报文无法准时达到或者导致报文损坏。 同时,攻击节点也可以阻断通信链路,影响正常节点的报文。 当FC 没有收到传感器节点i 的报文时,则认为ei=1。 在本文后续实验中假设所有报文的损坏均是上述的干扰导致。
在标准攻击SA中,不存在干扰的场景,因此a=aa,A的维度上限为2Mm。 同时,操作集合和状态无关。
在给定状态sn和行为集合a的情况下,定义转换概率为Pa(sn,sn+1),即由于行为集合a,让状态sn转换为状态sn+1的概率。 通过对HT的建模,可以观察到状态sn转换为不同状态sn+1的概率。
本文通过树结构对HT 进行建模。 树的每个节点表示FC 从各个节点所能接收到的报文的所有排列组合。 由于从正常节点或者攻击节点均能收到报文ei=0 或者ei=1,因此,每个父节点将会有四个子节点。 同时获得的报文序列的最大长度和树的最大深度均为Mm。 整个流程如图1 所示。
图1 HT 树构建过程
qv的更新流程如算法2 所示。 首先定义已经调用的正常节点和攻击节点的数量,分别表示为nn和na,该数据可以通过序列v来获取。 当获取正常节点的报文后,使用q1,n和pn(r)更新qv。 如果没有被干扰,则更新序列值为1n或者0n;如果存在干扰,则报文会更新为1n,然后更新干扰节点数量mn+1j。 如果获取攻击节点的报文时,则使用q1,n和1-pn(r)更新qv;如果不攻击时,则使用正常节点发生错误的概率来更新攻击节点的概率,即p1,n代替p1,a。 最后使用式(3)更新Wn。 通过更新qv,可以得到获取序列v的总概率。
表2 qv 更新算法流程
使用算法2 更新qv和Wn,检查节点是否满足式(2)的终止条件,如果满足其中一个条件,则该节点成为树的叶子节点,否则该节点被设定为父节点,重复上述过程。 最终,得到所有叶子节点的信息。
表3 基于MDP 的EWSZOT 算法HT 的构建流程
通过算法3 对HT 进行建模以得到Pa(sn,sn+1)的准确值,即对于动作a和状态sn,得到转换为状态sn+1的概率。
本节评估MDP 模型的复杂度,假设需要评估一个策略,即获取Vπ(S0)。 对于每次HT,都有k≤4Mm(Mj+1)的可能性去转换到新的状态。 当n∈[0,N-1]时,在每个状态sn就需要执行一次HT。 同时初始状态S0都是相同的,因此去评估一个策略时,必须通过该策略构建包含所有状态的树。 状态树的深度为N+1,则在组合攻击的的场景下,树的最多状态的限制条件如式(7)所示。 在标准攻击的场景下如式(8)所示。
对于策略,有以下三条改进措施:①在阶段n执行HT 之后,删除qv=0 的所有状态sn+1。 ②在阶段n执行HT 之后,进行状态聚合,将所有状态相同的sn+1进行合并计算概率qv。 ③在阶段n后,仅保留转换概率qv最高的T个sn+1。 通过固定每个阶段的最大数量的状态,来降低计算成本,但计算结果会引入错误。T值越大,产生的误差越小,计算成本越高。
算法4 将上述3 个改进的措施加入到具体的策略中。 当e=0 时,决策总误差概率为qe,t=qt,1+qt,nd,当e=1 时,决策总误差概率为qe,t=qt,0。 算法4 理模拟了算法2 描述的EWSZOT 抵御方法。 最后通过将Mj设置为0,来获得没有受到攻击下的EWSZOT 的性能。
组合攻击场景下每个状态的行为数量的界限为4Mm。 这意味着,对于每个状态sn,将有4Mm种行为,这些行为转化为sn+1的最大数为k≤4Mm(Mj+1)。 在这样的场景下,状态-行为集合的维度受式(9)条件限制。 对于标准攻击场景下,行为个数的上限为2Mm,状态-行为的集合的维度受式(10)条件限制。
表4 EWSZOT 算法建模过程
本文利用MTALAB 平台对算法4 进行实验分析,假设M=10 个节点,T=103,p=2,Mm=4 和Δ=5.51,在Qc∈ [0,0.5],N=5 的情况下,测试攻击节点个数Ma=1 的影响,实验结果均为100 次重复独立实验的平均结果。
其中攻击策略主要包含虚拟攻击策略和最优攻击策略。 虚拟攻击策略在标准攻击和组合攻击场景下分为AFA 和JFA。 AFA 为标准攻击场景下的虚拟策略,即攻击节点始终向FC 提供错误的报文。FA 是一种组合攻击场景下的虚拟策略,即攻击节点始终向FC 提供错误的报文,同时干扰正常节点和FC 的通信。 前者是文献[14]提出的攻击模型,后者为新的攻击方式,通过比较可以看出临时抵御问题。
最优攻击策略使用动态编程的方式求解MDP,找出能够对EWSZOT 抵御机制造成最大错误概率的最佳策略。
如图2 所示,可以看到算法4 得出理论结论和实际一致,JFA 在攻击条件相同时,它比AFA 对FC的误导能力更强,这说明抵御算法对JFA 的抵御效果越差。 通过干扰通信链路能够大大降低EWSZOT的性能。 但是,这种场景只在e=0 的场景下发生,在e=1 时,攻击实际改善了决策误差,因为在EWSZOT 机制中会将干扰认为信道正忙,所以帮助FC 做出准确的决策。 当信道空闲时,JFA 则会严重影响CSS。 为了克服JFA 造成的影响,FC 可以实施抗干扰的对策。 从这个现象可以看出,现有的抵御算法基本是临时抵御,因此当攻击者的攻击方式发生细微改变时,算法抵御的能力大大降低。
图2 在标准攻击和组合攻击场景下不同策略间的比较
从图2 中可以看出,最优策略会导致FC 的决策误差最大。 当e=0,即存在干扰时,最优策略会验证降低EWSZOT 的抵御性能。 当Qc≥0.2 时,AFA场景下的曲线接近于最优策略,但当存在干扰时,最优策略则会超过JFA 的影响。 基于本文框架生成的攻击策略对攻击抵御算法的破坏成功率高达70%。 从图中还可以看出,在频谱感知错误概率较低时,最优攻击会明显降低抵御的性能。 在e=1时,攻击策略之间的差异较小,但最优策略相比于其他策略对抵御算法的破坏性更大。
当e=0 时,攻击节点会严重影响抵御性能,图2(c)表明通过干扰正常节点,攻击成功率有了显著的提高。 在这种场景下,对临时抵御问题和最优解问题进行分析:由于AFA 不是针对EWSZOT 的最优攻击策略,所以AFA 对EWSZOT 抵御算法攻击破坏性不是最大的。 然而最优策略能够更加智能的选择何时提供虚假报告和何时提供真实报告会降低EWSZOT 的性能,可以尽可能寻找EWSZOT 抵御算法的弱点,从而使得EWSZOT 抵御算法失效。 实验结果表明本文提出的MDP 攻击框架能够更好对攻击抵御算法。
本文提出一种基于MDP 的攻击策略生成方法,利用该方法生成的最优攻击策略能够对EWSZOT抵御方法进行破坏,从而使抵御方法失去对恶意攻击的防御能力。 最终实验结果验证了本文提出的攻击策略生成方法成功破坏EWSZOT 抵御方法的概率高于70%。 后续的工作我们希望基于MDP 攻击策略生成方法,验证对其他抵御方法的破坏效果。同时进一步研究如何降低攻击生成策略方法的复杂度,使它适用于软硬件资源都受限的物联网系统中。