ICMP漏洞及防范
- 格式:doc
- 大小:30.00 KB
- 文档页数:10
icmp安全策略Internet Control Message Protocol(ICMP)是在网络上发送错误消息和操作信息的协议。
虽然ICMP在网络管理中具有重要作用,但它也可能被恶意利用,因此实施一些安全策略是很重要的。
以下是一些常见的ICMP安全策略:1.禁用不必要的ICMP消息:通过防火墙或路由器配置,可以禁用或限制网络上不必要的ICMP消息。
某些ICMP消息可能用于进行网络扫描或其他恶意活动。
2.限制ICMP流量:根据网络的实际需求,通过配置网络设备,可以限制特定类型的ICMP消息的流量。
这有助于减少网络上的攻击面。
3.启用ICMP差错消息:启用ICMP差错消息对于网络诊断和排除故障是重要的。
确保防火墙或路由器允许有关差错消息的通信。
4.ICMP Redirect攻击防护:针对ICMP Redirect攻击,可以配置设备以限制或阻止不必要的重定向消息,以减少潜在的安全风险。
5.启用ICMP防火墙规则:使用防火墙配置规则,只允许来自信任源的ICMP 消息。
这可以帮助过滤掉来自恶意源的ICMP攻击。
6.网络监测:使用网络监测工具来监视和分析ICMP流量。
及时检测异常活动并采取相应措施。
7.防止Smurf攻击:Smurf攻击是一种利用ICMP Echo请求消息来发起分布式拒绝服务攻击的方式。
通过防火墙或其他安全措施,可以防止这类攻击。
8.封堵Ping Flood攻击:Ping Flood攻击是通过发送大量的ICMP Echo请求消息来占用目标网络带宽。
通过配置设备,可以限制对目标的Ping请求频率。
9.ICMPv6安全策略:对于IPv6网络,确保实施适当的ICMPv6安全策略,以保护网络免受潜在的攻击。
10.及时更新设备:保持网络设备和防火墙的及时更新,以确保获得最新的安全补丁和功能,提高网络的整体安全性。
这些安全策略可以根据具体网络环境的需求和威胁模型进行调整和定制。
定期审查和更新安全策略是保持网络安全性的关键步骤。
网络协议知识:ICMP协议和IGMP协议的应用场景和优缺点ICMP协议和IGMP协议的应用场景和优缺点ICMP协议和IGMP协议是网络协议中的两种重要协议,在网络通信中起着重要的作用。
本文将介绍它们的应用场景及其优缺点。
一、ICMP协议ICMP协议是Internet控制报文协议,常用于网络故障诊断和信号通知,是因特网协议族中的一个重要的子协议。
它通常与IP协议一起使用,主要有以下优缺点:1、应用场景1.1网络故障诊断在网络通信中,由于各种原因,常常会出现数据包丢失、延迟过高和通信路线中断等问题,这时候,ICMP就可以通过发送不同类型的消息来诊断故障原因。
例如,通过发送“ping”消息来检查网络是否连接通畅,通过发送“traceroute”消息来查找数据包中断的原因等。
1.2网络信令通知ICMP还可以用来发送网络信令通知,例如,当数据包被路由器丢弃时,它可以向源主机发送一个“目标不可达”消息,让源主机得知当前的网络路由中断状况。
还可以通过发送“时间超时”消息来了解数据包在网络中的状态,这些都有助于提升网络通信的质量以及便于网络管理。
2、优点2.1快速诊断网络故障ICMP协议能够快速诊断网络故障,并尽快解决问题。
有利于维护网络的稳定性和高效性。
2.2简化网络管理和维护ICMP协议可以通过发送不同类型的消息来实现网络状态和故障的诊断,大大简化了网络管理和维护的难度和复杂度。
3、缺点3.1潜在的安全风险ICMP协议在提供网络故障和信令通知方面,一旦有人发送恶意的信息,可能会给网络带来一定的风险和安全隐患。
3.2过滤难度大由于ICMP协议本身的特点,使得它的数据包很难被过滤,难以防止攻击者的入侵和网络攻击行为。
二、IGMP协议IGMP协议是Internet组管理协议,主要用于组播管理,同样是因特网协议族中的一个重要的子协议。
它通常用于多媒体内容分发,主要有以下优缺点:1、应用场景1.1组播管理IGMP协议主要用于组播管理,可以让多个主机共享同一份多媒体内容。
ICMP常见攻击ICMP Flood攻击通常情况下,网络管理员会用PING程序对网络进行监控和故障排除,大概过程如下:1.源计算机向接收计算机发出ICMP响应请求报文(ICMP ECHO)。
2.接收计算机接收到ICMP响应请求报文后,会向源计算机回应一个ICMP 应答报文(ECHOReply)。
这个过程是需要CPU处理的,在有些情况下还可能消耗掉大量的资源。
如果攻击者向目标计算机发送大量的ICMP ECHO报文(产生ICMP洪水),则目标计算机会忙于处理这些ECHO报文,而无法继续处理其它的数据报文。
如图5所示。
图5 ICMP Flood攻击示意图解决办法:设备针对ICMP泛洪攻击进行CAR(Committed Access Rate)限速,保证CPU不被攻击,保证网络的正常运行。
Ping of Death攻击所谓Ping of Death,就是利用一些尺寸超大的ICMP报文对系统进行的一种攻击。
IP报文的长度字段为16位,这表明一个IP报文的最大长度为65535。
对于ICMP回应请求报文,如果数据长度大于65507,就会使ICMP数据+IP头长度(20)+ICMP头长度(8)> 65535。
对于有些防火墙或系统,在接收到一个这样的报文后,由于处理不当,会造成系统崩溃、死机或重启。
大部分处理程序假定报文不会超过最大尺寸,超大报文重组所占内存块大于IP包最大尺寸,重组过程引发缓冲区溢出,系统进入非稳定状态,导致TCP/IP堆栈崩溃。
如图6所示。
图6 ICMP超大报文示意图解决办法:启用分片报文攻击防范后,设备在收到这种攻击报文后,直接丢弃该报文。
分片报文攻击是通过向目标设备发送分片出错的报文,使得目标设备在处理分片错误的报文时崩溃、重启或消耗大量的CPU资源,给目标设备带来损失。
分片报文攻击防范是指设备实时检测出分片报文并予以丢弃或者限速处理,实现对本设备的保护。
Large-ICMP攻击同ping of death类似,Large-ICMP也是利用一些大尺寸的ICMP报文对系统进行的一种攻击,与ping of death不同的是,Large-ICMP报文的长度不会超过IP报文的最大长度65535,但是对一些操作系统也会造成破环。
icmp攻击防御方法(一)ICMP攻击防御方法1. 洪泛式IP封锁通过洪泛式IP封锁,为目标系统封锁攻击者的IP,这样攻击者就无法再攻击系统,也就阻止了ICMP攻击。
但是洪泛式IP封锁也有一定的缺陷:它封锁了合法用户和不合法用户,可能会带来安全问题。
2. 屏蔽ICMP报文网络系统、路由器及防火墙可以通过对特定ICMP报文进行过滤,来屏蔽攻击者利用特定ICMP报文进行攻击的行为。
虽然这种方式能够抵御攻击,但也存在安全性较低的问题。
3. 使用防火墙使用防火墙可以有效抵御ICMP攻击,安全性很高;但无法查找并封锁攻击源,只能过滤具体的报文。
因此,防止ICMP攻击时用防火墙,只能作为主动防御的一种手段,而不能作为唯一的手段。
4. 禁止ICMP RedirectICMP Redirect报文提醒主机当前路由表信息已过时,可以按照新的报文更新路由。
但是,说它有可能被攻击者恶意利用,因此可以考虑在网络上禁止ICMP Redirect。
5. 修改OS默认配置针对特定的ICMP消息,仅允许其在网络上进行发送,封锁默认的配置,例如禁止ping。
此外,可以设置更多的限制性规则,例如每类ICMP消息每秒钟最大报文数量,这样就可以有效抵御ICMP攻击。
(二)ICMP攻击预防建议1. 实施安全监控即时监测网络,及时发现ICMP攻击;并对攻击行为及时采取相应的措施,以防止攻击对目标系统的影响。
2. 时刻加强网络安全严格遵守国家有关的安全法律法规,严格审视网络使用,及时更新安全性软件,避免网络存在漏洞,以确保网络的安全性和可靠的运行。
3. 建立健全严格的安全策略系统应该建立严格的安全策略来管理网络,确保ICMP攻击的及时发现和处理;对发现的ICMP攻击行为应采取适当措施,以限制ICMP 攻击的发生及传播。
4. 排查并解决网络漏洞弱点排查应执行定期,根据弱点分析报告将排查出的弱点及时解决;同时,一旦发现ICMP攻击,就需要立即对受到攻击的目标系统进行安全检查和修复。
拒绝服务漏洞原理拒绝服务(Denial of Service,DoS)漏洞是计算机系统中的一种安全漏洞,攻击者利用该漏洞可使目标系统或服务无法正常运行,从而导致服务中断或不可用。
本文将对拒绝服务漏洞的原理进行详细阐述,包括其定义、分类、攻击方法以及预防措施等。
一、定义与分类1. 定义拒绝服务漏洞(Denial of Service Vulnerability)指的是攻击者利用系统资源的有限性或漏洞,通过发送恶意请求、持续扫描、收集敏感信息等方式,向目标系统发送大量无效或恶意的请求,耗尽目标系统的资源,导致该系统无法正常服务或运行。
2. 分类根据攻击方式不同,拒绝服务漏洞可以分为以下几类:- 带宽饱和攻击(Bandwidth Attacks):攻击者利用大量恶意流量占用目标系统的带宽资源,耗尽目标系统的网络带宽。
常见的带宽饱和攻击方法有泛洪攻击、DNS放大攻击等。
- 资源消耗攻击(Resource Attacks):攻击者通过向目标系统发送大量高计算资源消耗请求,如复杂计算、大文件上传、大表查询等,导致目标系统的CPU、内存或磁盘等资源耗尽。
常见的资源消耗攻击方法有HTTP请求攻击、Ping of Death攻击等。
- 协议攻击(Protocol Attacks):攻击者利用目标系统中协议的漏洞或资源限制性进行攻击,如ICMP协议数据包过大、TCP协议连接数溢出等。
常见的协议攻击方法有SYN洪水攻击、Smurf攻击等。
二、攻击方法与原理1. 带宽饱和攻击- 泛洪攻击(Flood Attack):攻击者向目标系统发送大量的数据包,占用目标系统的带宽资源,导致目标系统无法正常提供服务。
攻击者可以伪造源IP地址,隐藏真实身份。
- DNS放大攻击(DNS Amplification Attack):攻击者利用DNS服务器的特性,向存在漏洞的DNS递归服务器发送特定请求,该递归服务器将响应发送到目标系统,使得目标系统遭受大量的响应流量,导致带宽饱和。
ICMP路由重定向期骗引发的网络故障--------- ARP欺骗的姊妹篇ARP欺骗是局域网中永恒的话题,就目前的协议而言,是无法终结它的。
但只要掌握其运行机制、原理,可以做到有效的预防、控制。
相对ARP而言,关于ICMP重定向报文期骗故障网上讨论的较少了,似乎没有ARP危害强烈,而根据我亲身经历的一次网络不通故障,深感其危害之大,现大家分享之。
故障环境:用户的计算机系统是WINXP,基本配置如下IP:192.168.0.254子网掩码:255.255.255.0默认网关:192.168.0.1DNS服务器:218.104.111.122218.104.111.114故障现象:用户反映能上QQ,不能打开网页了。
根据现象问题似乎很明显了,DNS解析不正常了。
故障排除:在用户机器上PING网关192.168.0.1,能正常返回数据包,然后又PING域名服务器218.104.111.122\218.104.111.114,结果都不通了。
当然这也不能说明问题,后来查看了一下本地的路由表了,发现问题了:如下图1所示图1在方框中好像多了两条路由记录;它们的意思是到目地218.104.111.114和218.104.111.122的数据包都跳转到网关192.168.0.16了。
但实质上正确的数据走向就应该是到网关192.168.0.1。
不能打开网页也就在情理之中了。
我马上查看了本地连接属性如下图2所示:图2这里显示一切配置正常了。
原来这WINDOWS的DNS解析机制是先查看本地路由表,如果没有数据包转发的路径了,就跳转到设定的网关。
在本案中,因为它发现了转发的路径了,就不会跳转到默认的网关了。
既然如此,清除那两条记录不就行了吗?我将本地网卡禁用后再启用它(当然,也可以在本地用ROUTE命令完成了),再查看本地路由(如下图3),一切正常了。
图3这个时候网页访问一切正常了。
故障分析:本地路由表中怎么会自动更新记录呢,这让人联想到了ARP表的更新,原理应该是一样了。
ICMP攻击技术分析ICMP(Internet Control Message Protocol)是一种用于在网络中传递错误消息和操作状态信息的协议。
通常,ICMP用于进行网络故障诊断和错误报告。
但是,由于其设计的一些漏洞和不安全的实现方式,ICMP 也被用于执行攻击。
1. ICMP洪水攻击(ICMP Flood Attack):攻击者向目标发送大量的ICMP回显请求(ping)消息,使目标设备无法处理所有的请求,从而导致网络堵塞或系统崩溃。
2. Smurf攻击:在Smurf攻击中,攻击者发送一个伪造的ICMP回显请求(ping)消息到广播地址,这个消息的源地址欺骗性地设置为目标的IP地址。
然后,所有收到这个消息的主机都会向目标发送一个回应,这样就会造成目标网络的短时间洪泛,导致带宽被大量消耗或系统崩溃。
3. Ping of Death攻击:在Ping of Death攻击中,攻击者向目标发送一个超过标准大小(65,535字节)的ICMP回显请求消息。
当目标设备尝试处理这个过大的请求时,会导致设备崩溃、重启或变得不可用。
4. ICMP地址掩盖攻击(ICMP Address Mask Spoofing Attack):在这种攻击中,攻击者发送伪造的ICMP地址掩盖消息给目标主机。
通过使用伪造的源地址,攻击者可以掩盖自己的真实IP地址,从而隐藏自己的身份。
5. ICMP路由发现攻击(ICMP Router Discovery Attack):攻击者发送ICMP路由发现请求消息到目标网络,然后假扮目标网络的路由器发送响应。
这种攻击可能导致目标主机的路由表被劫持,使其网络数据流量被重定向到攻击者的主机。
为了防御ICMP攻击,可以采取以下措施:1.过滤ICMP流量:部署网络防火墙或入侵检测系统(IDS)以过滤掉异常的ICMP流量,如大量的ICMP回显请求或过大的ICMP消息。
2.源地址验证:使用防火墙或路由器配置源地址验证机制,阻止伪造的ICMP消息进入网络。
攻防战略ICMP常见攻击及防范措施-电脑资料懂得网络的人都知道我们常用Ping命令来检查网络是否畅通的一个简单的手段,可是这个Ping也能给Windows系统带来不可预测的灾难,那就是Ping入侵即是ICMP入侵,后果是相当严重的,。
所以这里我们要详细讨论一下ICMP攻击方法及防范措施。
ICMP攻击及欺骗技术所谓:“知己知彼,百战不怠”,要学会防范就必须知道攻击是怎样的。
使用ICMP攻击的原理实际上就是通过Ping大量的数据包使得计算机的CPU使用率居高不下而崩溃,一般情况下通常在一个时段内连续向计算机发出大量请求而导致CPU占用率太高而死机。
基于ICMP的攻击可以分为两大类,一是ICMP攻击导致拒绝服务(DoS);另外一个是基于重定向(redirect)的路由欺骗技术。
服务拒绝攻击是最容易实施的攻击行为,目前,基于ICMP的攻击绝大部分都可以归类为拒绝服务攻击,其又可以分成3个小类:针对带宽的DoS攻击针对带宽的DoS攻击,主要是利用无用的数据来耗尽网络带宽。
Pingflood、pong、echok、flushot、fraggle 和bloop是常用的ICMP攻击工具。
通过高速发送大量的ICMP Echo Reply数据包,目标网络的带宽瞬间就会被耗尽,阻止合法的数据通过网络。
ICMP Echo Reply数据包具有较高的优先级,在一般情况下,网络总是允许内部主机使用PING命令。
这种攻击仅限于攻击网络带宽,单个攻击者就能发起这种攻击。
更厉害的攻击形式,如smurf和papa-smurf,可以使整个子网内的主机对目标主机进行攻击,从而扩大ICMP流量。
使用适当的路由过滤规则可以部分防止此类攻击,如果完全防止这种攻击,就需要使用基于状态检测的防火墙。
针对连接的DoS攻击针对连接的DoS攻击,可以终止现有的网络连接。
针对网络连接的DoS攻击会影响所有的IP设备,因为它使用了合法的ICMP消息。
Nuke通过发送一个伪造的ICMP Destination Unreachable或Redirect消息来终止合法的网络连接。
Win98常见安全漏洞于解决方案1、共享密码校验漏洞老漏洞了,绿盟袁哥发现的。
微软NETBIOS协议的口令校验服务端在对客户端的口令进行校验时是以客户端发送的长度数据为依据。
如果客户端设置数据包中密码长度域为1, 并发送一个字节的明文口令给服务端。
服务端就会将客户端发来口令与服务端保存的共享口令的第一个字节进行明文比较,如果匹配就认为通过了验证。
2、ICMP攻击补丁:/support/kb/articles/Q154/1/74.asp关于ICMP攻击的有很多了,WINNUKE、SPING和TEARDROP,比如WINNUKE,可对使用Windows 3.11/95/NT操作系统的上网者进行攻击。
它可向某一IP地址发送“OOB”(OUT OF BAND)数据,并攻击139端口(NETBIOS),如果攻击者进行端口监听的话,还可攻击其它端口。
当被攻击的电脑收到“OOB"数据后,即无法对数据进行处理,并出现Internet连接中断或蓝屏幕死机等现象。
ICMP通常报告在处理数据报过程中的错误,在以下几种情况下发送:当数据报不能到达目的地时,当网关已经失去缓存功能,当网关能够引导主机在更短路由上发送。
一般上网用户可能不用到多少,不知道我理解得对不对,因此可以关闭ICMP。
而且shotgun早提出关于ICMP木马的设计思路,台湾的**实现了(具体的程序我忘记了),这种木马可能对于只分析端口的防火墙防范木马简直是绝杀。
3、ARP 拒绝服务攻击影响WINDOWS98系统,当向运行Windows的主机发送大量无关的ARP数据包时,会导致系统耗尽所有的CPU和内存资源而停止响应。
如果向广播地址发送ARP请求时,可能导致整个居域网停止响应。
攻击程序见:arpkill4、IPX Ping 包拒绝服务漏洞由于不正确的通过端口0x456发送一些不规范的IPX/SPX Ping包可能导致服务器出现拒绝服务攻击。
IPX/SPX协议在Windows 98默认安装情况下是没有安装的,而在Windows 95默认安装时如果系统检测到网卡后此协议将自动安装。
icmp redirect攻击原理ICMP Redirect攻击原理ICMP(Internet Control Message Protocol)是一种用于在IP网络上进行通信的协议,它可以传递有关网络状态和错误信息。
而ICMP Redirect攻击则是一种利用ICMP协议的安全漏洞进行的攻击手法。
本文将介绍ICMP Redirect攻击的原理及其可能造成的影响。
1. ICMP Redirect攻击的原理ICMP Redirect是一种用于改变数据包路由的机制,它在某些情况下可以告诉源主机修改其路由表,以便将数据包发送到更合适的下一跳路由器。
然而,攻击者可以利用这一机制向目标主机发送伪造的ICMP Redirect消息,欺骗目标主机修改其路由表,将数据包发送到攻击者指定的路由器。
攻击者首先需要在目标主机和目标路由器之间插入自己的设备,成为数据包的中间人。
然后,攻击者发送伪造的ICMP Redirect消息给目标主机,消息中包含攻击者自己的IP地址作为新的下一跳路由器。
目标主机接收到这个消息后,会相信攻击者的欺骗,修改自己的路由表,将数据包发送给攻击者指定的路由器。
2. ICMP Redirect攻击的影响ICMP Redirect攻击可以导致以下几种影响:2.1 路由劫持:攻击者通过修改目标主机的路由表,将数据包发送到攻击者指定的路由器。
这样一来,攻击者可以拦截和篡改目标主机与其他主机之间的通信,甚至进行中间人攻击。
2.2 降低网络性能:由于数据包被重定向到攻击者指定的路由器,可能会增加网络延迟和丢包率,降低网络性能。
2.3 网络瘫痪:如果攻击者将数据包重定向到不存在的路由器或无法正常处理数据包的路由器,可能导致目标主机无法正常访问网络,造成网络瘫痪。
3. 防御措施为了防御ICMP Redirect攻击,可以采取以下几种措施:3.1 网络隔离:将重要的网络设备和主机放置在受控的网络环境中,限制物理接入和网络访问,减少攻击者的机会。
1 ICMP简介ICMP全称Internet Control Message Protocol(Intemet控制报文协议),该协议是TCP/IP协议族的一个子协议,属于网络层协议,主要用于在主机与路由器之间传递控制报文。
控制报文是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。
当遇到IP数据无法访问目标、IP路由器无法按当前的传输速率转发数据包等情况时会自动发送ICMP报文。
我们可以通过Ping命令发送ICMP回应请求报文(ICMP Echo-Request)并记录收到ICMP回应回复报文(ICMP Echo-Reply)。
通过这些报文来对网络或主机的故障提供参考依据。
ICMP是用IP封装和发送的,用来向IP和高层协议通报有关网络层的差错和流量控制情况,所有的路由器和主机都支持此协议。
1.1 ICMP报文0:回应应答3:目的不可达4:源抑制5:路由重定向8:回应请求11:分组超时14:时间戳应答17:地址掩码请求18:地址掩码应答ICMP报文的封装:封装在IP数据报中,如下图:1.2 ICMP回应请求和应答ICMP的请求、应答报文是一种双向信息查询报文,用于获取某些有用信息,以便进行故障诊断的网络控制。
请求、应答报文共有3对。
①回应请求/应答报文(类型8/0):检测目的站点的可达性与状态。
信源机向目的机传送一个回应请求报文,其中包含一个任选的数据区。
目的机接收到请求报文后,向信源机发送相应的回应应答报文,其中包含了请求报文中的任选数据区的拷贝。
如果成功地接收到正确的应答报文,则说明网络的分组转发和路由选择功能是正常的。
在Unix 等许多操作系统中,Ping命令的实现就是利用该报文实现的。
②时间戳请求与应答报文(类型13/14):在网络中实现时间同步和分组传送时间的估计。
利用该报文可以估计两个结点之间的机器时间差,以便进行同步。
但是,由于TCP/IP网络分组传送的随机性。
用这种方式进行测量和同步是很不准确的。
③地址掩码请求与应答报文(类型17/18):用于获取目的主机所在网络的子网掩码,用于无盘系统在引导过程中获取自己的子网掩码。
1.3 ICMP差错报告差错报告是单方向的:由路由器向信源主机报告(如图1)。
对ICMP 差错报文进行响应时,不会生成另一份ICMP差错报文,否则会永远循环下去。
1.ICMP差错报告类型:①目的地不可达报告:网络不可达、主机不可达、协议和端口不可达等(见图4)②超时报告③参数出错报告2.ICMP差错报告的能力是有限的:①ICMP实现网络中诊断信息的交换,并不能提高IP分组传输的可靠性。
仅仅是报告了网络的问题;②ICMP提供差错报告的功能,但并没有严格规定对于某种差错应该采取何种差错处理措施;③路由器并不能发现所有的传输错误。
1.4 ICMP源抑制(类型4)(Source Quench)通过限制信源主机发送IP分组的速率来降低拥塞的方法。
源抑制的三个阶段:路由器发现拥塞,并向源端发送ICMP源抑制报文;信源主机逐步降低发往目的主机的分组发送速率;拥塞解除后,信源主机逐步恢复原有的分组发送速率。
1.5 ICMP重定向(类型5)在转发分组时路由器同时检查被转发分组。
一旦发现其使用非最优路径.则向信源发送重定向报文,指出去往目的端的最佳路径。
重定向机制用于同一个网络中的主机和路由器之间。
TCP/IP网中路由选择是由路由器和主机上的路由表决定,而路由表示反映了网络的拓扑结构。
网络拓扑发生变化时,路由表也需要根据网络中新的路由信息来进行相应的调整。
路由器获得路由信息的方法是利用路由协议,在路由器之间定期交换路由信息。
而主机获得路由信息的方法是利用ICMP的重定向报文。
主机在启动时其缺省的路由表(通常保存在缓存中)通常不是最优的,网络变化的信息也应该通知给主机。
ICMP重定向机制给主机提供了一种获得网络配置信息的机制。
2 基于ICMP的攻击ICMP协议本身的特点决定了它非常容易被用于攻击网络上的路由器和主机。
2.1 Ping of Death黑客利用操作系统规定的ICMP数据包最大尺寸不超过64KB这一规定,向主机发起“Ping of Death”(死亡之Ping)攻击。
“Ping of Death”攻击的原理是:如果ICMP数据包的尺寸超过64KB上限时,主机就会出现内存分配错误,导致TCP/IP堆栈崩溃,致使主机死机。
2.2 ICMP攻击导致拒绝服务(DoS)攻击向目标主机长时阃、连续、大量地发送ICMP数据包,也会最终使系统瘫痪。
它的工作原理是利用发出ICMP类型8的echo-request给目的主机,对方收到后会发出中断请求给操作系统,请系统回送一个类型0的echo-reply。
大量的ICMP数据包会形成“ICMP风暴”或称为“ICMP洪流”,使得目标主机耗费大量的CPU资源处理,疲于奔命。
这种攻击被称为拒绝服务(DoS)攻击,它有多种多样具体的实现方式。
1.针对宽带的DOS的攻击主要是利用无用的数据来耗尽网络带宽。
通过高速发送大量的ICMP echo -reply数据包,目标网络的带宽瞬间就会被耗尽,组织合法的数据通过网络。
ICMP echo-reply数据包具有较高的优先级,在一般情况下,网络总是允许内部主机使用Ping命令。
2.针对连接的DOS攻击针对连接的DOS攻击,可以终止现有的网络连接。
它使用合法的ICMP消息影响所有的IP设备。
Nuke通过发送一个伪造的ICMP Destination Unreachable或Redirect消息来终止合法的网络连接。
更具恶意的攻击如puke和smack,会给某一个范围内的端口发送大量的数据包,毁掉大量的网络连接,同时还会消耗受害主机CPU的时钟周期。
3.Smurf攻击首先,攻击者会先假冒目的主机(受害者)之名向路由器发出广播的ICMP echo-request数据包。
因为目的地是广播地址,路由器在收到之后会对该网段内的所有计算机发出此ICMP数据包,而所有的计算机在接收到此信息后,会对源主机(亦即被假冒的攻击目标)送出ICMP echo-reply响应。
如此一来,所有的ICMP数据包在极短的时间内涌入目标主机内,这不但造成网络拥塞,更会使目标主机因为无法反应如此多的系统中断而导致暂停服务。
除此之外,如果一连串的ICMP广播数据包洪流(packet flood)被送进目标网内的话,将会造成网络长时间的极度拥塞,使该网段上的计算机(包括路由器)都成为攻击的受害者。
1)下面详细介绍Smurf攻击的过程:1>黑客锁定一个被攻击的主机(通常是一些Web服务器);2>黑客寻找可做为中间代理的站点,用来对攻击实施放大(通常会选择多个,以便更好地隐藏自己,伪装攻击);3>黑客给中间代理站点的广播地址发送大量的ICMP包(主要是指Ping命令的回应包)。
这些数据包全都以被攻击的主机的IP地址做为IP包的源地址;4>中间代理向其所在的子网上的所有主机发送源IP地址欺骗的数据包;5>中间代理主机对被攻击的网络进行响应。
举例解释一下:假设黑客拥有调制解调器,或者其它的能快速上网方式,能以1Mbps的速度向中间代理机器发送ICMP数据包;再假设中间代理站点有150台主机对这些ICMP包做出了反应。
这样,一下子就有150Mbps的攻击数据从中间代理拥向被攻击的主机。
黑客可以控制这个过程直到他自己连接到中间代理机器上,并且控制中间代理持续向被攻击主机发送ICMP包。
2)如何防止网络遭受Smurf攻击:首先,通过在路由器上使用输出过滤,就可以滤掉源欺骗的IP数据包,从而阻止从网络中发起的Smurf攻击。
在路由器上增加这类过滤规则的命令如下:Access-list 100 permit IP {你的网络号} {你的网络子网掩码} anyAccess-list 100 deny IP any any在你局域网的边界路由器上使用这一访问列表的过滤规则,就可以阻止你的网络上的任何人向局域网外发送这种源欺骗的IP数据包。
其次,停止你的网络做为中间代理。
如果没有必须要向外发送广播数据包的情况,就可以在路由器的每个接口上设置禁止直接广播,命令如下:no ip directed-broadcast还有,如果你的网络比较大,具有多个路由器,那么可以在边界路由器上使用以下命令:ip verify unicast reverse-path让路由器对具有相反路径的ICMP欺骗数据包进行校验,丢弃那些没有路径存在的包。
最好是运行Cisco快速转发(Cisco Express Forwarding ,CEF)或者其它相应的软件。
这是因为在路由器的CEF 表中,列出了该数据包所到达网络接口的所有路由项,如果没有该数据包源IP地址的路由,路由器将丢弃该数据包。
例如,路由器接收到一个源IP地址为1.2.3.4的数据包,如果CEF路由表中没有为IP 地址1.2.3.4提供任何路由(即反向数据包传输时所需的路由),则路由器会丢弃它。
3)遭受Smurf攻击时的防护:如果你的主机不幸成为了Smurf攻击的目标,在这儿可以找到很多种方法来限制这种拒绝服务攻击造成的影响。
在最近新进修改的Cisco IOS操作系统中,被访问列表所拒绝的数据包直接就被丢弃(其丢弃速度几乎接近于硬件速度)。
不过每秒钟每个列表行有两个数据包例外,这就是向中间代理回送ICMP不可达消息的数据包。
因此,如果你不想做为别人Ping的目标,那么在边界路由器上就直接可以阻塞掉。
激活这个列表的命令是:ip icmp rate-limit unreachable如果必须允许Ping命令,你可以通过使用命令访问速率(Committed Access Rate ,CAR)来限制ICMP的流量。
以下列出了其它Cisco IOS的例子:config tAccess-list 100 permit icmp any{你的网络号}{你的网络子网掩码} echo-replyAccess-list 100 permit icmp any {你的网络号}{你的网络子网掩码}echo Interface e1Rate-limit input access-group 100 512000 8000 8000 conform action transmit exceed action drop这个例子限制ICMP的传输速率不能超过512Kbps,突发速率不能超过8000bits。
所有多出的包将被丢弃。
可以有多个速率限制命令同时添加到一个接口上,可以对不同的数据包进行不同的速率限制。
4)查找黑客:对发起Smurf攻击的机器的定位非常困难,但并不是不可能的。
为了跟踪这类拒绝服务攻击的真正源头,可以采取以下几步:确定中间代理的IP地址空间,并与他们的网络管理员取得联系。