以太网监听的原理与防范

来源:互联网 发布:overlord知乎 编辑:程序博客网 时间:2024/06/06 03:23

随着计算机网络应用的普及,网络已日益成为生活中不可或缺的工具,但伴之而来的非法入侵也一直威胁着计算机网络系统的安全。由于以太网中采用广播方式,因此,在某个广播域中可以监听到所有的信息包。网络监听是黑客们常用的一种方法。当成功地登录进一台网络上的主机,并取得了这台主机的超级用户的权限之后,往往要扩大战果,尝试登录或者夺取网络中其他主机的控制。而网络监听则是一种最简单而且最有效的方法,他常常能轻易地获得用其他方法很难获得的信息。 在网络上,监听效果最好的地方是在网关、路由器、防火墙一类的设备处,通常由网络管理员来操作。使用最方便的是在一个以太网中的任何一台上网的主机上,这是大多数黑客的做法。 事实上,很多黑客入侵时都把以太网扫描和侦听作为其最基本的步骤和手段,原因是想用这种方法获取其想要的密码等信息。但另一方面,我们对黑客入侵活动和其他网络犯罪进行侦查、取证时,也可以使用网络监听技术来获取必要的信息。因此,了解以太网监听技术的原理、实现方法和防范措施就显得尤为重要。

1网络监听的基本原理
  
以太网可以把相邻的计算机、终端、大容量存储器的外围设备、控制器、显示器以及为连接其他网络而使用的网络连接器等相互连接起来,具有设备共享、信息共享、高速数据通讯等特点。以太网这种工作方式,如同有很多人在一个大房间内,大房间就像是一个共享的信道,里面的每个人好像是一台主机。人们所说的话是信息包,在大房间中到处传播。当我们对其中某个人说话时,所有的人都能听到。正常情况下只有名字相同的那个人才会做出反应,并进行回应。其他人了解谈话的内容,也可对所有谈话内容做出反应。因此,网络监听用来监视网络的状态、数据流动情况以及网络上传输的信息等。当信息以明文的形式在网络上传输时,使用监听技术进行攻击并不是一件难事,只要将网络接口设置成监听模式,便可以源源不断地将网上传输的信息截获。

1.1广播式以太网中的网络监听
  
广播式以太网在逻辑上由一条总线和一群挂在总线上的节点组成。任何一个节点主机发出的数据包都是在共享的以太网传输介质上进行传输的,每个数据包的包头部分都包含了源地址和目的地址。网络上所有节点都通过网络接口(网卡)负责检查每一个数据包,如果发现其目的地址是本机,则接收该数据包并向上层传递,以进行下一步的处理;如果目的地址不是本机,则数据包将被丢弃不作处理。以太网数据包过滤机制分为链路层、网络层和传输层。在链路层,网卡驱动程序判断收到包的目标MAC地址是否是自己的MAC地址;在网络层判断目标IP地址是否为本机所绑定的IP地址;在传输层如TCP层或者UDP层判断目标端口是否在本机已经打开。如果以上判断否定,数据包将被丢弃。

  
在进行网络数据包的“监听”时,首先通过将系统的网络接口设定为“混杂模式”,网络监听程序绕过系统正常工作的处理机制,直接访问网络底层。不论数据包的目的地址是否是本机,都能够截获并传递给上层进行处理(只能监听经过自己网络接口的那些包),通过相应的软件进一步地分析处理,就能够得到数据包的一些基本属性,如包类型、包大小、目的地址、源地址等,可以实时分析这些数据的内容,如用户名、口令以及所感兴趣的内容。
  
同理,正确地使用网络监听技术也可以发现入侵并对入侵者进行追踪定位,在对网络犯罪进行侦查取证时获取有关犯罪行为的重要信息,成为打击网络犯罪的有力手段。
1.2交换式以太网中的监听
  
交换机的工作原理不同于HUB的共享式报文方式,交换机转发的报文是一一对应的,能够隔离冲突域和有效的抑制广播风暴的产生。由此看来,交换环境下再采用传统的共享式以太网下网络监听是不可能了,由于报文是一一对应转发的,普通的网络监听软件此时无法监听到交换环境下其他主机任何有价值的数据。但是,以太网内主机数据包的传送完成不是依IP地址,而是依靠ARP找出IP地址对应的MAC地址实现的。而ARP协议是不可靠和无连接的,通常即使主机没有发出ARP请求,也会接受发给他的ARP回应,并将回应的MAC和IP对应关系放入自己的ARP缓存中。因此利用ARP协议,交换机的安全性也面临着严峻的考验。
1.2.1交换机缓冲区溢出攻击
  
交换机大多使用存贮转发技术,工作时维护着一张MAC地址与端口的映射表,这个表中记录着交换机每个端口绑定的MAC地址。他的工作原理是对某一段数据包进行分析判别寻址,并进行转发,在发出前均存贮在交换机的缓冲区内。但是,交换机缓冲区是有限的。如用大量无效IP包,包含错误MAC地址的数据帧对交换机进行攻击。该交换机将接收到大量的不符合分装原则的包,造成交换机处理器工作繁忙,从而导致数据包来不及转发,进而导致缓冲区溢出产生丢包现象。这时交换机就会退回到HUB的广播方式,向所有的端口发送数据包。这样,监听就变得非常容易了。
1.2.2ARP协议和欺骗
  
在以太网中传输的数据包是以太包,而以太包的寻址是依据其首部的物理地址(MAC地址)。仅仅知道某主机的逻辑地址(IP地址)并不能让内核发送一帧数据给此主机,内核必须知道目的主机的物理地址才能发送数据。ARP协议的作用就是在于把逻辑地址变换成物理地址,也既是把32 b的IP地址变换成48 b的以太地址。每一个主机都有一个ARP高速缓存,此缓存中记录了最近一段时间内其他IP地址与其MAC地址的对应关系。如果本机想与某台主机通信,则首先在ARP高速缓存中查找此台主机的IP和MAC信息,如果存在,则直接利用此MAC地址构造以太包;如果不存在,则向本网络上每一个主机广播一个ARP请求包。其意义是“如果你有此IP地址,请告诉我你的MAC地址”,目的主机收到此请求包后,发送一个ARP响应包,本机收到此响应包后,把相关信息记录在ARP高速缓存中。可以看出,ARP协议是有缺点的,第三方主机可以构造一个ARP欺骗包,而源主机却无法分辨真假。
  
假定A为进行监听的主机,B为被监听的主机,C为其他网络主机。当A收到B向C发出的ARP请求包后,向B回应一个ARP应答。向C主动发送一个应答,修改C缓存中的关于B的IPMAC映射。当A收到C向B发出的ARP请求时,向B主动发送一个应答,修改B缓存中的关于C的 IPMAC映射。这样,构造了ARP欺骗包(欺骗B对C的连接)。事实上,A成了B的代理可以全部捕获到B和C的相关数据。

2网络监听的检测及防范
  
网络监听是很难被发现的,因为运行网络监听的主机只是被动地接收在局域网上传输的信息,不主动与其他主机交换信息,也没有修改在网上传输的数据包。
2.1网络监听的检测
  
(1)对于怀疑运行监听程序的机器,向局域网内的主机发送非广播方式的ARP包(错误的物理地址),如果局域网内的某个主机响应了这个ARP请求,我们就可以判断该机器处于杂乱模式。而正常的机器不处于杂乱模式,对于错误的物理地址不会得到响应。
  
2)网络和主机响应时间测试。向网上发大量不存在的物理地址的包,处于混杂模式下的机器则缺乏此类底层的过滤,由于监听程序要分析和处理大量的数据包会占用很多的CPU资源,骤然增加的网络通讯流量会对该机器造成较明显的影响,这将导致性能下降。通过比较前后该机器性能加以判断是否存在网络监听。
  
3)使用反监听工具如antisniffer等进行检测。
2.2网络监听的防范
2.2.1网络分段
  
网络分段通常被认为是控制网络广播风暴的一种基本手段,但其实也是防范网络监听的一项重要措施。将网络划分为不同的网段,其目的是将非法用户与敏感的网络资源相互隔离,从而防止可能的非法监听。

2.2.2以交换式集线器代替共享式集线器
  
对局域网的中心交换机进行网络分段后,局域网监听的危险仍然存在。这是因为网络最终用户的接入往往是通过分支集线器而不是中心交换机,而使用最广泛的分支集线器通常是共享式集线器。这样,当用户与主机进行数据通信时,两台机器之间的数据包(单播包)还是会被同一台集线器上的其他用户监听。因此,应该以交换式集线器代替共享式集线器,使 单播包仅在两个节点之间传送,从而防止非法监听。
2.2.3使用加密技术
  
数据经过加密后,通过监听仍然可以得到传送的信息,但显示的是乱码。使用加密技术的 缺点是影响数据传输速度以及使用一个弱加密术比较容易被攻破。

2.2.4划分VLAN
  
运用VLAN(虚拟局域网)技术,将以太网通信变为点到点通信,VLAN子网隔离了广播风暴 ,可以防止大部分基于网络监听的侵入,对一些重要部门实施了安全保护。且当某一部门物 理位置发生变化时,只需对交换机进行设置,就可以实现网络的重组,非常方便、快捷,同 时节约了成本。为保证不同职能部门管理的方便性和安全性以及整个网络运行的稳定性,可 采用VLAN技术进行虚拟网络划分。

3结语
  
网络监听技术在信息安全领域中显得非常重要,他又是一把双刃剑,总是扮演着正反两方 面的角色。对于网络管理员来说,网络监听技术可以用来分析网络性能,检查网络是否被入 侵发挥着重要的作用;对于入侵者来说,网络监听技术可以很容易地获得明文传输的密码和 各种机密数据。为了保护网络信息的安全,必须采用网络监听技术进行反跟踪,时刻探明现 有网络的安全现状,掌握先机,才能保证网络的信息安全。