首页 理论教育网络监听|安全设备保护网络

网络监听|安全设备保护网络

【摘要】:能实现这个条件的有以下情况:监听方与通信方是位于同一物理网络的,如局域网;监听方与通信方存在路由或接口关系,例如通信双方的同一网关等。对于一个进行网络攻击的黑客来说,能攻破网关、路由器和防火墙的情况极为少见,完全可以由安全管理员安装一些设备,对网络进行监控,或者使用一些专门设备,运行专门的监听软件,并防止任何非法访问。

网络监听原本是网络管理员使用的一类管理工具,管理员可以通过它监视网络的状态、数据的流动,以及网络上传输的信息。但是网络监听工具也是黑客们常用的工具,当信息以明文的形式在网络上传输时,便可以使用网络监听的方式来获得网络上传输的敏感信息。网络监听可以在网上的任何一个位置实施,如局域网中的一台主机、网关上或远程网的调制解调器之间等。

(一)监听原理

所谓“监听”技术,就是在互相通信的两台计算机之间通过技术手段插入一台可以接收并记录通信内容的设备,最终实现对通信双方的数据记录。例如,如图10-2所示,在通信主机A和通信主机B之间,通过技术手段插入一台监听设备,即可实现监听。但大家需要注意的是:一般都要求用做监听途径的设备不能造成通信双方的行为异常或连接中断等,就是说,监听方不能参与通信中任何一方的通信行为,仅仅是“被动”地接收记录通信数据而不能对其进行篡改,一旦监听方违反这个要求,这次行为就不是“监听”,而是“劫持”了。

图10-2 监听技术原理

不同数据线路上传输的信息被监听的可能性如下。

1.以太网

以太网是一个广播型的网络,其工作方式是:将要发送的数据包发送连接在一起的所有主机,包中包含着应该接收数据包主机的正确地址,只有与数据包中目标地址一致的那台主机才能接收。但是,当主机工作在监听模式下,无论数据包中的目标地址是什么,主机都将接收。

2.FDDI、Token-ring

尽管令牌网并不是一个广播型网络,但带有令牌的那些包在传输过程中,平均要经过网络上一半的计算机,高的数据传输率使监听变得比较困难。

3.电话线

电话线可以被一些电话公司协作人或者一些有机会在物理上访问到线路的人搭线窃听。在微波线路上的信息也会被截获,在实际中,高速的调制解调器将比低速的调制解调器搭线窃听困难一些,因为高速调制解调器中引入了许多频率。

4.IP通过有线电视信道

许多已经开发出来的,使用有线电视信道发送IP数据包的系统依靠RF调制解调器。RF使用一个TV通道用于上行和下行。在这些线路上传输的信息没有加密,因此,可以被一些可以从物理上访问到TV电缆的用户截获。

5.微波和无线电

无线电本来就是一个广播型的传输媒介,任何有一个无线电接收机的人都可以截获那些传输的信息。

(二)监听实现条件

实现监听,它要求监听设备的物理传输介质与被监听设备的物理传输介质存在直接联系或者数据包能经过路由选择到达对方,即一个逻辑上的三方连接。

能实现这个条件的有以下情况:

(1)监听方与通信方是位于同一物理网络的,如局域网;

(2)监听方与通信方存在路由或接口关系,例如通信双方的同一网关等。

对于一个进行网络攻击的黑客来说,能攻破网关、路由器和防火墙的情况极为少见,完全可以由安全管理员安装一些设备,对网络进行监控,或者使用一些专门设备,运行专门的监听软件,并防止任何非法访问。对于一台联网的计算机,最方便的是在局域网中进行监听,只需安装一个监听软件,然后就可以坐在机器旁浏览监听到的信息了。

(三)共享式局域网内的监听

1.什么是共享式局域网

所谓的“共享式”局域网,指的是早期采用集线器HUB作为网络连接设备的传统局域网的结构。在这个结构里,所有机器都是共享同一条传输线路的,集线器没有端口的概念,它的数据发送方式是“广播”,集线器接收到相应数据时是单纯地把数据往它所连接的每一台设备线路上发送的。

2.共享式局域网工作过程

共享式局域网协议的工作方式是将要发送的数据包发往连接在一起的所有主机,在包头中包括应该接收数据包的主机的正确地址。在共享式局域网中,填写了物理地址的帧从网络接口也就是从网卡中发送出去,传送到物理的线路上,当发送出去的信号到达集线器,由集线器再发向连接在集线器上的每一条线路,于是,在物理线路传输的数字信号也就到达了连接在集线器上的每一台主机。数字信号到达一台主机的网络接口时,在正常情况下,网络接口读入数据帧,然后进行检查,如果数据帧中携带的物理地址是自己的,或者物理地址是广播地址,将由数据帧交给上层协议软件,也就是IP层软件,也就是说,只有与数据包中目标地址一致的那台主机才能接收数据包,否则就将这个帧丢弃。对于每一个到达网络接口的数据帧,都要进行这个过程。

(1)广播方式(Broadcast):该模式下的网卡能够接收网络中的广播信息。

(2)组播方式(Multicast):设置在该模式下的网卡能够接收组播数据。

(3)直接方式(Unicast):在这种模式下,只有目的网卡才能接收该数据。

(4)混杂模式(Promiscuous):在这种模式下的网卡能够接收一切通过它的数据,而不管该数据是否是传给它的。

在混杂模式里,网卡对报文中的目标MAC地址不加任何检查而全部接收,这样就造成无论什么数据,只要是路过的都会被网卡接收的局面,监听就是从这里开始的。

(四)交换式局域网内的监听

1.什么是交换式局域网

作为与“共享式”相对的“交换式”局域网,它的网络连接设备被换成了交换机。交换机引入了“端口”的概念,它会产生一个地址表用于存放每台与之连接的计算机的MAC地址,从此每个网络接口便作为一个独立的端口存在。

2.交换式局域网工作过程(www.chuimin.cn)

在交换式局域网中,除了声明为广播或组播的报文,交换机在一般情况下是不会让其他报文出现类似共享式局域网那样的广播形式发送行为的,这样即使网卡设置为混杂模式,它也收不到发往其他计算机的数据,因为数据的目标地址会在交换机中被识别,然后有针对性地发往表中对应地址的端口。

3.交换式局域网监听的实现

(1)方法一:MAC洪水

所谓MAC洪水攻击,就是向交换机发送大量含有虚假MAC地址和IP地址的IP包,使交换机无法处理如此多的信息而引起设备工作异常,也就是所谓的“失效”模式,在这个模式里,交换机的处理器已经不能正常分析数据报查询地址表了,然后,交换机就会成为一台普通的集线器,毫无选择地向所有端口发送数据,这个行为被称作“泛洪发送”,这样一来攻击者就能监听到所需数据了。

(2)方法二:ARP欺骗

在局域网寻址方式中,一台主机A如果要向目标主机B发送数据,无论主机B在本网段还是在远程网络,这些需要发出去的数据包中需要4个必不可少的地址,那就是源IP地址、源MAC地址、目标IP地址、目标MAC地址。当主机A在封装数据包时,自然知道自己的IP地址和MAC地址,同时目标IP自己也知道,需要得到B的MAC地址。通过ARP协议,主机A得到主机B的MAC地址,并且把IP地址与MAC地址的对应关系放在缓存表中,以备下一次再使用。但要说明的是,因为考虑到主机B有更换网卡的可能,所以无论何时当主机A再次收到关于主机B的MAC地址更新信息,它都将刷新自己的ARP缓存表,将新收到的MAC地址和主机B的IP地址对应起来,正因为主机A在任何时候收到ARP数据包,都将再次更新ARP缓存,所以导致了ARP欺骗的发生。

(五)监听检测方法

网络监听是很难被发现的。因为运行网络监听的主机只是被动地接收在局域网上传输的信息,并没有主动的行动,也不能修改在网上传输的信息包。当某一危险用户运行网络监听软件时,可以通过ps-ef或ps-aux命令来发现它。能够运行网络监听软件,说明该用户已经具有了超级用户的权限,他可以修改任何系统命令文件,来掩盖自己的行踪。其实修改ps命令只需短短数条Shell命令,就可将监听软件的名字过滤掉。

另外,当系统运行网络监听软件时,系统因为负荷过重,会对外界的响应很慢。但也不能因为一个系统响应过慢而怀疑其正在运行网络监听软件,有以下几种方法可以检测系统是否在运行网络监听软件。

1.方法一

对于怀疑运行监听程序的机器,用正确的IP地址和错误的物理地址去ping,运行监听程序的机器会有响应。这是因为正常的机器不接收错误的物理地址,处于监听状态的机器能接收。如果他的IP stack不再次反向检查的话,就会响应。这种方法依赖于系统的IP stack,对一些系统可能行不通。

假设IP为192.168.8.4的机器上装有ARP欺骗工具和监听工具,ping 192.168.8.4,然后arp-a|find“192.168.8.4”得到它的MAC地址“00-00-0e-40-b4-al”。

修改自己的网卡驱动设置页,改Network Address为“00-00-0e-40-b4-a2”,即去掉分隔符的MAC地址最末位加1。

再次ping 192.168.8.4,正常的话应该不会看到任何回应,因为正常的主机不会回应不与其MAC地址对应的数据包,会将广播来的包丢弃,但监听主机却会回应所有数据包。

如果看到返回,则说明IP地址为192.168.8.4的主机很可能装有监听工具。

2.方法二

向网络发大量不存在的物理地址的包,由于监听程序将处理这些包,会导致性能下降,通过比较前后该机器性能加以判断,这种方法难度比较大。

3.方法三

一个可行的检查监听程序的方法是搜集所有主机上运行的进程,使用UNIX和Windows机器可以很容易地得到当前进程的清单。

4.方法四

搜索监听程序。入侵者很可能使用的是一个免费软件,管理员就可以检查目录,找出监听程序,但这是比较困难而且很费时间的。

(六)局域网内监听的防御

1.从逻辑或物理上对网络分段

网络分段通常被认为是控制网络广播风暴的一种基本手段,但其实也是保证网络安全的一项措施,其目的是将非法用户与敏感的网络资源相互隔离,从而防止可能的非法监听。

2.使用交换网络

由于共享式局域网的局限性(集线器不会选择具体端口),在上面流通的数据基本上是“你有,我也有”的,监听者连ARP信息都不需要更改,自然无法躲过被监听的命运,要解决这个问题,只能先把集线器更换为交换机,杜绝这种毫无隐私的数据传播方式。

3.MAC地址绑定

虽然利用ARP欺骗报文进行的网络监听很难察觉,但它并不是无法防御的,与ARP寻址相对地,在一个相对稳定的局域网里,我们可以使用静态ARP映射,即记录下局域网内所有计算机的网卡MAC地址和对应的IP地址,然后使用“arp-s IP地址MAC地址”进行静态绑定,这样计算机就不会通过ARP广播来找人了,自然不会响应ARP欺骗工具发送的动态ARP应答包(静态地址的优先度大于动态地址)。

4.使用软件防御

例如Anti Arp Sniffer,它可以强行绑定本机与网关的MAC关系,让伪装成网关获取数据的监听机成了摆设,如果监听者仅仅欺骗了某台计算机的情况,这就要使用ARPWatch了,ARPWatch会实时监控局域网中计算机MAC地址和ARP广播报文的变化情况,如果有ARP欺骗程序发送虚假地址报文,必然会造成MAC地址表不符,ARPWatch就会弹出来警告用户了。

5.划分VLAN

此外,对网络进行VLAN划分也是有效的方法,每个VLAN之间都是隔离的,必须通过路由进行数据传输,这个时候MAC地址信息会被丢弃,每台计算机之间都是采用标准TCP/IP进行数据传输的,即使存在监听工具也无法使用虚假的MAC地址进行欺骗了。

6.使用加密技术

数据经过加密后,通过监听仍然可以得到传送的信息,但显示的是乱码。使用加密技术的缺点是影响数据传输速度以及使用一个弱加密比较容易被攻破。系统管理员和用户需要在网络速度和安全性上进行折中。