第2章 背景
近年来,由于技术的进步和攻击技术的创新,针对低资源网络的许多新型威胁已经出现。因此,仅依靠基于预防的方法可能无法为传感器网络提供综合安全与故障检测解决方案。合理构建的基于检测的方法可以作为基于预防方法的补充,从而提供更强大的安全机制。异常识别是一种基于检测的方法,用于提供诸如入侵识别之类的安全服务。它也可应用于其他领域,如目标跟踪和故障检测[1]本研究的一个重点是设计与分析一种系统,该系统能够检测通常由微型节点及其传输的数据上的故障和入侵所引发的异常。
本章回顾了相关先前研究,旨在强调其局限性并阐明本研究的研究背景。首先简要回顾了攻击类型和传感器网络安全机制,以突出异常检测机制在传感器网络防御中的位置。随后讨论了异常识别的基础知识以及传感器网络中的异常类型。本研究的目标是设计、评估和分析一种用于检测和验证传感器网络中异常的系统。因此,本文回顾并批判性地分析了针对传感器网络的不同异常识别方案。同时回顾了利用代理在传感器网络异常识别应用中的相关先前研究。在本章末尾,还对跨层异常识别、代理安全性以及形式化建模与验证的相关研究进行了批判性评述,以确立本研究的研究背景。
2.1 传感器网络安全
如前一章所述,传感器网络的性质与传统计算机网络不同。最显著的区别特征之一是传感器网络的有限资源。异常识别在传统无线和有线网络中是一个研究充分的领域,但由于传感器网络的独特性质,这些方法可能不适用于资源受限网络。在构建传感器网络的异常识别系统时,另一个需要考虑的关键特征是其无线通信信道。传感器网络通常采用广播通信模式,这使其容易受到各种攻击。根据应用需求,传感器网络也可能采用点对点通信模式。在一些部署于复杂地形的应用中,持续监控传感器节点以防护物理攻击并不可行。
传感器节点通常是大规模部署的。因此,设计集中式安全或故障检测机制是不够的。在这种情况下,去中心化协同安全机制更适合传感器网络。
传感器网络可能由于攻击、故障和错误而出现异常[2,3]。针对传感器网络的基于攻击的威胁分为三类,即内部攻击与外部攻击,主动攻击与被动攻击,以及笔记本电脑类与传感器节点类攻击[4]。
内部攻击与外部攻击 :前一种攻击由合法节点发起,而后者攻击则由外部节点发起。
主动攻击与被动攻击 :在主动攻击中,敌对节点会修改或伪造网络流量,而在被动攻击中,敌对节点仅监控或窃听传输的数据包。
笔记本级与节点级攻击 :在笔记本级攻击中,攻击者使用功能更强大的设备(如笔记本级设备)来实施攻击,而节点级攻击则是利用与受攻击节点能力相似的节点来发起攻击。
在另一种威胁分类中,齐亚和佐马亚 [5]引入了四种威胁类别,即弗利格 [6]在传感器网络中提出的 中断、截获、篡改 和 伪造 。
Interruption :在中断威胁中,两个或多个节点之间的通信链路丢失。示例包括 节点俘获和干扰攻击。
Interception :整个网络或部分网络被对抗性节点破坏。例如,节点俘获、 拒绝睡眠、资源耗尽、黑洞和汇流槽攻击。
Modification :在篡改威胁中,对抗节点捕获并篡改数据。示例攻击包括拒绝 服务(DoS)和泛洪攻击。
Fabrication :在此类威胁中,敌对节点在网络流量中注入虚假数据。伪造威胁的一个简单示例是Sybil攻击。
有许多措施可以用来保护传感器网络免受漏洞和攻击。一些关键的安全服务包括安全的本地‐化和数据聚合、安全审计、密码学、密钥管理、安全路由、访问控制以及异常识别。安全服务的选择主要取决于网络安全需求和可用资源。Ngai [7]将安全措施分为三大类,即防护、检测和响应。
防护 :这种网络防护方法基于生物识别、防火墙和加密技术。
Detect :入侵和异常识别等安全服务属于防御机制中的检测类别。本研究重点在于识别和确认由传感器节点及其传输数据上的攻击和故障所引起的异常源。
React :这种传感器网络防御机制通常在检测到网络中的攻击或故障后发挥作用。其响应方式可以包括降低节点的信任值、将节点标记为恶意或有故障的、减少与可疑节点的通信,以及将节点从网络其余部分断开连接等操作。
入侵是指对抗者为干扰节点或网络的正常功能而进行的活动。一种名为 入侵检测系统(IDS)的软件系统被用于识别异常。根据检测方法、检测方法以及检测位置,现有的入侵检测系统可以进行分类。依据检测方法,入侵检测系统可分为三大类,即协议状态分析、误用检测和异常识别[8]。
有状态协议分析 :在有状态协议分析过程中,将系统实体正常活动的先验特征与实际事件进行比较以识别异常。这种入侵检测系统方法在传感器网络中并不常用。
误用检测 :该方法基于先验假设、经验、知识和信息,也称为基于规则的IDS。在误用检测方法中,将已知入侵的特征签名与系统的当前事件进行匹配,以检测入侵活动。该方法简单且适用于检测已知攻击,但无法识别新型攻击。
异常识别 :该方法基于主体的常规活动建立其正常行为模型。随后,将该正常行为模型与系统的当前活动进行比较,若存在显著偏离正常活动的情况,则被视为入侵。该方法能够检测新型攻击,但实现复杂且消耗大量资源。
本研究的重点之一是通过优化利用传感器网络的资源来检测异常。异常识别模型分为两种类型,即动态的和静态的。动态模型会在观察到新事件时自动更新;而静态模型通常由用户设定,具有固定的行为定义。在传感器网络中,构建一个涵盖所有正常活动的综合模型并非易事。在许多应用中,正常行为持续演变,因此,准确定义系统正常行为的概念是一项具有挑战性的任务。
设计异常识别系统时,应考虑应用层的规范。
入侵检测系统(IDS)可以部署在主机或网络层面[9]。基于主机的入侵检测系统(host‐based IDS)主要关注检测节点资源(如电池、处理器和内存)的滥用或异常使用情况。相反,基于网络的入侵检测系统(net work‐focused IDS)则专注于检测网络流量中的干扰和异常。有时这两种部署方式会结合使用,被称为混合入侵检测系统(hybrid IDS)。入侵检测系统的检测位置可以是集中式或分布式。在集中式检测位置的情况下,异常识别模块(AIM)被安装在中心节点上;而在分布式检测类型中,异常识别模块被安装在多个分布式节点上。本研究采用静态检测方法、混合检测方法以及分布式检测位置,以识别不同性质的异常。本研究的问题领域作为研究地图如图2.1所示。
数据、网络和节点是传感器网络中普遍存在的三种关键异常类型 [10]。
数据异常与由单个或多个传感器在传感器模式下采集的数据相关。在特定位置内采集的传感器读数通常表现出相似性和一致性。采集的数据出现差异即被视为数据异常。数据异常可能由多种原因引起,例如不同类型的攻击,错误、传感器节点重启、不同步以及软件或硬件错误。数据异常分为时间上的、空间上的和时空异常。物理攻击、节点故障和节点失灵是节点异常的常见原因。在物理攻击中,传感器节点会被克隆模仿。节点异常包括资源退化、节点故障和节点重置。网络异常由干扰攻击引发,即通信频率中的干扰或不可用,以及网关等网络范围组件的故障、传感器节点故障。网络异常也源于路由协议中的局限性[9]。完全连接丢失、路由环路、反复连接和传输风暴异常也被称作网络异常。各类异常及其潜在原因的汇总见表2.1[10]。
| 异常 | 可能的原因 |
|---|---|
| Data | 攻击、错误、突然的传感器节点重启的不同性质, 异常事件、不同步和故障的 硬件/软件 |
| Node | 资源退化,传感器节点重启与失效, 功能失常,以及物理威胁 |
| 网络 | 连接丢失,反复连接,路由环路, 网络元素故障 ,和传输风暴 |
2.2 异常识别
研究界已经研究并采用了来自统计学、人工智能、机器学习、数据挖掘以及其他领域的多种技术和方法,以设计和开发用于识别异常的方案。因此,本节将异常识别相关文献分为四类,即基于统计的、人工智能与基于代理的、学习型以及其他方案,以便进行批判性评述。本节讨论了每一类中的代表性方案。需要指出的是,某些方案可能属于多个类别,但它们被归入最相关的类别中。图2.2[11]展示了传感器网络中高层次的异常识别分类法。
2.2.1 统计方案
统计异常识别方案是经典的技术。在统计模型中,变量之间的关系通过数学关系来表征。这类模型应具备以下两种属性之一,即随机性或系统性变异。统计技术的一个经典分类是参数化与非参数化[1]。
2.2.1.1 参数化方案
这类技术依赖于一个假设,即底层数据分布信息是已知的。关于参数化方案的另一个重要假设是数据呈正态分布。这类技术需要在一定时间后进行参数变更。此类方法可分为:高斯 和 非高斯。
高斯方案 :该模型假设变量服从高斯(钟形或正态)分布。提出了一种面向生态应用的异常识别方法,用于识别事件并推断数据中的缺失读数 [12]。该技术的基本思想是识别感知读数之间的时空关联。该技术利用感知数据的先验知识来识别异常,因为每个传感器节点会将其当前和历史观测值与相邻节点进行比较。该技术的一个根本缺陷是仅关注一维异常,这是由于时空数据异常所导致的。
吴等人提出的一种方案[13]从两个维度确定异常。该方案首先发现异常传感器,然后识别事件边界。通过将中位数值进行匹配,该方案识别空间上的相关异常。从邻近传感器节点获得的每个观测值。基本概念是在每个传感器节点上部署算法,以识别事件边界处的异常读数。该方案可能无法区分显示事件发生的异常信号和异常读数。此外,观测到相同类型事件的传感器节点应在空间上相关联。因此,作者提出了两种算法来识别异常的传感器节点并检测事件的边界。
在之前的算法中,每个传感器节点计算自身读数与邻近传感器节点读数中位数值之间的差异。如果偏差较大,则该传感器节点被判定为异常。后一种算法为每个传感器节点计算两个区域,然后使用前一种算法分别计算各区域的偏差。如果单个区域的中位数值与其他传感器节点存在显著差异,则该传感器节点被宣布为异常。该方案采用受试者工作特征(ROC)分析来自适应地计算阈值的值。ROC 是一种图形化曲线,通常用于展示二元分类器的性能[14]。ROC 值的计算是一个消耗能量的过程。因此,这种方法对于资源受限的传感器节点并不适用。
非高斯方案 :在此类方案中,数据的分布不是正态的。Jun及其同事研究了一种非高斯异常识别方案,能够检测时空异常[15]。异常被假定为在空间和时间上不相关。异常根据脉冲噪声行为进行表征,其分布称为对称 α‐稳 定(SαS)。每个簇成员节点执行局部异常识别,并校正时间上的异常数据,然后将这些数据传输到相应的簇头节点。簇头节点接收该数据后,进一步发现并校正数据中的空间异常。该异常识别方案提供了两个优点:(i)降低通信成本;(ii)提高采集的数据质量。尽管有这些优点,但由于网络拓扑的动态特性,SαS分布可能并不适用于此类网络。
2.2.1.2 非参数方案
这些方案对数据分布 [16] 没有预先假设,因此更适用于具有动态拓扑结构的传感器网络。非参数化方案通常采用两种方法之一,即直方图和核函数[16]。前者提供特定范围内的概率分布[17]。直方图通常由矩形条组成,其条形高度与在给定范围内数据频率成正比。直方图表示连续型数据,不同于用于绘制类别数据的条形图。傅等人针对分层网络提出了一种方案[18]。他们的方案以在线和分布式的方式构建直方图,并从理论上研究了新的直方图估计误差,推导出用于异常识别的最优参数值。然而,该方案的一个主要缺陷是仅考虑了单变量数据。
或者,基于核函数的方法已在文献中被研究用于基于统计的非参数化异常识别类别。核函数作为一种加权函数,被用于估计随机变量的概率密度函数,以实现异常识别[19]。近年来已研究了多种基于核函数的检测技术。帕尔帕纳斯等人[20]提出了一种无需感知数据先验分布信息的技术。每个传感器节点通过使用一种称为核密度的估计器在本地识别异常。若感知数据超出指定节点上用户定义的限制范围,则被视为异常。该技术的一个基本局限性在于其仅适用于单变量数据。
苏布拉马尼姆及其同事 [21]进一步发展了帕尔帕纳斯等人 [20]的工作。该方案旨在实现对多维数据中的异常识别。该方案有两种方法用于识别全局异常。在前一种方法中,每个传感器节点首先识别局部异常,如帕尔帕纳斯等人 [20]所建议的那样。随后,传感器节点将异常报告转发给其父节点,以进一步检测异常。此过程持续进行,直到汇聚节点识别出全局异常。另一方面,在后一种方法中,每个传感器节点通过在全局层面使用估计器来识别全局异常。对该方案的实证评估表明,它能够以高准确率识别异常。然而,该方案无法识别空间异常。
2.2.1.3 马尔可夫过程模型
基于马尔可夫过程的模型是用于异常识别的一种方法,其中数据模型可以是参数化或非参数化的。这类模型将事件视为状态变量,并使用一种称为转移矩阵的矩阵来刻画状态之间的转移频率 [22]。通过比较两个连续状态之间的输入和输出来识别异常行为。该方法本质上适用于序列方案。马尔可夫过程模型的一种类型,即隐马尔可夫模型(HMM),也被应用于基于统计的异常识别。在HMM中,转移和相关状态是隐藏的,仅能观测到其输出 [23]。典型的HMM如图2.3[11]所示。
帕斯查利迪斯等人[24]提出了一种识别方法,能够发现基于时间的异常和空间异常。该方法使用树索引马尔可夫链来形式化空间结构。时间值被替换为马尔可夫链中树的顶点上的整数。与先前无异常轨迹的大幅偏离则被视为异常。该方法使用决策规则来区分常规行为和异常活动。这种估计有助于发现时间和空间上的异常。然而,由于网络行为的动态特性,在某些应用中定义传感器节点的全面正常行为是不可行的。
高和同事[25]提出了一种基于间接关联的异常识别方法。他们的工作依赖于一种理论,即间接关联在…
可以使用数据的多个属性来构建节点的常规行为。然后利用马尔可夫链计算状态转移概率矩阵,用于识别异常。该方法擅长同时识别多种类型的异常,但会导致较大的计算开销,不适用于资源受限网络。
Zhenget al.[26]提出了一种针对移动节点的序列技术。该技术依赖于对网络流量的多尺度分析。作者指出,捕获数据流量的时间持续长度可能影响异常识别结果。因此,在不同时间尺度上对数据进行分析非常重要。一种名为离散小波变换(DWT)的方法被用于多尺度数据分析。它也可用于概率过程的去相关。设计了一种随机模型以提高检测率。采用了一种名为期望最大化 (EM)的算法来计算参数值。该算法还通过检查变化得分来识别预测模型中的变化。变化得分被计算为当前值和过去值之间的熵。然后通过发现变化得分的变化来识别异常。此方法适用于发现数据中的时间尺度异常,但由于异常识别过程中涉及大量处理,因此这是一种高能耗方法。
2.2.1.4 时间序列模型
这是一种非随机有序排列的数据。与其他统计技术不同,时间序列模型基于一个基本假设,即连续测量值是在相等的时间间隔后收集的[27]。时间序列研究通常有两个目的,即(i)识别基于模型的行为测量值的排列以及(ii)预测模型的未来行为。辛格及其同事[28]讨论了一种方案,该方案基于这样一个假设:用于异常识别的变量应为非负整数。该模型用于预测静态时间序列。在该模型中,均值和方差的值随着时间的推移保持不变。
该模型包含两种算法。初始算法通过使用预测值,在基站或汇聚节点处修正每个传感器节点的异常数据。随后,最终算法用于对具有95%置信区间值的传感器节点数据进行异常识别。这两种算法的高级伪代码如算法2.1和算法2.2所示。在此方案中,异常识别以非协作的方式进行。该技术存在两个基本弱点:第一,时间序列上对平稳行为的预测不适用于传感器网络,因为传感器网络通常具有动态拓扑结构;第二,未考虑节点间的时间和上下文关系,这可能使异常识别过程更为薄弱。
算法 2.1 确定合理的模型和预测
1: 找出自相关的普遍结构
2: 计算AR(p),阶数p通过AIC 准则确定
3: 通过指定q计算第2步残差MA(q)
4: 进行残差检验
5: 预测未来测量值并去除异常值
算法 2.2 异常识别
1:确定95%的置信区间(μ± 1.96σ),其中μ为预测值, σ表示标准误差值
2:验证零假设
3:使用步骤2接受/忽略数值 // 拒绝表示异常值
2.2.1.5 回归分析
这是一种用于寻找多个变量之间关系的统计方法。通常执行回归分析以识别单个(因)变量对下一个(自)变量的潜在影响[30]。这些变量可能是相关的,也可能是不相关的。Curiac 等人提出了一种基于自回归的恶意节点检测方案[31]。该方案在中心节点部署检测器,用于监控成员节点的观测值。通过使用自回归预测器将当前和历史观测值进行比对,以实现异常识别。若当前值超出用户定义边界,则被视为异常,从而触发一个称为决策模块的处理机制。该模块随后处理恶意节点。该方案在预测不同变量之间的关联性方面具有优势,但获取合适的预测度量并非易事。
Kim 及其同事 [32]提出了一种用于异构传感器网络的非参数回归异常识别方案。以办公室房间作为用例,通过结合回归分析与贝叶斯网络来预测日常异常事件。该方案学习传感器节点的正常行为,并评估异常程度。所提方案的分析在办公室房间中进行,实验地点配备了运动和光照传感器,以在缺乏或仅有少量先验信息的情况下收集感知数据。随后,利用学习阶段得到的边界值对采集的数据进行异常检测。该方法较为简单,但仅适用于小型网络。
2.2.2 人工智能和基于代理的方案
人工智能是一门设计和研究智能代理的学科。智能代理是能够感知其环境中的事件,并在必要时采取适当行动以提高系统成功可能性的实体。基于智能代理的方案旨在微型节点中模拟人类智能以执行多种任务[33]。基于智能代理的异常识别方案主要提出于以下领域:人工神经网络、人工免疫系统、遗传算法、博弈论以及代理。
2.2.2.1 人工神经网络
自适应共振理论(ART)在学习新知识的同时不会遗忘先前获得的知识[34]。ART具有时序学习能力。ART通常能够更新现有标签,或者当新观测值不符合当前数据类别时,为其创建新类别。典型的ART由两个字段组成,即比较,表示为F1,和识别,表示为F2,,分别具有n和 m个神经元,其中n表示特征,m表示类别。层之间F1和F2的连接具有可变权重,用Wij表示。一个敏感性阈值或警戒参数 ρ用于评估给定输入与已学习类别的相似性。图2.4[11]中绘制了ART的经典广义高层结构。
Walchli等人[35]提出了一种基于模糊ART神经网络(即ART神经网络)的异常识别技术,用于发现信号中的异常。该技术利用时间序列分析,通过模糊ART对感知观测值进行计算、分类和压缩。该技术能够更新常见的标签类别,但资源消耗较大,尤其在处理和内存方面开销较高。Yuan等人[36]设计并分析了一种基于模糊ART的方法,用于预测传感器网络中的缺失观测值。他们提出的填补技术考虑了网络的时空信息,该方案依赖于一个假设,即网络中的节点在空间和时间上具有高度关联性。随后使用皮尔逊相关系数和R平方值来验证空间关联性,并采用一种改进算法来预测缺失数据。该方案简单且有效,但仅关注空间和时间上的异常。此外,使用计算密集型的模糊ART只能发现单一类型的异常,可能不适用于资源受限网络。
2.2.2.2 人工免疫系统
人工免疫系统(AIS)是一种受理论免疫学启发的自适应技术[37]。将AIS用于传感器网络中的异常识别是一种相对较新的方法。Fu等人[38]提出了一种生物学分层网络的免疫启发式异常识别模型。该模型结合了模糊和人工免疫系统理论的优点。该方法包含三个组成部分,即协同仿真、全局识别和局部危险感知。当对抗性节点发起威胁时,敌对节点附近的传感器节点感知到该威胁,并向个人区域网络(PAN)协调器发送指示,该协调器充当决策器。决策器根据接收到的危险信号广播一个危险区域。决策器启动并维护一个受体池。该受体池根据抗原生成抗体。随后采用阴性选择原理来发现流量中的异常。该技术利用物理层和MAC层的参数进行异常识别。该模型具有适应性和灵活性,但资源消耗较大,且可能无法区分由故障和攻击引起的异常。
Salmon 等人 [39]设计了一种基于危险理论的免疫启发技术用于异常识别。该工作的基本概念是采用树突状细胞算法(DCA)进行异常识别。该方案包含四个阶段,分别是 采集、分析、决策和响应。研究人员将多个计算元素与其免疫激发对应物相关联。计算元素与生物元素之间的映射关系见表2.2[11]在第一阶段,抗原和信号被保存。第二阶段进行分析以生成输出信号,用于判断树突状细胞(DC)的发育状态。在下一阶段,DC 对其进行分类为正常或异常,并识别其异常程度。在最后阶段,激活 T细胞和B细胞 以应对异常节点。该技术模拟了人类免疫系统,具有自我保护能力,但还需进一步确认抗原和抗体的性质与数量。此外,还需开展更多工作来评估该方案针对多种类型的异常的性能。
| 计算元素 | 生物元素 |
|---|---|
| 攻击 | 病原体 |
| 传感器节点 | 组织 |
| 节点覆盖范围 | 危险区域 |
| 异常身份知识 | 抗原 |
| 传感器淋巴中的决策管理元件 | 淋巴结 |
| 异常识别管理器和 上下文管理元件 | 树突状细胞 |
| 异常应对元件 | T细胞和B细胞 |
| 由网络发起的应对措施 保护系统 | 抗体 |
2.2.2.3 遗传算法
遗传算法(GAs)旨在模拟自然进化过程,以解决计算问题[40]。Khanna 等人提出了一种基于遗传算法的异常识别技术[41]。该技术利用数据包信息、电池状态、数据利用率以及服务质量(QoS)正统性参数来进行异常识别。传感器节点被分为簇头、簇间路由器、普通传感器节点和休眠节点(睡眠状态)。主 mote 使用基于遗传算法的竞争适应度函数,最优选择作为本地观测mote的簇头或簇间路由器。本地观测mote通过多种参数来观察其邻近传感器节点的行为,这些参数包括数据包的修改或丢弃、信号强度值、数据包传输速率、响应延迟以及来自被攻陷的mote的虚假传输。该技术在检测能力方面优化了以往的异常识别方法。然而,该技术的可扩展性仍需进一步验证。
基因表达编程(GEP)模拟有机进化进行编程。高等人提出了一种基于 GEP的异常识别技术,该技术利用GEP预测模型对正常数据流量进行时间序列研究[42]。该异常识别技术由五元组组成:(Pm, Fs,M, F, Op),其中Pm表示参数集,Fs表示函数集,M表示变量集,F表示适应度函数,Op为操作集。参数集依赖于种群大小Psize。当满足以下关系时,基因可以具有尾部T或头部H。
Gene=
⎧ ⎪⎪⎨ ⎪⎪⎩
H, T, H= h, T= h −1 (2.1)
在上述方程中,H是h的组成部分数量,而T是h+ 1的组成部分数量。函数集Fs包含简单算子,即 −、+、 ∗和 ÷。变量集M包含两个因素,即流量长度i和时间t。适应度可以从结果关系中获得。
Fn= R2= 1 − SSE/SST (2.2)
其中,符号SST和SSE分别表示整体变量集的平方总和和误差平方总和。适应度函数F依赖于R平方,该值为皮尔逊积矩相关系数的平方。基于基因表达编程的异常识别算法如算法2.3所示。该技术通过消除对数据流量特征先验信息的需求,提高了传统时间序列方法的有效性。然而,这种严格过程的能量消耗可能会对传感器节点的有限资源产生不利影响。
算法2.3 基因表达编程
输入: 数据集Mt,此处数据长度为i
Output:相关系数、相对误差和时间序列模式
1:在i的基础上,将数据转换为i+ 1时间序列数据
2:使用通过异常识别过程改进的基因初始化种群
3:评估个体的适应度
4:一旦达到最大阈值则停止,否则继续
5:选择最优个体
6:执行每个操作
7:转到步骤 3
2.2.2.4 博弈论
异常识别过程在博弈论中被建模为异常识别模块与对手之间的博弈。Agha 等人研究了其中一种模型。[43]该技术已知影响风险的因素,例如对手的先前行为和已识别攻击的类型,并利用这些因素进行异常识别。在固定的簇场景中,对手可能有三种选择:攻击某个组、不对该组进行攻击,或攻击另一个附加组。相反地,识别模块有两种响应类型,即防护该组或防护另一个不同的组。这形成了两个玩家之间的一个 2∗3矩阵。提高每个玩家的收益,即在博弈中获得纳什均衡,是一种挑战。此外,由于网络拓扑的动态性,也并非总能穷举系统的所有可能状态。
Reddy [44]设计了一种机制,该机制采用零和博弈来识别传输数据路径中的异常情况。考虑一个网络组,在由两个传感器节点构成的传输路径中有七个传感器节点。进一步假设这七个节点中有两个是恶意节点。此外,在这两个异常节点中存在一个非恶意节点。设 σ为随机选择作为检测点的传感器节点比例, 为数据包传输路径中专用的确认信息。则识别出一个对抗性传感器节点的概率 Pd可计算如下
Pd= Py= 1 −Pack (2.3)
其中Py表示从确认信息中丢失的数据包的概率,Pack表示基础节点处来自确认信息的确认信息概率。Pack可以计算为
Pack=
n ∑i=1 Pem(i) (2.4)
其中Pem(i)为异常传感器节点数据包概率。所选检查点之间的数据包概率可通过以下关系计算。
P(m,n)= Pack −Pack(n) (2.5)
P(m,n)=
n
∑
j=1
Pack(j) −
m
∑
j=1
Pack(j) (2.6)
采用 2.3至 2.6,可由以下关系式计算特定路径中异常节点的数量。
xCPack=(x!)/((Pack!) ∗(x −Pack)!)= Pd (2.7)
该技术可用于确定网络流量中异常的来源,即可疑传感器节点。该技术依赖于一种称为合作型零和博弈的游戏。然而,在两个或多个对抗性节点中选择并定位一个非恶意节点,若缺乏对当前网络状态的预先了解,则并非易事。此外,由于采用合作方式,即使仅加入一个对手,也可能破坏整个异常节点识别过程。
2.2.2.5 代理
代理是智能软件实体,可在网络中漫游以执行其指定的任务。本研究选择了凯特尔 [45],普利亚塞及其同事 [46],埃鲁迪奥拉及其同事 [47],以及卡努姆及其同事 [48]的研究,用于将所研究的异常识别与确认系统在多方面性能上与这些方案进行比较。选择这些方案的理由在于研究领域的相似性,即在传感器网络中利用代理技术进行异常/入侵/攻击检测。然而,本研究所提出的工作不仅扩展了代理的作用,实现了对异常确认的细粒度描述,而且还以高准确率检测了不同类型的异常。相关方案的工作细节如下所述。
Krugel 和 Toth [49] 开展了一项开创性研究,该研究采用代理进行异常识别。在他们的方案中,代理被派遣为守卫以执行随机抽样。如果在网络组件的随机检查中发现异常,则启动完全识别。这项工作降低了与将代理传输和接收至每个传感器节点相关的成本,但在缺乏守卫的情况下,传感器节点容易受到攻击。
凯特尔 [45]提出了一种利用代理技术实现分布式异常识别的架构。该技术使用多种静态代理和代理,即移动代理(MA)、静态代理(SA)和节点代理(NA)来检测异常。该结构包含移动代理服务器(MAS)和受害节点列表(VNL)。每个簇头节点上均部署有静态代理 (SA)。当静态代理在传感器节点上检测到异常活动时,会向移动代理服务器 (MAS) 发送一条消息。移动代理服务器 (MAS) 在检测到威胁后,将派遣移动代理 (MA) 前往监控相应节点。移动代理 (MA) 分为轻量级和重量级两类,分别对应资源受限和资源丰富的传感器节点。节点代理 (NA) 部署在观测用的传感器节点上,用于识别局部异常。最后,每个簇头传感器节点上的受害节点列表 (VNL) 维护了一份受害传感器节点列表,并负责发布移动代理 (MA) 的路由图。在传感器节点上配置多个组件或代理会增加异常识别系统的成本。
普利亚塞和同事[46]提出了一种基于规则的技术,通过使用代理来识别网络层异常。该方法采用弱过程模型(WPM)的本质以减少可达性规则。攻击模型被分为高和低攻击类别。然而,研究人员仅报告了初步的实现结果。为了确认其在资源受限的传感器网络中的实用性,还需进行全面的性能评估。
埃鲁迪奥拉及其同事[47]提出了一种识别方案,其中传感器节点直接与领导节点交互,而不是与簇头交互。领导节点使用代理相互通信。代理的一个指定角色是在多个传感器节点和领导节点之间移动,以执行异常识别任务。该方案基于两种算法,分别用于数据分析和异常识别。第一种算法检测拒绝服务(DoS)威胁,从而评估传感器节点的状态;而另一种算法则计算领导节点的故障概率以发现异常。该方案适用于传感器节点与基站之间仅为单跳距离的网络。单跳通信降低了能量消耗,但可能导致领导节点出现通信瓶颈。这种策略不适用于大型网络,且仅关注DoS攻击,这是该方案的其他主要局限性。
S. Khanum及其同事设计了一种用于传感器网络的分层异常识别系统 [48]。该方案采用了三种代理,即管理代理、分析代理和协调代理。其中第一种是移动的,而第二种和第三种本质上是静态代理。传感器节点采用聚类拓扑进行部署。每个簇头节点上都安装了异常识别架构。异常在两个层次上被检测,即网络和节点。簇头负责检测全网异常,而节点级异常则由分析代理检测。Khanum等人[48]提出了高层次的异常识别架构,但并未提供关于异常识别技术的内部细节,且未分析代理移动所带来的开销。
2.2.3 学习方案
学习算法使计算机及相关设备能够从过去的观察中学习以做出决策[50]。学习过程通常基于提取数据的有价值模式,并根据先前获得的知识对新数据进行预测[51]。传感器节点可以通过采用三种算法之一来进行训练,即有监督、半监督的和无监督学习,以在部署时间设定正常行为。算法的选择可根据资源可用性、网络规模和异常识别方法等多种因素决定。
2.2.3.1 有监督学习
该技术使用特征‐标签对(ai,bi),…,(an,bn)来标注训练集,其中i= 1到n。该方法的目标是对新输入数据的每个特征实例进行标注。此类可被视为一个回归函数或分类器。当c ∈ ∈R且c基于“实数”值时,有监督学习为回归问题;而当c基于“整数”值[52]时,则为分类问题。数据分类的概率较高,能够提供更准确的结果,但这种方法是耗时的且属于高能耗方法。此外,并不总是能够获得标注数据集。
该类别中的一个关键模型被称为支持向量机(SVM),它是一种非概率性的二元线性分类器,通过生成一个具有最大可能距离的超平面,将数据划分为两类。位于分隔线附近的向量是主要的关注点。图2.5[11]表示一个线性 SVM图,其在二维平面上将一个数据集分为两个类别。基于SVM的分布式异常识别方案由拉贾塞加拉及其同事提出[53]。在该技术中,每个子节点计算局部四分之一球体,然后将其传输给相应的父节点。相应的父节点负责本地异常识别。父节点利用获取的本地半径值计算全局半径,然后将全局半径传输给所有子节点,以识别其邻域内的全局异常。该技术能够发现本地异常和全局异常,但仅计算四分之一球体可能会遗漏一些可用于异常识别的关键信息。
肖等人[54]设计了一种朴素贝叶斯算法,用于发现网络中的异常节点。该分类器即贝叶斯分类器,假设某一类别(正常或异常)中特定参数的出现与其他参数在该类别中的出现无关。通过使用能耗、交互等多种参数来检测传感器节点的异常行为。实验结果表明,朴素贝叶斯分类器具有更高的识别率和更低的误报率。然而,研究人员尚未分析该技术中方法论的特征性缺点。
2.2.3.2 半监督学习
这种学习型技术利用大量无标签数据和少量有标签数据来构建鲁棒分类器 [55]。该技术在医疗和生物工程领域特别有益,因为在这些领域中,由于数据标注成本较高,难以获得有标签数据。高昂的成本源于需要人类专家知识的参与。该技术通常不用于传感器网络中的异常识别,因为在事先获取涵盖传感器节点或网络所有正常与异常行为可能性的训练数据方面存在困难。
2.2.3.3 无监督学习
这些方案使用具有特征(ai,…,an)的无标签数据集来构建分类器。该方案需要一个阈值或特定准则,以识别数据集中的异常。在动态传感器网络应用中,选择合适的阈值尤其困难,因为系统的正常行为状态持续变化。此类方法的一种常用方式是对测量值进行聚类,然后通过计算与簇边界或簇中心的距离来识别异常。该技术适用于无法获得训练数据的场景。
在K-均值聚类中,每个簇的k‐means被计算为[56]。然后将这些质心与训练集关联起来。接着,每个单独的数据项被连接到最近的均值。因此,每个单独的点都与其中一个质心相关联。一种使用K‐均值聚类的异常识别技术被由拉贾塞加拉等人提出[57]。在该技术中,每个传感器节点收集本地数据以创建正常行为模型。这些正常行为模型随后被传输到相应的簇头。簇头收集本地数据并创建一个通用正常轮廓,然后将其传输给其邻近范围内的所有传感器节点。异常识别过程使用该通用正常轮廓进行。采用k均值技术来改进聚类过程。该技术涉及显著的通信开销,因为簇头传感器节点需要将通用正常轮廓传输给每一个成员传感器节点。
谢和同事[58]提出了一种异常识别技术,该技术采用一种无监督学习方法,即主成分分析(PCA),这是一种通过正交变换将相关变量转换为不相关变量的数学过程。转换后的变量称为主成分(PC)。该技术采用一种以距离为导向的方法,将特征尺寸从多变量减少到单变量,以增强异常识别过程。同时提出了一种误差系数,用于考虑转换过程中造成的信息损失。该技术显著降低了训练负担,但存在额外的转换成本。
拉贾塞加拉及其同事 [59] 设计了一种用于分布式异常识别的椭球邻域离群值(异常)因子。该方案提出了一种分布式异常识别架构,利用多个超椭球簇对网络中每个传感器节点的数据进行建模,并提出了一种计算节点间超椭球模型差异得分的方法。实验结果表明,与集中式方案相比,该方法降低了通信开销。在另一项研究中,拉贾塞加拉等人 [60] 提出了一种基于分布式超球簇的算法。该算法通过合并不同的簇并向其他节点传输紧凑的描述信息来减少通信开销,以实现节点级别的异常识别。该方案的目标是在节点级别检测全局异常。然而,这些方案容易受到合谋攻击的影响,对抗性节点可能合谋破坏用于异常识别的超椭球和超球模型的可靠性。
2.2.4 其他方案
文献中还存在一些异常识别方案,它们可能不属于上述任何类别。本节将回顾这些少数相关方案。
2.2.4.1 图论
图论除了用于传感器读数的聚合(如Bokareva等人所建议)之外,还被用于异常识别。[61]Ngai等人[62, 63]提出了利用图论检测异常节点的新算法。该方案分为两个步骤:首先,基站收集一份可疑节点列表;最后,通过使用一种称为网络流的图来确定异常节点的精确位置。该方案有助于识别共谋节点。采用投票机制根据节点过去的行为将其宣布为异常或正常,以判断可疑节点的状态。这种策略在识别节点异常方面具有优势,但它是一种资源消耗较大的方法,尤其是在最坏情况(即异常位于图的宽度或深度末端)下。
Ho 及其同事 [64]设计了一种检测方法,在网络定位之前引入了组信息因素。随后,当传感器节点从其相邻传感器接收到发送消息的请求时,在节点级别进行识别。每个组通过其独特的部署位置来识别。每组中的一个传感器节点位于(a,b)位置,该位置可通过以下关系计算得出。
f(a, b)= 1/(2πσ 2)e((a−ag) 2+(b−bg) 2 )/2σ 2 (2.8)
在上述关系中,(a,b)表示一组中传感器节点的位置,而(ag,bg)表示组g的放置位置。符号 σ表示标准差。如果一个组内成员传感器节点i收到来自相邻传感器节点j的请求,则i会确认该组与相邻传感器节点之间的距离小于预设距离。若距离较小,则认为j为正常节点;否则,被视为异常节点。该方法有助于识别由复制节点引起的异常。然而,该方法的效率高度依赖于网络行为的准确定位和先验知识,而这并不总是可行的。
2.2.4.2 主观逻辑
Yuan等人[65]建立了一个基于主观逻辑的异常识别框架。该框架适用于需要处理模糊性和部分知识的情况。该框架包含两种算法。第一种算法结合相邻节点判断,以确定传感器节点的状态为正常或异常。然而,这种技术存在三个缺点:(i)决策过程可能涉及异常节点,从而干扰异常识别过程; (ii)该过程无法区分异常数据和正常数据;(iii)局部性界限固定为0.5,这在某些情况下可能并不合适。为了克服这些局限性,研究人员扩展了概念并提出了下一个在异常识别过程中具有以下改进的算法。(i)消除了对可疑传感器节点的判断。(ii)利用数据之间的空间相关性来区分异常数据和正常数据。(iii)考虑过去的信息以加权相邻节点的信任度。尽管异常识别过程得到了增强,但对历史数据的考虑可能需要更多的存储空间。此外,时间相关性的考量可能会进一步增强该框架的性能。
2.2.4.3 模糊逻辑
模糊逻辑是一类多值逻辑,能够处理不精确数据以进行近似推理,与用于固定推理的传统二值逻辑不同。簇头节点或基站接收到的传感器读数常常存在不精确性,即使这些节点彼此位置相近也是如此。这可能影响簇头或基站所做的决策的准确性。因此,在传感器网络的异常识别应用层中采用模糊逻辑以提高其性能。
池和曹 [66]设计了一种面向模糊逻辑的异常识别技术,以将安全机制集成到名为定向扩散的路由协议中。该技术利用多个路由参数(如节点能量水平、错误率、消息传输速率和邻近节点列表)来构建异常识别规则。然而,该方案仅关注攻击的检测与防范,且仅适用于基于定向扩散的传感器网络。
波诺马丘克和徐 [67] 提出了一种基于两级检测的技术。首先,异常识别模块根据用户定义的阈值监控并识别分组到达间隔时间和分组接收率上的异常。其次,采用同时考虑这两个特征的复合规则进行异常识别。基于仿真研究的实验结果表明,该技术能够以高检测率检测异常。然而,该技术需要用户具备相关知识,以便设置第一阶段的阈值和第二阶段的参数值。此外,尚未对阈值和参数值进行统一优化的研究。
琳达及其同事 [68]研究了模糊逻辑在嵌入式传感器网络安全异常识别中的作用。该方案提出了一种基于模糊逻辑构建规则库以建模正常行为的算法。这些规则通过使用聚类算法对传入的数据包流进行处理而生成。然而,作者并未分析所提出方法的计算和内存开销,因此无法确定其是否适用于资源极低的嵌入式传感器网络。
在另一项研究中,库马拉奇等人[69]提出了一种采用模糊数据建模方法的异常识别方案。该方案执行 par‐通过采用模糊c均值聚类对工业传感器节点传输的感知数据进行划分。然后利用模糊隶属函数以非参数和非概率方式执行异常识别。为异常识别计算自适应阈值。该方案与现有其他方案相比具有较高的准确性。然而,阈值计算的迭代过程对于资源受限的传感器网络而言并非高效方法。
Moshtaghi 等人设计并分析了一种更复杂的异常识别模型。[70]该模型引入了一种新机制,用于估计 Takagi‐Sugeno 模糊逻辑方法的参数。采用增量方法计算协方差矩阵的逆和加权样本均值,以构建随时间演化的模糊规则库。所构建的规则库随后用于异常识别过程。然而,该方案不适用于具有动态行为的传感器网络。
2.2.4.4 跨层异常识别
在跨层异常识别模型中,采用了开放系统互连(OSI)模型中来自不同层的两个或更多特征进行异常识别。多年来,学术界已提出多种用于传感器网络的此类异常识别方法 [71–75]。其中一种方法由Onat及其同事提出 [67],每个传感器节点会维护其相邻节点的配置文件。该配置文件包含两个特征,即数据包到达率和接收功率平均值。然而,由于底层检测方法较为简单,该技术无法检测更复杂的异常。
Bhuse [72],在其博士学位论文中,研究了利用多层特征(即物理层 (PHY)、媒体访问控制(MAC)、网络层和应用层)进行异常识别的方法。在物理层中,采用接收信号强度指示(RSSI)值进行异常识别,通过计算邻近传感器节点的RSSI值,若与基准值存在显著偏差,则视为异常。在 MAC层中,采用S‐MAC和TDMA协议进行异常识别,在这些协议中为传感器节点分配通信时隙,任何在非分配时隙内的交互均被视为入侵行为。在网络层中,提出了一种利用协议生成的转发表来进行异常识别过程的协议,该过程需要在表中整合高层知识以构建异常检测表(ADTs),然后利用 ADTs进行异常识别。在应用层中,往返时间被用作异常识别的一个特征。
Boubiche 等人 [73]提出了一种分层异常识别的技术。上述方案的共同特点是能够检测各自协议层中的分层异常。
贝克尔及其同事 [74]采用了多种学习算法,例如k‐近邻、支持向量机、贝叶斯分类器和神经网络,并利用来自不同层的多个特征进行异常识别。实验研究表明,朴素的方法(例如贝叶斯分类器和决策树)相比其他技术表现出更优的性能。在实验设置中,采用了多个特征用于异常识别。然而,该异常识别技术的性能在很大程度上依赖于适当特征的选择。对于资源受限的传感器节点而言,简单地使用多个特征的基本方法可能并不足够。
最近,戴及其同事[75]提出了一种多元分类方法,用于在大型网络中识别异常节点。该检测过程基于多元分类技术。该多元技术提取与传感器节点恶意行为相关的特征,并为所有作为网络组成单元的传感器节点创建样本空间,随后根据给定的识别准则检测异常节点。实验结果表明,误检率低于 0.5%。尽管误检率较低,但该技术的有效性依赖于识别准则的选择。在某些传感器网络应用中,特别是当传感器节点具有动态行为时,选择合适的识别准则并非易事。
2.2.4.5 其他方案
李等人[76]提出了一种用于识别异常传感器节点的定量方法。该方法基于数据传输质量(DTQ)函数。传感器网络被划分为多个组。每个传感器节点都维护其相邻节点的DTQ表。后续关系中给出了DTQ函数。
DTQ= kD/E ×(STB())/(P()) (2.9)
在上述关系中,k是一个大于0的整数,D/E表示单位能量中传输的数据包数量。符号STB()表示数据调度稳定性的因子,P()是成功传输的数据包的概率。对于正常传感器节点,DTQ函数值保持静态或高效变化,而对于异常传感器节点则会发生变化。传感器节点最终被判定为正常或异常,是通过组内成员投票决定的。然而,该投票技术容易受到共谋威胁的影响。
克朗蒂里斯及其同事 [77]设计了一种新型异常识别方法。在该方法中,选定的传感器节点(即看门狗节点)负责观察相邻的传感器节点。看门狗节点根据以下标准进行选择。假设一种情况,传感器节点A与传感器节点B具有通信连接,则传感器节点A以及位于传感器节点A和传感器节点B无线通信范围交集内的其他传感器节点均可作为监管节点。一个监管节点按照以下机制观察相邻节点。(i) 如果某个特定节点在t时间内丢弃了n个数据包,则监管节点会触发一次触发事件。传感器节点。(ii)在特定位置,如果监管节点触发警报,则将可疑节点广播为异常节点。该方法简单,但容易产生较高的误报率。此外,宣布可疑节点为异常节点需要一半以上传感器节点的投票,在某些传感器网络应用中可能并不合适,特别是那些要求高检测率的应用。
克里希纳马查里及其同事[78]提出了一种用于检测感兴趣的环境事件的分布式算法。该算法在检测这些故障时明确考虑了传感器测量中可能出现的故障。通过仿真研究和分析,对所提出算法的性能进行了评估。结果表明,该方法能够检测出85%到95%的故障。拉扎雷维奇等人[79]进行了一项详细的比较研究,以识别不同类型的网络入侵。多种异常识别技术及其扩展工作在DAPRA数据集上得到了评估。结果表明,某些方案相较于其他方案表现出更优的性能。
本节首先讨论了统计异常识别方案。随后,对一些相关方案进行了批判性回顾,这些方案使用人工智能、代理技术、机器学习、模糊逻辑以及多种其他方法进行异常识别。由于我们提出的异常识别与确认系统依赖代理技术来确认异常,因此代理的安全性将在下一节中进行回顾。
2.3 代理的安全性
在支持代理的应用层中,一个关键挑战是保护代理免受对抗性节点的侵害。由于主机节点在代理执行期间对其拥有完全控制权,因此这是一项复杂的任务。
2.3.1 在中间件上保护代理
从分层架构的角度来看,一个网络系统,特别是传感器网络,可以分为三层,即应用层、中间件和硬件层。这些系统的安全机制可以部署在任意一层[80]。文献中已设计并研究了多种中间件架构,将安全集成到代理应用的中间件中 [80–84]。这些架构便于对应用进行修改甚至完全移除,而不会干扰微型传感器节点的安全机制。
2.3.2 其他方法
多年来,为了保护代理免受对抗者的侵害,一些研究也在其他类型的网络中展开。以下回顾了文献中少数突出的方案。
关于识别针对代理的篡改攻击,维尼亚 [85] 开展了其中一项开创性工作。在该工作中,代理可以获取指令在恶意节点上执行时的执行痕迹,这些指令是在该节点上执行代理期间运行的。这些执行痕迹是代理所执行操作的日志。每个节点保存代理执行过程中的执行痕迹,然后传输这些执行痕迹的哈希值,以节省网络带宽。代理的父节点随后可通过重新执行代理并比对执行痕迹来验证其执行完整性。然而,该方案需要较高的计算和内存资源来计算哈希值并存储执行痕迹,因此对于低资源传感器网络而言并不可行。
张等人[86]为代理和Web服务设计了一种安全集成方案。该方案提供了一种认证协议,由于基于用户名‐密码对的认证方式对代理不可行,因此该协议无需用户名‐密码对即可完成认证。所提出的协议依赖于一种基于身份的公钥管理算法。作者进行的分析表明,该方案可以简化密钥管理过程。然而,该方案仅关注Web服务。
穆等人 [87] 开展了一项关于在指定主机上保护代理的研究。在所提出的模型中,代理的父节点为该代理选择一个目标节点,然后与该节点执行认证。这种方法避免了滥用和不可否认性问题。该模型已在电子商务环境中进行了理论验证。然而,该方案需要进行全面的实验分析,才能被认为对其预期用途有效。
在另一项工作中,马利克等人[88]设计了一种代理在机构之间(即代理主机节点之间)安全传输的流程。Mobile‐C 是一个支持 C 和 C++静态以及代理的多代理平台。在该方案中,所有代理均由一个可信第三方(此处为系统管理员)进行认证。该框架的设计灵感来自安全外壳(SHH)协议。发送和接收节点在传输和接收代理之前,使用公钥密码学相互认证。接收节点还会验证所接收代理的完整性。文中评估了不同场景下代理的周转时间。然而,作者并未进行任何攻击分析,以证明所采用的密码学方法在保护代理方面的有效性。
最近,埃斯帕扎及其同事[89]采用了水印技术和指纹技术来检测代理篡改攻击。所提出的方法,即代理水印技术(MAW),使代理父节点能够基于插入的水印确认代理的执行完整性。作者还提出了一种利用可信第三方检测和惩罚对抗节点的技术。这些方案的可用性通过一个概念验证和广泛的性能评估。MAW 的目标是传统网络,但我们已在网络中扩展了这种方法,因为水印的大小可以变化,从而使得 MAW 能够在低资源传感器网络中运行。
2.4 形式化建模与分析
设计不当的支持代理的系统可能会进入静态状态,或者由于未能执行其预期功能而严重影响传感器节点的受限资源。因此,通常采用形式化建模来提供大型系统的正式描述并验证其正确性[90]。形式化建模与分析的过程还能消除整个系统设计中的不一致性,并通过识别缺失需求或无效需求来确保系统设计的完备性。缺失的需求可以随后被补充到系统设计中,或对无效需求进行改进,从而获得更优的整体设计。近年来,形式化建模已成为在系统实现之前验证系统行为的一种广泛研究的方法。在过去十年中,研究人员社区已开展了大量研究工作,以形式化验证无线通信系统[91–93]。类似地,也已有一些尝试对协议进行形式化表征[94–96]。
验证算法、协议甚至系统也有助于为资源受限的传感器网络创建最佳设计。许多研究已沿相似方向对传感器网络的安全机制进行形式化证明。
Law及其同事 [97]对一种用于传感器网络的分布式密钥管理架构进行了形式化建模与分析,该架构包含两个相互关联的有监督和无监督安全域。使用一种名为CoProve的工具来确认所提出协议的正确性。协议的规范作为输入提供。然后通过研究系统的一个实际示例场景来评估协议的性能。在一项博士研究中,维尔纳 [98]应用形式化方法检查在已定义设置下传感器节点的能耗模型。然而,该方法可能不适用于随机系统。
互联网安全协议与应用自动验证(AVISPA)也在文献中被研究 [99]。它提供了一种用于安全协议规范的形式化方法。多年来,诸如Co‐Prove、 AVISPA以及暴力破解算法等工具已被用于安全协议的验证。然而,Petri网理论是一种数学建模语言。Petri网理论的数学基础为系统定性和定量特性的描述、建模和验证提供了坚实的保障 [100]。尽管Petri网理论在建模和验证方面具有丰富的特性,但在传感器网络安全领域的文献中,尤其是异常识别方案方面,尚未得到广泛研究。在过去的十年中,一些显著的安全解决方案已通过Petri网理论在传感器网络中的应用[101–104]。然而,这些研究存在若干局限性,如下所述。 2009年,何等人[101]采用Petri网为传感器网络设计并形式化验证了一种增强的安全定位方案。定位模型和攻击驱动模型均基于Petri网理论构建。随后使用状态方程技术进行可达性分析。基于状态方程的分析表明,在系统设计中仅安全状态是可达的。然而,作者尚未对安全协议进行深入的行为分析。此外,这些形式化模型也未通过仿真或实际实现进行验证。
罗德里格斯等人 [102]利用Petri网理论的动态特性,即同步和并发,来建模并形式化验证一种用于传感器网络的加密方案。该通信系统通过标准 Petri网进行建模。随后,使用库所和变迁不变量对一种基于椭圆曲线的密码协议进行建模和说明。作者仅推导了可达集以分析所提出密码协议的行为。此外,所构建的模型较为简单,无法估计协议的时间上行为,而时序行为是任何安全协议的重要性能指标。
曾等人[103]利用Petri网理论验证了传感器网络中的一种鲁棒自证书用户认证方案。在构建标准Petrinet模型后,对认证方案进行了安全分析。该Petri网模型在HPSim上进行仿真,以验证从根状态到达不同状态的可能性。然而,并未对行为特性进行深入分析,以评估该认证方案的适用性。
最近,萨比和埃什伊赫 [104] 采用Petri网对传感器网络中的加密方案进行验证。通过建模语言Promela构建了该加密方案的Petri网模型,然后使用线性时序逻辑表述其正确性性质。利用专用的模型检测工具SPIN对该加密方案的正确性进行了验证。与其他方案类似,这项工作也仅关注加密方案行为分析的有限方面。
2.5 局限性
一个设计良好的异常识别机制能够检测出不一致、功能失常或问题节点,这些节点可能会干扰传感器网络的正常运行。考虑到传感器网络的独特特性,设计一个 adequate 的异常识别系统是一项艰巨的任务。在为传感器网络构建异常识别机制时,一个关键的设计考虑因素是异常识别模块在网络中的 placement。
传统上,异常识别模块的位置布置采用集中式或分布式设计选择。另一个关键的设计选择是以最低的能耗来发现异常。因此,现有方案的主要重点在于阐述轻量级的异常识别方法,同时保持可接受的检测率。这种方法可能会延长网络的寿命。然而,它可能无法及时识别异常的复杂特性。未能识别此类异常可能对网络的功能和寿命产生最严重的影响。因此,必须在使异常识别机制轻量化与其检测复杂异常的能力之间取得平衡。
本章进行的文献综述表明,主流异常识别方案大多仅关注异常的识别 [10, 12, 15, 18–21, 105]。然而,为了有效缓解异常,必须发现异常的根源,据我们所知,现有文献尚未考虑这一点。因此,本书提出了一种基于代理的异常识别系统,该系统不仅能识别不同类型的异常,还能通过使用代理提供对异常节点的现场确认服务。
文献综述还表明,在现有的异常识别方案 [45, 47, 48] 中,代理被用于不同的角色。然而,这些技术的一个共同局限性在于未考虑与代理相关的基础设施和通信成本。因此,本研究考虑了这些因素,将异常识别模块部署在资源丰富的簇头节点上,并提出了代理传输优化的方法。
在传感器网络文献中,针对对抗者对代理的安全保护尚未得到广泛研究。事实上,这方面的研究更多出现在传统网络的相关文献中。然而,传统网络中的方案仅关注安全性能。由于传感器网络资源有限,这些方案可能无法直接应用。因此,本研究通过必要的修改,将MAW方法[89]扩展到传感器网络,以防御代理执行完整性攻击。
文献中的一些方案已考虑在OSI模型的不同层检测异常 [72, 75]。然而,这些方案尚未考虑在Zigbee‐IEEE 802.15.4标准中采用跨层优化来检测不同类型的异常。本研究采用了跨层方法,不仅用于异常识别,还结合通信链路的当前状态,实现代理的有效传输。此外,采用模糊逻辑以提高所提出方法的性能。
相关工作的综述还表明,许多方案仅停留在设计阶段,尚未进行详细分析以验证其适用性。缺乏详细分析凸显了一个关键问题,即这些方案是否适用于资源受限网络。从这一角度来看,性能本研究中提出的方法通过理论分析、真实测试平台上的实验以及大量仿真进行了彻底的研究。
2.6 总结
本章首先介绍了传感器网络安全的背景,以突出本研究的问题领域。接着对异常识别文献中的方案进行了批判性评述。随后讨论了代理安全问题,提出了一个中间件架构,以便在中间件层中集成基于代理的资源受限网络应用的安全性。此外,还简要概述了形式化建模与分析的相关文献,并指出现有相关方案的局限性,从而确立了本研究的研究背景。
在下一章中,异常识别与确认系统已被阐明。
2.7 参考文献说明
第2.1节讨论的异常类型最初由 [10]提出,并在 [11]中结合相关概念进行了进一步讨论。针对异常识别的方案分类,以及对这些方案及其局限性的后续讨论,首次在 [11]中给出。
1217

被折叠的 条评论
为什么被折叠?



