IPv6作为一种IP协议,其继承了IPv6的一些特性,同时也有一些漏洞:
具体的有:应用层的漏洞,由于IP协议在应用层的下面。则其应用层的漏洞也继承
NDP协议的漏洞,IPv6的NDP继承了很多IPv4的ARP相关的漏洞
DHCP,由于DHCPv6没有提供认证机制,也存在伪造DHCP的风险
DDos, IPv6不支持广播,但同样防不了DDOS
Man-in-the-Middle, 可以使用IPv6的IPsec
IPv6的标准头部长度是40Bytes.,主要是为了加快封装包的传送。IPv6是没有广播的,IPv6使用Multicast来代替IPv4的广播功能。
IPv6的ICMPv6使用Next Header来负载,协议号是58
IPv6的NDP包括neighbor solicitations及neighbor advertisement,用来实现IPv4时的ARP的作用;包括router solicitations和router advertisement来获得LAN节点的信息(
network prefix及 Default Gateway, Echo Request及Echo Replay用来实现Ping6, NS,NA,RS,RA及DHCPv6使用组播。
由于IPv6使用next header来让网卡知道,IPV6负载的是什么类型的数据包,这就造成了黑客可以攻击的地方。以下讨论的是extension header攻击的问题。
RFC2640有规定next header负载的顺序,不按照顺序来的封装包会被丢弃。(Destination option header出现两次)
A. Hop-by-Hop Options Header
B. Destination Option Header
C. Routing Header
D. Fragmentation Header
E. Authentication Header
F. Encapsulation Security Payload Header
G. Destination Option Header
H. Upper Layer Header
攻击一:
Hop-by-Hop Option Header与Destination Option Header的padding攻击:
Hop-by-Hop所有IPv6节点都必须检视的头部,Destination Option由目的节点来检查,PadN用来填充封装包的Ocet的倍数,但是黑客
可能修改padN,增加恶意信息。防火墙和入侵检测系统必须能过滤这两个header的恶意修改,即对PadN所填充的data不是0的部分。
攻击二: Routing Header的RH0攻击
攻击者将目标网络的中间节点当成转运站传送原本不被防火墙的Policy或路由器的ACL允许的目的端封包,从而避免防火墙的policy或
路由器的ACL。策略如支持IPv6的思科路由器在inbound方向上设置 deny ipv6 any any routing-type 0
攻击三:Fragmentation Header 的攻击
在IPv6中,分片跟重组都在EndHost 做,中间的路由器不负责这些操作,但具有L4-7层能力的防火墙和入侵检测系统必须要有能力在封片中
找出这些攻击包。
攻击四:Upper Layer Header的威胁
IPsec对于应用层并无任何保护,因此你必须用在IPv4中使用同样的方法来保护。如应用层防火墙。
NOTE:以上都是IPv6扩展头部的攻击。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
IPv6使用组播的方式传讯网络信息: 使用FF02::1可以取得Subnet的link-local ALL Nodes的资讯,FF02::2可以取得Subnet的link-local
All Routers的资讯。在所有主机都跑Dual-stack的Protocol Stack的话,你可以在所有Service(含IPv6的Service)都bind到IPv4的状况下,
对IPv4做扫描,就可以得到所有IPv6的Hosts以及跑在上面的服务。
IPv6无法抵御DDOS攻击
使用smurf6的DDOs工具,对FF02::1来发送ICMPv6 Echo使同网段的所有Nodes发送ICMPv6 Replay来对目标节点做Flood攻击。
IPv4与IPv6的协议转换也是入侵的后门
IETF定义的IPv4到IPv6有三种,Dual-stack Tunnels以及Protocol
在Dual-stack架构中,IPv4与IPv6是共存于Layer 2之上,只是各自使用不同的Ethernet Type.IPv4的Ethernet Type是0x0800
IPv6的Ethernet Type是0x86dd.IP层之上的传输层没有什么变化
措施:
1.使用支持IPv6的防火墙
2.使用可以辨别IPv6的设备,直接把IPv6的Traffic给block.
3.使用支持IPv6的switch 将Ethernet Type 0x86dd的帧给block
IPv4 Tunnels被入侵的严重问题
tunnels会自动block掉IPv4地址不符的Inject封包。至于IPv6的封包的保护可以使用URPF来过滤Tunnel中可能被Spoofed的
IPv6封包。使用IPv4 IPsec 来加强保护你的IPv4 Tunnels免于Injection与Sniffing的威胁。
Dynamic tunnels防护:针对6to4的ACL,在ingress做Filter来过滤掉非2001开头的IPv6地址,来实现非6to4的spoofed IPv6
封包,以及RFC1918的private address 形成的IPv6地址也必须过滤掉。