ICMP漏洞及防范_第1页
ICMP漏洞及防范_第2页
ICMP漏洞及防范_第3页
ICMP漏洞及防范_第4页
ICMP漏洞及防范_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 ICMP 简介ICMP 全称 Internet Control Message Protocol(Intemet 控制报文协 议),该协议是 TCP/IP 协议族的一个子协议,属于网络层协议,主要 用于在主机与路由器之间传递控制报文。控制报文是指网络通不通、 主机是否可达、路由是否可用等网络本身的消息。当遇到 IP 数据无 法访问目标、IP 路由器无法按当前的传输速率转发数据包等情况时 会白动发送 ICMP 报文。我们可以通过 Ping 命令发送 ICMP 回应请求报文(ICMP Echo-Request )并记录收到 ICMP 回应回复报文(ICMP Echo-Reply )。通过这些报

2、文来对网络或主机的故障提供参考依据。ICMP 是用 IP 封装和发送的,用来向 IP 和高层协议通报有 关网络层的过失和流量控制情况,所有的路由器和主机都支持此协 议。1.1 ICMP 报文0:回应应答 3:目的不可达4:源抑制 5:路由重定向8:回应请求11:分组超时 14:时间戳应答17:地址掩码请求18:地址掩码应答ICMP 报文的封装:封装在 IP 数据报中,如以下图:1.2 ICMP 回应请求和应答ICMP 的请求、应答报文是一种双向信息查询报文,用于获取某些有 用信息,以便进行故障诊断的网络控制。请求、应答报文共有3 对。1回应请求/应答报文类型 8/0:检测目的站点的可达性与状态

3、。信 源机向目的机传送一个回应请求报文,其中包含一个任选的数据区。目的机接收到请求报文后,向信源机发送相应的回应应答报文, 其中 包含了请求报文中的任选数据区的拷贝。 如果成功地接收到正确的应 答报文,那么说明网络的分组转发和路由选择功能是正常的。在Unix等许多操作系统中,Ping 命令的实现就是利用该报文实现的。2时间戳请求与应答报文类型 13/14:在网络中实现时间同步和分 组传送时间的估计。利用该报文可以估计两个结点之间的机器时间差,以便进行同步。但是,由于 TCP/IP 网络分组传送的随机性。用 这种方式进行测量和同步是很不准确的。3地址掩码请求与应答报文类型 17/18:用于获取目

4、的主机所在网 络的子网掩码,用于无盘系统在引导过程中获取白己的子网掩码。1.3 ICMP 过失报告过失报告是单方向的:由路由器向信源主机报告如图 1。对 ICMP 过失报文进行响应时,不会生成另一份 ICMP 过失报文,否那么会永远 循环下去。1.ICMP 过失报告类型:1目的地不可达报告:网络不可达、主机不可达、协议和端口不可达 等见图 42超时报告3参数出错报告2.ICMP 过失报告的能力是有限的:1ICMP 实现网络中诊断信息的交换,并不能提高 IP 分组传输的可 靠性。仅仅是报告了网络的问题;2ICMP 提供过失报告的功能,但并没有严格规定对于某种过失应该采取何种过失处理措施;3路由器

5、并不能发现所有的传输错误。1.4 ICMP 源抑制类型 4Source Quench通过限制信源主机发送 IP 分组的速率来降低拥塞的方法。源抑制的三个阶段:路由器发现拥塞,并向源端发送 ICMP 源抑制报 文;信源主机逐步降低发往目的主机的分组发送速率;拥塞解除后, 信源主机逐步恢复原有的分组发送速率。1.5 ICMP 重定向类型 5在转发分组时路由器同时检查被转发分组。 一旦发现其使用非最优路 径.那么向信源发送重定向报文,指出去往目的端的最正确路径。重定向 机制用于同一个网络中的主机和路由器之间。TCP/IP 网中路由选择是由路由器和主机上的路由表决定,而路由表 示反映了网络的拓扑结构。

6、网络拓扑发生变化时,路由表也需要根据是利用路由协议,在路由器之间定期交换路由信息。 而主机获得路由 信息的方法是利用 ICMP 的重定向报文。主机在启动时其缺省的路由表通常保存在缓存中通常不是最优的, 网络变化的信息也应该通知给主机。ICMP 重定向机制给主机提供了 一种获得网络配置信息的机制。2 基于 ICMP 的攻击ICMP 协议本身的特点决定了它非常容易被用于攻击网络上的路由器 和主机。2.1 Ping of Death黑客利用操作系统规定的 ICMP 数据包最大尺寸不超过 64KB 这一规 定,向主机发起 “Ping of Death 死止之 Ping攻击。“Ping of Death

7、 攻击的原理是:如果 ICMP 数据包的尺寸超过 64KB 上限时,主机就 会出现内存分配错误,导致 TCP/IP 堆栈崩溃,致使主机死机。2.2 ICMP 攻击导致拒绝效劳DoS攻击向目标主机长时阍、连续、大量地发送 ICMP 数据包,也会最终使系 统瘫痪。它的工作原理是利用发出 ICMP 类型 8 的 echo-request 给 目的主机,对方收到后会发出中断请求给操作系统,请系统回送一个类型 0 的 echo-reply。 大量的 ICMP 数据包会形成“ICMPM 暴或称 为“ICMF流,使得目标主机消耗大量的 CPU 资源处理,疲于奔命。 这种攻击被称为拒绝效劳DoS攻击,它有多种

8、多样具体的实现方 式。1.针对宽带的 DOS 的攻击网络中新的路由信息来进行相应的调整路由器获得路由信息的方法主要是利用无用的数据来耗尽网络带宽。通过高速发送大量的ICMPecho -reply 数据包,目标网络的带宽瞬间就会被耗尽,组织合法的 数据通过网络。ICMP echo-reply 数据包具有较高的优先级,在一般 情况下,网络总是允许内部主机使用 Ping 命令。2. 针对连接的 DOS 攻击针对连接的 DOS 攻击,可以终止现有的网络连接。它使用合法的 ICMP 消息影响所有的 IP 设备。Nuke 通过发送一个伪造的 ICMP Destination Unreachable或 Re

9、direct 消息来终止合法的网络连接。更具恶意的攻击如 puke 和 smack ,会给某一个范围内的端口发送大 量的数据包,毁掉大量的网络连接,同时还会消耗受害主机CPU 的时钟周期。3.Smurf 攻击首先,攻击者会先假冒目的主机 受害者之名向路由器发出播送的 ICMPecho-request 数据包。因为目的地是播送地址,路由器在收到 之后会对该网段内的所有计算机发出此 ICMP 数据包,而所有的计算 机在接收到此信息后,会对源主机亦即被假冒的攻击目标 送出ICMP echo-reply 响应。如此一来,所有的 ICMP 数据包在极短的时 间内涌入目标主机内,这不但造成网络拥塞,更会使

10、目标主机因为无 法反响如此多的系统中断而导致暂停效劳。除此之外,如果一连串的ICMP 播送数据包洪流packet flood被送进目标网内的话,将会造成网络长时间的极度拥塞,使该网段上的计算机 包括路由器都成为攻击的受害者1下面详细介绍 Smurf 攻击的过程:1黑客锁定一个被攻击的主机通常是一些 Web 效劳器;2黑客寻找可做为中间代理的站点,用来对攻击实施放大通常会选 择多个,以便更好地隐藏白己,伪装攻击;3黑客给中间代理站点的播送地址发送大量的 ICMP 包主要是指 Ping 命令的回应包。这些数据包全都以被攻击的主机的 IP 地址做 为 IP 包的源地址;4中间代理向其所在的子网上的所

11、有主机发送源IP 地址欺骗的数据包;5中间代理主机对被攻击的网络进行响应。举例解释一下:假设黑客拥有调制解调器,或者其它的能快速上网方 式,能以 1Mbps 的速度向中间代理机器发送 ICMP 数据包;再假设 中间代理站点有150 台主机对这些 ICMP 包做出了反响。这样,一 下子就有 150Mbps 的攻击数据从中间代理拥向被攻击的主机。黑客 可以控制这个过程直到他白己连接到中间代理机器上,并且控制中间代理持续向被攻击主机发送 ICMP 包。2如何防止网络遭受 Smurf 攻击:首先,通过在路由器上使用输出过滤,就可以滤掉源欺骗的IP 数据包,从而阻止从网络中发起的 Smurf 攻击。在路

12、由器上增加这类过 滤规那么的命令如下:Access-list 100 permit IP 你的网络号 你的网络子网掩码 anyAccess-list 100 deny IP any any在你局域网的边界路由器上使用这一访问列表的过滤规那么,就可以阻止你的网络上的任何人向局域网外发送这种源欺骗的IP 数据包。其次,停止你的网络做为中间代理。如果没有必须要向外发送播送数 据包的情况,就可以在路由器的每个接口上设置禁止直接播送,命令如下:no ip directed-broadcast还有,如果你的网络比拟大,具有多个路由器,那么可以在边界路由 器上使用以下命令:ip verify unicast

13、 reverse-path让路由器对具有相反路径的 ICMP 欺骗数据包进行校验,丢弃那些没 有路径存在的包。最好是运行Cisco 快速转发Cisco ExpressForwarding , CEF 或者其它相应的软件。这是因为在路由器的 CEF 表中,列出了该数据包所到达网络接口的所有路由项,如果没有该数据包源 IP 地址的路由,路由器将丢弃该数据包。例如,路由器接收 到一个源 IP 地址为 1.2.3.4 的数据包,如果 CEF 路由表中没有为 IP 地址 1.2.3.4提供任何路由即反向数据包传输时所需的路由,那么路 由器会丢弃它。3遭受 Smurf 攻击时的防护:如果你的主机不幸成为了

14、Smurf 攻击的目标,在这儿可以找到很多种方法来限制这种拒绝效劳攻击造成的影响。在最近新进修改的Cisco IOS 操作系统中,被访问列表所拒绝的数据包直接就被丢弃其 丢弃速度几乎接近于硬件速度)。不过每秒钟每个列表行有两个数据 包例外,这就是向中间代理回送 ICMP 不可达消息的数据包。因此, 如果你不想做为别人 Ping 的目标,那么在边界路由器上就直接可以 阻塞掉。激活这个列表的命令是:ip icmp rate-limit unreachable如果必须允许 Ping 命令,你可以通过使用命令访问速率(CommittedAccess Rate , CAR)来限制 ICMP 的流量。以以

15、下出了其它 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 actiontransmit exceed action drop这个例子限制 ICMP 的传输速率不能超过 512Kbps ,突发速率不能 超过8000bits。所有多出的包将被丢弃。可以有

16、多个速率限制命令同 时添加到一个接口上,可以对不同的数据包进行不同的速率限制。4) 查找黑客:对发起 Smurf 攻击的机器的定位非常困难,但并不是不可能的。为 了跟踪这类拒绝效劳攻击的真正源头,可以采取以下几步:确定中间代理的 IP 地址空间,并与他们的网络管理员取得联系。记住你看到的这些包是从中间代理那儿来的,并不是从真正黑客处来的。那些以被攻击的主机的 IP 地址为源 IP 地址的进入该网络的数据 包,就是黑客使用的源地址欺骗数据包。从这些数据包上取得源 IP 地址欺骗的物理地址,并用这些物理地址 做一下ip arp 适用于 Cisco IOS ,得到的结果就是源 IP 地址欺骗 来的最

17、后一跳节点的 IP 地址。与他们的管理员取得联系。重复以上几步,直到你找到与跟踪的物理地址相同的路由器。5总结:通过过滤输出数据流,可以使你的网络免受Smurf 这类攻击;通过适当地限制播送流量,就可以防止你的网络被利用成为中间代理。如果你遭到攻击,可用以上方法把灾难降低到最小的手段, 同时可以跟 踪敌人。Smurf 攻击是具有破坏性的,但是合理正确的准备就可以最 大限度地降攻击传播的性能和影响力。2.2 基于重定向redirect的路由欺骗技术攻击者可利用 ICMP 重定向报文破坏路由,并以此增强其窃听能力。除了路由器,主机必须服从 ICMP 重定向。如果一台机器想网络中的 另一台机器发送了一个 ICMP 重定向消息,这就可能引起其他机器具 有一张无效的路由表。如果一台机器伪装成路由器截获所有到某些目 标网络或全部目标网络的 IP 数据包,这样就形成了攻击和窃听。3 ICMP 攻击防范措施虽然 ICMP 协议给黑客以可乘之机,但是 ICMP 攻击也并非防不胜防 的。只要在网络管理中未雨绸缪,提前做好准备,就可以有效地防止遭受 ICMP 的攻击 对于利用 ICMP 产生的拒绝效劳攻击可以采取下面的方法:一、在路 由器或主机端拒绝所有的 ICMP 包对于 Smuff 攻击:可在路由器禁 止 IP 播送;二、在该网段路由器对 ICMP 包进行带宽限制或限制 ICM

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论