ICMP攻击及其相应对策
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ICMP攻击及其相应对策
ICMP攻击及其相应对策
2010-10-21来源:《魅力中国》2010年9月第3期供稿文/刘颖[导读]在基于IP数据报的网络体系中,网关必须自己处理数据报的传输工作而IP协议自身没有内在机制来获取差错信息并理。
期刊文章分类查询,尽在期刊图书馆
刘颖(河南信息工程学校河南郑州 450008)
中图分类号:TP30文献标识码:A
摘要:随着计算机网络技术的发展和因特网的广泛普及,网络安全事故逐年增加,黑客的攻击已经和病毒并列成为对信息安全影响最严重的两大危害。
而且,随着联网计算机数量的增加,通过网络攻击手段,可以直接攻击大量的联网机器,所以我们对黑客的攻击必须加以重视和防范。
在基于IP数据报的网络体系中,网关必须自己处理数据报的传输工作,而IP协议自身没有内在机制来获取差错信息并处理。
为了处理这些错误,TCP/IP设计了ICMP协议,因此,引进ICMP协议,目的就是为了当网络出现问题的时候返回有用的描述错误的信息。
然而,人们在设计网络的各类协议时,并没有考虑网络安全问题,因此,这些协议可能被攻击者加以利用而入侵网络。
而ICMP协议本身的特点决定了它非常容易被用于攻击网络上的路由器和主机。
为了确保网络系统安全,人们研究并使用了多种解决方法,防火墙就是一种行之有效的网络安全机制,是网络安全政策的有机组成部分。
防火墙是一个由软件和硬件设备组合而成,在网络之间实施访问控制的一个系统,通过执行访问控制策略,限制两个网络之间数据的自由流动;通过控制和检测网络之间的信息交换和访问行为实现对网络安全的有效管理。
关键词:ICMP攻击网络安全
一、网络安全问题的根源
网络是搭起信息系统的桥梁,网络的安全性是整个信息系统安全的主要环节,只有网络系统安全可靠,才能保证信息系统的安全可靠。
随着计算机网络技术的发展和因特网的广泛普及,网络安全事故逐年增加,黑客的攻击已经和病毒并列成为对信息安全影响最严重的两大危害。
随着联网计算机数量的增加,通过网络攻击手段,可以直接攻击大量的联网机器,网络安全正面临着严峻的挑战。
影响计算机网络安全的因素有:
1、物理安全问题
2、方案设计问题
3、系统的安全漏洞
4、TCP/IP协议的安全问题
5、人的因素
在此我们特别关注的是利用网络协议(ICMP协议)进行的攻击。
最初,人们在设计Internet的各类协议时,没有考虑网络安全问题,网络协议缺乏认证机制、缺少数据保密性,网络协议的开放性方便了网络互连,同时也为非法入侵者提供了方便。
二、ICMP协议概述
网络协议是计算机能够通信的标准。
协议规定网络上的计算机如何彼此识别、数据在传输中应采取何种格式、信息一旦到达最终目的地时应如何处理等,协议还规定对遗失和被破坏的传输或数据包的处理过程。
可以说网络协议是联网计算机能够“交流”的基石。
在网络体系结构的各层次中,都需要控制,而不同的层次有不同的分工和控制内容,IP层的控制功能是最复杂的。
IP协议就工作在TCP/IP协议体系的互联网层,即IP层,它主要处理机器之间的通信,负责差错控制、拥塞控制等。
在基于IP数据报的网络体系中,网关必须自己处理数据报的传输工作,而IP协议自身没有内在机制来获取差错信息并处理。
为了处理这些错误,TCP/IP设计了ICMP协议,因此,引进ICMP协议,目的就是为了当网络出现问题的时候返回有用的描述错误的信息。
(一)ICMP协议
ICMP全称Internet Control Message Protocol(internet控制报文协议)。
是一种差错和控制报文协议,也是internet协议层中一个重要的协议。
从因特网的角度看,因特网是由收发数据报的主机和中转数据报的路由器组成。
在通信系统中,IP协议被用来实现主机之间的数据报传递,而路由器用来连接网络设备。
但是,IP通信过程中总会碰上各种各样的原因导致通信失败,比如:目的地址不正确。
IP协议虽然提供尽力传递的能力,但并不表示数据报一定能够投递到目的地,并且IP协议并不负责数据报的丢失、重复、延迟和乱序等情况,因此为了提高IP数据报交付成功的机会,反映数据报的投递情况,因特网增加了因特网控制报文协议(ICMP),来向源发主机告知网络环境中出现的问题。
引进ICMP协议后,当某个网关发现传输错误时,会立即向信源主机发送ICMP报文,自动返回有用的描述错误的信息,报告出错情况,信源主机必须将有关的差错交给一个应用程序或采取其他措施来纠正问题。
引进ICMP协议还可以获得网络通不通、主机是否可达、路由是否可用等网络本身的消息,帮助网络管理员了解网络状况。
因此,ICMP报文虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
(二)ICMP的消息格式和代码组合
像其它所有的通信业务一样,ICMP报文是放在一个IP数据报的数据部分中传送的。
ICMP报文要求两级封装,如图1所示。
每个ICMP报文放在IP数据报的数据部分中通过互联网,而数据报本身放在帧的数据部分中通过物理网络。
携带ICMP报文的IP数据报在传输过程中不具有任何优先级,与正常的IP数据报一样进行转发,唯一不同的是如果携带ICMP报文的IP数据报在传输过程中出现故障,转发该IP数据报的路由器将不产生任何关于该差错的差错报文。
ICMP消息格式为IP头加上自己的消息包,简单的说就是:
IP Header + ICMP Message,
ICMP Message=Type(1)+Code(1)+CheckSum(2)+others
每个ICMP报文都以相同的3个字段开始:1个8位的报文类型(TYPE)字段用来识别报文,1个8位的代码(CODE)字段提供有关报文类型的进一步信息,1个16位校验和字段。
CODE域的值在不同的TYPE下有不同的解释,而OTHERS部分则根据TYPE的不同而不同,所以,数据长度是跟ICMP报文的类型有关。
此外,报告差错的ICMP报文还总是包括产生问题的数据报首部及其开头的8个字节的数据。
在差错报告中返回8字节用户数据,可以使得接收方能够更精确地判断是哪个应用程序对该数据报负责。
三、使用ICMP协议搜集信息
ICMP的使用者主要是路由器,接收者为IP数据报的源发主机端,但也可以由主机向一个特定的目的主机发出查询报文。
一般黑客入侵之前,要先对目标主机进行详尽的分析,找出主机可以利用的安全漏洞或弱点,然后乘虚而入。
在这里我们利用ICMP协议的不同类型可以搜集目标主机的很多信息:
(一)网络ping扫射,寻找活动主机
获取一个真实网络的最基本步骤之一是在某个IP地址和网络块范围内执行一轮自动ping扫射,以确定某个具体的系统是否存活。
(二)ICMP查询
1.请某个主机或路由器回答当前的日期和时间。
向目的系统发送时间戳(Type=13)报文,请求返回目的系统的时间,可以获得目标系统所在的时区。
2.从子网掩码服务器得到某个接口的地址掩码。
发送地址屏蔽码(Type=17)报文,请求返回设备的子网掩码,据此可以确定将要用到的所有子网。
(三)利用ICMP协议最基本的用途:报错,来获取目标主机的其他信息
根据网络协议,如果按照协议出现了错误,那么接收端将产生一个ICMP的错误报文。
这些错误报文并不是主动发送的,而是由于错误,根据协议自动产生。
当我们设计一些有缺陷的ICMP报文发送到目标系统后,目标将发回报告错误的报文。
但是如果是在目标主机前有一个防火墙或者一个其他的过滤装置,可能过滤掉信源发出的数据包,从而接收不到任何回应。
如果没有ICMP数据报返回的错误提示,那么就说明被防火墙或者其他设备过滤了,我们也可以用这个办法来探测是否有防火墙或者其他过滤设备存在。
四、使用防火墙阻挡ICMP攻击
(一)防火墙概述
随着计算机网络技术的发展和因特网的广泛普及,网络安全事故逐年增加,为了确保网络系统安全,人们研究并使用了多种解决方法,使用防火墙是一种行之有效的保护网络安全的措施。
防火墙是一个由软件和硬件设备组合而成,在网络之间实施访问控制的一个系统,通过执行访问控制策略,限制两个网络之间数据的自由流动;通过控制和检测网络之间的信息交换和访问行为实现对网络安全的有效管理。
防火墙通常安装在内部网络连接到外部网络的连接点上,所有来自外部网络的传输信息或从内部网络发出的信息都会穿过防火墙。
(二)选择合适防火墙并合理配置
选择合适的防火墙后,配置安全策略
1.Echo Request和Reply(类型8和0):允许Echo Request 消息出站以便于内部用户能够PING一个远程主机。
阻止入站Echo Request和出站Echo Reply可以防止外部网络的主机对内部网络进行扫描。
2.Destination unreachable (类型3):阻止出站的ICMP Destination unreachable消息,因为它可能会泄漏内部网络的结构。
现在许多防火墙在默认情况下都启用了ICMP过滤的功能,阻止所有类型的ICMP数据包。
如果没有特殊考虑,我们只要简单的启用该规则就可以了。
(三)配置系统自带的默认防火墙以预防攻击
虽然很多防火墙可以对ICMP数据包进行过滤,但对于没有安装防火墙的主机,我们可以使用系统自带的防火墙。
经过设置后,我们
就完成了一个关注所有进入系统的ICMP报文的过滤策略和丢弃所有报文的过滤操作,从而阻挡攻击者使用ICMP报文进行的攻击。