1、知己知彼,百战不殆网络监听和防范技术的研究第 l8 卷第 1 期2004 年 3 月五邑大学(自然科学版)JOURNALOFWUYIUNIVERSITY(NaturalScienceEdition),0l_l8No.1MaL20o4文章编号:1006.7302(2004)01.0067.04知己知彼,百战不殆网络监听和防范技术的研究巫喜红(嘉应学院计算机科学与技术系.广东梅州 514015)摘要:网络监听一直是计算机网络安全的敏感话题, 它既能带来方便也能造成极大的危害.文章在论述网络监听原理的基础上,阐述了它的检测方法及防范措施.关键词:网络监听;数据加密;检测;防范中图分类号:TP309
2、文献标识码:A计算机的普及和互联网的飞速发展,让人们享用了网络带来的诸多方便和快乐,但随之而来的非法入侵也一直威胁着计算机网络系统的安全.网络监听,在网络安全上一直是一个比较敏感的话题,作为一种发展比较成熟的技术,监听在协助网络管理员监测网络传输数据,排除网络故障等方面具有不可替代的作用,因而一直倍受网络管理员的青睐.然而,网络监听也给以太网的安全带来了极大的隐患,我们可以看到黑客通常在入侵网络得手后跟随着后续的以太网,对其进行网络监听,进而造成以太网内口令失窃,敏感数据被截获等连锁性安全事件.为了更好地管理网络,监视网络流动状态和保证数据传输过程中的安全性,保密性,有必要对网络监听的工作原理
3、和网络监听软件原理及其操作方法作深入了解,并在此基础上制定并采取具有针对性的防范措施来阻截黑客的攻击.知己知彼,百战不殆,了解网络监听的原理及其工具,可以有针对性地做好安全防范,以确保网络和数据的安全.1 网络监听原理网络监听 IIJ 工具本来是提供给管理员的一种监视网络状态,数据流动情况以及网络上传输的信息的管理工具.当信息以明文的形式在网络上传输时,将网络接口设置在混杂(Promiscuous)模式,便可以源源不断地截获网上传输的信息.网络监听可以在网上的任何一个位置实施,如局域网中的一台主机,网关上或远程网的调制解调器之间等.网络监听常常被用来获取用户的口令,因为当前网上的数据绝大多数是
4、以明文的形式传输,而且口令通常都很短且容易辨认.一旦口令被截获,就可以非常容易地登上另一台主机.目前嗅探器(Sniffer)就是最常见,也是最重要的技术之一.它可以是硬件产品或软件产品,其拓扑结构如图 l 所示.收稿日期:2003.09.1l作者简介:巫喜红(1975.). 女 ,汉族,广东丰顺人.助教,在读研究生,主要从事软件工程方面的研究五邑大学(自然科学版)2004 矩2 网络监听的检测方法共享总线图 1Sniffer 的拓扑结构网络监听是很难被发现的.运行网络监听的主机只是被动地接收在局域网上传输的信息,并没有主动的行动.即不会与其他主机交换信息,也不能修改在网上传输的信包.这一切决定
5、了网络监听的检测是非常困难的.虽然困难,但下面的现象有助于检测网络是否被监听.1)网络通讯掉包率反常地高.通过一些网络软件,可以看到信息包传送情况(不是Sniffer),像 ping 这样的命令会告诉你掉了百分几的包.如果网络中有人在监听 ,那么信息包传送将无法每次都顺畅地传到目的地(这是由于 Sniffer 拦截每个包导致的).2)网络带宽出现反常.通过某些带宽控制器(通常是防火墙所带),可以实时看到目前网络带宽的分布情况,如果某台计算机长时间地占用了较大的带宽,对外界的响应很慢,这台计算机就有可能被监听.在非高速信道上,如 56kDDN 等,如果网络中存在 Sniffer,应该也可以察觉出
6、网络通讯速度的变化.3)在一个大型网络中,Sniffer 会明显加重计算机负荷,通常一个 Sniffer 的记录文件会很快增大并填满文件空间.这些警告信息往往能够帮助管理员发现 Sniffer.4)一个主机上的 Sniffer 会将网络接口置为混杂模式以接收所有数据包.对于某些UNIX系统可通过监测混杂模式的网络接口来判断是否被监听.因为虽然可以在非混杂模式下运行Sniffer,但这样只能捕获本机会话 ,只有混杂模式下才能捕获以太网中的所有会话 .5)对于怀疑运行监听程序的机器,用正确的 IP 地址和错误的物理地址去 ping,运行监听程序的机器会有响应.这是因为正常的机器不接收错误的物理地址
7、,而处于监听状态的机器能接收,如果他的 IPstack 不再次反向检查的话 ,就会响应.这种方法依赖于系统工程的 IPstack,对一些系统可能行不通.6)往网上发大量不存在的物理地址的包,监听程序因需处理这些包,将导致性能下降,通过比较机器在发包前后性能变化(icmpechodelay)Jl 以判断.这种方法难度比较大.3 网络监听的防范3.1 改进交换机随着成本和价格的大幅度降低,交换机已成为非常有效的使 Sniffer 失效的设备.目前最常见的交换机在第三层(网络层)根据数据包目标地址进行转发,而很少采用集线器的广播方式.从理论上讲,通过交换机设备对网络进行分段后,Sniffer 将无法
8、透过边界来窥探另一边的数据包.但是,这是在边界设备不转发广播包的情况下,一旦人侵者使用 spoofer 诱骗某个边界设备第 l8 卷第 l 期巫喜红:知己知彼,百战小殆网络监听和防范技术的研究 69而将自己的广播包流人不该进入的网段后,原理上还是在一个共享设备端使用了Sniffer,而实际上听到的是边界的另一边.3.2 数据加密数据被加密后,Sniffer 依然可以监视到被加密信息的传送,但显示的是乱码.加密技术的缺点是影响速度和弱加密术比较容易被攻破.几乎所有的加密技术都将导致网络的延迟,加密越复杂,网络速度就越慢.但用户对重要资料必须采取复杂的加密手段.因为如果黑客在网络上运行 Sniff
9、er 并发现所收集到的资料都是乱码 ,那么他就会转移到其他的没有使用加密术的站点上.到目前为止,已经公开发表的各种加密算法多达数百种.如果按照收发双方密钥是否相同来分类,可以将这些加密算法分为常规密码算法和公钥密码算法.在常规密码中,收信方和发信方使用相同的密钥,即加密密钥和解密密钥是相同或等价的.比较着名的常规密码算法有:美国的 DES 及其各种变形,比如TripleDES,GDES,NewDES和 DES 的前身 Lucifer;欧洲的 IDEA;日本的 FEALN,LOKI91,SkipJack,RC4,RC5以及以代换密码和转轮密码为代表的古典密码等.在众多的常规密码中影响最大的是DE
10、S 密码.常规密码的优点是有很强的保密强度,日.能经受住时间的检验和攻击,但其密钥必须通过安全的途径传送.因此,密钥管理成为系统安全的重要因素.在公钥密码中,收信方和发信方使用的密钥互不相同,而日.几乎不可能从加密密钥推导解密密钥.比较着名的公钥密码算法有:RSA,背包密码 ,McEliece 密码,DiffeHellman,Rabin,OngFiatShamir,零知识证明的算法,椭网曲线,EIGamal 算法等.最有影响的公钥密码算法是RSA,它能抵抗到目前为止已知的所有密码攻击.密码技术是网络安全最有效的技术之一.一个加密网络不但可以防止非授权用户的搭线窃听和入网,而日.也是对付恶意软件
11、的有效方法之一.一般的数据加密可以在通信的三个层次来实现:链路加密 ,节点加密和端到端加密.1)链路加密 .对于在两个网络节点间的某一次通信链路,链路加密能为网上传输的数据提供安全保证.对于链路加密(又称在线加密),所有消息在被传输之前进行加密,在每一个节点对接收到的消息进行解密,然后先使用下一个链路的密钥对消息进行加密,再进行传输.在到达目的地之前,一条消息可能要经过许多通信链路的传输.2)节点加密 .尽管节点加密能给网络数据提供较高的安全性,但它在操作方式上与链路加密是类似的:两者均在通信链路上为传输的消息提供安全性 ,都在中间节点先对消息进行解密,然后进行加密.因为要对所有传输的数据进行
12、加密,所以加密过程对用户是透明的.与链路加密不同,节点加密不允许消息在网络节点以明文形式存在,它先把收到的消息进行解密,然后采用另一个不同的密钥进行加密,这一过程在节点上的一个安全模块中进行.3)端到端加密.端到端加密允许数据在从源点到终点的传输过程中始终以密文形式存在.采用端到端加密(又称脱线加密或包加密),消息在被传输及到达终点之前不进行解密,因为消息在整个传输过程中均受到保护,所以即使有节点被损坏也不会使消息泄露.端到端加密系统的价格便宜,并且比链路加密和节点加密更可靠,更容易设计,实现和维护.端到端加密还避免了其它加密系统所同有的同步问题,因为每个报文包均是独立被加密的,所以一个报文包
13、所发生的传输错误不会影响后续的报文包.此外,从用户对安全需求的直觉上讲,端到端加密更自然些.单个用户可能会选用这种加密方法,以免影响网络上的其他用户,此方法只需要源和目的节点是保密的即可.端到端加密系统通常不允许对消息的目的地址进行加密,这是因为每一个消息所经过的节70 五邑大学(自然科学版)2004 年点都要用此地址来确定如何传输消息.由于这种加密方法不能掩盖被传输消息的源点与终点,因此它对防止攻击者分析通信业务是脆弱的.3.3 入侵检测使用诸如 Tripwire 之类的工具,生成文件系统的 MD5“数据指纹“,及时发现被修改的系统文件.3.4 使用 antiSniffer 软件它可以扫描网
14、路(监听网路上每个数据包)并测试一台计算机是否运行在混杂模式.即Antisniffer 发送特定的数据帧到网络中 ,以发现混杂模式下系统的回应 .它可用于三种不同类型的测试:操作系统详细测试,DNS 测试和系统可能潜伏问题测试.3.5ARP 探测网络中的混杂模式节点Sniffer 基本工作原理的核心就是设置网卡模式为混杂模式(Promiscuous),如果能够检测到网络有混杂模式的网卡,那么就可以判断可能存在一个 Sniffer.ARP 协议在深人嗅探中很有作用,同时也可以用于进行嗅探器的侦测.4 结束语网络监听技术既可以用于维护网络和数据的完全,也可以成为黑客人侵系统的工具.无论是攻还是防,首要的就是找出每种攻击的“症结“ 之所在 .只有这样,才能找到行之有效的安全方案.相信随着技术的不断提高,人们对网络监听既能加以利用,也能做到有效防范.参考文献:【1】李霞,陆际光.网络监听的检测与防御【J】.中南民族大学 ,2002,21(1):67.69.【2】http:/