路由攻击

关键词: 自动 地址

路由攻击(精选五篇)

路由攻击 篇1

IPv4地址资源即将耗尽大大推动了IPv6技术的发展和应用。与IPv4网络一样, IPv6地址可以手工配置也可以自动配置。除了可以沿用DHCP的方式自动分配外, IPv6协议还定义了一种新的无状态地址自动分配方式来为终端分配单播地址。

无状态地址自动配置方式, 指的是终端的网络接口接受路由通告的全局地址前缀, 再结合本地接口ID得到一个可聚集的全局单播地址。这种方式简单地依赖于路由器周期性发布的子网路由通告消息RA (Router Advertisement) , 不包含任何安全和认证机制, 因此, 如果终端的网络接口接收到的RA消息本身不可信或是错误, 将会导致终端不能获取正确的IPv6地址。

随着IPv6网络在我国高校校园网中广泛部署和试用, 开展IPv6网络安全性研究具有十分重要的意义。本文针对IPv6无状态地址自动配置方式的工作原理和安全隐患展开研究, 利用目前网络设备的访问控制能力, 提出了一种路由通告检测机制, 对不可信和不安全的路由通告消息给出警报, 提高IPv6校园网络的预警能力。

1 无状态地址自动分配

IPv6单播地址按照地址类型可以分为三种:链路本地地址、全局单播地址、站点本地地址。链路本地地址主要用于同本地链路上的其它IPv6终端进行通信, 链路本地地址是邻居发现过程所需要的, 无论是否存在其他单播地址, 它总是会自动进行配置。站点本地地址等价于IPv4网络中所定义的私有地址, 而在IPv6网络中可以不设置站点本地地址。全局单播地址用于IPv6因特网, 它是全局惟一并且全局可路由的地址, 等价于IPv4网络中的公共地址。无状态地址自动配置所分配的地址为全局单播地址。

IPv6定义的无状态方式地址自动配置, 不要求终端手工配置地址, 最大的简化了用户的配置, 并且不需要配置专门的服务器, 仅利用路由器即可实现地址的自动分配。终端会通过以下步骤进行无状态地址自动配置, 并生成全球可路由IPv6地址。终端通过获取网卡MAC地址并且根据EUI-64规则生成接口ID, 配合链路本地前缀FE80::/64构成链路本地地址, 并确定自动生成的链路本地地址在本地链路惟一。此时终端通过无状态地址自动配置获得IPv6地址一共有两种方式:路由器周期性的向组播地址FF02::1 (IPv6中取消了广播, 并利用部分组播地址实现广播的功能, 此组播地址代表本地所有终端地址) 发送路由通告消息RA, IPv6终端收到后根据RA中的子网前缀自动随机生成IPv6全局地址;IPv6终端也可以以该链路本地地址为源地址, 主动向路由器发送路由请求消息RS (Router Solicitation) , 请求获得IPv6全局地址, 其过程如图1所示。

无状态地址自动配置通过两种方法向终端发送其所属网段的信息。一是由路由器周期性地向代表本地所有终端的组播地址 (FF02::1) 发送RA消息, 通告它的存在以及网络配置参数;二是由终端主动发出RS请求, 而路由器响应RA消息。RA报文属于ICMPv6报文的一个分类, 其类型字段值为134表明了为RA报文, 还包括了生存期选项, 如果生存期为0则表明路由器已经失效。

2 虚假路由通告报文

无状态地址自动配置协议中, 终端发送的RS请求报文, 本地子网中的任何一台终端都能够收到, 因此任何收到RS的终端都可以按照自己的意图来回复RA消息:合法路由器会回复正常的RA消息;恶意攻击者可能伪造RA中的各项参数, 影响RS请求终端的网络配置;还有可能假扮路由器回复RA消息, 过滤用户敏感信息并进而实现其他的意图。当终端接收到RA消息时, 并不判定RA数据内容的真伪, 仅根据其中的网段信息, 自动生成全球惟一的IPv6地址。无状态地址自动配置在分配地址的过程中, 因为没有有效的检测机制, 容易引起中间人攻击。

如图2所示, (1) 攻击者可以假冒合法路由器周期性地向目的地址为FF02::1的组播地址发送虚假的RA消息, 并在RA消息中声明生存期值为0, 以此欺骗终端认为合法路由器不再提供服务。 (2) 在此基础上攻击者再发送路由器地址为自己的RA消息, 当终端收到这样的RA消息, 就会选择攻击者作为默认路由器, 攻击者就可以截取终端的通信。正常通信情况下, 终端的数据包中IP层目的地址为真实路由器地址, 由于接收到伪造RA报文, IP层目的地址被修改为攻击者地址, 去往路由器的网络数据, 均被转发至攻击者, 攻击者再利用当前流行的分析软件来获取用户的重要数据。为了防止终端恢复与真实路由器的网络通信, 攻击者需要不间断的发送伪造的R A报文。

通过以上攻击方式, 攻击者可以轻易截获用户数据, 而且用户不易察觉。攻击者还可以将目标终端的网络流量重定向至已经建立好的伪造网站, 直接使目标终端访问钓鱼网站, 以此窃取用户的密码信息。

如图3所示, 攻击者不仅可以发送路由器地址为自己的RA报文, 也可以发送包含错误网络前缀的RA报文, 而使被攻击者根据其中错误信息生成不存在的IPv6地址, 因为网络前缀以及路由器地址的虚假性, 阻止了被攻击者的网络访问, 造成本地用户网络访问瘫痪。

3 可疑RA检测方法

采用无状态地址自动配置, 用户终端发送RS请求时并不知道路由器的IPv6地址, 同时路由器在发送RA消息的时候也不能确认用户终端的IPv6地址。而这种双方都不提供验证的地址分配机制虽然简单易用, 但是有明显的安全隐患, 会引发很大的安全威胁。因此, 研究可疑RA的检测方法是十分必要和重要的。

校园网中根据网络三层模型分为核心层、分布层、接入层。核心层主要负责数据的高速转发, 分布层主要负责路由选择和访问控制, 接入层是负责将终端接入网络, 实现网络通信。路由功能主要是在分布层设备上实现的, 因此应答RS请求和周期性发送RA消息的主要是分布层设备。正常的RA消息数据流应该是从分布层设备发送到接入层设备, 然后通过接入层设备送往用户终端, 而不可能从用户终端发往接入层设备和分布层设备。下面讨论的可疑RA消息检测机制就是基于这样的结构来设计的。

3.1 选取检测端口

在校园网中, 所有的路由设备都需要事先由管理员进行配置, 由路由协议保障了合法路由设备彼此知道各方的存在并且互相信任, 同时分布层设备下联接入层设备的端口和上联核心设备的端口也是需要事先配置的。分布层设备负责为用户终端提供路由服务, 即负责发送RA消息。所以在路由器下联接入层设备的端口上进行RA消息检测是最好的选择, 在这个端口上发出的RA消息是正常的, 而从这个端口上接收到从接入层设备上来的RA消息就可能是不正常的现象。首先, 若接收到的RA消息是来自于该端口所连接的网络中一个已知的可信路由器, 则属于正常情况, 反之, 就是可疑RA。从另一个角度来看, 正常情况下, 用户终端是不可以发出RA消息的, 因此在接入层设备的用户接入端口进行可疑RA检测理论上是最准确的, 该端口只可能有出方向上的RA, 不允许有入方向的RA, 一旦发现入方向上的RA消息, 一定不正常。如图4所示:如果终端A向本地发出虚假RA消息, 此时交换机B的上联端口会收到虚假的RA消息, 因此接入层交换机的上连端口也会受到虚假RA的威胁, 但是因为在分布层交换机的下联端口已经进行了RA检测, 所以潜在的安全威胁会提前发现, 而没有必要在接入层交换机的上连端口进行检测。

综上所述, 最合适的可疑RA检测端口:一是路由器的下联端口, 亦即分布层设备下联接入层设备的端口;二是接入层设备连接用户终端的端口, 该端口下接用户终端, 一旦发现收到用户终端发来的RA, 则毫无疑问是可疑RA。比较而言, 在接入层交换机的端口作可疑RA检测对交换机的系统开销可能比在分布层设备的下联端口作检测对交换机的开销要大一些。

根据以上攻击特性, 可以在网络设备上开发RA检测功能, 实现对潜在威胁进行检测。但是园区网中网络结构复杂, 如果在路由器等网络层设备之间的互连端口上开启RA检测功能, 将会增加网络设备的运行负担。为了提高RA预警系统的检测效率, 应该只在相应的网络设备中正确的端口启动预警功能。定义特定端口为存在威胁的端口, 收到的RA数据包根据检测机制, 生成可信的RA数据表, 一旦路由器接收到RA报文不属于可信RA数据表, 则认为有潜在攻击存在, 并将其相关信息进行日志记录, 并发送到相关日志服务器或者相关网络管理设备, 使其对当前潜在的安全威胁起到预警作用。

3.2 可疑RA检测机制

可疑RA检测机制的原理是在网络设备的端口上监听收到的RA数据报文, 并根据该报文的源IP和MAC地址进行判定, 若是来自一个可信的路由器端口则忽略, 否则可认为存在着潜在的网络威胁, 需要将端口号、源MAC地址和IPv6地址记录下来并进行报警。网络管理人员可以根据管理服务器中的IPv6地址、MAC地址、物理端口地址, 网络设备的地址查找到攻击源头, 及时阻止网络攻击。

在网络初始化时, 根据路由器和交换机的配置, 在路由器上生成一个可信RA数据表, 即把本地网络中可能发出RA消息的设备端口的IP和MAC地址都自动记录下来, 以便于和监听到的RA消息进行比对, 作为判断是否为可疑RA的依据。路由表一旦有更新, 需要重新计算一次可信RA数据表。可信RA数据表可以通过网络下联端口发送给网络中的每台接入层设备。每个VLAN都有自己的可信RA数据表, 因此接入设备可能收到多个可信R A数据表, 分别用于处理不同V L A N的R A比对。

在合法路由器上生成可信的RA数据表, 其构造过程为:通过查询本地路由表找到路由, 并记录路由下一跳IPv6地址, 通过路由表递归查询, 如果下一跳IPv6地址属于本地直连网络, 则继续查询本地IPv6邻居表, 找到此IPv6地址对应的MAC地址, 最终将此IPv6地址以及其MAC地址加入到本地可信RA表中;如果下一跳IPv6地址不是本地直连路由则忽略。

在选择的端口进行可疑RA检测主要有以下步骤: (1) 监听并接收发往地址FF02::1的数据报文; (2) 当发现类型字段值为134的ICMPv6报文 (RA消息) 时, 分析找出该RA报文的发送IP和MAC; (3) 将分析出的IP及MAC与端口对应VLAN的可信RA数据表进行比对, 若该RA消息的源不是合法路由器的端口, 则记录该RA报文的源地址以及相关MAC信息, 并发出报警信息。

4 结束语

本文针对IPv6自动主机配置协议的安全弱点, 设计了一种基于园区网体系结构的可疑RA行为监测机制。通过在网络设备现有的功能中增加新的数据结构和处理机制, 选择合适的端口监听RA消息报文, 并判定是否是网络中合法路由器发来的, 若不是则主动将检测到的可疑RA进行记录并报警。本文的主要内容是如何检测可疑RA并通过模拟的方式实现网络威胁的检测, 下一步的主要工作是如何自动处理监测到的可疑RA, 阻止其进一步的安全威胁。提高网络的主动防御性和各安全设备的联动性, 从而尽可能的提高了校园网IPv6主动的防护能力。

参考文献

[1]杨志刚, 张长河, 祝跃飞.IPv6邻居发现协议安全机制研究.计算机应用.2006.

小心网络瘫痪 防止路由器攻击漫谈 篇2

对于 来说,利用路由器的漏洞发起攻击通常是一件比较容易的事情。路由器攻击会浪费CPU周期,误导信息流量,使网络陷于瘫痪。好的路由器本身会采取一个好的安全机制来保护自己,但是仅此一点是远远不够的。保护路由器安全还需要网管员在配置和管理路由器过程中采取相应的安全措施。

防止路由器攻击之堵住安全漏洞

限制系统物理访问是确保路由器安全的最有效方法之一。限制系统物理访问的一种方法就是将控制台和终端会话配置成在较短闲置时间后自动退出系统。避免将调制解调器连接至路由器的辅助端口也很重要。一旦限制了路由器的物理访问,用户一定要确保路由器的安全补丁是最新的。漏洞常常是在供应商发行补丁之前被披露,这就使得 抢在供应商发行补丁之前利用受影响的系统,这需要引起用户的关注。

防止路由器攻击之避免身份危机

常常利用弱口令或默认口令进行攻击。加长口令、选用30到60天的口令有效期等措施有助于防止这类漏洞。另外,一旦重要的IT员工辞职,用户应该立即更换口令。用户应该启用路由器上的口令加密功能,这样即使 能够浏览系统的配置文件,他仍然需要破译密文口令。实施合理的验证控制以便路由器安全地传输证书。在大多数路由器上,用户可以配置一些协议,如远程验证拨入用户服务,这样就能使用这些协议结合验证服务器提供经过加密、验证的路由器访问。验证控制可以将用户的验证请求转发给通常在后端网络上的验证服务器。验证服务器还可以要求用户使用双因素验证,以此加强验证系统。双因素的前者是软件或硬件的令牌生成部分,后者则是用户身份和令牌通行码。其他验证解决方案涉及在安全外壳(SSH)或IPSec内传送安全证书。

防止路由器攻击之禁用不必要服务

拥有众多路由服务是件好事,但近来许多安全事件都凸显了禁用不需要本地服务的重要性。需要注意的是,禁用路由器上的CDP可能会影响路由器的性能,

另一个需要用户考虑的因素是定时。定时对有效操作网络是必不可少的。即使用户确保了部署期间时间同步,经过一段时间后,时钟仍有可能逐渐失去同步。用户可以利用名为网络时间协议(NTP)的服务,对照有效准确的时间源以确保网络上的设备时针同步。不过,确保网络设备时钟同步的最佳方式不是通过路由器,而是在防火墙保护的非军事区(DMZ)的网络区段放一台NTP服务器,将该服务器配置成仅允许向外面的可信公共时间源提出时间请求。在路由器上,用户很少需要运行其他服务,如SNMP和DHCP。只有绝对必要的时候才使用这些服务。

防止路由器攻击之限制逻辑访问

限制逻辑访问主要是借助于合理处置访问控制列表。限制远程终端会话有助于防止 获得系统逻辑访问。SSH是优先的逻辑访问方法,但如果无法避免Telnet,不妨使用终端访问控制,以限制只能访问可信主机。因此,用户需要给Telnet在路由器上使用的虚拟终端端口添加一份访问列表。

控制消息协议(ICMP)有助于排除故障,但也为攻击者提供了用来浏览网络设备、确定本地时间戳和网络掩码以及对OS修正版本作出推测的信息。为了防止 搜集上述信息,只允许以下类型的ICMP流量进入用户网络:ICMP网无法到达的、主机无法到达的、端口无法到达的、包太大的、源抑制的以及超出生存时间(TTL)的。此外,逻辑访问控制还应禁止ICMP流量以外的所有流量。

使用入站访问控制将特定服务引导至对应的服务器。例如,只允许SMTP流量进入邮件服务器;DNS流量进入DSN服务器;通过安全套接协议层(SSL)的HTTP(HTTP/S)流量进入Web服务器。为了避免路由器成为DoS攻击目标,用户应该拒绝以下流量进入:没有IP地址的包、采用本地主机地址、广播地址、多播地址以及任何假冒的内部地址的包。虽然用户无法杜绝DoS攻击,但用户可以限制DoS的危害。用户可以采取增加SYN ACK队列长度、缩短ACK超时等措施来保护路由器免受TCP SYN攻击。

路由攻击 篇3

在Ad Hoc网络中,随着节点移动,网络拓扑结构在不断变化。如何迅速准确地选择到达目的节点的路由,是Ad Hoc网络的一个重要和核心的问题。AODV(Ad Hoc网络基于距离矢量的按需路由协议)路由协议是广泛使用的一种Ad Hoc网络路由协议,这种协议在设计上没有考虑安全措施,因此容易遭受各类攻击。主要包括对路由消息关键字段的篡改攻击、路由消息伪造攻击等,使路由发现过程失败,或产生一条包括恶意节点的坏路由。

研究人员根据漏洞对协议进行修正,增加了数字签名和认证措施,保证了路由消息中的关键字段不被修改,一定程度上提高了路由的安全性。有代表性的协议包括ARAN安全路由协议和SAODV路由协议。

1安全认证路由协议简述

1.1认证路由协议ARAN

认证式路由协议(ARAN)利用数字证书和节点的认证来加强路由协议的安全。路由发现过程中,源节点需要广播路由发现报文(RDP),同时要求RDP顺利到达的目的节点回复源节点一个响应报文(REP),并且每一跳节点都需要对转发的路由信息进行验证,保证路由协议的安全。ARAN采用公钥密码技术为路由协议提供安全保障,包括证书申请、路由查找、路由维护及证书吊销等。

每个节点进入网络之前必须由同一个认证管理服务器T进行身份验证,获得一个数字证书。节点A获得T签发的数字证书,其格式如下:

T->A:certA=[IPA,KA,t,e]KT。

式中,IPA为A的IP地址;KA 为A的公钥;t为证书开始有效的时间戳;e为证书到期时间;KT为T的私钥。

认证路由协议采用和AODV、DSR协议类似的广播路由发现机制,源节点A要寻找到达目的节点X的路径,首先广播路由发现报文(RDP):

A->*:[RDP,IPX,certA,NA,t]KA。

每个中间节点接收到RDP报文后,首先验证路由请求报文的合法性;其次记录上一跳路由的地址;三是移走上一跳节点的证书和签名;四是附上自己的签名和证书继续广播路由请求报文。

目的节点接收到RDP后,需要经过反向路由向源节点回复响应报文REP,假定D首先收到X的REP:

X->D:[REP,IPA,certX,NA,T]KX。

由于节点记录了上一跳节点的地址,接到REP后,验证其合法性,附上自己的签名和证书向上一跳节点转发。D转发到C的REP报文如下:

D->C:[[REP,IPA,certX,NA,T]KX]KD,certD。

REP到达节点C后,同样验证合法性,移走D的签名和证书,附上自己的签名和证书,继续向上一条节点转发,直到源节点。

这种响应的验证方式能避免伪造X的响应信息而达到拒绝服务的目的。

1.2安全路由协议SAODV

SAODV安全路由协议首先假定有一个密钥管理子系统,使每个Ad Hoc节点获得网络中其他节点的公钥成为可能。而且每个Ad Hoc节点能够验证给定的节点与其公钥的关联关系是正确的。

为了保证AODV消息的安全,引入了2种机制:采用数字签名技术以对消息中不发生变动的内容进行认证;采用哈希链技术加强跳数信息(消息中唯一变动的信息)的安全。对于不变动的信息,采用端到端的认证机制。

1.2.1 SAODV哈希链

SAODV采用哈希链技术对RREQ和RREP的跳数进行认证,使每个接收到消息的节点确认跳数信息不曾被攻击者减少。哈希链应用一个单向函数重复对一个种子序列产生。

每次一个节点发起RREQ或RREP消息,该节点执行下列操作:

① 产生一个随机数(种子);

② 将Max-Hop-Count域设置为TimeToLive值,Max-Hop-Count=TimeToLive;

③ 将Hash域设置为seed值,Hash=seed;

④ 通过对seed执行Max-HopCount次的哈希运算,计算Top-Hash;

⑤ Top-Hash=hMax-Hop-Count(seed),其中h为哈希函数;hi(x)表示对x执行i次哈希运算;

⑥ 每个节点接收到RREQ或RREP消息,为了确认跳数正确,执行下列操作:

对Hash域的数值进行Max-Hop-Count-Hop-Count次的哈希运算,确认运算结果与Top-Hash字段的值相同,

Top-Hash==hMax-Hop-Count-Hop-Count(Hash);

在广播RREQ或转发RREP之前,节点对签名扩展域中的Hash值执行一次哈希运算,增加一跳,

Hash=h(Hash)。

1.2.2 数字签名

数字签名用于保护RREQ和RREP字段中不变动数据的完整性,即对除跳数之外的所有消息进行签名。中间节点在接收到RREQ后,首先验证签名的正确性。通过加密,保证了协议的安全。

SAODV协议通过采用这2种机制,增强了协议的安全性。

2针对安全路由协议的重放攻击技术

2.1基本思路

重放攻击是进行网络攻击的一种重要的方式,本文就是要利用重放方式,对ARAN和SAODV两种安全路由协议进行攻击。

ARAN、SAODV这2种安全路由协议是针对AODV路由协议的弱点,在原有协议标准格式的基础上,增加了认证和签名机制,阻止外部节点的攻击,增强了协议的安全性。

通过认真分析这2种协议的安全特点和路由建立过程,发现这2种协议都不能阻止抢先重放攻击。具体思路是:分布在网络中的恶意节点,不论是拥有密钥的内部节点,还是没有密钥的外部节点,在接收到某个节点发起或转发的路由请求广播消息后,马上进行抢先重放,把这条消息未经任何处理发送到更远的节点。更远的节点接收到抢先重放的消息后对其进行处理,把被重放消息的节点作为路由的上一跳节点,而剥夺了正常节点加入路由的机会,造成抢先重放攻击。

2.2基于ARAN的抢先重放攻击

如图1所示,网络中有S、A、B、C、D共5个正常节点和一个M恶意攻击节点,节点M布设在节点B附近,能够与节点A和节点C建立通信联系。下面描述节点M如何对节点B进行抢先重放攻击。

① 节点S需要建立与节点D的路由,因此发起路由建立请求RDP,节点A对此请求进行转发;

② 节点B和节点M可以同时接收到节点A的路由建立请求RDP;

③ 节点B在接收到后进行处理、检查证书,并进行数字签名,需要一定的计算时间才能够转发。恶意节点M在接收到节点A的寻呼路由消息后,不进行任何处理,直接进行转发;

④ 节点C首先收到恶意节点M的抢先重放信息,进行证书和认证检验都能够通过,因此进行处理并进一步转发;在接收到节点B转发的消息后,发现该RDP已经处理过,因此直接丢弃;

⑤ RDP到达目的节点D,节点D回送REP消息,发送给节点C;

⑥ 节点C向节点A回馈REP,节点M依然进行重放,节点A收到重放的消息后进一步转发;

⑦ REP消息到达源节点S,则形成一个S-A-C-D的路由链路,但这实际上并不是一条能够连通的链路。

从上面过程可以看到,尽管ARAN协议采用了时戳标记,但本次重放在当前路由建立的回合之内,重放的路由建立信息有效。

从处理时间上来看,节点B在接收到节点A广播的请求报文后,首先要验证合法性,然后移走A的证书和签名,附上自己的签名和证书继续广播;而节点M在收到请求后即进行重放转发,因此节点C将先收到恶意节点M发送的消息并进行处理,而不处理节点B广播的消息,因此节点B失去加入路由的机会。

通过这次重放过程,使路径中必须的节点B不能参与路由建立过程。源节点随后发送数据,恶意节点不再进行转发,形成灰洞攻击。

2.3针对SAODV安全路由协议

与对ARAN的抢先重放攻击类似,恶意节点在接收到的RREQ扩展字段消息后抢先重放给下一个节点,在时间上先于正常节点到达前方的节点,跳数上比正常节点少一跳以上,因此剥夺了正常节点加入路由的权利,造成了抢先重放攻击。

仍然采用图1所示的网络场景,描述进行抢先重放攻击的具体过程如下:

① 节点S需要建立与节点D的路由,因此发起带有数字签名和哈希跳数的RREQ请求,节点A对此请求进行转发;

② 节点B和节点M同时接收到节点A的路由建立请求RREQ;节点B在接收到请求后,将首先验证接收消息的合法性,即对数字签名进行验证,然后对Hash字段的值进行验证,在确认所有信息的合法性后,再对该消息增加一个跳数和哈希运算,转发到下一个节点。恶意节点M在接收到节点A的寻呼路由消息后,不进行任何处理,直接进行重放;

③ 节点C首先收到恶意节点M的抢先重放消息,合法性容易通过验证,且跳数比节点B广播的RREQ消息小一跳,因此节点C会把节点A作为上一跳节点,而把节点B排除在路由之外。在接收到节点B转发的消息后,直接丢弃;

④ RREQ消息到达目的节点D,该节点回送RREP消息,发送给节点C;

⑤ 节点C向节点A回馈RREP,节点M依然进行重放,节点A收到重放的消息后进一步转发;

⑥ RREP消息到达源节点S,则形成一个S-A-C-D的路由连路,但这并不是能够连通的链路。

从上述过程可以看到,采用抢先重放攻击,节点C先接收到恶意节点M重放节点A的消息,并且跳数比节点B少,形成一个不包含节点B的伪路由。

3结束语

根据抢先重放攻击采用的攻击原理,恶意节点在重放消息时,该消息也能到达被重放的节点,因此可以采用监听机制发现抢先重放攻击并做出响应。每个节点在完成路由消息广播后即转入监听状态,发现对自身传输消息的重放后,进行报警,告知整个网络。例如增加一个带节点本身数字签名的RREQ取消消息,向整个网络进行广播,接收到该消息的节点检查有无下一跳节点是该节点的路由,若有,则重新进行路由建立过程。

参考文献

[1] PERKINS C E,ROYER E M,DAS S.Ad hoc On-demand Distance Vector (AODV).RFC 3561[S],2003.

[2] NING P,SUN K.How to Misuse AODV: A Case Study of Insider Attacks Against Mobile Ad-hoc Routing Protocols[C].Information Assurance Workshop.IEEE Systems,Man and Cybernetics Society ,2003:60-67.

[3] HU Yih-chun,PERRIG A.A Survey of Secure Wireless Ad Hoc Routing[J].IEEE Security and Privacy,2004,2(3): 28-39.

[4] SANZGIRI K.A Secure Routing Protocol for Ad Hoc Networks[C].Proc.10th IEEE Int’l Conf.Network Protocols (ICNP ’02),IEEE Press,2002:78-87.

路由攻击 篇4

正如环境变化导致全球气候的变幻莫测一样,企业网络安全威胁也日益纷繁与复杂。在这复杂的暗流中,Dos攻击路由器成为主流,对现在而言,进行DoS攻击的防御还是比较困难的。不过即使它难于防范,也不是说我们就应该逆来顺受,实际上防止DoS并不是绝对不可行的事情。企业网络的使用者是各种各样的,时时刻刻与DoS做斗争,不同的角色使用不同的方式来防范。

分析

我们知道路由器是通向企业的门户,成为 的目标已经有了一段时间,现在的 似乎变得更加精明。他们往往会这样,当发现锁定的目标前门被锁上后,就会改而寻找漏洞的大门是否敞开。路由器攻击之所以吸引 有几个原因:不同于计算机系统,路由器通常处于企业的基础设施内部,与计算机相比,它们受监视器和安全政策的保护相对薄弱,为不法之徒提供了为非作歹的躲藏之处。如果路由器配置不当,厂商提供的默认口令或则使用过于简单密码,很容易进入企业内部网络。一旦受到危害,路由器就可以被用作扫描行动、欺骗连接的各个平台,并作为发动dos攻击的一块跳板,来实现 网络攻击的意图。

那么应该如何采取适当的策略来抵御DOS攻击呢? 尽管网络安全专家都在着力开发如何阻止DoS攻击的设备,但效果都不太理想,因为DoS攻击利用了TCP协议本身的弱点。我们可以利用正确配置企业级路由器,再用其它相关的工具进行检测,方能有效防止DoS攻击。现在我们以华为3COM路由器为例,华为3COM路由器中的已经具有许多防止DoS攻击的特性,来保护路由器自身和企业内部网络的安全。

根据检测建立访问列表

扩展访问列表是防止DoS攻击的有效工具。它既可以用来探测DoS攻击的类型,也可以阻止DoS攻击。Show access-list命令能够显示每个扩展访问列表的匹配数据包,根据数据包的类型,用户就可以确定DoS攻击的种类。如果网络中出现了大量建立TCP连接的请求,这表明网络受到了SYN Flood攻击,这样就可以改变访问列表的配置,来有效阻止DoS攻击。如图一

使用TCP拦截

华为3COM路由器引入了TCP拦截功能,这项功能可以有效防止SYN Flood攻击内部主机。在TCP连接数请求到达目标主机之前,TCP拦截通过拦截和验证来阻止这种攻击。TCP拦截可以在拦截和监视两种模式下工作。在拦截模式下,路由器拦截到达的TCP同步请求,并代表服务器建立与客户机的连接,如果连接成功,则代表客户机建立与服务器的连接,并将两个连接进行透明合并,

在整个连接期间,路由器会一直拦截和发送数据包。对于非法的连接请求,路由器提供更为严格的超时限制,以防止自身的资源被SYN攻击耗尽。在监视模式下,路由器被动地观察流经路由器的连接请求,如果连接超过了所配置的建立时间,路由器就会关闭此连接。

在华为3COM路由器上开启TCP拦截功能需要两个步骤:一是配置扩展访问列表,以确定需要保护的IP地址;二是开启TCP拦截。配置访问列表是为了定义需要进行TCP拦截的源地址和目的地址,保护内部目标主机或网络。在配置时,用户通常需要将源地址设为any,并且指定具体的目标网络或主机。如果不配置访问列表,路由器将会允许所有的请求经过,这样拦截如同虚设。

使用单一地址逆向转发

逆向转发是路由器的一个输入功能,该功能用来检查路由器接口所接收的每一个数据包。如果路由器接收到一个源IP地址为222.99.1.11的数据包,但是路由表中没有为该IP地址提供任何路由信息,路由器就会丢弃该数据包,因此逆向转发能够阻止攻击和其他基于IP地址伪装的攻击。使用逆向转发功能需要将路由器设为快速转发模式,并且不能将启用逆向转发功能的接口配置为CEF交换。逆向转发在防止IP地址欺骗方面比访问列表具有优势,首先它能动态地接受动态和静态路由表中的变化;第二逆向转发所需要的操作维护较少;第三逆向转发作为一个反欺骗的工具,对路由器本身产生的性能冲击,要比使用访问列表小得多。

基于内容的访问控制

通过设置超时时限值和会话门限值来决定会话的维持时间以及何时删除半连接。对TCP而言,半连接是指一个没有完成三阶段握手过程的会话。对UDP而言,半连接是指路由器没有检测到返回流量的会话。基于内容的访问控制正是通过监视半连接的数量和产生的频率来防止洪水攻击。每当有不正常的半连接建立或者在短时间内出现大量半连接的时候,用户可以判断是遭受了洪水攻击。基于内容的访问控制每分钟检测一次已经存在的半连接数量和试图建立连接的频率,当已经存在的半连接数量超过了门限值,路由器就会删除一些半连接,以保证新建立连接的需求,路由器持续删除半连接,直到存在的半连接数量低于另一个门限值;同样,当试图建立连接的频率超过门限值,路由器就会采取相同的措施,删除一部分连接请求,并持续到请求连接的数量低于另一个门限值。通过这种连续不断的监视和删除,基于内容的访问控制可以有效防止SYN Flood和Fraggle攻击。

路由攻击 篇5

灰洞攻击或选择性黑洞攻击是特殊类型的黑洞攻击, 容易在反应式路由协议如DSR和AODV上形成。黑洞攻击中, 恶意节点谎称自己拥有到目的节点的最短路由, 吸引周边节点通过它转发数据包。而灰洞攻击中, 恶意节点能正常参与寻找和建立路由的过程, 然而, 恶意节点一旦被选择为路由中的转发节点, 在转发过程中, 它们将会选择性丢弃数据包。正是因为它们仅丢弃部分数据包, 所以灰洞攻击比黑洞攻击更难检测。

灰洞攻击对反应式路由协议造成严重威胁, 为此, 学者提出了多种安全路由协议来缓解单一或协作式灰洞攻击。文献[2]提出一种方案, 在转发路由上随机选择部分中间节点作为检查节点, 负责对每个接收到的数据包进行确认, 如果检测到可疑行为, 将产生报警数据包并发送到源节点。然而, 此算法对网络流量的消耗很大。文献[3]提出一种检测并隔离灰洞节点的方法, 将数据转发部分涉及的所有节点创建一个接收数据包证明, 当源节点怀疑某些节点有恶意行为时, 启动检查算法验证中间节点。文献[4]提出一种方案, 源节点在发送任意数据块之前, 会发送消息给目的节点来提醒它, 传输结束后, 目的节点将接收到的数据包回发给源节点, 如果数据丢失超出容许范围, 则通过聚合网络中源路由邻居节点的响应检测并移除所有恶意节点。但是, 这种方法使源路由节点周围的所有节点形成混乱模式, 即使没有攻击时, 也会造成各个节点的能量损失。文献[5]提出一种基于信任的方法, 改进了MANETs的搜索性能和可靠性, 其中节点基于信任关系紧密连接, 通过任意两个节点之间的合作来计算信任值。文献[6]提出了一种抵抗黑洞机制 (ABM) , ABM根据节点传输的路由请求 (RREQ) 和路由应答 (RREP) 之间的异常差值评估节点的可疑性。这种方法中如果一个节点发送了RREP但是没有转发对应的RREQ包, 则怀疑它们是恶意节点, 如果可疑值超过阈值, 则隔离它们。但是灰洞节点能正常参与路由建立过程, 能够转发RREQ包到任意目的节点, 所以这种方法不能检测灰洞节点。文献[7]提出一种上下文自适应入侵检测系统 (intrusion detection system, IDS) , 能够使给定节点动态适应环境, 如剩余能量、潜在安全威胁和能量负载, 协调并检查接收的数据包, 然而, 这种入侵检测系统不能有效处理灰洞攻击。

现提出一种非加密的改进动态源路由协议 (MDSR) , 通过监控和分析无线节点的转发行为来检测灰洞攻击。目的节点依据源节点发送的数据包数目和它实际接收到的数据包数目的显著差异, 来检测路由中灰洞攻击的存在性, 然后将可疑节点信息发送给IDS节点, IDS节点会在网络中对发起灰洞攻击的恶意节点进行隔离。动态源路由 (DSR) 协议是最常用的反应式路由协议[1], 本文是对DSR协议的改进, 并在MANETs上评估提出方法的有效性。

1 动态源路由协议

动态源路由 (dynamic source routing, DSR) [8]有两个主要功能:路由发现和路由维护[8]。路由发现:通过广播路由请求 (RREQ) 来发现和建立路由。源节点广播一个RREQ数据包, 当目的节点, 或某个中间节点且该节点具有到达目的节点的路由信息, 接收到RREQ数据包后, 会发送一个包含完整路由信息的路由应答 (RREP) 数据包给源节点, 源节点会根据接收到的完整路由信息建立路由。路由维护:当数据包转发过程中的中间节点和邻居节点的距离超出传输范围时, 则会导致链路中断, 此时, 它会发回一个路由错误 (RERR) 信息给源节点, 源节点将会尝试启用另一条可用路由或者重新寻找和建立路由。

2 改进方案提出

IDS模型建立环境假设如下: (1) 所有节点具有相同物理特性, 如果节点A在节点B的传输范围内, 则节点B也在节点A的传输范围内; (2) 所有节点都是被授权的节点; (3) 源节点、目的节点和IDS节点默认为信任节点; (4) 仅当需要时设置所有IDS节点为混杂模式, IDS节点周边总有一个其他IDS节点作为邻居; (5) 由于从源节点到目的节点有多个路由, 所以源节点须缓存其他路由信息, 缓解新路由发现过程中的能量消耗。

2.1 协议描述

根据DSR协议, 源节点必须广播RREQ包来寻找到达目的节点的路由, 所请求目的节点或任何拥有路由的中间节点接收到RREQ包后将发送应答给源节点[9]。如图1 (a) 所示, 具有灰洞攻击能力的恶意节点能正常参与路由的建立过程, 它们像其它正常DSR节点一样转发RREQ包, 当源节点选择了经过这个恶意节点到达目的节点的路由时, 它将会选择性的丢弃数据包[10], 如图1 (b) 所示。为了缓解灰洞攻击, 当目的节点从源节点接收到数据包时, 将会检测路由中灰洞节点存在可能性。当源节点需发送数据包到目的节点时, 将会把要传输的数据划分成多个子块, 一次发送一个数据块到目的节点, 且在实际传输数据之前使用不同路由 (到达目的节点的第二最短路由) 发送一个块中数据包的数目信息到目的节点。

设定源节点S发送给目的节点D的一个数据块的数据包数目为Ns, 令节点a0, a1, a2, a3, …, an表示源节点S到目的节点D之间的数据转发路由, 路由上的任意节点ai必须将它转发到下一个节点ai+1的数据包数目计数, 即NFPai, ai+1。当目的节点接收来自源节点的数据包时, 对块中接收到的数据包数目计数。令ND为目的节点接收到的数据包, 则目的节点接收到的数据包概率计算如下。

如果PD>TPL, 则目的节点检测路由上是否存在任意恶意节点, 如果不存在, 则目的节点发回确认信息给源节点[11]。这里TPL是数据包丢失阈值, 其值范围在0~0.2。本文方法中, 当数据包丢失超过源节点发送的总数据包的20%时, 目的节点启动灰洞检测过程。仅当源节点接收到从目的节点发回的肯定回复或从邻居IDS节点接收到ALARM数据包之后, 源节点才开始转发数据的下一个子块。程序1表明了数据包转发和接收过程。

2.2 灰洞攻击检测过程

当目的节点发现它从前一个节点接收到的实际数据包数目显著低于源节点发送的数据包数目时, 将会启动灰洞节点检测过程[12]。首先目的节点发送查询请求 (QREQ) 数据包到源路由 (数据转发路由) 上距它两跳距离的节点, 如果S, a0, a1, a2, a3, …, an-3, an-2, an-1, an, D代表源路由, 则节点D发送QREQ包到距节点D两跳距离的节点an-1。QREQ用于查询节点转发到其下一跳节点的数据包数目, 节点an-1发回查询应答 (QREP) 包到目的节点D, QREP包含了节点转发到其源路由上下一跳邻居上的数据包数目信息。根据接收的QREP, 目的节点验证是否它的前一跳邻居 (节点an) 正确转发了其从前一跳节点 (an-1节点) 接收到的所有数据包, 如果不正确, 目的节点将移动节点an-1和an到可疑列表, 如果正确, 则说明这两个节点正确转发了数据。然后, 目的节点再次发送新QREQ到源路由上距an-1节点两跳的节点an-3, 根据接收到的QREP, 以同样的方法, 目的节点判断这两个节点an-3和an-2是否正确转发了它们接收到的所有数据包。这个过程持续到在源路由上不存在距其两跳距离的那个节点为止。检测过程如程序2所示。

目的节点根据QREP包对源路由上中间节点数据转发行为进行第一级检测, 如果任意两个中间节点之间转发的数据包数差超过监测阈值, 则目的节点同时标记这两个中间节点为可疑节点。任意两个节点之间可疑行为的概率Pmb计算如下。

式 (2) 中NFPan-2, an-1指的是节点an-2转发到节点an-1的数据包数目, 如果Pmb>Tm, 则节点an-2或者an-1为恶意节点, Tm是监测阈值, 其值范围在0~0.2。

图2 (a) 中, 节点1转发一个数据块到目的节点8之后, 目的节点验证它实际接收的数据包数目, 这里节点1在开始实际数据包传输过程之前提示它在一个块中转发到目的节点的数据包数, 若节点8接收到的数据包明显低于源节点所发总数, 则节点8启动检测过程。

如图2 (a) 所示, 目的节点发送QREQ包到距目的节点两跳距离的节点GN, 恶意节点GN可能会谎报它转发到下一个节点的真实数据包数目信息[13]。例如, 如果源节点发送100个数据包到节点GN用于转发, 节点GN选择性丢弃了30个数据包并转发了剩余数据包, 它可能在QREP中谎报它转发到目的节点的真实数据包数目。在这种情况下, 源节点将会指定节点GN的前一跳节点接收的数据包数目100, 节点GN发回包含它转发到下一个节点的数据包数目的QREP, 当目的节点接收到QREP, 验证它从前一跳节点接收到的数据包数目是否为QREP中指定的数目, 如果目的节点从节点7接收到的实际数据包数目为70, 与指定的数目不同, 则目的节点会同时怀疑节点7和GN, 将他们移到其可疑列表。

图2 (b) 中, 节点1和节点6分别为源和目的节点。例如, 如果源节点发送100个数据包, 如果目的节点仅接收到其中的60个数据包, 则目的节点发送QREQ包到节点4, 节点4回复包含其转发到下一个节点5的数据包数目的QREP包, 节点5接收到QREP, 转发它到目的节点6, 节点6验证它从节点5接收到的数据包数目是否与QREP中的数目相同。但是根据QREP包, 目的节点发现节点4转发了源节点发送的100个数据包中的60个数据包, 因此它将节点4移动到可疑节点列表。然后目的节点再发送QREQ包到距节点4两跳距离的节点2, 节点2发回包含它转发到下一个节点GN的数据包数目的QREP, 节点GN接收到QREP并转发它到目的节点。恶意节点GN不能修改QREP包, 因为消息与一个消息认证码 (MAC) 相连, 它会产生节点的私钥 (节点2) 和一个临时随机数, 防止被篡改。如果目的节点根据接收QREP包得知节点2发送到节点GN的数目为100, 而节点4实际转发了60个数据包, 因此可能是节点2或节点GN丢弃了数据包, 所以目的节点也将节点2和节点GN移动到可疑列表。

2.3 入侵检测

目的节点将可疑节点请求 (MNREQ) 包发给其附近IDS节点, IDS节点转发MNREQ包到所有IDS节点, 以此公告在源路由中的可疑节点信息。当所有IDS节点接收到MNREQ后, 源节点邻近的IDS节点发送报警 (ALARM) 包到源节点, 提示源节点注意路由上存在的攻击者并让其发送下一个数据块。

源节点发送下一个数据块时, 与可疑节点相邻的IDS节点会转成混杂模式, 监听可疑节点是否转发和丢弃数据包, 如果发现可疑节点故意丢弃数据包, 则移动它到恶意节点列表, 然后通过IDS节点发送阻塞消息给所有附近节点, 接收到阻塞消息的IDS节点将广播给其邻近节点。阻塞消息只能通过IDS节点转发到网络, 任意接收到阻塞消息的正常节点将获知恶意节点信息。一旦确定了恶意节点, 所有节点将从它们路由中移除涉及恶意节点的任何路由信息, 不再接收恶意节点的RREP包。

3 实验

利用Glomosim仿真工具来评估提出方法对检测和隔离灰洞节点的有效性, 在1 000 m×1 000 m区域内, 随机分布50个正常节点执行MDSR路由协议, 随机定位一组恶意节点选择性执行灰洞攻击, 固定分布多个IDS节点[14]。随机选择20对节点用于数据通信, 每组发送5 kb UDP-CBR/s。以随机点模型方式移动所有正常节点, 移动速度范围在0~20m/s。此外, 设定正常节点的四类暂停时间:0 s、5s、10 s和15 s, 暂停时间指的是可移动节点能在一个位置上维持不动的时间。例如, 在暂停时间为0的情况下, 则表示所有节点连续移动, 没有任何停留, 暂停时间表示网络拓扑变化的频率。Glomsim实验的主要参数列于表1, 所有实验数据是10个实验结果的平均值。

将本文方法与文献[7]提出的现有方法进行了比较, 文献[7]中源节点以数据块方式发送数据, 通过源路由的邻近节点实现检测, 而且没有采用加密方法, 与本文方法相似。

利用下列指标来评估方法的性能[15]。

(1) 丢包率:恶意节点丢弃或由于阻塞损失的数据包总数与发送数据包总数的比率。

(2) 流量消耗 (bit/s) :为了检测和处理恶意节点而消耗的流量。

(3) 端到端传输延迟 (s) :指的是源节点发送一个比特数据与目的节点接收到这个比特数据的时间间隔。

3.1 丢包率

图3显示了各种协议在存在灰洞节点网络中的丢包率。在有攻击情况下DSR的丢包率约为75%, 而MDSR的丢包率约为11%, 减少了64%, 文献[7]方法的丢包率约为15%, 相比本文方法MDSR增加了4%。

3.2 流量消耗

图4显示了存在灰洞节点时各种协议产生的路由消耗。MDSR的路由流量消耗较高, 是因为检测攻击时需要传输QREQ、QREP、MNREQ和ALARM包。MDSR的控制包流量消耗率近似50%, 相比与DSR高了8%。然而, 文献[7]的控制包流量消耗率约58%, 相比与本文方法高了8%。

3.3 端到端传输延迟

本文方法中源节点发送数据包到目的节点的端到端延迟优于文献[7]的方法, 如图5所示。如果源路由中没有任何恶意节点, 则转发数据包的端到端延迟最小, 因为检查是否存在攻击者不影响数据传输时间。当源路由包含灰洞节点, 通过源路由中某些中间节点合作就可以定位它们, 能够快速检测并隔离攻击者。因此本文方法即使在存在攻击者情况下, 转发数据包的端到端延迟也较少。

3.4 不同IDS节点下数据包传输率

图6显示了存在5个灰洞节点时本文方法的数据包传输率, 首先获得覆盖整个网络区域的9个IDS节点的数据包传输率, 然后将IDS节点数减少到4, 使它不足以覆盖整个网络区域, 随着IDS节点数的减少, 一些灰洞节点不能被有效的检测出来, 这导致了较低的数据包传输率。

3.5 比较及分析

为了更好地评估本文方法, 将其与其他几种灰洞攻击方法进行三方面的比较, 包括丢包率、控制包额外流量消耗率及端到端时延, 比较方法包括文献[2, 4, 6, 7]提出的方法, 针对各个方法, 自己进行了实验, 利用Glomosim仿真工具, Glomosim参数设置参照表1, 节点移动速度取0、5 m/s、10 m/s、15m/s、20 m/s, 结果取平均值, IDS节点数设置为9, 各方法的参数设置分别参照各自所在文献, 实验结果见表2。

从表2可以看出, 本文方法的丢包率明显低于其他几种方法, 其中, 低于文献[4]方法近5%, 这是因为MDSR协议中, 目的节点在源路由上一些中间节点的帮助下, 利用QREQ和QREP包来启动灰洞检测, 首先定位可疑的攻击者节点, IDS节点仅对可疑节点进行监控, 因此能够快速的隔离攻击者, 显著减少了丢包率。

在端到端时延方面, 本文方法也明显低于其他几种方法, 这是因为该方法仅当源路由中存在恶意节点时才启动灰洞处理过程, 因此, 相比其它几种方法, 可以节省更多的时间, 效率更高。

在额外流量消耗方面, 本文方法高于文献[4]和文献[6]方法, 主要由于检测攻击时需要传输QREQ、QREP、MNREQ和ALARM包, 耗费了一定的网络流量, 然而, 该方法的流量消耗低于文献[2]和文献[7]方法, 其中, 比文献[2]方法低出了10.3%。

综上可知, 虽然本文方法在额外流量消耗方面略高于文献[4]和文献[6]提出的方法, 但是在丢包率及端到端时延方面均未最低, 由此可见该方法的优越性。

4 结论

提出一种改进DSR协议来检测MANET中灰洞节点, 目的节点检测源路由中恶意节点, 利用入侵检测系统从网络中隔离恶意节点。其中IDS节点仅在有可疑节点时转成混杂模式, 减少了能量损耗。仿真结果表明本文提出的方法在存在多个灰洞节点的网络中, 相比于其他方法具有丢包率低、流量消耗少且传输延时时间短等优势。

未来会将本文方法应用于其他的灰洞攻击环境, 改变初始参数设置, 进行大量实验, 进一步降低丢包率、流量消耗及传输时延。

摘要:针对移动自组网络易遭受灰洞攻击的问题, 提出一种改进动态源路由协议来检测和缓解灰洞攻击。首先, 建立一种入侵检测系统 (IDS) , IDS节点仅当检测到灰洞节点时才设置为混杂模式;然后, 通过检测节点转发数据包数目的异常差来检测恶意节点, 当检测到异常时, 附近的IDS节点广播阻塞消息, 通知网络上的节点共同隔离恶意节点;最后, 利用Glomosim工具进行的仿真实验验证了所提方法的有效性, 该方法的平均丢包率仅为12.5%, 端到端传输延时仅为0.116 s, 比较表明, 所提方法优于其他几种现有灰洞攻击检测方法。

本文来自 古文书网(www.gwbook.cn),转载请保留网址和出处

相关文章:

路由软件01-07

安全路由技术01-07

路由方案01-07

老年上消化道出血01-07

路由器常见问题解决01-07

路由分析01-07

国际化管理人才01-07

安全路由协议节点01-07

无线路由安全01-07

路由交换01-07

注:本文为网友上传,旨在传播知识,不代表本站观点,与本站立场无关。若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:66553826@qq.com

上一篇:路由软件 下一篇:路由分析