ARP欺骗的防御策略

2022-09-11

近期一些局域网中的计算机网出现突然掉线, I P地址冲突、频繁断网、I E浏览器频繁出错以及系统内一些常用软件出现故障等问题。这些想象主要都是由于受到的了A R P攻击所引起的!我们知道, 当我们在浏览器里面输入网址时, D N S服务器会自动把它解析为I P地址, 浏览器实际上查找的是IP地址而不是网址。那么IP地址是如何转换为第二层物理地址 (即M A C地址) 的呢?在局域网中, 这是通过A R P协议来完成的。A R P协议对网络安全具有重要的意义。通过伪造IP地址和MAC地址实现A R P欺骗, 能够在网络中产生大量的A R P通信量使网络阻塞。所以网管们应深入理解A R P协议。隐患险于明火, 防范重于泰山——做好预防A R P攻击的工作才最为重要。

1 什么是ARP协议及其工作原理

ARP协议是“Address Resolution Protocol” (地址解析协议) 的缩写。在局域网中, 网络中实际传输的是“帧”, 帧里面是有目标主机的MAC地址的。在以太网中, 一个主机要和另一个主机进行直接通信, 必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标I P地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址, 查询目标设备的MAC地址, 以保证通信的顺利进行。

首先, 每台主机都会在自己的A R P缓冲区中建立一个A R P列表, 以表示I P地址和M A C地址的对应关系。当源主机需要将一个数据包要发送到目的主机时, 会首先检查自己ARP列表中是否存在该IP地址对应的M A C地址, 如果有, 就直接将数据包发送到这个M A C地址;如果没有, 就向本地网段发起一个A R P请求的广播包, 查询此目的主机对应的MAC地址。此ARP请求数据包里包括源主机的I P地址、硬件地址、以及目的主机的I P地址。网络中所有的主机收到这个A R P请求后, 会检查数据包中的目的I P是否和自己的I P地址一致。如果不相同就忽略此数据包;如果相同, 该主机首先将发送端的MAC地址和I P地址添加到自己的A R P列表中, 如果A R P表中已经存在该I P的信息, 则将其覆盖, 然后给源主机发送一个A R P响应数据包, 告诉对方自己是它需要查找的M A C地址;源主机收到这个A R P响应数据包后, 将得到的目的主机的I P地址和M A C地址添加到自己的ARP列表中, 并利用此信息开始数据的传输。如果源主机一直没有收到A R P响应数据包, 表示A R P查询失败。

例如:

A的地址为:IP:192.168.10.1 MAC:AA-BB-CC-DD-EE-FF

B的地址为:IP:192.168.10.2 MAC:00-AA-BB-CC-DD-EE

根据上面的所讲的原理, 我们简单说明这个过程:A要和B通讯, A就需要知道B的以太网地址, 于是A发送一个A R P请求广播 (谁是1 9 2.1 6 8.1 0.2, 请告诉1 9 2.1 6 8.1 0.1) , 当B收到该广播, 就检查自己, 结果发现和自己的一致, 然后就向A发送一个ARP单播应答 (192.168.10.2在00-AA-BB-CC-DD-EE) 。

2 ARP欺骗过程

从A R P协议的工作原理中我们可以看出, A R P协议设计的前提是运行在彼此相互信任的网络环境下, 那么就很容易实现在以太网上的A R P欺骗。假如对源主机进行欺骗, 当源主机在其A R P缓存中无法找到目标主机的M A C地址, 就在局域网中发一个广播报文进行询问。此时, 假如把目标主机的M A C地址欺骗为一个非目标主机的M A C地址, 那么源主机发送到目标主机上的数据包就都发送到A R P欺骗主机上了。这种欺骗的最终结果就是导致源主机和目标主机之间不能正常进行通讯, 如果欺骗行为表现为对网关M A C地址的欺骗, 就会导致整个网段全部或部分主机断网。

3 ARP的防御策略

3.1 静态绑定

最常用的方法就是做I P和M A C静态绑定, 在网内把主机和网关都做I P和M A C绑定。欺骗是通过A R P的动态实时的规则欺骗内网机器, 所以我们把A R P全部设置为静态可以解决对内网P C的欺骗, 同时在网关也要进行IP和MAC的静态绑定, 这样双向绑定才比较保险。

方法:对每台主机进行I P和MAC地址静态绑定。

通过命令, arp-s可以实现“arp–s IP MAC地址”。

例如:“arp–s192.168.10.1 AA-BB-CC-DD-EE-FF”。

如果设置成功会在P C上面通过执行arp-a可以看到相关的提示:Internet Address Physical Address Type

192.168.10.1AA-BB-CC-DD-EE-FF static (静态)

一般不绑定, 在动态的情况下:

Internet AddressPhysical AddressType

192.168.10.1 AA-BB-CC-DD-EE-FF dynamic (动态)

说明:对于网络中有很多主机, 1 0 0台1 0 0 0台……, 如果我们这样每一台都去做静态绑定, 工作量是非常大的……, 这种静态绑定, 在电脑每次重起后, 都必须重新在绑定, 虽然也可以做一个批处理文件, 但是还是比较麻烦的!

3.2 使用ARP防护软件

目前关于A R P类的防护软件出的比较多了, 大家使用比较常用的A R P工具主要是360ARP防火墙, Antiarp等。它们除了本身来检测出A R P攻击外, 防护的工作原理是一定频率向网络广播正确的A R P信息。通过在系统内核层拦截A R P攻击数据包, 确保网关正确的M A C地址不被篡改, 可以保障数据流向正确, 不经过第三者, 从而保证通讯数据安全、保证网络畅通、保证通讯数据不受第三者控制, 完美的解决局域网内A R P攻击问题。

3.3 具有A R P防护功能的路由器

这类路由器以前听说的很少, 对于这类路由器中提到的A R P防护功能, 其实它的原理就是定期的发送自己正确的A R P信息。但是路由器的这种功能对于真正意义上的攻击, 是不能解决的。

A R P的最常见的特征就是掉线, 一般情况下不需要处理一定时间内可以回复正常上网, 因为A R P欺骗是有老化时间的, 过了老化时间就会自动的回复正常。现在大多数路由器都会在很短时间内不停广播自己的正确A R P信息, 使受骗的主机回复正常。但是如果出现攻击性A R P欺骗 (其实就是时间很短的量很大的欺骗A R P, 1秒有个几百上千的) , 它是不断的发起A R P欺骗包来阻止内网机器上网, 即使路由器不断广播正确的包也会被他大量的错误信息给淹没。

可能你会有疑问:我们也可以发送比欺骗者更多更快正确的A R P信息啊?如果攻击者每秒发送1000个ARP欺骗包, 那我们就每秒发送1 5 0 0个正确的A R P信息!

面对上面的疑问, 我们仔细想想, 如果网络拓扑很大, 网络中接了很多网络设备和主机, 大量的设备都去处理这些广播信息, 那网络使用起来好不爽, 再说了会影响到我们工作和学习。A R P广播会造成网络资源的浪费和占用。如果该网络出了问题, 我们抓包分析, 数据包中也会出现很多这类A R P广播包, 对分析也会造成一定的影响。

4 结语

A R P协议的安全漏洞来源于协议自身设计上的不足。A R P协议被设计成一种可信任协议, 缺乏合法性验证手段而且A R P病毒在短时间内不易被查觉。然而各防范措施都有其局限性, 不能非常好地解决问题, 所以给网络用户数据保密带来了一定的安全隐患, 最好的解决办法当然是修改ARP的协议算法和机制, 把Ipv4中ARP协议的无状态性。无需认证性调整为请求后才应答, 同时验证I P/MAC的有效性和可靠性, 在Ipv6设计了邻机发现协议 (NDP1, 把ARP纳入NDP并运行于Intemet控制报文协议 (I C M P) , 使A R P更具有一般性, 包括更多的内容。基本解决了A R P的问题。

摘要:介绍了ARP协议, 描述了ARP欺骗过程, 探讨了ARP的防御策略。

关键词:ARP欺骗,ARP防御,网络安全

参考文献

[1] 刘涛, 陈宝国.ARP漏洞分析及防范, 现代计算机[J].2008 (6) :137~138.

[2] 黄迎久, 徐扬.基于以太网的ARP欺骗原理与防范措施[J].中国西部科技, 2008, 10:34~35.

[3] 王峰.如何制定网络安全策略.电脑知识与技术[J].2007, 4:64~65, 73.

上一篇:高校大学生思想政治教育针对性方法探究下一篇:改进高中英语词汇教学的对策