ARP 攻击及防范

地址解析协议(ARP)是网络通信中的核心协议之一,它工作在OSI模型的数据链路层,负责将网络层的IP地址映射为数据链路层的MAC地址。然而,ARP协议的设计存在一些漏洞,使得它容易受到攻击。本文将详细介绍ARP攻击的原理、常见的ARP攻击手段、攻击现象、检测方法以及防范策略。

1. ARP攻击原理

ARP攻击利用了ARP协议的缺陷,通过发送伪造的ARP报文,使得受害者的计算机将攻击者的MAC地址误认为是网关或者目标主机的MAC地址,从而使得所有原本应该发送给目标主机的数据都被转发到攻击者的计算机上。攻击者可以截获两台主机之间的数据包,里面可能包含了敏感信息,如用户名、密码、银行账号等。

2. 常见的ARP攻击手段

  1. ARP Spoofing:攻击者发送伪造的ARP应答,用伪造的IP-MAC地址之间的映射更新目标主机的ARP缓存。
  2. 中间人攻击:攻击者通过ARP欺骗技术,截获两台主机之间的通信数据,根据自己情况过滤或者修改。
  3. 拒绝服务攻击(DoS):攻击者通过发送大量的ARP请求或应答,消耗网络资源,导致网络拥堵或服务瘫痪。
  4. IP地址冲突:攻击者发送更改后的ARP报文,导致系统检测到两个不同的MAC地址对应同一个IP地址,从而提示IP地址冲突。

3. 遭受ARP攻击的现象

  1. 网络频繁掉线或整体掉线。
  2. 网速时快时慢,极其不稳定。
  3. 使用arp -a命令查看的网关MAC地址与真实的网关MAC地址不同。
  4. 使用嗅探软件发现局域网内存在大量ARP应答包。

4. ARP攻击的检测方法

  1. 手动检测方法:使用arp -a命令,查看主机的ARP缓存表状态,检查是否有异常的IP-MAC映射关系。
  2. 主机级检测方法:被动检查系统接收到的ARP请求,主动探测发送ARP请求并验证响应的真实性。
  3. 网络级探测方法:通过对主机进行配置,定期向网管中心报告其ARP缓存,网管中心程序查找两台主机报告信息的不一致以及同一台主机前后报告内容的变化。
  4. 缓存超时检测方法:如果在缓存表项超时时间内,主机收到了相同应答内容的应答包不止一个,则肯定发生了ARP欺骗。

5. ARP攻击的防范措施

  1. 设置静态的ARP缓存:在计算机上使用arp -s命令添加静态ARP缓存记录,避免动态学习导致的ARP欺骗。
  2. 使用ARP防火墙:部署专用ARP防护软件,如Anti-ARP,自动监测与阻止攻击。
  3. 划分虚拟局域网(VLAN)和端口绑定:根据ARP欺骗不会发生跨网段攻击的特点,可以将网络划分为多个网段。
  4. 删除Windows系统中的npptools.dll动态连接库:因为它容易受到ARP欺骗病毒的攻击。
  5. 对数据包进行加密处理:通过加密协议保护传输的数据,防止ARP欺骗攻击者窃取或篡改数据。
  6. 中间件技术:在系统内核中增加一个checker模块,它位于网卡驱动和上层驱动之间,主要负责对流入流出的ARP报文进行监测并进行处理。