ICMP重定向攻击与防范方法研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ICMP重定向攻击与防范方法研究
ICMP是TCP/IP协议族的一个子集,用于在IP主机、路由器之间传递控制消息,其中重定向是该协议的重要功能,而该功能常被黑客利用,并用于攻击主机;本文从ICMP重定报文结构及重定向工作方式展开,简述了重定向攻击及欺骗攻击的原理,最后阐明了防范重定向及欺骗攻击三种方法。
标签:ICMP;重定向攻击;欺骗攻击
0 引言
ICMP是(Internet Control Message Protocol)Internet控制报文协议。
它是TCP/IP协议族的一个子集,用于在IP主机、路由器之间传递控制消息,主要控制路由是否可用、主机是否可达和网络通不通等网络本身的重要消息。
网络或者黑客攻击者常应用ICMP重定向功能对主机进行攻击。
1 ICMP重定向报文解析
ICMP重定向报文是ICMP控制报文中的一种,在一般情况下,当路由器检测到某台主机使用没有经过优化路由的时候,它会向该主机发送一个ICMP重定向报文,请求主机改变路由。
路由器也会把初始数据向其他的目的主机转发,ICMP重定向报文格式如下图所示:
<E:\123456\中小企业管理与科技·上旬刊201510\1-297\70-1.jpg>
图1 ICMP重定向报文结构
ICMP有四种不同类型的重定向报文,如下表1所示。
表1 ICMP重定向报文类型
[代码\&ICMP报文描述\&0
1
2
3\&网络重定向
主机重定向
服务类型和网络重定向
服务类型和主机重定向\&]
ICMP重定向报文的目的主机需要查看三种IP地址类型:
①发送重定向报文的路由IP地址(重定向信息的IP数据报中的源地址);
②实施重定向的IP地址(ICMP重定向报文位于IP数据报首部);
③采用的路由IP地址(在ICMP报文中的4~7字节)。
2 ICMP重定向工作方式
如图2所示,假设有主机A和主机B、路由器A和路由器B,主机A的网关地址指向路由器A的F0/0接口,路由器A,B的F0/0端口在同一网段内,路由器A,B通过F0/1端口接入Internet,Internet有一台主机B,其IP地址为10.1.1.1,正常情况下,路由器A,B到10.1.1.0/8这个网段都有两条路由,分别是F0/1端口直接出去和F0/0端口通过另一台路由出去,但经过F0/1端口的这条路由会进入到路由表中,主机B被主机A访问的时候,数据包就会被发到路由器A的F0/0端口,再经过F0/1端口转发出去。
当路由器A的F0/1端口处于Down状态时,那么路由器A上另一条路由就会进入到路由表中,到达10.1.1.0/8这个网络的下一跳便是路由器A的F0/1端口。
这樣,如果主机A和主机B通信,主机A就会把IP数据报发送到路由器A的F0/0端口上,路由器A查找路由表得知下一跳是路由器B的F0/0端口,这时候路由器A将会把报文从F0/0端口转发到路由器B的F0/0端口,同时会向主机A 发送一条ICMP重定向报文,用主机A在路由表上加上一条路由,目标地址是10.1.1.1/8,下一跳是路由器B的F0/0端口,这样主机A到主机B以后的IP数据报就会被直接发送到路由器B的F0/0端口。
3 ICMP重定向攻击
ICMP重定向攻击和ARP攻击手段非常相似,只是使用的协议不同而以,ICMP重定向攻击使用的是正常的ICMP协议发起攻击。
黑客(Hacker)想要通过常规手段远程控制目标主机是件困难的事情,但如果ICMP重定向功能是开启的时候,黑客假冒网关(Gateway)就变得容易多了,黑客假冒网关,然后对目标主机(Host)发送ICMP重定向报文,报文里填写虚假的、不可达的或者网络不通的IP地址,这样,目标主机收到ICMP重定向报文后,就会对路由表进行添加、修改,将黑客指定的目标与目标之间通信的网关IP地址设置成虚假的IP地址,从而利用ICMP重定向功能实现重定向攻击,以便控制远程主机。
4 ICMP重定向欺骗攻击
和ARP欺骗攻击类似,ICMP重定向欺骗攻击也是利用ICMP协议发起欺骗攻击。
如果ICMP重定向功能是开启的,黑客在对目标主机发送ICMP重定向报文时,将在报文里的路由IP地址填写成自己的IP地址,目标主一旦收到ICMP重定向报文后,就会添加或者修改自己的路由表为黑客填写的IP地址,以后目标主机所发送的所有报文将发送到黑客所填写的IP地址主机,从而利用ICMP重定向功能,实现欺骗攻击,合法网关将无法收到目标主机发送的报文。
5 ICMP重定向攻击防范方法
5.1 配置硬件防火墙以防范攻击
为了有效的防范ICMP重定向攻击,可加装合适的防火墙,并配置合理的安全策略。
除了出站的ICMP Source Quench报文、ICMP Echo Request报文、进站的ICMP Destination Unreachable报文以及进站的TTL Exceeded报文之外,所有其他的ICMP消息类型都应该被阻止,这样,启用了ICMP过滤的功能。
如果没有启用,应该选中“防御ICMP攻击”、“防止别人用ping命令探测”等功能。
5.2 配置操作系统自带的防火墙以防范攻击
虽然硬件防火墙可以对PING等攻击可以进行很好的过滤,但加装硬件防火墙必竟价格不菲,对很多用户来说是不现实的,所以配置操作系统自带的防火墙防范攻击也是不错的选择,通常可以对“TCP/IP筛选”及“本地安全策略”进行相应的配置即可。
5.3 通过修改注册表达到防范攻击
通过修改注册表可以使ICMP更安全。
修改注册表主要有两种方式:
①禁止ICMP重定向报文。
ICMP的重定向报文控制着操作系统是否会改变路由表,以此来响应网络设备发送给它的ICMP重定向消息,这一功能方便了用户,却常被黑客利用,并进行网络攻击,通过修改注册表可以使ICMP的重定向报文禁止响应,使网络更为安全。
一般来说修改的方法是打开注册表编辑器,找到或者新建“HKEY_LOCAL_MachineSy-
stemCurrentControlSetServicesTCPI PParamters”中的子键“EnableICM-
PRedirects”(REG_DWORD型)的值修改为0,达到禁止ICMP的重定向报文的目的。
②禁止响应ICMP路由通告报文。
“ICMP路由公告”功能可使计算机被用于流量攻击、网络连接异常、数据被窃听等,所以关闭“响应ICMP路由公告功能,通常的修改注册表中“HKEY_LOCAL_MachineSystemCurrentControlSetServic-
esTCPIPParamtersInterfaces”子键“PerformRouterDiscovery”的REG_
DWORD型,使之值为0,禁止响应ICMP路由通告报文。
参考文献:
[1]徐国天.基于ICMP重定向的“中间人”攻击研究[J].中国刑警学院学报,2012(2):30-33.
[2]Behrouz A.Forouzan.TCP/IP协议族[M].北京:清华大学出版社,2003:360-362.
[3]蒋旭卉.骨干网路由器攻击方法研究与实现[D].北京交通大学,2007.
[4]冯德强.浦煤网络检测与报警程序的实现[J].上海煤气,2014(01):36-40+43.
[5]黄文,文春生,欧红星.ICMP路由欺骗与ARP欺骗研究[J].湖南科技学院学报,2007(12):49-51.
[6]崔智慧.網络设备监控的编程实现[J].计算机光盘软件与应用,2012(16):226-227.
[7]张超.针对ICMP攻击的防范策略[J].现代企业教育,2011(24):131-132.。