1、1ARP 欺骗的原理及防治【摘要】文章介绍了 ARP 协议的含义和工作原理,分析了 ARP 欺骗的原理、网段内和跨网段 ARP 欺骗的实现过程、ARP 欺骗的危害和现象。最后,分别介绍了几种能够有效防御 arp 欺骗攻击的安全防范策略。 【关键词】ARP 欺骗,MAC 地址,ARP 缓存表,绑定,网络安全 1 ARP 协议简介 ARP(Address Resolution Protocol)即地址解析协议,所谓“地址解析”就是主机在发送帧前将目标 IP 地址(即逻辑地址)转换成目标MAC 地址(即物理地址)的过程。ARP 协议的基本功能就是将逻辑地址映射为物理地址。 2 ARP 协议的工作过程
2、 假设一个局域网中有三台电脑组成,该局域网由交换机(Switch)连接,三台电脑分别用 A,S,D 标识,上 Internet 时网关 IP 地址为192.168.0.1,MAC 为 gg-gg-gg-gg-gg-gg。在局域网中,每台安装有TCP/IP 协议的电脑里都有一个 ARP 缓存表,表里的 IP 地址与 MAC 地址是一一对应的。 假设以主机 S 要给主机 D 发送数据,在主机 S 内部,主机 S 要先查询自身的 ARP 缓存表,查看里面是否有 192.168.0.4 这台主机的 MAC 地址,如果有,就将主机 D 的 MAC 地址封装在数据包的外面,直接发送出去即可。如果没有,这时
3、主机 S 要向同一网段局域网内发送一个 ARP 2Request 广播包。全网络的主机都收到该 ARP 广播包了,包括主机 A 和D。主机 A 一看其要查询的 IP 地址不是自己的,就将该数据包丢弃。而主机 D 一看 IP 地址 192.168.0.4 正是自己的,则单独向主机 S 发送一条ARP Reply 封包应答。 3 ARP 欺骗的原理 ARP 协议的基础就是信任局域网内所有的主机和网关,即无论局域网中任何主机,其发送的 ARP 数据包都是正确的。假如有主机假冒其它主机或网关,就很容易实现在以太网上的 ARP 欺骗。如在上述数据发送中,当主机 S 向全网询问“IP 地址为 192.16
4、8.0.4 的主机的 MAC 地址是多少”后,但是当此时,主 A 也作出了 ARP 就应答,由于主机 A 的不停应答,这样,主机 A 就劫持了由主机 S 发送给主机 D 的数据, 这就是 ARP 欺骗的过程。出现 ARP 欺骗时,会造成 IP 地址冲突或局域网内部分主机无法通讯。 假设主机 A 不冒充主机 D,而是冒充网关,那后果会更严重。整个局域网所有主机上网掉线,ARP 欺骗发生了。 4 ARP 欺骗的危害和现象 ARP 欺骗带来的危害主要有以下方面: (1)网络异常。具体表现为:局域网内频繁性区域或整体掉线,局域网内无法通讯、IP 地址冲突等现象。 (2)数据窃取。 具体表现为:个人隐私
5、泄漏(如 MSN 聊天记录、邮件等) 、账号被盗用(如 QQ 账号、银行账号等)网上银行、游戏帐号频繁丢失等。 3(3)数据篡改。 体表现为:使得中毒用户,以及局域网中受到此中毒电脑的欺骗攻击的用户,在上任意网站的时候都会提示存在该病毒。 (4)非法控制。具体表现为:网络速度、网络访问行为受第三者非法控制。 5 ARP 欺骗的防治 5.1 用户端的 ARP 防护措施 (1)在 PC 端,手工将动态 ARP 缓存改为静态 ARP 缓存。主机 A 对应的网关 IP 地址为 192.168.0.1,MAC 为 gg-gg-gg-gg-gg-gg。具体绑定做法是:PC 机上 MS-DOS 运行手工绑定
6、的命令为:arp ?s。ARP ?S 192.168.0.1 gg-gg-gg-gg-gg-gg 手工绑定在计算机关机重开机后就会失效,需要再绑定,可以编辑一个批处理文件 a.bat 放到拖到“windows-开始-程序-启动”中,编辑的内容如下: echo off arp -d arp -s 192.168.0.1 aa-aa-aa-aa-aa-aa 将这个批处理软件。 (2) 安装系统补丁和反病毒软件。 全网所有的主机上都打上 MS06-014 和 MS07-017 这两个补丁,这样可以免疫绝大多数网页木马,防止在浏览网页的时候感染病毒。 5.2 网管交换机端绑定 4(1)ip 和 mac
7、 地址的绑定。所示,此局域网通过 H3C AR18-22S-8 路由器上网,可以在路由器上做如下 IP 地址与 MAC 地址绑定: arp fixed 59.68.227.2 00e0-fc84-3dcd (2)mac 地址与交换机端口的绑定。具体操作如下(以 Quidway S2016-E1 交换机为例): S2016-E1-Ethernet0/1mac-address max-mac-count 0 S2016-E1mac static 001b-b961-df35 int e0/1 vlan 10; 5.3 采用 vlan 技术隔离端口 局域网的网络管理员可根据本单位网络的拓朴结构,具体
8、规划出若干个 vlan,将该端口划一个单独的 vlan 将该用户与其它用户进行物理隔离,以避免对其它用户的影响。当然也可以利用将交换机端口 disable掉来屏蔽该用户对网络造成影响,从而达到安全防范的目的。 6 小结 ARP 欺骗是一种非常专业化的攻击手段。它利用了 ARP 协议的漏洞,给网络安全管理者带来了严峻的考验。在局域网内,可以在 PC 用户端进行配置静态 ARP 缓存表和安装 ARP 防火墙等软件,在边缘接入层交换机上实现 MAC 地址+交换端口+VLAN 绑定,在核心交换机或路由器上进行 IP地址+MAC 地址绑定,多种方案配合使用,全网联动,整体防范,对解决ARP 欺骗有明显的效果,可以最大限度的杜绝 ARP 欺骗攻击的出现。 参考文献: 1 杨屹, ARP 协议实现原理,EB/OL,http:/ 52 局域网络环境下 arp 欺骗攻击及安全防范策略. http:/