浅谈ARP欺骗原理与防范

时间:2022-07-26 07:37:33

[摘要] 本文介绍了ARP协议的基本原理与工作过程,由于ARP协议自身存在的缺陷,成为木马病毒进行网络欺骗行为之一。本文主要以以太网为例,从ARP协议进行研究,进而深入探讨ARP工作原理及ARP欺骗原理,并提出相应解决思路,希望对大家有所帮助。

[关键词] ARP协议 IP地址 MAC地址 以太网 ARP攻击 ARP欺骗

一、引言

在 Internet上,数据包传输主要看设备的IP地址,但数据包在以太网中传输时,以太网设备并不识别 32位 IP地址:它们是以 48位以太网地址传输以太网数据包的。因此,IP驱动器必须把 IP目的地址转换成以太网网目的地址。在这两种地址之间存在着某种静态的或算法的映射,常常需要查看一张表。地址解析协议(Address Resolution Protocol,ARP)就是用来确定这些映象的协议。

二、ARP协议概述

ARP(地址解析协议)是用来处理从 IP地址到网卡硬件 MAC地址转换的一个协议。ARP工作时,送出一个含有所希望的 IP地址的以太网广播数据包。目的地主机,或另一个代表该主机的系统,以一个含有 IP和以太网地址对的数据包作为应答。发送者将这个地址对高速缓存起来,以节约不必要的 ARP通信。如果有一个不被信任的节点对本地网络具有写访问许可权,那么,也会有某种风险。这样一台机器可以虚假的 ARP报文并将所有通信都转向它自己,然后它就可以扮演某些机器,或者顺便对数据流进行简单的修改。ARP机制常常是自动起作用的。在特别安全的网络上,ARP映射可以用固件,并且具有自动抑制协议达到防止干扰的目的。

三、ARP的工作原理

以太网设备比如网卡都有自己全球唯一的MAC地址,它们是以 MAC地址来传输以太网数据包的,但是它们却识别不了我们 IP包中的 IP地址,所以我们在以太网中进行 IP通信的时候就需要一个协议来建立 IP地址与 MAC地址的对应关系,以使 IP数据包能发到一个确定的地方去,这就是 ARP。

四、ARP欺骗攻击原理

1.ARP协议安全缺陷

在 TCP/IP协议的网络环境下, ARP工作时,送出一个含有所希望的 IP地址的以太网广播数据报。一个 IP数据报走到哪里,要怎么走主要是靠路由表定义。但是,当 IP数据包到达该网络后,哪台机器响应这个 IP包却是靠该 IP包中所包含的硬件MAC地址来识别。也就是说,只有机器的硬件 MAC地址和该IP包中的硬 MAC地址相同的机器才会应答这个 IP包,所以,在每台主机的内存中,都有一个 ARP硬件 MAC地址的转换表。通常是动态的转换表(该 ARP表可以手工添加静态条目)。也就是说,该对应表会被主机在一定的时间间隔后刷新。这个时间间隔就是 ARP高速缓存的超时时间。如果有一个不被信任的节点对本地网络具有写访问许可权,就可以在网络中虚假的 ARP报文并将所有通信都转向它自己。伪造假 IP地址或 MAC地址,或顺便对数据流进行简单的修改,ARP机制也会自动起作用。因为 ARP协议无法识辨真假 IP数据包头,这是当初设计 TCP/IP协议的 ARP协议留下的一个缺陷,使得 ARP协议在使用的过程中存在着盗用 IP地址和 ARP欺骗等严重的安全问题。

2.ARP欺骗原理

假设一个局域网环境中,网内有三台主机,分别是 A、B、C主机位于同一个局域网中,如下描述:

A主机地址为:IP:192.168.12.1 MAC:AA-AA- AA- AA-AA-AA;

B主机地址为:IP:192.168.12.2 MAC:BB-BB- BB- BB-BB-BB;

C主机地址为:IP:192.168.12.3 MAC: CC-CC- CC- CC-CC-CC;

B――>A――>C

B

假如 A和 C之间正在进行通讯,此时 B向 A发送一个自己伪造的 ARP应答,而这个应答中的数据为发送方 IP地址是192.168.12.3 ( C的 IP地址),MAC地址是BB-BB-BB-BB-BB-BB。

当 A接收到 B伪造的 ARP应答,就会更新本地的 ARP缓存,这时 B就伪装成 C了。同时,B同样向 C发送一个 ARP应答,应答包中为发送方 IP地址 192.168.12.1(A的 IP地址),MAC地址是 BB- BB-BB-BB-BB-BB ( A的 MAC地址本来应该是 AA- AA- AA- AA- AA- AA),当 C收到 B伪造的 ARP应答,也会更新本地 ARP缓存,这时 B又伪装成了A。这时主机 A和 C都被主机 B欺骗, A和 C之间通讯的数据都经过了B,主机 B完全劫持目标主机与其它主机的会话。这就是典型的ARP欺骗过程。

五、ARP防范办法

1.不要把你的网络安全信任关系建立在 IP基础上或 MAC基础上,(rarp同样存在欺骗的问题),理想的关系应该建立在 IP+MAC基础上。

2.设置静态的 MAC-->IP对应表,不要让主机刷新你设定好的转换表。

3.除非很有必要,否则停止使用 ARP,将ARP做为永久条目保存在对应表中。

4.使用ARP服务器。通过该服务器查找自己的 ARP转换表来响应其他机器的 ARP广播。确保这台 ARP服务器不被黑。

5.使用“proxy” IP的传输。

6.使用硬件屏蔽主机。设置好你的路由,确保 IP地址能到达合法的路径。(静态配置路由 ARP条目),注意,使用交换集线器和网桥无法阻止 ARP欺骗。

7.管理员定期用响应的 IP包中获得一个rarp请求,然后检查 ARP响应的真实性。

8.管理员定期轮询,检查主机上的 ARP缓存。

9.使用防火墙连续监控网络。注意在使用SNMP的情况下,ARP的欺骗有可能导致陷阱包丢失。

参考文献:

[1]Refdom.交换网络中的嗅探和 ARP欺骗.

[2] ARP协议分析.2006-7-4.

上一篇:高职高专计算机应用技术专业教学改革实践探析 下一篇:网络教学资源建设与共享机制研究