在主动攻击中,敌手实际上影响着受攻击网络的运转。这种影响可能是攻击的目的会被检测到。例如,攻击的结果可能使网络服务下降或中断。有时,敌手会努力不被检测到,目的是获得系统资源的未经授权访问或威胁网络内容的机密性和/或完整性。我们把主动攻击分成四类,如图8-2所示。
图8-2 主动攻击
8.1.2.1 物理攻击
敌手为了终止节点,会物理毁坏硬件。这个安全攻击也可以认为是属于容错领域,容错是指节点发生故障时,维持网络功能不中断的能力。针对硬件的物理攻击可能会变成一个严重的问题,尤其是在军事通信和传感器网络上。传感器节点会部署在无人值守但敌手能接近的区域。因此,它们可能会被移出传感器网络区域或被破坏。当这些危险来临时,节点需要适应物理攻击。
当节点无人管理且又对敌手物理可达时,它们会受到篡改(Tampering)技术攻击。篡改技术包括微探(Microprobing)、激光切割、操控聚焦离子束、脉冲攻击(Glitch Attacks)和功耗分析(Komerling and Kuhn,1999)。篡改节点有助于伪装和拒绝服务攻击(我们将随后解释)。因此,容错(Tamper Resilience)的问题是在许多传感器网络和军事通信应用中需要认真考虑的问题。
我们可以把篡改节点的方案分成两类:入侵篡改和非入侵篡改。入侵技术的目的是能无限制地访问一个节点。在非入侵篡改中,对节点的无限访问不是目的。相反,通过分析节点行为如能量消耗或各种输入情况下算法的执行时限,可以推导出程序的加密数据和加密方案使用的密钥。
电磁脉冲(EMP)攻击也是在列的物理安全攻击之一。电磁脉冲是具有高强度电磁能量的短时爆发,它能产生电压浪涌(Voltage Surges),这会破坏到射程内的电子设备。电磁脉冲是核爆炸的自然结果之一。现在已经有能产生电磁脉冲的便携装置。虽然电磁脉冲技术的实用化仍有未解决的问题,但是电磁脉冲是对军事领域各种电子设备的一种威胁。这可被认为是容错领域的一部分。制造对电磁脉冲更具适应能力的电子设备是可能的。因此,我们将电磁脉冲攻击列为一种安全攻击。
8.1.2.2 伪装、重放和消息篡改
一个伪装(Masquerading)节点行动仿佛是另外一个节点。伪装节点会截获并重放消息。最后,被截获的消息内容在重放之前会被修改。基于这些方法会产生各种场景和威胁。
自组织网络和传感器网络有针对伪装特殊的优势。移动自组织网络的节点可能改变它们的位置。这个位置不是给定的或是固定的,自形成和自愈的机制应该适应拓扑结构的变化。因为对路由来说,响应技术是首选,拓扑结构可能无法维持,所以检查节点的网络接入点的一致性可能是困难的。此外,如果节点已经通过另外一个网络接入点连入网络,这也许不能检查出来。传感器网络中更容易伪装,因为全球识别可能不会用在传感器网络里。相反,像以数据为中心的路由和地址重用技术可能是寻址方案。
伪装、消息重放和内容篡改可能用于攻击消息内容和网络服务的完整性。特别是传感器网络,有一些基于许多节点协作的网络功能容易受到特殊类型的安全攻击。例如,节点定位方案可能遭受以下某一安全攻击:
1)一个恶意节点伪装成信标(Beacon),并错误地传播它的地址。当节点用恶意节点发射的信标信号进行三角测量或多边测量时,这将妨碍节点定位程序。
2)信标节点可能会被篡改并引入错误位置信息,用高于或低于预期的能量发射信标信号,这样做的目的是为了损害基于接收信号强度指示器(Impair ReceivedSignal Strength Indicator Based Schemes)的方案,或者在使用到达时间差算法时,使射频传输和超声波信号传输略微去同步。
3)恶意节点可能会重放信标信号。
4)物理攻击可能会破坏信标节点。
5)为了阻塞直接的视距,敌手会在信标节点和网络之间设置障碍。
还有更多的攻击场景会破坏节点定位方案。除了节点定位方案,以下服务(在第7章中解释)的完整性,也容易遭受类似安全攻击:
1)网络的数据汇聚和融合会使传感器网络对重放和内容篡改攻击更敏感,因为改变聚合消息的内容会改变许多节点提供的数据。
2)时钟同步也是容易受到伪装攻击的服务。一些内部人员注入错误的时钟同步信息,可能会阻止系统完成时钟同步。时钟同步对重放攻击特别敏感。一个恶意节点会把一个时钟同步消息塞进一个网络的某一部分,在一个短暂的时延之后,它会重放这个消息。这会阻止正确的时钟同步,对依赖精确同步协议的所有服务会造成相当有害的影响。
3)当节点定位和时钟同步服务受到攻击时,数据相关性和关联技术也会被削弱。
4)通过篡改消息内容,事件和事件边界检测算法会受到阻碍。
5)类似地,通过篡改用于节点管理的报告节点状态或传输命令的消息,节点管理系统可以被牵制。
女巫攻击(Sybil Attack)是伪装攻击的改进版,恶意节点把自己伪装成多个节点。拥有多个标识对一个恶意节点是非常有利的。例如,女巫攻击可实施反数据关联和聚合技术。一个节点用多个不同标识发送多个数据能相当大地改变汇聚值。女巫攻击也能威胁到多路径路由方案、节点定位等。多种标识还有助于隐藏攻击,例如秘密攻击(Stealthy Attacks)。
注意,我们也能把针对服务完整性的攻击认为是拒绝服务(DoS)攻击,因为它们降低了某些服务的可用性。我们将在下节详细解释拒绝服务攻击。
伪装、消息重放和内容篡改能通过使其他节点发送机密数据给恶意节点或访问机密数据,来攻击机密性。它们也可以是未授权访问系统资源的技术。
在网络钓鱼(Phishing)中,敌手伪装起来欺骗一些人,让他们自愿交出机密信息。“phishing”这个词是“口令”(Password)和钓鱼(Fishing)的组合,它很恰当地定义了这种攻击。一个恶意节点会假冒授权节点向其他节点索要口令、密钥等信息。
伪装也是保持恶意节点匿名性的一种方法。恶意节点会提供一些非法或不道德的内容,也会攻击或非法登录远程系统,如政府或银行大型数据库。
8.1.2.3 拒绝服务攻击
拒绝服务攻击的主要目标是网络服务的可用性(Availability)。拒绝服务是指任何降低网络正确或及时执行预期功能能力的任何事件。拒绝服务攻击有以下属性(Wood and Stankovic,2005):
1)恶意性:实施拒绝服务攻击是为了阻止网络执行预期功能,这不是偶然的。否则,它就不属于安全领域,而应属于可靠性(Reliability)和容错性(Fault Tolerance)领域。
2)破坏性:它降低了网络提供的服务质量。
3)不对称性:攻击者只需付出与对网络产生的影响规模相比很少的努力。
每一个网络服务都可能会遭受拒绝服务攻击。在本节,我们将回顾对自组织网络和传感器网络重要的拒绝服务攻击场景。
1.物理层的拒绝服务
8.1.2.1节阐释的所有物理攻击也可被认为是拒绝服务攻击,因为它们阻止网络执行预期功能。在本节,物理层指出OSI层负责在无线媒介中正确表示1和0,以及一种称为“拥塞”(Jamming)的物理层的拒绝服务攻击,意味着针对物理层的安全威胁。
一个恶意设备能通过以某频率发射信号,阻塞无线载体。拥塞信号促成载体的噪声,它的强度足够把信噪比降到某水平之下,使得节点利用此信道正确地接收数据。拥塞会在一个区域持续地产生,这阻碍了该区域所有节点的通信。或者,拥塞会以随机的时间间隔临时发生,这仍能很有效地阻碍通信。
2.链路层的拒绝服务
链路层算法尤其是MAC算法,为DoS攻击提供许多可利用的机会。例如,以下的MAC层拒绝服务攻击会持续干扰一个信道:
1)每逢收到RTS信号,就要发送一个与CTS信号冲突的信号。因为在收到CTS前,节点不能开始发送数据,它们会一直发送RTS信号。
2)如果MAC算法基于休眠期和活跃期,只有在活跃期的拥塞能持续阻塞信道。(www.xing528.com)
3)携有长数据传输参数的错误RTS或CTS信号会被持续发送出去,这使得做虚拟载波侦听的其他节点永远等待。
4)应答欺骗(Acknowledgement Spoofing),敌手对窃听到的发给邻居节点的包,发送错误的链路层应答信息。这也是一种有效的链路层拒绝服务攻击。
基于MAC层寻址方案还能设计出更复杂的拒绝服务攻击。例如,传感器网络不使用全局寻址方案,而使用以数据为中心的路由算法、基于属性的命名法和地址重用。一个恶意节点会实施MAC层的女巫攻击,这使本区域内的其他节点认为所有可用地址都已在使用。这会阻止节点成为网络的一部分。
3.对路由方案的拒绝服务
自组织网络是无基础设施的,有着特殊的路由挑战,为自组织网络和传感器网络的网络层协议带来新型拒绝服务攻击。这些攻击一般分为两类(Hu et al.,2005):路由中断攻击(Routing Disruption Attacks)或资源消耗攻击(Resource Consumption Attacks)。路由中断攻击的目的是使路由方案功能失常,不能提供所需的网络服务。资源消耗攻击是为了消耗网络资源,比如带宽、内存、计算能力和能量。这两种都是拒绝服务攻击,它们的实例如下(Karlof and Wagner,2003):
1)欺骗、修改或重放路由信息:为给路由方案造成破坏,节点之间交换的路由信息会被恶意节点修改。
2)您好泛洪攻击(Hello Flood Attack)(Karlof and Wagner,2003):恶意节点会用足够大的传输能量广播路由或其他信息,以使网络中的每个节点相信它就是邻居节点。当其他节点发送给恶意节点数据包时,这些包不会被任何一个节点收到(见图8-3)。
3)虫洞攻击(Wormhole Attack):一个恶意节点能在某点窃听或接收数据包,并通过带外信道,把数据包传给网络另一部分的一个恶意节点。然后第二个节点重放数据包。这使所有“听”到第二个恶意节点传输的节点认为,发送包给第一个恶意节点的节点是它们的单跳邻居,它们是直接从邻居那里收到数据包的。例如图8-4,节点w1也会收到节点a发送的包,节点w1是恶意节点。节点w1通过一个带外信道把这些数据传给节点w2,这个信道对网络中除了敌手以外的所有节点来说是带外的。节点w2重放数据包,节点f收到数据包,好像这些包是从节点a直接发送过来一样。沿着正常路径例如a—b—c—d—e—f的包,到达节点f晚于通过虫洞传输的包,因此沿着正常路径的包会丢弃,因为它们用了更多跳,而虫洞一般通过更快的信道建立。虫洞很难检测出来,会影响许多网络服务的性能,如时钟同步、定位和数据融合。
图8-3 您好泛洪攻击
图8-4 虫洞攻击
4)迂回攻击(Detour Attack):攻击者可以试图使通信绕道经过一个次优路径或分割网络。有很多技术都可以用来实现绕道。例如,Hu et al.(2005)定义一个无偿迂回攻击(Gratuitous Detour Attack),路径上的节点把虚拟节点添加到路径上。于是和攻击者设法绕道通信的另一路径相比,此路径变得代价更高。
5)汇聚节点漏洞(Sink Hole)攻击:考虑到路由算法,一个恶意节点对周围节点是很有吸引力的。例如,很有吸引力的路由“广告”可以广播,所有邻居节点会相信该恶意节点是发送数据包给基站的最好的下一跳。当节点变成一个汇聚节点漏洞时,它变成了周边节点的“集线器”,开始接收发往基站的所有数据包。这为后继的攻击创造了很多机会。
6)黑洞攻击:一个恶意节点会丢弃掉它接收用来转发的所有数据包。当黑洞节点也是汇聚节点漏洞时,这种攻击特别有效。像这样的联合攻击会使黑洞周围的数据通信停止。
7)选择性转发(灰洞攻击):当一个恶意节点丢弃掉所有的数据包时,这容易被它邻近的节点检测到。因此,恶意节点可能只会丢掉挑选的包,而转发其他数据包。
8)路由循环攻击(Routing Loop Attack):迂回或汇聚节点漏洞类型的攻击,能用于产生路由循环攻击,消耗能量和带宽,以及中断路由。
9)女巫攻击(Sybil Attack):一个节点呈现给网络其他节点多个身份。这会降低容错方案的效力,并对地理路由协议造成极大的威胁。除了这些服务,女巫攻击还会影响其他方案的性能,例如异常行为检测、基于投票机制的算法、数据汇集和融合,以及分布式存储。
10)急流攻击(Rushing Attack)(Hu et al.,2005):一个攻击者会散布路由请求,并通过网络快速回复消息。这会抑制以后任何合法的路由请求消息,例如节点丢弃消息,因为节点抑制了它们已经处理的路由请求的其他副本。
11)利用节点惩罚方案的攻击:敌手可以利用避免低性能节点的方案。例如,恶意节点会报告一个节点的错误消息,而实际上节点是运行良好的。因此,路由方案可能避免使用一个包括该节点的路径。类似地,一个链路可能会被阻塞一小段时间。但是,由于在这一小段时间内会产生关于链路的错误消息,即使它不再拥塞,路由方案可能会继续弃用这条链路。
12)耗尽网络资源的攻击:当节点无人值守,并依赖它们自带资源时,恶意行为会把那些资源耗尽。这种情况尤其会发生在传感器网络中。例如,一个恶意节点可能持续产生数据包,并发给收集数据的节点,例如基站,转发数据包的节点就会耗尽它们的能量。
4.传输层的拒绝服务攻击
传输层协议也容易受到安全威胁。适用于该层中的攻击场景如下:
1)传输层应答欺骗(Acknowledgement Spoofing):错误的应答消息或带有大量接收窗口的应答消息(见6.2节),可能使源节点产生更多超出网络承载能力的片段。这会导致网络拥塞和网络的性能降低。
2)重放应答:在有些传输层协议中,比如TCP-Reno,对同一个片段多次应答意味着负应答(Negative Acknowledgement)。一个恶意节点会多次重放一个应答,使得源节点认为该消息没有成功地传送出去。
3)阻塞应答(Jamming Acknowledgement):一个恶意节点会阻塞传输应答消息的片段。这会使连接终止。
4)改变序列号:在可靠多片段传输(RMST)和缓发快取(PSFQ)协议里,一个恶意节点可能改变片段的序列号,并使目的地相信一些片段已经丢失。
5)连接请求欺骗:一个恶意节点可以向一个节点发送许多连接请求,耗尽其资源,这样它就不能接收到其他节点的连接请求了。
这些列出的攻击实例并没有穷尽。基于传输层中的协议,人们还会制定出许多不同的策略。
5.应用层的拒绝服务
敌手也可能利用应用层协议进行拒绝服务攻击。在8.1.2.2节提到过许多应用层协议。正如8.1.2.2节所提到的,像节点定位协议、时钟同步协议、数据汇集、关联和融合协议可以被欺骗或被阻碍。例如,一个假冒信标节点的恶意节点,释放错误定位信息或在传输功耗方面作弊,例如用比期望的功耗少或多的功耗传输,会妨碍节点定位方案。因为这种攻击会削弱相关网络服务,所以它们也可归为拒绝服务攻击。
8.1.2.4 行为不端
注意,有些拒绝服务攻击来自于网络内部的节点。一些节点为了获得有限资源中不正当的份额而行为不端,比如它们可能自私自利(Selfishness)。例如,通过使用MAC方案,一个行为不端的节点会迫使其他节点长时间地回退,释放出网络资源供自己使用。节点也会自私地拒绝重发其他节点的消息。如果每一个节点都这样,那么自私自利可能会产生和拒绝服务攻击类似的效果。
另一种行为不端是通过拒绝为接收到的服务付费,来攻击计费方案。乍一看,我们会认为自组织网络是一个免费环境,每个节点通过免许可信道与其他节点协作通信。但事实并非总是如此。Mesh网络提供了无线多跳接入宽带服务。类似地,有多跳蜂窝网络,当节点不在基础设施覆盖的区域时,将允许蜂窝网络内的节点通过自组织多跳无线链路接入网络,如图8-5所示。在这两种情况下,节点接入服务供应商,应该为它们从供应商那里得到的服务付费。在文献Salem et al.(2003)里,设计出几个针对这些网络中计费方案的攻击:
1)拒绝付费:源节点会对执行过的列入账单的通信抵赖。
2)不诚实的奖励:在多跳网络中,中间节点应该转发其他数据包。为了鼓励中间节点转发其他数据包而不是自私自利的,可以设计出一些奖励机制,比如给它们付费。这种情况下,一个行为不端的节点会试图表现得参与转发了一些数据包,尽管它并没有转发。
3)搭便车(Free Riding):在源节点和目的节点之间路由上的中间节点,为避免缴费,可以在正进行的通信中加挂它们的数据包。例如,路由节点A会把要传给路由节点B的数据包加挂在从源节点到目的地节点的数据包上,如图8-5所示。
图8-5 多跳蜂窝网络
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。