节点还是链路?无线传感器网络中丢包攻击的细粒度分析
达尼埃莱·米迪和埃莉萨·贝尔蒂诺,普渡大学
在无线传感器网络中,数据包丢失通常是潜在攻击的指示。因此,旨在提供全面保护的安全解决方案必须包含丢包检测功能。确定这些丢失的实际原因对于快速自动响应攻击至关重要,无论是简单地报告攻击,还是更复杂的操作如分组重路由和重传。无线传感器网络中的数据包丢失可能由影响节点的攻击或针对无线链路的攻击引起。对这类攻击的响应效果在很大程度上取决于能否准确识别实际的攻击原因。因此,需要能够正确识别数据包丢失原因的方法。本文提出的工作通过设计和实现一种细粒度分析(FGA)工具来解决这一问题,该工具可调查数据包丢失事件并报告其最可能的原因。我们的FGA工具利用每个接收数据包中可用的驻留参数(如RSSI和LQI),对节点间的无线链路及其邻域进行特征分析。该系统的设计是完全分布式和事件驱动的,其低开销特性使其适用于无线mote等资源受限实体。我们通过真实世界实验验证了该方法的有效性,结果表明我们的FGA工具能够有效区分可能影响节点和链路的各种攻击。
类别和主题描述符
C.2.1[Computer-Communication Networks]:无线通信 ni-C.2.0 [Computer‐CommunicationNetworks]:一般——安全与保护 通用术语:算法,安全 附加关键词和短语:无线传感器网络,分布式系统,数据包丢失,无线电干扰,细粒度分析,取证
1. 引言
高度安全的网络系统的一个关键要求是态势感知(SA)[Onwubiko2009;Onwubiko 和Owens 2012]。态势感知(SA)通常指收集有关目标网络中发生的(可能是实时的)相关事件的知识。这有助于理解这些事件以及防御措施对网络的影响,包括即时和近期的影响。对于无线传感器网络(WSNs),数据包丢失是一类与态势感知特别相关的事件,因为它可能导致重要信息丢失,并破坏基于冗余数据传输的数据质量解决方案[Lim等人 2012]。然而,仅仅检测到数据丢失仅关注数据包丢失是不够的,正确诊断这些丢失的原因也至关重要。数据包丢失可能是由于受损或行为异常的节点,或是针对网络链路的攻击所导致。确定数据包丢失攻击的实际原因,对于部署有效响应、恢复和调试操作至关重要。
选择性转发和黑洞攻击是与节点相关的攻击示例,而干扰则是链路相关攻击的示例。这两类攻击都可能导致部分或完全数据包丢失。然而,尽管这些丢失的原因不同,当前的入侵检测系统(IDS)通常仅能够检测到数据包丢失,而无法确定丢失的实际原因,即无法判断是与节点相关还是与链路相关[帕坦等,2006;王等,2006;齐亚和佐马亚2006]。因此,需要通过能够正确诊断目标无线传感器网络中数据包丢失原因的技术来增强现有的入侵检测系统。
本文提出的工作通过设计和实现一种对数据包丢失进行细粒度分析(FGA)的方法,以准确诊断其根本原因,满足了这一需求。通过对目标无线传感器网络(WSN)中所有链路的分析,我们的方法能够确定数据包丢失是由恶意节点还是与链路相关的问题所引起。我们的FGA工具利用数据包的驻留参数(如接收信号强度指示(RSSI)、链路质量指示(LQI)和数据包接收率(PRR))为网络链路建立特征轮廓。当入侵检测系统(IDS)报告数据包丢失时,这些轮廓可用于深入分析,以确定丢失的实际原因。此外,对于由链路干扰引起的数据包丢失,我们的方法能够以较高的准确性估计该干扰源的位置。这一信息使网络管理员和自动化事件响应系统(IRS)[Sultana等 2014]能够估算受干扰影响的网络区域——这对于确定受影响的节点,并让未受影响的传感器采取有效的响应措施(例如通过未受干扰影响的链路和节点重新路由数据)至关重要。
我们的FGA工具的设计具有许多优势,使其非常适合无线传感器网络(WSNs)等异步系统。首先,该分析是事件驱动的,并在每个调查节点上同时进行。其次,在网络不同位置存在多个行为异常节点的情况下,可以同时进行多项调查。第三,调查以隐蔽方式进行,不给恶意节点任何干扰调查结果的机会。第四,我们的方法是完全分布式的,因此不需要依赖基站(BS)来协调或执行分析。相反,分析仅由故障节点或链路的直接邻居完成。最后,我们的FGA工具具有低开销,可以作为许多无线传感器网络系统中的一层实现。传感器节点的计算和电力资源非常有限。因此,为了执行所需的分析,我们的方法利用了驻留参数——例如每个接收数据包中都包含的RSSI和LQI。因此,与先前的方法[汗等,2010;德或林2011],不同,我们的FGA工具不需要任何附加节点或资源。
我们的FGA工具具有多种应用,从法证调查到实时响应系统。例如,法证分析人员可能希望记录每个数据包的链路测量结果,以调查并确定参与某些可疑数据传输的节点。此外,实时IRS系统可以利用我们FGA工具提供的精确分析结果,采取更有效的响应措施。
2. 对抗模型
在本节中,我们介绍定义对抗模型的假设。
我们假设该无线传感器网络由大量传感器节点组成,并通过多跳通信实现全连接。我们假设网络拓扑结构被设计为每个节点至少有两条不相交路径可到达基站。同时,我们假设在每个节点上都部署了入侵检测系统,使得每个传感器都能够检测丢包攻击以及数据篡改[克罗尼蒂里斯等人,2007年;辛,2002年;罗曼等人,2006年;苏尔塔纳等人 2012]。
攻击者有两种攻击网络的方式: —部署后,节点可能被攻击者捕获,攻击者将能够访问这些节点中存储的所有信息,以及重新编程它们并控制其行为。因此,攻击者可使节点拒绝转发部分数据包(选择性转发攻击)或甚至全部数据包(Blackhole攻击)。—攻击者可能在网络表面上放置一个干扰源,破坏节点之间的无线通信链路。因此,攻击者可导致部分数据包丢失(低干扰攻击)或大多数数据包丢失(HighInterference攻击)。
从高层次角度来看,攻陷节点使其主动丢弃数据包以及在网络中引入干扰,是攻击者通过丢包攻击破坏网络通信的两种方式。因此,我们的对抗模型涵盖了多种旨在造成数据包丢失的攻击者,因为这些攻击者的手段最终都会落入上述两类攻击之一。属于这两类攻击的其他攻击示例包括:利用自我复制的无线传感器网络蠕虫来发现邻居节点的漏洞,并利用数据包作为攻击载体进行传播(与节点相关的攻击),或改变节点所处环境条件,例如人为地将其暴露于极高或极低的温度下(与链路相关的攻击)。
每个节点的入侵检测系统检测到丢包攻击时,将对丢包进行调查;我们假设调查节点是可信的,不会报告虚假投票。这一假设对于作为我们方法一部分采用的多数投票算法尤为重要。然而,我们还将提出该算法的一个变体,能够放宽此约束,从而能够容忍一定数量的共谋调查节点。
我们假设可以在网络的不同部分同时进行多重同时攻击。事实上,我们方法的一个优势在于可以同时开展多次调查。
3. 背景
在本节中,我们介绍用于对无线传感器网络中节点间链路进行画像的基本参数。作为硬件平台,我们使用安装在Telos节点上的CC2420射频芯片(有关CC2420射频芯片的更多细节,请参见第8节)。CC2420芯片提供了两个有用的度量指标:RSSI和LQI。它需要强调的是,我们的方法并不局限于CC2420射频芯片,而是可以在任何提供这些测量值的射频设备上运行,例如任何基于IEEE802.15.4标准的较新射频设备。
RSSI表示接收到的数据包的信号功率,以dBm为单位进行测量。该值在8个符号周期内计算,并存储在RSSI VAL寄存器中,该寄存器位于CC2420射频芯片中。这些射频芯片的制造商Chipcon在CC2420数据手册中规定,信号功率值以dBm为单位按公式RSSI VAL+RSSI OFFSET计算,其中RSSI OFFSET约为 −45。RSSI值范围介于−50和 −100之间,数值越高(负值越小)表示信号越强。
LQI是对接收信号当前质量的度量,可视为接收信号的芯片误码率。它在帧起始定界符(SFD)之后的8b内计算得出。根据CC2420规范,测得的LQI1实际上是通过比较预期接收的符号与实际接收到的符号(信号+噪声)所得到的每个符号的平均相关性。其值通常在50到110之间,数值越高表示帧的质量越好。
最后,我们方法中使用的第三个参数是PRR,定义为两个邻居节点之间成功接收的数据包数量与发送的数据包数量之比。较高的PRR意味着更好的链路质量和健康的通信链路。
4. 网络配置管理
在本节中,我们解释如何利用RSSI、链路质量指示和PRR参数来刻画两个邻居节点之间每条链路的特征,并介绍如何聚合这些单个画像以确定每个节点的邻域画像。
4.1. 链路分析
链路分析的目的是更好地理解每个节点与其直接邻居之间的关系,这是确定数据包丢失原因的关键特征。在初始网络设置期间,基站通过发送HELLO命令来识别所有节点,然后依次请求每个节点启动LinkProfiling过程。每个节点随后向其所有直接邻居每隔10毫秒广播一次M dummy消息,共广播M次。M的取值应根据网络的稳定性和拓扑结构来选择。在某些网络中,RSSI和LQI值可能表现出较大的波动;因此,较大的M值会导致初始轮廓采集过程变慢,但能获得更精确的画像。
由于链路分析发生在网络初始设置期间,我们假设在此阶段不存在节点或链路相关攻击,因为此类攻击在网络管理员进行初始测试时很容易被检测到。图1总结了链路分析的步骤。
当一个节点从其直接邻居接收到dummy消息时,它会记录连接该节点与发送者之间的特定链路上的RSSI、LQI和PRR值。随后,每个节点将为该链路创建特定的链路分析文件,其中包含平均 RSSI和平均LQI值以及PRR,从而形成与每个直接邻居之间的链路配置三元组(平均RSSI、平均 LQI、PRR)。每个链路配置文件均在各节点本地保存。由于链路配置文件依赖于接收数据包所携带的参数,因此我们的配置文件具有方向性:即从节点n到节点n’之间的链路配置文件从节点n的角度来看,n←n’与从节点n′角度来看的链路特征,即n’←n,是不同的。
如果每个节点广播的虚拟消息数为M,且Rn←n′表示节点n′发送并由节点n接收的消息集合,则链路分析文件n←n’的分量计算如下:
AvgRSSIn←n′= ∑M i=1 RSSI(Ri n←n′)/\|Rn←n′ \|
AvgLQIn←n′= ∑M i=1 LQI(Ri n←n′)/\|Rn←n′ \|
PRRn←n′= \|Rn←n′ \| / M
对应的链路分析文件n←n’ 表示为以下三元组 :
n← n′= 〈AvgRSSIn←n′,AvgLQIn←n′,PRRn←n′〉.
每个节点所需的存储空间取决于该节点的直接邻居数量。
初始的链路分析过程对于后续的细粒度分析至关重要。事实上,RSSI和LQI测量值会通过节点之间交换的各个数据包附带传输。在整个稳定网络中的通信负载可能差异很大,导致某些节点获得较多的画像数据,而在通信负载较轻的节点则获取很少的信息。这将导致部分平均链路配置文件表现出较高的方差,从而降低其在分析中使用的可靠性。因此,即使这些链路分析文件将在无线传感器网络生命周期内持续更新(参见第4.3节),初始的链路分析过程仍可确保为构建具有可比准确性的链路分析文件提供一致的基础。
4.2. 邻域画像
我们也 fine的pro fi 通过平均每个节点的直接邻居的所有链路配置文件,来生成每个节点邻域的邻域画像。在强干扰情况下,邻域画像对于定位干扰源以及更好地理解网络中可能受影响的区域至关重要,如第7节所述。
使用符号n ↔ n′表示节点n与节点n′之间的链路,我们定义节点n的直接邻居集合如下:
D(n) ⊆ N={n′ ∈ Ns.t.∃n↔ n′}.
通过利用此定义,节点n的邻域画像的组成部分计算如下:
AvgRSSIn= ∑n′∈D(n) n← n′ RSSI / \|D(n)0\|
AvgLQIn= ∑n′∈D(n) n← n′ LQI / \|D(n)\|
PRRn= ∑n′∈D(n) n← n′ PRR / \|D(n)\|
以及节点n对应的邻域画像,记为P(n),表示为以下三元组:
P(n)= 〈AvgRSSIn,AvgLQIn,PRRn〉.
4.3. 画像更新与当前健康画像
在节点的正常生命周期内,其电池电量会自然下降。这种现象将导致该节点的通信链路分析文件(接收信号强度指示和链路质量指示)与其所有直接邻居节点所存储的链路分析文件不同。从长期来看,一旦新的“自然”分析文件与原始分析文件之间的差异超过干扰攻击的阈值,任何数据包丢失都会立即被诊断为链路相关攻击,即使事实并非如此。
为了解决这一问题,节点A定期根据侦听的数据包更新其直接邻居B的初始配置文件。该更新后的配置文件表示邻居B在正常生命周期变化下的当前健康配置文件(CHP)。后续的调查和配置文件比较阶段将使用此更新的配置文件,记作CHP[n← n′],作为参考来检测丢包攻击的原因。
在这种情况下,一个重要考虑因素是配置文件需要更新的频率以及哪些新值应被纳入。我们的算法在进行配置文件更新时,仅考虑那些可视为由电池衰减引起的自然变化的新值。这一约束是必要的,以防止由于实际干扰攻击或网络剧烈波动导致的虚假值影响配置文件,从而有效地“污染”配置文件并实施未被检测到的攻击。一个值被视为正常,当且仅当其相对于当前配置文件的变化速度和变化平滑度足够缓慢,即低于预设的阈值速率。无线传感器网络管理员需要在启动时确定该阈值速率,以确保变化是自然渐进的,此过程可能借助自动化工具完成。事实上,该参数完全取决于所使用的微小传感器节点、每个节点的电源以及节点上运行的应用程序的功耗。
算法1:用于更新通用链路的当前健康状态配置文件的算法n← n′
当前健康配置文件[链路]=initialProfile[链路];
lastUpdate[链路]= timestamp();
on从节点n′嗅探数据包pdo
Pp= calculateProfileForPacket(p);
timeframe=timestamp() −lastUpdate[链路];
如果abs(Pp − CHP[链路])/时间范围) ≤速率则
当前健康配置文件[链路]= aggregate(当前健康配置文件[链路], Pp);
end
终点
用于更新通用链路n ← n′(在伪代码中用“link”表示)的当前健康状态配置文件的算法如算法1所示。在开始时,当前健康状态配置文件被设置为网络启动时计算的初始配置文件。之后,在无线传感器网络运行期间,当侦听到数据包且其测量值与指定的自然衰减速率(在图1的伪代码中用“RATE”表示)一致时,会定期更新当前健康状态配置文件。聚合函数会简单地将新值纳入平均配置文件分量中,但也可以自定义以指定该新值在当前健康配置文件中的权重。
4.4. 添加、移除或重新定位节点
我们的FGA工具旨在对网络修改进行尽可能少的更改。由于传感器节点的处理能力和存储空间有限,我们必须确保设计能够容忍网络变化,例如向网络中添加新节点、从网络中移除节点以及重新定位现有节点。
当添加一个新节点时,发生的变化仅部分影响该引入节点的直接邻居。基站更新网络拓扑图的同时,会请求新节点与其邻居节点建立链路配置文件。新节点将发现其直接邻居,并请求它们为其新的公共链路生成链路分析文件。此时,每个邻居节点都会在其已有的配置文件列表中新增一个链路配置文件,并同时本地更新其邻域画像。
当某个节点被移除时,虽然基站会更新网络拓扑图,但各节点无需立即进行其他更改。事实上,在一段时间内,被移除节点的直接邻居仍将保留一条额外的链路分析文件。这条额外的链路分析文件对未来分析没有任何负面影响,除非存储空间成为问题。一旦在调查过程中发生邻域重新画像,每个节点都将能够确定其存储的分析文件中哪些是关于已被从网络中移除的节点的链路——因为这些分析文件在重新画像期间不会被更新——从而能够从内存中删除这些无用的分析文件。当存储空间成为主要问题时,基站也可以在更新网络拓扑图的同时,直接通知被移除节点的邻居有关此网络变更的信息。邻居节点随后将立即删除被移除节点的分析文件,并立即释放存储空间。
移动节点的过程利用了先前针对节点添加和删除所考虑的因素。我们的系统将节点从网络中的一个位置移动到另一个位置分解为两个独立的概念步骤。首先,使用前述方法将该节点从网络中移除;然后,按照本节所述的节点添加流程,将该节点重新添加到其新的位置。需要这两个独立步骤的原因在于,我们的画像参数(RSSI、LQI、PRR)受位置影响。重新定位一个节点需要重建其链路和邻域配置文件。当基站更新其网络拓扑图时,被移动的节点会被引入新的邻居节点,并请求进行邻域画像。
5. 诊断
在本节中,我们展示用于区分可能导致数据包丢失的不同类型攻击的分析步骤。如第2节所述,我们假设每个节点都配备了一个入侵检测系统(IDS),以检测数据包丢失以及数据篡改[Krontirisetal.2007;Hsin2002;Romanetal.2006;Sultanaetal. 2012]。在我们的工作中,只有当IDS检测到存在需要调查的数据包丢弃攻击时,才会触发FGA。由于我们的FGA方法专注于区分与节点相关和与链路相关的攻击,因此攻击本身的检测(相对于非恶意的数据包丢失)由IDS负责。我们认为这种方法使我们的设计具有更清晰的关注点分离,使得FGA模块可以更专注于攻击的诊断,而非攻击与自然丢失事件之间的检测。无论如何,我们相信由于IDS错误地将非攻击性的数据包丢失判定为攻击而导致的误报,其发生频率较低且持续性较弱,相比之下,攻击者通过被攻陷的节点或干扰在网络中主动丢弃数据包的行为更为频繁和持久。基于这些原因,我们认为由于FGA范围之外的组件(如IDS)导致的偶发性误报,对无线传感器网络整体安全性的危害远小于大量漏报的情况。
分析目的:细粒度分析(FGA)的目的是区分针对节点的攻击和针对链路的攻击。通过检测到的攻击,我们可以判断丢包的原因是与节点相关还是与链路相关。例如,选择性转发攻击和黑洞攻击属于导致部分和完全数据包丢失的节点相关攻击。然而,无线电干扰或干扰(信号)攻击也可能导致数据包丢失,因为它们对网络链路和区域产生负面影响,具体影响取决于干扰源的位置和强度2。本质上,干扰的存在会影响经过嘈杂环境的数据包的接收信号强度指示(RSSI)和链路质量指示(LQI)值,并有时会损害其他数据包的信号质量,使其无法被正确读取。
在接下来的章节中,我们将详细说明FGA工具在检测到数据包丢失后执行分析过程的各个步骤。
5.1. 分析启动与证据收集
我们的分析旨在了解每个链路分析文件的组成部分以及每个节点的邻域情况,以便更好地评估数据包丢失的原因。基本思路是,由其入侵检测系统报告了丢包的节点对与可疑节点之间的链路进行重剖面,并将其与这些链路的当前健康配置文件(在初始设置期间生成并在传感器应用程序运行期间定期更新)进行比较。链路重剖面算法由多个调查节点同时执行,且无需可疑节点的参与,以避免调查结果受到误导。
我们的FGA算法是事件驱动的,因此非常适合无线传感器网络等异步系统。触发事件及其相应操作如图2所示。基本上,当某个节点(例如n)的入侵检测系统观察到其某个邻居节点(例如nbad)发生丢包攻击时,它将激活节点n的FGA工具,以调查在节点nbad观察到的丢包原因。
在本文中,我们使用术语干扰来指代传感器节点之间信号通信的故意(干扰(信号))和无意中断。
为了评估与nbad链路的当前健康状况,调查节点必须收集新的数据证据。因此,n的 FGA工具启动了证据收集阶段,侦听由nbad发送的数据包,并将其对应的RSSI和LQI值记录在一个大小为S的重分析数组Rnbad[]中。每当n的IDS通知又有一个来自nbad的数据包被丢弃时,就在Rnbad[]中插入一个值0。该过程在每一个观察到来自nbad的丢包并相应进行调查的节点上并行执行。
当节点的FGA工具在进行调查时,它还会同时执行环境证据采集,以更好地描述周围环境。实际上,FGA工具会记录从其他直接邻居窃听来的每个数据包的RSSI和LQI测量值。类似于对nbad所执行的操作,来自某个邻居(例如n′)的值会被推入相应的重分析数组Rn′[]中,最多包含S个元素。
5.2. 配置文件比较
在某个时间点TC,当其中一个调查节点填满其重分析数组Rn bad []时,该节点(记为n)会计算一个当前调查配置文件(CIP),用以表示其自身与nbad之间链路的最新健康状态,具体方法如下。首先,将所有重配置阵列(包括nbad 以及n的其他直接邻居的重配置阵列)进行聚合,方式类似于初始轮廓采集阶段的操作,从而为每个与邻居节点n′ 的链路生成一个单独的轮廓,这些数据是在证据收集期间从相应链路窃听获得的。
收集阶段:
CIAvgRSSIn′= ∑S i=1 RSSI(Rn′[i])/\|S\|
CIAvgLQIn′= ∑S i=1 LQI(Rn′[i])/\|S\|
CIPRRn′= nonzero(Rn′[])/S
请注意,由于在证据收集期间检测到的每个由nbad引起的数据包丢失都会向重分析数组R nbad[]中推入一个0,因此在此对nbad的调查中,链路n ← n′的数据包接收率可简单地通过数组中非零值数量与数组的大小S之比来计算。
所有当前配置文件CIPn′(包括CIPnbad)均与相应的CHPn′进行比较,以计算一系列增量n′,表示每个邻居节点在RSSI和LQI各个分量上的配置文件的绝对变化:
RSSIn′= abs(RSSI(CIPn′)−RSSI(CHPn′))
LQIn′= abs(LQI(CIPn′)−LQI(CHPn′))
n′= 〈RSSIn′,LQIn′ 〉.
一旦所有差值计算完成,除nbad外的所有n′将被平均为邻域当前调查差值( NCID)。最后,当前调查差值(CID)按如下方式计算:
CID= α ·nbad+ β ·NCID,
其中 α+ β= 1 和 α ≥ β。
参数 α和 β可根据环境在该链路的最终整体配置文件中所占的权重进行可定制调整。如第9节安全分析中所述,在配置文件比较中包含环境因素会使恶意节点通过故意操纵传输功率来伪造干扰变得更加困难。然而,显然可以通过选择 α= 1.0和β= 0.0来消除其余环境对调查轮廓的影响。第8节中的实验7提供了关于两个权重的适当值的见解。
此时,节点执行轮廓比较算法,这是我们的分析技术中的一个基本构建模块。图3展示了该算法的决策流程示意图。该算法将CIPRRnbad与阈值(PRRthres)进行比较,以区分部分和完全数据包丢失的情况。我们将CID中的单个RSSI和LQI分量分别表示为RSSI和LQI。Interfthres表示干扰阈值,即链路配置文件(RSSI,LQI)中的最小差异,可用于判断干扰的存在。Interfthres的值通过测量网络链路初始轮廓采集期间发生的最大波动来确定。
当PRRcurr ≥ PRRthres时,每个邻居节点的轮廓比较算法只需比较与其被调查节点相连的链路配置文件。然而,当PRRcurr< PRRthres时,每个邻居节点的轮廓比较算法需要重新配置其所有链路,并将新的配置文件与最初捕获的链路配置文件进行比较。
5.3. 阈值确定
FGApro fi 比较算法利用了两个独立的阈值步骤。对于这两个层级,确定最佳阈值的方法大不相同。
PRRthres值用于区分完全丢包和部分丢包。因此,该值高度依赖于具体应用程序。事实上,考虑两种不同的无线传感器网络应用:一种是采集农作物的温度样本,另一种是监测医院病人的健康状况,两者都每分钟发送一次数据包。在第一种应用中,例如仅有30%的数据包被正确传送到基站,虽然存在一定不准确,但足以绘制出该农作物的温度变化趋势;由于温度不会迅速变化,且该应用不属于任务关键型,因此可以接受。而在第二种应用中,即使只丢失10%–20%的数据包(即有80%–90%的数据包成功送达基站),也可能极其危险;因为病人的健康状况可能在短时间内发生剧烈变化,该无线传感器网络应用的任务关键性决定了即使少量的数据包丢失也应视为完全丢包。基于这些原因,这两种应用可能会分别将其 PRRthres值设定为0.3和0.85,这两种选择均符合各自的应用要求。作为我们未来工作的一部分,我们计划研究支持用户选择PRR阈值的技术。其中一种可能性是验证是否存在冗余机制。例如,在任务关键型应用中,数据包可以被复制并通过多条互不相交的路径同时发送至基站;在这种情况下,由于存在冗余,链路本地的PRR约束就不再那么紧迫。此外,在正常条件下测量整个无线传感器网络的数据包投递成功率,有助于更好地理解可容忍的数据包丢失率,从而维持网络功能。
与PRRthres 阈值不同,Interfthres 阈值的取值不依赖于应用程序,而是根据初始轮廓采集期间收集的测量数据计算得出。事实上,选择Interfthres 最优值的目的是在调查过程中最小化误判(将链路相关攻击误判为节点相关攻击,反之亦然)。RSSI和链路质量指示的数值会受到自然波动的影响,其波动强度由所使用的微小传感器节点和各种环境因素决定。在初始轮廓采集中,会收集大量RSSI和链路质量指示的样本值。
通过分别测量网络链路初始轮廓采集期间RSSI和LQI两个维度上的最大波动(排除强异常值,即95th百分位以外的值),可以确定最小化漏检的最优阈值。该最大波动有效地表明了在没有攻击者引起的干扰且数据包正常传输(即未导致数据包丢失)的情况下,RSSI和 LQI相对于初始轮廓值可能偏离的程度。例如,假设某个节点为特定链路收集了一些初始轮廓采集数据包,并计算该链路的初始轮廓为所收集值的平均值:例如,RSSI= 78 和 LQI= 105。然而,假设所收集数据包的RSSI和LQI值分别在[76, 82]和[104, 106],范围内变化。那么很容易看出,在非恶意干扰的情况下,这两个维度的合法值波动范围最多可达RSSI6个点、LQI2个点。在细粒度分析过程中,若出现超出这些界限的值,则表明其偏离程度大于初始轮廓采集时的自然波动,从而指示存在干扰攻击。因此,Interfthres的值可直接基于节点在初始轮廓采集期间经历的最大波动计算得出。
5.4. 多数投票与调查结果
当 fi第一个节点完成 fi 证据收集并完成配置文件比较后,它将准备对nbad 处数据包丢弃的最可能原因进行投票。该投票结果将通过以下格式的消息进行广播:
<nbad,NodeIDs[], Vote, TC>,
其中NodeIDs[] 是一个数组,最初包含第一个投票节点的ID,但最终将包含所有投票节点的ID。
其他每个仍在对nbad进行调查的节点——例如,n′——在接收到第一个广播投票后,将停止对此次调查记录数据包。此外,它仅会考虑那些时间戳小于或等于时间TC的数据包。这是必要的,因为在首个投票广播之前,该调查对nbad是隐藏的,只有在时间TC之后,嫌疑节点才会意识到正在进行的细粒度分析(FGA)调查。因此,嫌疑节点可能会试图修改其发送的数据包以误导调查。
多数投票算法被设计为一种轻量级、简单的分布式共识协议。每个节点最初根据已收集的证据和之前讨论的轮廓比较算法计算自己的投票(参见图3)。只有在Rnbad[]中记录的数据包数量达到预设阈值的节点才会参与投票。每个计算出其投票(自身或聚合)的节点将广播该投票,并启动一个超时时间Tnbad。任何接收到包含新节点ID的NodeIDs[]数组的投票的节点,都会认为所接收的投票更新,因此会将接收到的投票与其自身的投票(如果尚未包含)进行聚合,然后广播新的聚合投票。Tnbad每次广播投票时都会重置。从nbad接收到的所有投票都将被忽略,且不会重置Tnbad。当某个节点上的Tnbad超时时,该节点认为投票聚合已完成,即不再有新的投票在网络中传播。此外,每个邻居节点都将拥有最新的最终投票结果,其中NodeIDs[]列出了所有广播此投票的节点的节点ID。因此,可根据管理员设定的策略采取相应措施。例如,自动入侵响应系统[Sultana等 2014]可能会采取行动,或者基站可能会收到已识别攻击的通知。
投票聚合
我们首先介绍投票聚合机制背后的基本思路;然后给出其形式化定义。总体而言,投票聚合基于以下规则:
—高无线电干扰:如果至少有一个节点投票支持高无线电干扰,则聚合投票结果为高无线电干扰;因此,在nbad处的丢包是与链路相关的。当某个节点的邻域画像中的RSSI和LQI值因强干扰而显著受到影响时,该节点将投票支持高无线电干扰。
—低无线电干扰:如果至少有一个节点投票支持低无线电干扰,且其他所有节点均未投票支持高无线电干扰,则聚合投票结果为低无线电干扰;因此,在nbad处的丢包是与链路相关的。当某个节点与nbad之间的链路分析文件中的RSSI和LQI值显著下降,而其整体邻域画像未发生显著变化时,该节点将投票支持低无线电干扰。
—选择性转发攻击:如果至少有一个节点投票支持选择性转发,且其他所有节点均未对网络介质中的任何类型干扰进行投票,则聚合投票结果为选择性转发;因此,nbad处的丢包属于节点相关问题。当某节点从nbad接收到的数据包中,其RSSI和LQI值与连接这两个节点的原始链路分析文件相比无显著变化时,该节点将投票支持选择性转发。
—黑洞攻击:如果至少有一个节点投票为黑洞,且其他所有调查节点均未对选择性转发或网络介质中的任何类型干扰进行投票,则聚合投票结果为黑洞;因此,在nbad处的丢包属于与节点相关。当某节点的邻域链路状态未受干扰影响,且没有任何数据包从nbad被转发时,该节点将对该情况投票为黑洞攻击。
干扰可能以不同的强度影响不同但相邻的链路。因此,不同节点的初始投票结果可能各不相同。然而,节点聚合机制有效地对投票进行了全序排列,始终认为支持链路相关攻击的投票比支持与节点相关的攻击的投票更可靠。事实上,如果某些节点检测到干扰而其他一些节点没有检测到,则很可能干扰确实存在,只是未影响到部分调查节点的通信。无论哪种情况,干扰仍将是导致丢包的原因,因此应被选为最终的正确决策。
我们现在为投票聚合机制形式化这种直观理解。设投票的域为
D={HI IN,LO IN, SEL FWD, B HOLE}
使得每个元素分别表示高无线电干扰、低无线电干扰、选择性转发和黑洞。我们在D上定义一个全序关系如下:
HI IN ≺ LO IN ≺ SEL FWD ≺ B HOLE.
给定一组待聚合的投票V,其结果通过如下定义的聚合函数计算得出:
aggr(V)= min(V).
由于RSSI和LQI值可能受到采样偏差的影响,从而改变单个节点的投票结果,因此在允许每个节点至少有两个直接邻居以及多条不相交路径到达基站的网络拓扑中,我们能够实现更高的投票准确性。这种冗余在实际工程传感器网络中很常见,使得我们的投票结果更加一致。
通信复杂度与优化
在上述多数投票算法中,每当节点接收到新的投票时,会将其与其当前本地投票进行聚合,并立即重新广播。调查节点发送的确切消息数量取决于多数投票算法所执行的邻域中的特定拓扑结构。然而,容易看出,在最坏情况下,该算法的消息交换通信复杂度为O(n²),其中n为调查节点的数量。我们为FGA工具开发的一种用于性能提升的优化,能够降低多数投票算法的通信开销。在此优化中,多数投票的执行被本地划分为若干轮次(这一概念在许多分布式一致性协议中很常见)。轮次完全由本地超时时间Tnbad决定,其在此版本的算法中有不同的用途。当接收到新投票时,它会被聚合到当前本地投票中,但不会立即重新广播。相反,调查节点将在当前轮次中持续收集并聚合所有接收到的投票。每次超时触发时,执行将进入下一轮。如果在上一轮中收到了任何新投票,则节点将广播其当前持有的最新聚合投票;如果在上一轮中未收到任何新投票,则认为多数投票阶段已完成,节点将使用最终计算出的投票,如同非优化版本的多数投票算法一样。即使对于优化后的算法,调查节点发送的确切消息数量仍取决于多数投票算法执行的邻域中的特定拓扑结构。然而,这一次我们可以设想,一个新投票每轮至少传播一个额外的链路,且每个节点每轮最多发送一条消息。因此,该算法的通信复杂度为 O(l),其中l是参与调查的两个节点之间的最长跳数距离。由于该通信的最坏情况拓扑结构是一条所有节点以链式连接的线性结构,n个节点的最长跳数距离为n−1跳;因此,通信复杂度的最坏情况为O(n)。
6. 共谋调查节点
迄今为止提出的大多数投票算法都基于第2节中介绍的对抗模型,该模型假设调查节点是可信的,不会报告虚假投票。在此类假设下,单个投票就可能改变集体调查的最终结果。事实上,正如前文所述,投票聚合算法在可能攻击的域中的值上建立全序,并选择最小值作为新的聚合投票。因此,例如,根据我们采用的排序,一次针对链路相关攻击的投票比任何数量的与节点相关攻击的投票具有更高的权重。
我们现在放宽对抗模型,允许调查节点中存在共谋节点。在此模型下,需要修改投票聚合算法,因为允许单个投票可能改变结果的情况会使恶意调查节点容易颠覆最终决策。因此,我们提出一种在部分调查节点可能与恶意节点共谋并表现出拜占庭行为的场景下依然有效的算法。对于每次调查,该算法能够容忍最多f个共谋调查节点,且调查节点总数至少为f+ 1。
对于该算法,我们使用多重集这一概念作为投票集合的数据结构。直观上,多重集是一个每个元素都关联有其重数的集合。更正式地说,定义在投票域D上的有限多重集是一个函数
: D → N,
即仅对有限个 v ∈ D非零。多重集 的基数计算为∑v ∈D (v)。非空多重集的最小值计算为
min()= min{d ∈ D s.t.(d)> 0}.
通过这个最小值的定义,我们可以引入函数l(),该函数定义为从中移除一个最小值的出现后得到的多重集,具体如下:
l()(v)={(v)−1 if v= min() otherwise.
有了这些定义后,我们就可以继续描述算法步骤了。在这个增强的算法中,每条投票消息都以以下格式进行广播:
<nbad, Votes[]>,
其中Votes[]是一个由单个投票组成的数组,每个投票指定为
<NodeID, Vote, TC>.
这意味着每条投票消息可以包含由不同调查节点提出的多张投票,这些节点的ID在 NodeID字段中指定。当某个节点首次完成证据收集阶段及后续的配置文件比较后,它所发送的投票消息中仅包含它自己的投票。随后,该算法像上一节所述的优化算法一样以轮次方式进行运行。每当一个节点接收到一条投票消息时,会将其包含的投票与自身已收集的投票进行合并。每个节点在特定轮次r内收集所有接收到的投票,然后在下一轮r+ 1中广播一条包含其截至目前收集的所有投票的投票消息。
当在某一轮中未收到新的投票时,投票收集结束。此时,迄今为止收集到的所有投票将被放入多重集中。为了容忍f个可能试图歪曲调查结果的串通节点,我们直观上需要移除一些可能改变最终结果的投票。为此,我们通过迭代应用函数l()f次来缩减多重集,从而移除多重集中最小的f个投票实例。此时,基于节点在多数投票阶段收集到并经过调整以容忍共谋节点的投票,其最终决策将被计算为
decision= min().
该决策随后可以根据网络管理员制定的策略,传达给基站或报告给入侵响应系统。
7. 定位干扰源
在关键(实时)传感器应用中,必须能够预见网络可能面临的未来攻击。这通过引入学习技术来实现,这些技术可根据以往的故障场景预警潜在攻击。当无线电干扰导致数据包丢失时,必须定位干扰源,以确定可能受噪声源影响的网络区域(节点或链路集合)。
定位干扰源是必要的,因为它有助于评估传感器读数的信任级别。当干扰是导致特定节点或链路发生数据包丢失的原因时,其影响可能还会波及到其他区域,导致入侵检测系统需要进一步诊断。这可能导致整个网络在检测与分析同一原因之间花费较长时间而处于不一致状态。因此,FGA工具必须能够定位干扰源,并在其分析过程中将受影响区域告知基站。尽管FGA工具是去中心化的,且不依赖基站来检测丢包原因,但在定位干扰源时仍需要基站提供的网络拓扑图信息。
7.1. 定位的设计选择
定位算法可分为集中式和分布式[Shietal.2010]。在集中式方法中,所有节点的定位数据都会被集中收集和处理——通常在基站(BS)进行——并基于对整个网络的全局视图。而分布式方法则仅使用节点自身及其直接邻居的信息。因此,集中式方法能够实现更精确的定位,但需要更多的通信开销。尽管分布式方法通常更受无线传感器网络(WSN)青睐,我们的FGA方法采用了一种混合策略:部分计算在调查节点上执行(例如收集重剖面样本和计算定位增量),而将主要计算任务交由基站完成。这种策略特别适合本研究,因为定位结果无论如何都需要传递给网络管理员,以便管理员进行干预。
在我们的研究以及最先进的方法中,无线传感器网络(WSN)定位方法的精度要求取决于多种因素,包括应用程序本身的要求、监测环境的动态性、成本和能耗、额外辅助硬件的可用性以及计算处理所需的速度。驱动我们方法设计决策的要求包括:无需任何额外硬件、最大化重用已收集数据、最小化处理以加快定位完成速度、低能耗影响、足够的准确性以确定受干扰影响的区域,并确保管理员能够介入。为了更好地理解我们设计选择背后的原理,有必要明确我们干扰定位的目标是为网络内应对措施提供方向,这些措施可以是自动化的——由入侵响应系统自动将数据包重新路由到受影响区域之外,也可以是手动的——由网络管理员物理查找并移除恶意干扰源。这两个目标源于实际场景的需求,推动了算法速度与简洁性同精确位置定位之间的权衡。在现实场景中,这种权衡证明了信号强度测量在无线传感器网络中存在的固有微小误差是合理的,以便能够快速响应攻击并节省能量。
此外,与传统的基于信号强度的定位方法相比,我们的方法具有三个主要优势:
—在传统的基于RSSI的定位技术中,节点A按需收集来自节点B的信号强度样本,正如本文所讨论的,这些样本可能会有相当大的波动。在我们的方法中,每个节点记录的链路配置文件是通过精确的采样收集得到的,经过平滑处理以消除自然信号波动的影响,并在网络生命周期内能量正在耗散时持续保持更新。
—在传统技术中,节点A随后使用其自身收集的样本来估计B的距离。而在我们的方法中,定位过程所使用的信息来自多个检测节点,从而为我们的方法提供了冗余,进而提高了鲁棒性和准确性。此外,此类数据在定位过程中的聚合是在基站进行的,由于基站拥有更多资源,因此能够存储额外的信息,例如完整的无线传感器网络详细地图。
—我们技术最关键的方面在于,调查节点无需尝试估计到某个节点的距离,而是仅向基站报告其所有链路配置文件中的相对增量,即这些链路受干扰影响的程度。因此,该方法并非测量信号的强度,而是测量信号相对于长期建立的正常性配置文件的衰减程度。随后,基站
基于无线传感器网络的地图,可以将这些差值作为权重应用于每条链路的搜索,并精确定位干扰源。
7.2. 定位方法
当FGA工具确定数据包丢失的原因是干扰时,它会尝试定位干扰源,以估计可能受影响的节点和链路。用于检测干扰源的方法工作如下:设nbad为第一个被报告给基站并受到干扰影响的节点。然后,基站要求该节点的所有直接邻居Nnbad重新计算其当前的邻域画像,如第4节中所述。一旦新的画像被计算出来并与原始邻域画像进行比较,每个节点将向基站发送画像差异,记为,以供评估。
用于定位干扰源的技术利用了有限点加权质心的计算公式[,该公式由Apostol和 Mnatsakanian 2004],定义。
∑n i=1 Wi · Vi / ∑n i=1 Wi
其中Wi是节点i的权重,该权重作为i的函数进行计算,而Vi是表示节点i空间坐标 (x y z)的向量,这些坐标基于基站已知的网络实际拓扑结构。图4还展示了根据给定原点O表示每个节点位置的向量及其对应的。基站将利用这些i和Vi,结合对网络拓扑的了解,来定位干扰源。
7.3. 权重函数
正如我们之前提到的,在用于干扰源定位的有限点公式中,加权质心所使用的权重Wi是作为i的函数来计算的。根据所选择的具体函数不同,定位精度可能会有很大差异。为了确定能够保证最佳定位精度的权重函数,我们进行了广泛分析,将不同的权重函数应用于从真实世界测试平台收集的所有实验数据。图5展示了我们使用的一些不同权重函数的误差百分比对比。结果表明,在所有测试中能够保证最佳准确性的函数是指数函数。因此,该函数是我们FGA定位算法的首选函数,也是第8节所述定位实验中所使用的函数。
8. 实验分析
在本节中,我们报告实验结果以评估FGA工具的效率和准确性。我们首先介绍实验设置;然后,通过真实世界实验在不同攻击场景下测试我们的FGA工具。
8.1. 实验设置
我们的实验设置包括25个TelosB[Polastre等 2005]使用TinyOS 2.1的无线传感器节点,这些节点被放置在不同位置。这些微小传感器节点工作在2.4GHzISM频段,有效数据速率为 256kbps,远高于旧式无线电设备的速率。为了实验目的,我们设置一个传感器作为基站( BS),并创建了一个服务器Java程序通过USB端口与基站进行交互。所有其他节点都烧录了相同代码,并等待来自基站的命令。每个节点都被编程以在本地且独立地执行其分析。
我们还在标准消息层之上构建了一个简单的路由系统,提供点对点多跳直接通信。我们采用了常见的互联网路由协议中的概念,使得每个节点都能够自动建立自己的路由表,并自动发现/学习到网络中任何其他节点的最佳路径。因此,在经过最初的几次数据包交换后,大多数路径会自动被发现,整个网络也随之被发现。我们改进的路由系统通过避免无用的数据包传输,降低了节点的通信开销。通过基站,我们利用多跳协议使管理员能够通过连接到基站的Java程序向所有节点或单个特定节点发送命令。
我们还设置了一个特殊节点(干扰器),作为干扰源,以测试细粒度分析在检测和定位噪声方面的准确性[Boano等 2009]。该节点被编程为每5毫秒发射一次伪数据包,并递增计数值。我们避免让其他节点无线电陷入无用中断,同时最大化对无线电介质本身的干扰。这有助于我们更真实地模拟现实世界中的干扰攻击。
细粒度分析的准确性与所考虑的传感器网络拓扑结构相关。最小拓扑要求是每个节点至少有两条可能路径到达基站。这要求每条链路至少有一个附加节点监视它,从而为向基站的每一跳形成三角结构。考虑到冗余性,这一要求对于大多数实际传感器网络来说是基本的。
在每种拓扑结构的设计中,这种结构都是必需的。我们实验评估所用的测试平台网络拓扑遵循这一结构,其中链路构成了多个三角形结构。图6展示了我们网络中靠近基站部分区域的拓扑快照。聚焦于网络的局部区域有助于展示FGA工具的性能,因为对检测到的数据包丢失的分析始终局限于其邻域范围内。我们使用该拓扑进行了实验,以计算每条链路对应的特征曲线。然后,利用这些特征曲线来检测丢包的原因,具体细节见第5节。
8.2. 细粒度分析在不同攻击场景下的测试
我们在网络的不同部分进行了测试,以更好地评估其效率,并通过将干扰源放置在不同位置来实验所有可能的情况。本节中展示的结果是在相同条件下对每个实验独立重复5次得到的。由于只有直接的邻居节点会参与对可疑节点的细粒度分析,因此在实验中我们将参考图6以便更清晰地讨论,因为导致数据包丢失的攻击将发生于这些节点之间。
我们的实验分为多个场景:
实验1—在初始网络设置时构建配置文件 :在初始网络设置时,基站请求每个节点开始与其直接邻居构建初始配置文件,并将这些配置文件保存在每个节点的本地。对我们的25个传感器节点进行配置文件构建所需的时间总共为25秒,其中每个节点向其他每个节点每隔10毫秒发送100条dummy消息,因此每个节点链路的配置文件构建耗时1秒。图7显示了我们从节点2、3、4、5、6和7(见图6)收集到的样本配置文件值。
实验2—干扰对链路配置文件的影响 :为了测试干扰对链路配置文件的影响,我们启用了干扰节点,并将其放置在节点3附近。我们手动请求重新画像,以观察受影响链路(主要集中于节点3周围)的RSSI和LQI值的变化。图7显示了这些链路对应的配置文件。请注意,在我们有意使用的低无线电干扰条件下,RSSI值发生了变化,而LQI值没有显著变化。此外,由于CC2420无线电模块报告的LQI值独立于RSSI参数,因此一旦信号强度足够好,链路质量就保持稳定。
实验3—选择性转发攻击 :为了测试FGA工具对这种攻击的应对能力,我们配置了网络,使得节点5向基站发送消息,而路由协议选择节点2作为中间节点。节点3、4、6和7是节点2的直接邻居,从而监控其行为。中间节点节点2被编程模拟以10%的概率丢弃数据包的选择性转发攻击,并且我们确保其通信范围内无干扰。实验结果表明,当节点2丢弃了20个数据包时,节点3、4、6和7的入侵检测系统成功检测到数据包丢弃攻击并触发FGA。在本实验中,节点4在时间TC首先填满其10个槽位的重新配置数组,进行计算并广播其投票。节点3、6和7在节点4的投票时间戳时刻已记录了来自节点2的9个接收的数据包的RSSI和 LQI值。每个节点的FGA工具依次聚合并广播其投票,直到所有调查节点的投票被聚合。最终投票聚合报告了一次选择性转发攻击。
节点3的投票: <2,[3], 选择性转发, 时间点TC>
节点4的投票: <2,[4], 选择性转发, 时间点TC>
节点6的投票: <2,[6], 选择性转发, 时间点TC>
节点7的投票: <2,[7], 选择性转发, 时间点TC>
聚合投票: <2,[3,4,6,7], 选择性转发, 时间点TC>
实验4—低干扰攻击 :我们在节点2附近放置了干扰节点以实施低干扰。然而,该干扰强度不足以完全隔离节点2。但当节点2丢弃了20个数据包时,节点3、4、5、6和7的入侵检测系统检测到数据包丢弃攻击,并激活其FGA工具。节点3率先填满其重新配置数组槽位并发送其投票。节点4和6收到投票后,在 9/10个槽位已填满的情况下停止记录,而节点5和7在 8/10个槽位已填满的情况下停止记录。由于我们接受一个节点投票的阈值是至少70%的重新配置数组槽位已填满,因此我们考虑了全部5个调查节点的投票。尽管节点4和 7投票支持“选择性转发”,因为它们记录的数据包未显示现有干扰的显著影响,但节点3、5和6投票支持“低干扰”,根据我们在第5节中提出的方法论,最终的聚合投票结果为“低干扰”。
节点3的投票:<2,[3], LO IN, TC>
节点4的投票: <2,[4], 选择性转发, TC>
节点5的投票:<2,[5], LO IN, TC>
节点6的投票:<2,[6], LO IN, TC>
节点7的投票:<2,[7], 选择性转发, TC>
聚合投票:<2,[3, 4, 5, 6, 7], LO IN, TC>
实验5——强干扰攻击 :该攻击场景与之前的攻击场景相同,不同之处在于,在此场景中,我们将干扰加强到使节点2完全与网络隔离的程度。节点3、4、6和7执行了分析,其中节点4首先填满其重分析数组并广播其投票。节点6和7收到投票后停止记录,此时已填充 7/10个槽位,而节点3仅填充了 5/10个槽位后便停止。由于我们接受一个节点投票的阈值是其重配置阵列至少70%的槽位被填满,因此我们未考虑节点3的投票。由于施加了强干扰,节点4、6和7的重配置数组中包含0,因此必须对其与直接邻居的链路重新进行画像,以执行轮廓比较算法。尽管只有节点6报告“高无线电干扰”,但根据第5节中的方法论,它的投票占主导地位。
节点4的投票: <2,[4],BHOLE, TC>
节点6的投票: <2,[6],HI IN,TC>
节点7的投票: <2,[7],B HOLE, TC>
聚合投票: <2,[4, 6, 7],HI IN, TC>
实验6——定位干扰源 :在本实验中,我们应用第7节中描述的技术来定位导致数据包丢失的干扰源。我们将干扰源放置在不同位置,主要靠近节点2、3和4,以计算我们定位方法的准确性。图8显示了当干扰源放置在节点3附近时,干扰源的实际与估计位置。一旦基站接收到邻域画像差异,就可以利用每个节点的精确/近似坐标来定位干扰源。图9显示了通过将干扰源的实际位置与在不同干扰位置下计算得出的位置进行比较,来评估我们方法的准确性。本实验展示了三个最具代表性的测试用例。在每次测试中,干扰源被放置在不同的位置(标记为“实际位置”),我们通过计算该位置与“估计位置”之间的欧几里得距离来衡量误差。在测试1和测试2中,干扰源分别被放置在两个不同节点的附近;在测试3中,干扰源被放置在一条链路的中间。如前所述,我们用于定位干扰源的特定权重函数是邻域轮廓差值的指数化函数。该函数虽然在所有使用的函数中能够保证最低的误差,但倾向于将估计位置“拉向”节点附近;因此,测试3尽管仍然表现出很高的准确性,但其误差高于另外两个测试。
实验7—功率操纵 :一个智能恶意节点可能会在丢弃数据包后通过调整其传输功率来误导调查结果。仅使用恶意节点的调查轮廓时,调查节点可能检测到轮廓变化超过干扰的阈值,从而判断为链路相关攻击而非与节点相关的攻击。我们进行了实验,以验证引入环境证据采集及其在计算当前调查差值中的应用能够防止此类误导。我们采用了与其他实验相同的拓扑结构,指示节点2执行选择性转发攻击,并在其邻近节点进行调查期间立即将其传输功率降低10dBm。我们发现,这种功率操纵导致调查节点处nbad(nbad) 轮廓的RSSI分量平均变化了9.25。图10显示了计算出的当前调查差值如何随不同调查节点以及所选 α值而变化,进而影响 β。为了便于分析,我们展示了每个差值的RSSI分量以及Interfthres的结果,本实验中该值根据网络设置时测得的波动设定为8.0。高亮单元格表示检测到了干扰而非选择性转发,说明攻击者的误导成功。结果表明,当 α取值为0.8时,已有3个节点中有2个原本会基于仅使用nbad的轮廓判定为干扰攻击的节点改变了判断结果;当 α设为0.7或更低时,尽管存在功率操纵,所有节点均能正确识别攻击。
实验8—对共谋调查节点的容忍度 :在本实验中,我们测试了第6节中提出的抗串通多数投票算法在存在恶意调查节点情况下的容忍度。我们重复了实验3中描述的场景,将其中一个中间节点编程以执行选择性转发攻击。在所有调查过程中,我们还将该节点的一个邻居节点编程为串通节点,从而广播虚假投票。起初,我们没有使用抗串通算法。一旦调查开始,各节点便开始正确地广播它们关于“选择性转发”的投票。而串通节点随后广播了其针对“低干扰”的虚假投票。由于该投票根据我们的全序排序低于其他正在传播的投票,其他节点便选择了该投票作为投票结果,并错误地向基站报告称丢包是由低干扰攻击引起的。因此,此次串通攻击成功了。
然后我们重复了相同的场景,但使用了我们的抗共谋多数算法。这一次,在收集完所有投票后,将它们放入多重集中,并丢弃了最低的“低干扰”投票。因此,调查结果被正确计算为选择性转发攻击。这样,在此情况下防止了共谋攻击,同时容忍了恶意调查节点的存在。
实验9—样本数量的初始轮廓稳定性 :在本实验中,我们评估了初始轮廓采集阶段交换的伪数据包数量对所获得轮廓稳定性的影响。我们已在测试平台中的每对节点之间(每个方向)最多交换1000个伪数据包,执行了本文前述的初始轮廓采集过程。我们通过其均值、最大值和最小值来刻画一个轮廓,这些值描述了轮廓的取值以及波动情况。此外,我们将一个轮廓定义为稳定当任意数量的未来样本对均值、最大值和最小值的变化不超过1.0时。
图11展示了其中一条链路的统计信息,重点关注接收信号强度指示。在x轴上是采集的样本数量,而y轴显示每个数据包的信号强度值。可以明显看出,在样本量达到60个后,所有三个统计值的变化均不超过1.0;因此,我们认为该轮廓已趋于稳定。
我们在测试平台的所有链路上进行了相同的评估,以确定在相应配置文件被视为稳定之前所需的样本数量。总体而言,我们的结果表明,在初始轮廓采集中获得稳定的链路配置文件所需的最少伪数据包数量在26到74之间,平均为43;更长的分析时间并未带来显著优势。
结果总结 :图12显示了我们的FGA技术在实际进行的数据包丢失测试用例中的准确性。当选择性转发是数据包丢失的原因时,我们的FGA技术在 ∼90%的情况下能够实现正确诊断(实验3);当低干扰是原因时,在 ∼95%的情况下能够实现正确诊断(实验4);当强干扰是导致数据包丢失的原因(实验5)。这些结果表明我们的FGA技术在传感器网络应用程序中的准确性。
9. 安全分析
在本节中,我们针对攻击者可能采用的隐藏丢包原因的策略,对FGA技术的安全性进行分析。本安全分析的目标是设计出针对这些策略的缓解措施,并讨论这些策略在多大程度上可能破坏FGA的结果。
传输功率操纵 。当某个节点被怀疑恶意丢弃数据包时,FGA工具将执行第5节中描述的重剖面算法。然而,攻击者可能会尝试通过在重剖面过程中使用与常规不同的传输功率来发送消息,从而误导FGA,使邻居节点认为数据包丢失是由链路干扰引起的。但是,我们的重剖面过程对攻击者是隐藏的,因此受攻击的节点将无法区分正常流量和重剖面流量。只有在FGA结果(投票)广播之后,攻击者才可能意识到重剖面过程已经执行完毕。然而,一个智能的攻击节点仍可能在执行与节点相关的丢包攻击后,对其发送的数据包进行功率操纵。因此,参与调查的节点在调查期间还会收集有关环境的信息(即来自其邻居节点的其余流量)。这些数据将在配置文件比较中使用,以降低故意进行传输功率操纵的攻击成功的可能性。
有机电池衰减与干扰 。我们现在考虑这样一种场景:攻击者试图通过非常缓慢地引入干扰,直到网络被破坏,从而误导FGA工具。剖面更新算法会将这种变化归类为有机电池衰减,而非干扰,从而使攻击未被发现。然而,如果网络管理员将可接受衰减的变化平滑度的阈值速率(即变化在自然渐进过程中的速率阈值)设置为较低且适当的值,则攻击者只能产生相当于整个网络电池寿命自然衰
779

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



