ARP欺骗防御

2024-05-27

ARP欺骗防御(精选十篇)

ARP欺骗防御 篇1

关键词:ARP欺骗,原理,中毒现象,防御

随着网络技术日新月异的飞速发展,以太网技术由于标准化程度高、应用广泛、带宽提供能力强、扩展性良好、技术成熟,设备性价比高,对IP的良好支持,成为城域网和接入网的发展趋势。但是,以太网技术的开放性和其应用的广泛性,也带来了一些安全上的问题。2007年6月上旬,国家计算机病毒应急处理中心通报一种新型“地址解析协议欺骗”(简称:ARP欺骗)的恶意木马程序正在互联网络中传播。从此,ARP(Address Resolution Protocol)欺骗逐渐在小区网、校园网、企业网及网吧等局域网中蔓延,严重影响了正常网络通讯。因而如何有效防范ARP欺骗,避免受其影响,已成网络安全工作的重中之重。

一、ARP欺骗的原理及中毒现象

1. ARP欺骗的原理

ARP欺骗攻击主要是存在于局域网网络中,局域网中若有一个人感染ARP病毒,则感染该ARP病毒的系统将会试图通过“ARP欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。

在局域网中,我们的通信一般都是通过ARP协议来完成IP地址到第二层物理地址(即MAC地址)的第二层转换。ARP协议对网络安全具有重要的意义。ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或“中间人”攻击。

ARP病毒是一种木马程序,其本质就是通过伪造IP地址和MAC地址实现欺骗,在网络中产生大量的ARP通信量使网络阻塞,或使信息流向实际并不存在的看似合法的“IP地址和MAC地址”主机,致使真实地接收方收不到信息。

2. 中毒现象

局域网出现突然掉线,过一段时间后又会恢复正常的现象;计算机系统也会受到影响,出现IP地址冲突,频繁断网、IE浏览器频繁出错,以及一些系统内常用软件出现故障等现象;严重时会导致整个局域网瘫痪。ARP欺骗病毒只需成功感染一台电脑,就可能导致整个局域网都无法上网,严重的甚至可能引起整个网络瘫痪。该病毒发作时除了会导致同一局域网内的其他用户上网出现时断时续的现象外,还会窃取用户密码。

二、ARP欺骗的主要方式及防御技术

1. ARP欺骗的主要方式

ARP欺骗性攻击常见有以下几种。

(1)“中间人”攻击,即冒充计算机欺骗计算机,达到信息截取或传播恶意程序目的。攻击源会以正常身份伪造虚假的ARP应答,欺骗其它计算机,结果其它计算机发给被冒充计算机的数据全部被攻击源截取。如果冒充计算机启动IP转发功能,将很容易获取发往被冒充计算机的数据而不被发现或传播恶意数据。

正常的传输方式:Host A—正常数据—Host B;“中间人”攻击传输方式:Host A—正常数据—Host C—修改好的数据(带有恶意的)—Host B。

(2)ARP报文泛洪攻击。攻击源伪造出大量的ARP报文(内含MAC和IP地址),对局域网内广播,造成设备的ARP表项溢出,影响正常用户的转发,干扰正常通信。

(3)冒充网关欺骗局域网内计算机。通过建立假网关,让被它欺骗的计算机向假网关发数据,而不能通过正常的路由途径上网。从用户的角度看来,就是上不了网或网络掉线了。

(4)冒充计算机欺骗网关。这个与“中间人”攻击类似,感染ARP病毒的计算机通知网关一系列错误的内网MAC地址,并按照一定的频率不断进行,致使真实的地址信息无法通过更新保存在网关ARP表中,结果网关发给正常计算机的数据被欺骗计算机拦截或发送给并不存在的错误的MAC地址,造成正常计算机无法收到信息。

2. 常用ARP欺骗的防御技术

(1)静态绑定。最常用的方法就是将IP和MAC作静态绑定,此方法适用于较小型网络。欺骗是通过ARP的动态实时的规则欺骗内网机器,所以我们把ARP全部设置为静态可以解决对内网计算机的欺骗。同时在网关也要进行IP和MAC的静态绑定,这样双向绑定才比较保险。

首先,在每台计算机上绑定网关IP和MAC。打开命令提示符窗口,输入命令:ARP-d,清除本地ARP缓存表,然后输入命令ARP-s网关IP网关MAC;也可将上述命令做成批处理放在启动项内,省去每次开机都要输入的麻烦。

其次,在交换机或路由器上,为每个网内IP对应的MAC地址进行静态绑定。对于内网IP是自动获取的方式,可以通过DHCP服务器进行设置IP与MAC的对应关系。

(2)安装ARP防护软件和杀毒软件。目前关于ARP类的软防火墙产品比较多,比较常用的有360安全卫士、彩影ARP防火墙、欣向巡路ARP工具和金山ARP防火墙等。常用的杀毒软件也比较多,国内品牌有瑞星、江民、金山毒霸等;国外品牌有卡巴斯基、Macfee等,但就目前使用效果而言,还没一款杀毒软件能真正查杀ARP病毒。

(3)使用具有ARP防护功能的路由设备。对于ARP病毒攻击,我们主要是通过在路由器与PC终端机进行双向绑定IP地址与MAC地址,这样即使出现ARP欺骗攻击,也不会使ARP表混乱,从而达到相应的防御目标。但是在路由器端与计算机端对IP地址与MAC地址的绑定比较复杂,需要查找每台计算机的IP地址与MAC地址,其工作量非常大,操作过程中出也容易出现问题。因而,就有了第3种防御方法,这样不但减小了工作量,而且可以有效地拒绝ARP对网关的欺骗,防止ARP病毒的攻击。

随着计算机技术的发展,ARP欺骗也在不断地发展和变化中,网络的安全需要广大网络用户和管理员共同努力,密切配合,提高警惕性,加强网络安全意识和责任感,从而减少ARP欺骗对网络的影响。

参考文献

[1]http://www.antivirus-china.org.cn/head/yubao/yubao_227.htm.

[2]华为技术有限公司.ARP专题学习指导.2-7.

[3]王坚,梁海军.ARP欺骗原理及其防范策略的探讨[J].计算机与现代化,2008,(2):100.

ARP欺骗防御 篇2

网关 : IP = IP-1,  MAC = 11:11:11:11:11:11

本机 : IP = IP-2,  MAC = 22:22:22:22:22:22

主机A: IP = IP-A,  MAC = AA:AA:AA:AA:AA:AA

主机B: IP = IP-B,  MAC = BB:BB:BB:BB:BB:BB

主机C: IP = IP-C,  MAC = CC:CC:CC:CC:CC:CC

子网内的任意两台主机(网关也可看作一台主机)要正常通讯,需要互相知道对方的网卡地址MAC,如果一方不知道对方的MAC,就要进行ARP查询。

ARP 查询过程

在一个正常的子网内,一次完整的 ARP 查询需要一次查询广播和一次点对点的应答。查询广播中包含了要查询主机的IP,此广播可以被子网内的每一台主机的网卡收到,网卡会检查要查询的IP是否与自己的IP相等,不等则直接丢弃,相等则将此数据包提交给系统内核(一个中断),内核调用网卡驱动解析收到的数据包,然后构建一个应答数据包回送到查询的主机,查询主机收到应答后更新自己的ARP缓存表。

对应 LnS 的设置,此通讯过程需要两条规则,以本机查询主机B的MAC为例

① 22:22:22:22:22:22 => FF:FF:FF:FF:FF:FF   (允许本机广播出站)

② 22:22:22:22:22:22 <= BB:BB:BB:BB:BB:BB   (允许主机B应答本机入站)

规则说明方式:=> 表示传出,<= 表示传入,== 表示双向。

注意按此设置 LnS 规则时,有方向规定的始终要将源放在左边,目标放在右边,对方向为双向的始终将本机放在左边,远端放在右边。

只要将此查询过程中的任何一步掐断,则该查询过程就会失败。比如有人找你公司的讨债,总经理秘书可以想各种理由使债主见不到总经理,即使见到了,总经理也可以找财务不在或目前实在没钱为由不付钱,讨债就失败了。这两个方法就好比拦截广播和拦截应答。

子网内的两台主机要能够完整的通讯(双方都可收发数据)必须互知对方的MAC地址,比如本机要跟主机B完整通讯,还必须让主机B也能查询到自己的 MAC。

① 22:22:22:22:22:22 => FF:FF:FF:FF:FF:FF   (允许本机广播出站)

② 22:22:22:22:22:22 <= BB:BB:BB:BB:BB:BB   (允许主机B应答本机入站)

③ FF:FF:FF:FF:FF:FF <= BB:BB:BB:BB:BB:BB   (允许主机B广播入站)

④ 22:22:22:22:22:22 => BB:BB:BB:BB:BB:BB   (允许本机应答主机B出站)

显然规则②④在LnS中是可以合并的,则两台机器完整通讯只须 3 条规则:

① 22:22:22:22:22:22 => FF:FF:FF:FF:FF:FF   (允许本机广播出站)

② FF:FF:FF:FF:FF:FF <= BB:BB:BB:BB:BB:BB   (允许主机B广播入站)

③ 22:22:22:22:22:22 == BB:BB:BB:BB:BB:BB   (允许本机与主机B相互应答)

简单的 ARP 欺骗

前面说了,一次查询过程需要一次广播和一次应答,但 ARP 协议中并不要求广播与应答成对出现,也就是可以没有广播,任何一台主机都可以主动发送应答数据包,如果目标主机没有使用静态MAC,则只要收到应答广播就会更新自己的ARP缓存表。因此,我们可以人为的构建一个错误的应答数据包让目标主机更新自己的ARP缓存。

比如从本机控制,不让主机A与主机B通讯:

本机向主机A发送应答数据包,告诉它 IP-B 的 MAC 是 XX:XX:XX:XX:XX:XX

本机向主机B发送应答数据包,告诉它 IP-A 的 MAC 是 YY:YY:YY:YY:YY:YY

此时主机A和主机B的 ARP 缓存中关于对方的MAC都错误的,他们互发数据时就会发到一个错误或都根本不存在(取决于伪造的MAC)的网卡,A、B 间的通讯自然失败。(其实只要其中一台的ARP缓存错误,A、B 间的通讯就会表现不正常)

想想,如果伪造的应答数据包是告诉主机B:IP-1 的 MAC 是 ZZ:ZZ:ZZ:ZZ:ZZ:ZZ 会怎么样?则主机B与网关通讯会不正常,就会表现为断网。如果同时对网关欺骗,告诉它主机B的MAC为一个错误值,且这种欺骗一直持续,则主机B无法上网了。

大家常说的网络执法官就是利用ARP欺骗来踢人的。执法官运行时首先会大量发送广播,获得所有主机的MAC地址,然后,想欺骗谁,就向谁发送伪造的应答数据包。

当然,ARP欺骗决不仅止于此,比如还可以使目标主机断线后将自己的MAC伪造成被欺骗主机的MAC达到特殊目的,或者同时欺骗网关与目标主机,但是用自己的MAC代替伪造应答数据包中的随机MAC并开启本机的数据转发功能,插入到网关与目标主机通讯中充当代理,达到监听目标主机的目的。但本文的目是要说明LnS中的ARP规则如何设置,ARP欺骗不是重点。

ARP 防范

说到这样,大家肯定已经发现一个问题:欺骗者必须能与被欺骗者通讯,以便发送伪造的应答数据包,否则欺骗过程就不能完成。基于这点,我们可以从几个地方来防止 ARP 欺骗:

一、不让非信任的主机查询自己的MAC,欺骗者不能与本机通讯,自然无从欺骗了

可以拦截它的查询广播(要钱的一律不许进门)

可以拦截本机对它的应答(都来要吧,我就一句话,没钱,死猪不怕开水烫)

二、使用静态MAC,拒绝更新ARP缓存,

即使有仿造应答到达本机,但本机不使用该包更新自己的ARP缓存,欺骗失败。

LnS 设置

LnS 可以拦截所有的 ARP 数据包(默认规则中的倒数第二条,将它禁用或拦截),这样安全倒是安全了,但我们的机器也就成孤儿了,不能与任何人通讯了。所以必须对信任的主机设置放行规则,而网关就是必须放行了,否则外网也不能上了。

对于我们假设的子网环境,设置如下:

① 22:22:22:22:22:22 => FF:FF:FF:FF:FF:FF   (允许本机广播出站)

② FF:FF:FF:FF:FF:FF <= 11:11:11:11:11:11   (允许网关广播入站)

③ 22:22:22:22:22:22 == 11:11:11:11:11:11   (允许本机与网关相互应答)

(三条规则的图解见后面的附件)

需要局域网共享,则对每台要共享的主机增加如②③的两条规则,将网关的MAC改为信任主机的MAC。

有点麻烦,每台主机需要加两条规则,而防火墙的规则是越少越好,且 LnS 的规则数很容易达到上限,所我们对设置稍微进行一下妥协:对入站的所有广播放行,不要对每台信任的主机添加规则。有人会觉得这样不安全,因为任何非信任的主机都可以向本机发送查询广播,实际上不必担心,因为没有相应的放行应答出站的规则。(你要就要吧,我就不给你钱,你能咋地?)

优化后的规则如下:

① 22:22:22:22:22:22 => FF:FF:FF:FF:FF:FF   (允许本机广播出站)

② FF:FF:FF:FF:FF:FF <= 全部                (允许所有查询广播入站)

③ 22:22:22:22:22:22 == 11:11:11:11:11:11   (允许本机与网关相互应答)

④ 22:22:22:22:22:22 == 信任主机1

⑤ 22:22:22:22:22:22 == 信任主机2

……

※ 最后,将倒数第二条规则改为拦截(第二列红杠)或禁用(取消前面的勾)。

不必担心禁用,最后一条规则会拦截所有未匹配的数据包(前提是没有修改该规则)

LnS 过滤方式

论坛出现了几种ARP设置方式,其实从原理上说,要实现的目的是相同的,拦截该拦截的,放行该放行的。但其中有某方法是错误的,有些看起来不一样,实际上与Z老大的置方法是相同的。

防火墙可以用黑名单过滤方式(禁止非信任的,其它允许),也可以用白名单过滤方式(允许信任的,其它禁止),也可以混合运用。过滤目标的选择方式又分直接选择和补集选择。

我上面的规则说明使用的是白名单方式,也就是上面列出的规则是要放行的,然后需要一条拦截所有的规则(就是倒数第二第规则,拦截或取消)。

是黑名单方式好还是白名单方式好呢?普遍性的原则应该是优先选择目标少的。假如有10种数据包要过滤(将数据包用1到10编号),1、3 号是应该放行的,其它是应该过滤的。

则们可以选择白名单方式:

放行1(白名单)

放行3(白名单)

拦截所有

也可以选择黑名单方式:

拦截2(黑名单)

拦截4(黑名单)

拦截5(黑名单)

…… (黑名单)

拦截10(黑名单)

允许所有

对比之下当然应该选择白名单方式。

变种一:

允许1或3 (白名单的一种选择方式)

拦截所有

变种二:

拦截 非1且非3 (黑名单的一种选择方式)

允许所有

注意两个变种方式,它的选择目标用到了组合,如果防火墙能实现这种规则,当然效果是一样的,但 LnS 的 Arp 规则中只能填入一条 MAC 地址。特别变种二方式,相加的组合是不能拆分成多条规则达到相同的拦截目的的。

变种二就是那个禁止非本机到非网关的双向规则,倒数第二条改成允许的方法。此方法等效于前面“LnS 设置”部分针对网关的三条规则中的最后一条,其它的都被拦截了。应该说这是一种错误的方法,该方法仅允许本机与网关的应答数据包通过,倒数第二条规则只能匹配本机与网关间的应答。但光有应答不行,还得允许广播,才进正常进行ARP查询。

那么为什么使用变种二方法的网友实际中“可行”了?说可行是因为过滤太严格,能防止绝大数大ARP欺骗,加引号是因为可行是暂时的,连续的长时间测试,很可能会断网的。

这跟具体的网络环境有关系,可能的原因比较多。一种可能的原因是LnS有BUG,过滤起作用在本机与网关建立连接之后,或者使用了静态MAC、指定IP避免DHCP租约失效之类,具体的我也分析不清楚。但从原理上说,这方法是错误的。

安全是相对的

防止ARP欺骗最好的办法在网关和各子机上均采用静态MAC绑定。防火墙只能增加安全系数,不能保证绝对完全,一是因为防火墙可能有BUG或者功能本身不完善又或者设置不善,二是现实中的妥协可能存在漏洞。比如本机为了上网信任了网关,同时为了共享信任了主机B,但主机B是没有任何安全防护,攻击者可以从主机B下手,迫使主机B当机后将自己伪造主机B的IP与MAC,获得与本机通讯的能力后再用其它办法攻击,更严重的情况是如果网关本身不安全,那么在本机上如何防护都不能取得较好的效果。

Look n Stop 使用指南

浅议arp欺骗攻击 篇3

关键词:arp 欺骗 攻击

中图分类号:TP393.04文献标识码:A 文章编号:1006-8937(2009)03-0073-02

最近一段时间,很多校园局域网内的主机出现频繁断网的现象,引起这种现象的主要原因是局域网内部存在ARP 欺骗攻击。以下笔者就针对这种攻击的原理和防范方法进行了简单介绍。

1 ARP 协议的定义

要想了解ARP 欺骗攻击的原理,首先就要了解什么是ARP 协议,ARP(Address Resolution Protocol)是地址解析协议,是一种将IP地址转化成物理地址的协议。从IP地址到物理地址的映射有两种方式:表格方式和非表格方式。ARP具体说来就是将网络层(IP层,也就是相当于OSI的第三层)地址解析为数据连接层(MAC层,也就是相当于OSI的第二层)的MAC地址。

我们知道,二层的以太网交换设备并不能识别32位的IP地址,它们是以48位以太网地址(就是我们常说的MAC地址)传输以太网数据包的。因此IP地址与MAC地址之间就必须存在一种对应关系,而ARP协议就是用来确定这种对应关系的协议。

ARP工作时,首先请求主机发送出一个含有所希望到达的IP地址的以太网广播数据包,然后目标IP的所有者会以一个含有IP和MAC地址对的数据包应答请求主机。这样请求主机就能获得要到达的IP地址对应的MAC地址,同时请求主机会将这个地址对放入自己的ARP表缓存起来,以节约不必要的ARP通信。ARP缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用(Windows系统这个时间为2分钟,而Cisco路由器的这个时间为5分钟),就会被删除。通过下面的例子我们可以很清楚地看出ARP的工作机制。

假定有如下五个IP地址的主机或者网络设备,它们分别是:

假如主机A要与主机B通信,它首先会检查自己的ARP缓存中是否有192.168.1.3 这个地址对应的MAC地址,如果没有

它就会向局域网的广播地址发送ARP 请求包,大致的意思是192.168.1.3的MAC地址是什么请告诉192.168.1.2,而广播地址会把这个请求包广播给局域网内的所有主机,但是只有192.168.1.3 这台主机才会响应这个请求包,它会回应192.168.1.2一个ARP包,大致的意思是192.168.1.3的MAC 地址是02-02-02-02-02-02。这样的话主机A 就得到了主机B 的MAC 地址,并且它会把这个对应的关系存在自己的ARP缓存表中。之后主机A与主机B之间的通信就依靠两者缓存表里的MAC地址来通信了,直到通信停止后2分钟,这个对应关系才会从表中被删除。

再来看一个非局域网内部的通信过程。假如主机A需要和主机D进行通信,它首先会发现这个主机D的IP 地址并不是自己同一个网段内的,因此需要通过网关来转发,这样的话它会检查自己的ARP缓存表里是否有网关192.168.1.1 对应的MAC地址,如果没有就通过ARP请求获得,如果有就直接与网关通信,然后再由网关C通过路由将数据包送到网关E,网关E 收到这个数据包后发现是送给主机D(10.1.1.2)的,它就会检查自己的ARP缓存,看看里面是否有10.1.1.2 对应的MAC地址,如果没有就使用ARP协议获得,如果有就是用该MAC地址与主机D通信。

2 ARP欺骗的含义

通过上面的例子我们知道,在以太局域网内数据包传输依靠的是MAC地址,IP地址与MAC对应的关系依靠ARP表,每台主机(包括网关)都有一个ARP缓存表。在正常情况下这个缓存表能够有效保证数据传输的一对一性,像主机B之类的是无法截获A与D之间的通信信息的。

但是主机在实现ARP缓存表的机制中存在一个不完善的地方,当主机收到一个ARP的应答包后,它并不会去验证自己是否发送过这个ARP请求,而是直接将应答包里的MAC地址与IP对应的关系替换掉原有的ARP缓存表里的相应信息。这就导致主机B截取主机A主机D之间的数据通信成为可能。

首先主机B向主机A发送一个ARP应答包说192.168.1.1 的MAC地址是02-02-02-02-02-02,主机A收到这个包后并没有去验证包的真实性而是直接将自己ARP列表中的192.168.1.1的MAC地址替换成02-02-02-02-02-02,02,同时主机B向网关C 发送一个ARP 响应包说192.168.1.2 的MAC 是02-02-02-02-02-02,同样,网关C 也没有去验证这个包的真实性就把自己ARP 表中的192.168.1.2 的MAC地址(下转第95页)(上接第73页)替换成02-02-02-02-02-02。当主机A 想要与主机D 通信时,它直接把应该发送给网关192.168.1.1 的数据包发送到02-02-02-02-02-02 这个MAC 地址,也就是发给了主机B,主机B 在收到这个包后经过修改再转发给真正的网关C,当从主机D返回的数据包到达网关C后,网关也使用自己ARP表中的MAC,将发往192.168.1.2 这个IP 地址的数据发往02-02-02-02-02-02 这个MAC 地址也就是主机B,主机B 在收到这个包后再转发给主机A完成一次完整的数据通信,这样就成功地实现了一次A R P 欺骗攻击。

因此简单点说,ARP 欺骗的目的就是为了实现全交换环境下的数据监听。大部分的木马或病毒使用ARP 欺骗攻击也是为了达到这个目的。

3 如何发现及清除

局域网内一旦有ARP 的攻击存在,会欺骗局域网内所有主机和网关,让所有上网的流量必须经过A R P 攻击者控制的主机。其他用户原来直接通过网关上网,现在却转由通过被控主机转发上网。由于被控主机性能和程序性能的影响,这种转发并不会非常流畅,因此就会导致用户上网的速度变慢甚至频繁断线。另外ARP 欺骗需要不停地发送ARP 应答包,会造成网络拥塞。

一旦怀疑有ARP 攻击我们就可以使用抓包工具来抓包,如果发现网内存在大量ARP 应答包,并且将所有的IP 地址都指向同一个M A C 地址,那么就说明存在A R P欺骗攻击,并且这个MAC 地址就是用来进行A R P 欺骗攻击的主机M A C 地址,我们可以查出它对应的真实IP 地址,从而采取相应的控制措施。另外,我们也可以到路由器或者网关交换机上查看IP 地址与M A C地址的对应表,如果发现某一个MAC 对应了大量的IP 地址,那么也说明存在ARP 欺骗攻击,同时通过这个MAC 地址查出用来ARP 欺骗攻击的主机在交换机上所对应的物理端口,从而进行控制。

4 如何防范

我们可以采取以下措施防范ARP 欺骗。

第一,在客户端使用arp命令绑定网关的真实M A C 地址命令如下:

arp (先清除错误的ARP表)

arp 192.168.1.1 03-03-03-03-03-03 (静态指定网关的MAC 地址)

第二,在交换机上做端口与MAC 地址的静态绑定。

第三,在路由器上做IP 地址与MAC 地址的静态绑定。

第四,使用“ARP SERVER”按一定的时间间隔广播网段内所有主机的正确IPMA C 映射表。

ARP欺骗攻击防御浅析 篇4

随着Internet技术的发展, 网络通信技术得到广泛应用, 网络安全问题也成了关注的焦点。由网络协议的各种漏洞所引起的各种网络安全事件层出不穷, 影响了正常的网络秩序, 造成巨大的损失。本文主要对ARP协议原理进行相应的总结, 对ARP协议的工作机制进行阐述, 对目前已经存在的ARP欺骗攻击防御技术做了简单的概括。

2 ARP协议工作原理及缺陷

2.1 ARP协议工作原理[1,2,3]

TCP/IP协议中, 每一个网络结点是用IP地址标识的, IP地址是一个逻辑地址。而在以太网中数据包是靠48位MAC地址 (物理地址) 寻址的。因此, 必须建立IP地址与MAC地址之间的对应 (映射) 关系, ARP协议就是为完成这个工作而设计的。终端设备或者路由设备都存在一张用于记录IP-MAC地址对的缓存表, 每当主机要向某个局域网中的另一台主机发送数据时, 会先在缓存表里查找目标主机IP地址对应的MAC地址, 并用找到的MAC地址对网络层的数据包封装成数据帧, 通过底层传输到达目标主机。

2.2 ARP协议缺陷

ARP协议是建立在信任局域网内所有结点的基础上的。它是一种无状态的协议, 不会检查自己是否发过请求包, 也不管 (其实也不知道) 应答是否合法的, 只要收到目标MAC是自己的ARP r e p l y包或A R P广播包 (包括A R P requ est和ARP reply) , 都会接受并缓存。

3 常见的ARP欺骗攻击

3.1 ARP欺骗攻击类型

ARP欺骗攻击类型[4]主要分为两种, 一种是对主机的欺骗:它通过对主机进行ARP欺骗, 让主机相信攻击者是主机的网关, 使得原本要发给真实网关的数据发给了攻击者设置的假网关, 让所有原本直接从网关到主机的数据流经过攻击者的主机, 攻击者使用一些嗅探和抓包工具, 从而获得了受骗主机和网关之间交换的有用数据, 从而达到欺骗和攻击的目的。另一种则是对网关的欺骗 (包括路由器和三层交换机) :它通过对网关进行A R P欺骗, 定时的刷新网关的ARP缓存, 使得网关的ARP缓存中IP地址对应的MAC地址为无效或者错误的地址, 结果路由器的所有数据只能发给错误的MAC地址, 造成正常主机无法接收, 从而达到攻击的目的。

3.2 ARP欺骗攻击方式

3.2.1 MAC Flooding[7]

交换机维护一个列表 (交换转换列表) , 其映射网络中的个体MAC地址到在这个交换机。在一个典型的MAC洪泛攻击中, 一个交换机被分组洪泛, 每个分组包括不同的源MAC地址。它意图消耗交换机中有限的内存空间, 这个内存空间在交换机中用来存储MAC地址到物理端口的转换表。

3.2.2 基于ARP的DOS[8]

DoS (Denial of Service) 攻击就是使目标主机不能响应外界请求, 从而不能对外提供服务的攻击方法。如果攻击者利用ARP欺骗攻击的手段, 将目标主机的ARP缓存中的MAC地址全部改为根本不存在的地址, 那么目标主机向外发送的以太网数据帧就会丢失, 使得上层应用忙于处理这种异常而无法响应外来请求, 从而造成目标主机拒绝服务。

3.2.3 中间人攻击[9]

中间人攻击 (Man-in-the-Middle A t t a c k) 是一种“间接”的入侵攻击, 这种攻击模式是通过各种技术, 将受入侵者控制的一台计算机虚拟放置在网络连接中的两台通信计算机之间, 这台计算机就称为“中间人”。然后入侵者把这台计算机模拟一台或两台原始计算机, 使“中间人”能够与原始计算机建立活动连接并截获受害主机的通信数据包。通过截获数据信息, 可以探测有价值的信息, 破坏信息的机密性, 甚至篡改信息的内容, 并发出虚假信息, 窃取或骗取用户的钱财和信息。

4 常见的ARP欺骗攻击防御技术

针对ARP欺骗攻击, 相应的防御技术也被研究和开发出来。主要包括两类[10]一类是在网络边缘抵御ARP欺骗攻击, 另一类则是对ARP协议本身进行考虑, 加入一些安全性措施。

4.1 网络边缘抵御ARP欺骗攻击

4.1.1 对主机和路由进行IP-MAC静态绑定[10,11]

ARP缓存表通常情况下是可以动态改变的, 并且不做任何认证措施, 这也是协议设计时的弊端。我们通过对局域网内的主机和路由器进行静态的IP-MAC绑定, 可以防御ARP欺骗和攻击的问题。但是该方法的一个最大的缺点, 就是当局域网中主机数量很大时, 且路由表条目比较多, 该方法变得很费时、费力, 特别在局域网中主机经常增加或者减少时, 这种方法表现出来的弊端就很突出。

4.1.2 采用划分局域网技术 (VLAN)

局域网管理员可以根据局域网的网络拓扑结构, 将局域网划分成若干个VLAN, 当管理员发现有非法用户在恶意利用ARP欺骗攻击网络, 或因合法用户受ARP病毒影响而感染网络时, 网络管理员可以利用技术手段首先查找到该用户所在的交换机端口, 然后将该端口划分一个单独的VLAN将该用户与其他用户进行物理隔离, 以避免其他用户受影响。该方法虽然对局域网ARP欺骗攻击有很好的防御效果, 但是采用该技术之后硬件的成本明显增加, 且要求的技术手段较高。

4.2 ARP协议加入安全机制防欺骗攻击

4.2.1 中间件技术

中间件是一种独立的系统软件或服务程序, 分布式应用软件借助这种软件在不同的技术之间共享资源。Tripunitara等人提出利用中间件技术来抵御ARP欺骗攻击, 秦丰林[11]等人对该项技术做了总结。该方法需要修改系统内核, 而且没有考虑本机对其它主机发起ARP欺骗攻击。

4.2.2 加密和认证机制

传统的ARP是建立对局域网内所有主机信任的基础上的, 对ARP报文不做任何的加密和认证, 由此给ARP欺骗攻击机会。Brushi等人提出了一种ARP协议的改进方案, 秦丰林等人[11]对该项技术做了总结。其主要思想是利用公钥加密技术, 对ARP报文进行加密认证, 有效的避免的ARP欺骗攻击。安全ARP协议由于使用了加密认证技术, 使得安全性大大提高, 不过AKD服务器存在单点故障问题以及不能抗重放攻击等缺点, 而且安全ARP协议存在加密认证过程, 使得执行效率比较低。

5. 结束语

小心别上“ARP欺骗”的当 篇5

专家说,如果进行“ARP欺骗”的恶意木马程序入侵某个局域网中的计算机系统,那么该系统就会试图通过“ARP欺骗”手段截获所在局域网络内其他计算机系统的通信信息,导致该局域网出现突然掉线,过一段时间后又会恢复正常的现象,

同时,网内的其他计算机系统也会受到影响,出现IP地址冲突、频繁断网、IE浏览器频繁出错以及系统内一些常用软件出现故障等问题。

ARP欺骗原理与防治方法 篇6

关键字:ARP协议;ARP欺骗;防治

中图分类号:TP393.08文献标识码:A文章编号:1007-9599 (2010) 13-0000-01

ARP Spoofing Principle and Control Methods

Yang Guohua

(Yingtan Vocational&Technical College,Yingtan335000,China)

Abstract:ARP spoofing is used by hackers basic principle of ARP protocol flaws,one in the region through the terminal or server spoofing ARP broadcast packets to publish in order to achieve steal user accounts,altering content,embedded malicious code,release negative information,illegal activities such as monitoring data transmission purposes.How to prevent ARP spoofing,network management is now the most urgent task.

Keywords:ARP protocol;ARP spoofing;Prevention

一、ARP工作原理

ARP(Address Resolution Protocol,地址解析协议)协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。以太网不能识别IP包中的IP地址,它是以MAC地址来查找目的地的,因此在以太网中进行IP通信,就需要将IP地址转换成MAC地址,让数据包能发到指定的目的主机上,这就是ARP要解决的。

ARP转换的方式有两种方式:通过主机上的ARP缓存的映射表转换;通过向网络中发送ARP请求,得到目标主机的ARP应答,应答中含有MAC地址,来进行转换。

每台主机都拥有一个ARP缓存(ARP cache),存储内容是IP地址和MAC地址的映射表,通过此表来进行IP与MAC的转换,达到局域网之间主机的数据通信。在主机上可以使用ARP–a命令进行查看。由于ARP缓存中有IP与MAC的映射表,所以主机访问某IP的主机,就可以直接查询获得目标主机的MAC地址,在數据传输中直接将数据封装为MAC帧。这样就可以减少在网络传输中每次发ARP请求,增少网络通信流量。

二、ARP欺骗原理

ARP欺骗的核心就是向目标主机发送一个伪造的ARP应答,应答中的源IP地址和MAC地址映射是伪造的。目标主机获得这种ARP应答之后,就会更新其ARP缓存,这样就建立了一种错误的映射表,当然发送到指定的IP时,就无法封装正确的MAC地址,也就无法到达目标主机。

攻击主机发送ARP欺骗一般通过两种方式:

(一)伪造ARP请求报文。攻击者发送伪造的ARP请求报文,这个伪造的IP地址和MAC地址的映射的报文,目的就是使局域网其它主机接收此报文更新其ARP缓存,来达到欺骗的目的。

(二)伪造ARP应答报文。目前大多数操作系统一旦接收ARP应答报文立即会更新其ARP缓存,而不需去验证是否自己有发送ARP请求。因此,直接伪造ARP应答报文即可实现欺骗。

三、ARP欺骗的防治措施

针对ARP欺骗的核心思想,即是更改IP地址与MAC地址的映射,可以采用以下方面:

(一)设置静态的ARP缓存。给主机添加相应静态的ARP缓存记录,目的是接收到ARP欺骗的应答报文,也不更新本机的ARP缓存,让攻击者无法达到其ARP欺骗的目的。这种方法必须人工设置IP地址和MAC地址的映射,工作量巨大,针对小型的网络比较适用。方法是在主机上使用ARP–s命令来添加静态记录。如图1所示:

(二)交换机端口与主机MAC值的绑定。将局域网中交换机的每一个端口与之相连接的主机MAC地址进行绑定,这就规定了出这个端口的MAC地址是固定的。如果该端口发现与绑定的MAC地址值不同,则交换机自动锁定此端口,使与此端口相连的主机无法连接到局域网。即攻击者发送伪造的ARP欺骗报文,端口立刻可以检测出MAC值不一样,让攻击者无法攻击网络,并中断攻击者连接网络的权利,这样也可以立刻找出攻击主机。这种方法只适合于高端的交换机,对于低端交换机是没有交换机的设置功能,无法实现。同时,如果是人为的变换了主机的连接端口,不通过管理员也无法连接到网络,例如:交换机的某一个端口坏了,连接这个端口的主机更换其他端口连接,也无法连接到网络必须经过交换机的设置才可以实现连网。

(三)使用虚拟局域网技术。虚拟局域网技术已是需要高端的网络设备才可以实现,低端的网络设备是没有网络管理配置功能,也就无法实现虚拟局域网的配置。这种方式可以让ARP欺骗局域于一个其被感染的一个虚拟网内,不会影响整个局域网的运行。由于ARP欺骗不能跨网段实施,那可以将整个局域网划分成各个小的虚拟局域网,不同网段的虚拟局域网就不会同时受到ARP欺骗的攻击,这样就减小了ARP的攻击范围,保证网络的可靠运行。

如图2所示,如A1是攻击主机,则只会影响VLAN10中的A2和A3主机,而VLAN20、VLAN30中的主机不会受影响。

特别是针对具有绝密信息的主机的局域网,更应将其划分到专用的虚拟网中,避免其他未授权终端的攻击。

参考文献:

[1]金涛.公众网络环境中的ARP欺骗攻击与防范方法[D].上海:上海交通大学,2007

ARP欺骗防御 篇7

ARP欺骗具有隐蔽性、随机性的特点, 在Internet上随处可下载的ARP欺骗工具使ARP欺骗更加普遍。目前利用ARP欺骗的木马病毒在局域网中广泛传播, 给网络安全运行带来巨大隐患, 是局域网安全的首要威胁。有时会出现网络设备完好, 运转正常的情况下, 局域网内用户上网速度缓慢甚至完全阻塞的情况, 这种现象往往是由于局域网内遭到ARP攻击引起的, 一些带有ARP欺骗功能的木马病毒, 利用ARP协议的缺陷, 像大规模爆发的流行性感冒一样, 造成网络时断时续, 无法正常上网。同时清理和防范都比较困难, 给不少的网络管理员造成了很多的困扰。

二、ARP协议概述

ARP协议全称为Address Resolution Protocol, 即地址解析协议, 是TCP/IP协议栈中的基础协议之一, 它工作于OSI模型的第二层, 在本层和硬件接口间进行联系, 同时为上层 (网络层) 提供服务。是将IP地址与网络物理地址一一对应的协议, 负责IP地址和网卡实际地址 (MAC) 之间的转换。也就是将网络层地址解析为数据链路层的M A C地址。在以太网中, 一个网络设备要和另一个网络设备进行直接的通信, 除了知道目标设备的I P地址外, 还要知道目标设备的M A C地址。A R P协议的基本功能就是通过目标设备的IP地址, 查询目标设备的MAC地址, 以保证通讯的顺利进行。当一个网络设备需要和另一个网络设备通信时, 它首先把目标设备的I P地址与自己子网掩码进行“与”操作, 以判断目标设备与自己是否位于同一网段内, 如果目标设备与源设备在同一网段内, 则源设备以第二层广播的形式 (目标MAC地址全为1) 发送ARP请求报文, 在ARP请求报文中包含了源设备与目标设备的IP地址。如果目标设备与源设备不在同一网段, 则源设备首先把IP分组发向自己的缺省网关, 由缺省网关对该分组进行转发。

三、ARP协议的缺陷

1. 主机ARP列表是基于高速缓存动态更新的。

由于正常的主机间的MAC地址刷新都是有时限的, 这样恶意用户如果在下次交换之前成功地修改了被欺骗机器上的地址缓存, 就可以进行假冒或拒绝服务攻击。

2. 可以随意发送ARP应答分组。

由于ARP协议是无状态的, 任何主机即使在没有请求的时候也可以做出应答。因此任何时候发送ARP应答。只要应答分组是有效的, 接收到ARP应答分组的主机就无条件地根据应答分组的内容刷新本机高速缓存。

四、ARP的主要攻击类型

ARP期骗是指利用ARP协议的漏洞, 通过向目标设备主机发送虚假的ARP报文, 达到监听或者截获目标主机数据的攻击手段。主要攻击类型:冒充主机欺骗网关 (对路由器ARP表的欺骗) 、冒充网关欺骗主机 (对内网P C的网关欺骗) 。

1. 冒充主机欺骗网关

攻击主机C发出一个报文, 其中源MAC地址为MAC C, 源IP地址为IP A。这样任何发往主机A的报文都会被发往攻击主机C。网关无法与真实主机A直接通信。假如攻击主机不断地利用自己的真实MAC地址和其他主机的IP地址作为源地址发送ARP包, 则网关无法与网段内的任何主机 (攻击主机C除外) , 进行直接通信。然而, 这种情况下, 交换机是不会产生任何报警日志的, 原因在于, 多个IP地址对应一个MAC地址在交换机看来是正常的, 不会影响其通过IP所对应的MAC来交付报文。

如果攻击者将网关ARP缓存中的MAC地址全部改为根本就不存在的地址, 那么网关向外发送的所有以太网数据帧会丢失, 使得上层应用忙于处理这种异常而无法响应外来请求, 也就导致网关产生拒绝服务 (不能响应外界请求, 不能对外提供服务) 。

2. 冒充网关欺骗主机

(1) 在主动攻击中, 攻击者C主动向A发送ARP应答数据包, 告诉A, B (网关) 的IP地址所对应的MAC地址是CC-CC-CC-CC-CC-CC, 从而使得A修改自己的ARP列表, 把B的IP地址对应的M A C地址修改为攻击者C的M A C地址。

(2) 同时, 攻击者C也主动向B发送ARP应答数据包, 告诉B, A的IP地址所对应的MAC地址是CC-CC-CC-CC-CC-CC, 从而使得B修改自己的ARP列表, 把A的IP地址对应的MAC地址修改为攻击者C的MAC地址。

(3) 从而使得A←→B之间的通信形式变成A←→C←→B, 实现了中间人攻击。

在被动攻击中, 攻击者C只在A或者B发送ARP请求数据包时, 延时一段时间发送应答数据包, 使得自己的应答包在正确的应答包之后到达, 防止自己修改的相应主机的ARP列表被正确的应答包再次修改。

那么主机A发往网关B的报文都会被发往攻击主机C, 造成主机A突然断网。如果攻击主机向网关B转发了来自主机A的报文, 那么主机A能通过攻击主机C继续上网, 但其上网质量完全取决于攻击主机C, 通常表现为时断时续。

例如, 网络上有3台主机, 有如下的信息:

主机名IP地址硬件地址

A 202.206.208.1 AA:AA

B 202.206.208.2 BB:BB

C 202.206.208.3 CC:CC

这三台主机中, C是一台被入侵者控制了的主机, 而A信任B, 入侵者的目的就是要伪装成B获得A的信任, 以便获得一些无法直接获得的信息等。

四、ARP欺骗防范和解决方案

1.手动防御

防御A R P欺骗的简单方法是网络管理员分别在主机和路由器上静态绑定地址映射。这种方法非常有效, 但仅适用于小规模的局域网, 而且这种方法不适用于DHCP自动分配地址的情况, 也不能适应网络的动态变化。对于大型动态IP的网络, 建立DHCP服务器 (建议建在网关上) 。所有客户机的IP地址及其相应主机信息, 只能由网关这里取得, 网关开通DHCP服务, 保持网内的机器IP/MAC一一对应的关系。在由DHCP服务器构成的动态分配主机IP的环境中, 主机申请IP时的MAC地址和IP地址是一一配对的, 也是唯一的, 上述的攻击主机C也不能例外, 不可能利用一个MAC地址申请到多个IP地址, 更不可能申请到网关地址。同时, 网关机器关闭ARP动态刷新的过程, 使用静态路由, 这样的话, 即使犯罪嫌疑人使用ARP欺骗攻击网关的话, 这样对网关也是没有用的, 确保主机安全, 即可防御冒充主机欺骗网关的ARP欺骗。

另一方面通过arp-s命令, 在PC上绑定网关的MAC和IP地址, 这样可以防御冒充网关欺骗主机的A R P欺骗。

另一种有效的手动防御方法是在局域网中增加VLAN的数目, 减少V L A N中的主机数量。局域网管理员可以根据本单位的网络拓扑结构划分若干个VLAN, 这样既能够在发生ARP攻击时减少所影响的网络范围, 又能够在发生ARP攻击时便于定位出现的网段和具体的主机。缺点同样是增加了网络维护的复杂度, 也无法自动适应网络的动态变化。

2.使用ARP服务器

在局域网内部的设置一台机器作为ASP服务器, 专门保存并且维护网络内的所有主机的IP地址与MAC地址映射记录, 使其他计算机的ARP配置只接受来自ARP服务器的ARP响应。当有ARP请求时该服务器通过查阅自己缓存的静态记录并以被查询主机的名义响应ARP局域网内部的请求, 从而防止了ARP欺骗攻击的发生。但是这个方法也有不足, 首先要保证ARP服务器不被攻击, 确保ARP服务器的安全;其次要保证主机只接受指定ARP服务器的ARP响应报文。如何做到这一点, 目前还是比较困难的。

3. ARP欺骗的解决措施

以上只是对A R P欺骗的防御手段, 但对于局域网中已经有机器中了A R P欺骗木马, 伪造网关, 则可采用以下方法解决。

判断攻击机的IP地址

某计算机所处网段的路由IP地址为xx.xx.xx.1, 本机地址为xx.xx.xx.8, 在计算机上DOS命令行中运行arp-a后输出如下:

C:Documents and SettingsAdministrator>arp-a

Interface:xx.xx.xx.8---0x10003

Internet Address Physical Address Type

xx.xx.xx.1 00-01-02-03-04-05 dynamic

其中, 00-01-02-03-04-05就是路由器xx.xx.xx.1对应的MAC地址, 类型为动态, 因此可被改变。正常情况下, xx.xx.xx.1和00-01-02-03-04-05始终对应。被攻击后, 重复使用该命令查看, 就会发现该MAC已经被替换成攻击机器的MAC, 而且攻击机器的M A C地址和真正的网关M A C地址会出现交替现象, 如

C:Documents and SettingsAdministrator>arp-a

Interface:xx.xx.xx.8---0x10003

Internet Address Physical Address Type

xx.xx.xx.1 00-01-02-03-04-05 dynamic

xx.xx.xx.6 00-01-02-03-04-05 dynamic

由此可判断xx.xx.xx.6的计算机就是攻击机, 接下来就要判断攻击机的MAC地址并对连接该主机端口进行定位, 定位操作主要通过S N M P协议完成。最后关闭交换机上受病毒感染的端口并对通过端口查出的相应用户进行彻底查杀。当然也可以直接下载ARP欺骗检测工具, 如ARP Checker可以有效的定位到发起ARP欺骗的主机。

五、结论

通过以上几种方法来解决A R P病毒对于局域网的欺骗攻击是比较有效果的。但是由于ARP病毒版本在不断更新升级中, 所以仍会给局域网用户带来新的冲击与危害。因此有必要提前做好局域网ARP病毒的防范工作, 使得ARP病毒的危害减少到最小程度。当然, 在网络安全领域, 没有任何一种技术手段可以解决所有的问题, 对于各种类型的网络攻击, 经常查看当前的网络状态, 对网络活动进行分析、监控、采取积极、主动的防御行动是保证网络安全和畅通的重要方法。网络管理员应当密切检查网络, 不断提高自身的技术水平, 确保网络安全的正常运行。

参考文献

[1]张胜伟:基于DAI的ARP欺骗深度防御[J].计算机安全, 2009, (01)

[2]李新:ARP欺骗防御技术的研究[J].商场现代化, 2008 (36)

ARP协议欺骗原理及其防御措施 篇8

对于一个小型局域网,常常采用硬件方法,将网络分段来限制攻击者利用ARP协议攻击。但这只能缩小被攻击对象的数量,而无法避免攻击。然而对于类似高校一样的大型局域网,不可能将网段分得太细,常用的防御方法是采用增设ARP服务器,但其致命弱点是该服务器是一个单点故障,一旦此服务器出现问题,整个网络将处于瘫痪状态。还有采用将网段分为可信任段和非可信任段,但这种划分对于校园网用户来说没有任何意义。现在还没有一套成型的方案来完全控制ARP欺骗。本文从管理和技术两个方面,给出防御ARP欺骗的具体方案。

1 ARP协议的基本原理

ARP协议是数据链路层协议,负责将网络层IP地址转变成数据链路层(第二层物理地址)的MAC地址。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行通信,必须要知道目标主机的MAC地址,它是通过地址解析协议获得的。地址解析就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程,作者:Administrators。该协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。

每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的,如表1所示。

我们以主机A(192.168.16.1)向主机D(192.168.16.4)发送数据为例。当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;如果在ARP缓存表中没有找到相对应的IP地址,主机A就会在网络上发送一个广播,目标MAC地址是“FF.FF.FF.FF.FF.FF”,这表示向同一网段内的所有主机发出这样的询问:“192.168.16.4的MAC地址是什么?”网络上其他主机并不响应ARP询问,只有主机D接收到这个帧时,才向主机A做出这样的回应:“192.168.16.4的MAC地址是dd-dd-dd-dd-dd-dd”。这样,主机A就知道了主机D的MAC地址,它就可以向主机D发送信息了。同时它还更新了自己的ARP缓存表,下次再向主机D发送信息时,直接从ARP缓存表里查找就可以了。ARP缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。

2 ARP欺骗种类及危害

ARP欺骗分两种,一种是对网关(路由器或三层交换机)的欺骗:刷新网关ARP列表,它伪造本网段内一系列IP地址及对应的错误MAC地址,通知网关,并按照一定的频率不断刷新,使真实的地址信息无法通过刷新保存在网关ARP列表中,结果网关的所有数据只能发送错误的MAC地址,造成正常的主机无法收到信息而导致不能上网,当ARP欺骗停止时,会恢复正常。另一种,是对内网主机的欺骗:刷新用户主机ARP列表,欺骗者伪造网关,建立假的网关,让所有上网的流量必须经过欺骗者的主机,其他主机原来直接通过交换机上网现在转由通过欺骗者主机上网,从而欺骗者利用一些嗅探工具和抓包工具监视到被欺骗主机的明文密码以及访问信息。这是十分危险的,欺骗者接到了数据时,它再提交给网关(如果不提交给网关,则用户无法上网),网关会认为数据就是它发的,它会修改源MAC地址,当然源IP是不会变的,从而网关回应时根本不会去找被欺骗主机,它会直接提交给欺骗者包括被欺骗者要与外部建立的TCP连接都会经过欺骗者的MAC,这样的话被欺骗者所有与外部的通信完全是要经过欺骗者的监视,它可以采取任何手段管理被欺骗者,包括流量限制。另外由于ARP欺骗的程序会发出大量的数据包导致局域网通讯拥塞以及其自身处理能力的限制,用户会感觉上网速度越来越慢。当ARP欺骗的程序停止运行时,用户会恢复正常网关。该病毒发作时,仅影响同网段内机器的正常上网。

3 ARP欺骗及实例

以对内网主机的欺骗为例,让上网主机的流量必须经过欺骗者的主机,其他主机原来直接通过交换机上网现在转由通过欺骗者主机上网。从而欺骗者利用一些嗅探工具和抓包工具监视到被欺骗主机的明文密码以及访问信息。这是十分危险的,欺骗者接到了数据时,它再提交给网关(如果不提交给网关,则用户无法上网)。由于一般ARP欺骗可以对本网段所有主机有影响,所以只采取对一台主机欺骗方式。

现在主机B(IP地址:202.192.235.31 MAC地址:00-16-17-96-F0-FD)对主机A(IP地址:202.192.235.33 MAC地址:00-11-D8-E9-76-97)进行ARP欺骗,利用Iris工具软件后,收到受ARP欺骗数据包的信息如表2所示。

欺骗者完全利用ARP协议漏洞,主机B在没有收到主机A发送的ARP请求Request包时,伪造一个ARP响应包Reply(IP地址:202.192.235.254网关,MAC地址:00-16-17-96-F0-FD)发给主机A,主机A收到主机B的响应包时,不存在对其真实性检查,也就无法识别出伪造的ARP数据包。再有,在协议中没有规定要提出请求才会有响应,所以回复必须接受的。即主机A刷新本地的ARP列表,由于主机B连续不断地发伪造的ARP响应包,从而使主机A的数据包不能发送到网关而导致不能上网。从表2受ARP欺骗数据包中看到,源IP地址为网关IP地址:202.192.235.254,源MAC地址为欺骗者主机的MAC地址:00-16-17-96-F0-FD,目的IP地址为主机A的IP地址:202.192.235.33,目的MAC地址为主机A的MAC地址:00-11-D8-E9-76-97。除此之外,还有多种方式可对ARP欺骗进行检测,如:采用其他工具软件、脚本及通过路由器或交换机的ARP列表分析等。在检测及分析过程中,ARP欺骗常有以下特点:用户在上网过程中,时断时续;密码常常丢失;在网关中有时出现一个MAC地址对应多个IP地址现象;以太网数据包头的源地址、目标地址和ARP数据包的协议地址不匹配;ARP数据包的发送和目标地址不在自己网络网卡MAC地址数据库内(需要先建立一个IP地址和MAC地址对应的数据库),或者与自己网络MAC数据库MAC/IP不匹配;用户网卡处于混杂模式等。

4 防御ARP欺骗方案

在管理方面明确预防胜于治疗,对每个用户定期开展计算机网络安全培训课程,告诉用户如何保护自己不受病毒的侵害,如何诊断网络故障,理解主流病毒ARP欺骗原理及其影响;在用户开通端口的同时,告诉用户有义务保证自己的计算机保持无菌状态;各单位可以制定使用网络的准入标准,例如统一安装微软Windows XP系统,打上sp2的所有补丁,以及安装杀毒软件并及时更新病毒库;最后在不得已的情况下网络管理员封闭已经被ARP木马病毒侵犯的计算机网络端口。

(1)在网关(汇聚交换机)上实现IP地址和MAC地址的绑定。为每个主机添加一条IP地址和MAC地址对应的关系静态地址表。在交换机上使用如下命令:

Switch#config terminal

Switch(config)#arp ip address mac address arpa

上述命令在交换机内建立了MAC地址和IP地址对应的映射表。用户发送数据包时,若交换机获得的IP和MAC地址与先前建立的映射表匹配,则发送的包能通过,不符合则丢弃该数据包,这样能防止ARP欺骗。

(2)用户设置静态的MAC→IP对应表。以Windows XP系统为例,操作方法是:在命令提示符下输人命令:

arp-a获得网关的MAC地址

arp-d清除ARP列表

arp-s 192.168.0.10(网关IP地址)cc-cc-cc-cc-cc-cc(网关MAC地址)

第一条命令是查看用户机器的ABP缓存表,第二条命令是删除用户机器ARP缓存表中的动态表项,第三条命令是设置用户机器IP→MAC的静态绑定。

(3)用防火墙封堵常见病毒端口:134-139,445,500,6677,5800,5900,593,1025,1026,2745,3127,6129以及P2P下载。

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

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

(6)使用“proxy”代理IP的传输。

(7)使用硬件屏蔽主机。设置好路由,确保IP地址能到达合法的路径。

(8)在客户机上进行网关IP及其MAC静态绑定,并修改导入如下注册表:(1)禁止ICMP重定向报文:ICMP的重定向报文控制着Windows是否会改变路由表从而响应网络设备发送给它的ICMP重定向消息,这样虽然方便了用户,但是有时也会被他人利用来进行网络攻击。通过修改注册表可禁止响应ICMP的重定向报文,从而使网络更为安全。具体修改方法是:打开注册表编辑器,找到或新建“HKEY_LOCAL_MachineSystemCurrentControlSetServicesTCPIPParamters”分支,在右侧窗口中将子键“EnableICMPRedirects”(REG_DWORD型)的值修改为0(0为禁止ICMP的重定向报文)即可;(2)禁止响应ICMP路由通告报文:“ICMP路由公告”功能可以使他人的计算机网络连接异常、数据被窃听、计算机被用于流量攻击等,因此建议关闭响应ICMP路由通告报文。具体修改方法是:打开注册表编辑器,找到或新建“HKEY_LOCAL_MachineSystemCurrentControlSetServicesTCPIPParamtersInterfaces”分支,在右侧窗口中将子键“PerformRouterDiscovery”。

5 结束语

局域网ARP欺骗的分析和防御 篇9

关键词:局域网,ARP协议,ARP欺骗

随着信息技术的快速发展和日益普及, 信息网络已成为人们学习、生活、工作中的重要组成部分, 在日常业务中发挥着极其重要的作用, 但同时由于网络的开放性、共享性, 网络中存在很多不安全因素, 网络安全问题也越来越引起人们的关注[1,2]。在众多不安全因素中, 基于ARP欺骗的网络木马和病毒对网络的安全影响也越来越大[3]。该文对ARP协议内容、工作原理进行介绍, 对ARP协议漏洞和ARP欺骗原理进行说明, 并对ARP欺骗的日常诊断和预防进行解释。

1 ARP协议

1.1 ARP协议内容

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

1.2 ARP工作原理

ARP工作分为局域网和跨网段2种, 下面将局域网ARP工作原理 (图1) 介绍如下。

局域网内每台主机会在自己的ARP缓冲区建立1个ARP列表, 以表示IP地址和MAC地址的对应关系, 主机A在传输数据前, 首先要对初始数据进行封存, 在这个过程中, 会把目的主机B的IP地址和MAC地址封存进去, 在通讯最初阶段, 主机A只知道目的主机B的IP地址, 而不知道MAC地址。主机A首先将数据包中的目标IP地址在本地的ARP地址转换表中寻找对应的MAC地址, 如果有对应的地址, 则直接根据找到的MAC地址转发数据包。如果没有, 则通过广播方式发送1个含有目标主机B的IP地址, 被称为ARP请求的以太帧到局域网的其他主机, 请求含有该IP地址的主机回复需要的MAC地址信息数据包。局域网中的目标主机B在收到广播帧后, 就以1个ARP应答包的方式回复主机A, 该应答包中含有IP地址与MAC地址的对应表。主机A在收到应答包后, 就可以根据IP地址与MAC地址的对应表发送数据包。

2 ARP欺骗

2.1 ARP协议漏洞

ARP协议虽然是一个高效的数据链路层协议, 但是由于其设计前提是在网络绝对安全和信任的情况下进行的, 因此ARP协议存在着设计缺陷, 主要表现在以下方面:

(1) 局域网内主机间的通信是相互信任的, 出于传输效率上的考虑, ARP协议无需认证。只要收到局域网内的ARP应答包, 就将其中的MAC/IP协议刷新到本机的高速缓存中, 就被当做可信任的主机, 而没有检验其真实性的机制, 使得几个IP地址可以映射到同一物理地址上, 这是ARP协议的一个安全隐患。

(2) 主机地址映射表是基于高速缓存动态更新的。这是ARP协议的特色之一, 但也是安全问题之一。由于正常的主机间MAC地址刷新都是有时限的, 这样假冒者如果在下次更新前成功地修改了被攻击机器上的地址缓存, 就可以进行假冒或拒绝服务攻击。

(3) ARP请求以广播方式进行。这个问题是不可避免的, 因为正是由于主机不知道通信对方的MAC地址, 才需要进行ARP广播请求。这样, 攻击者就可以伪装ARP应答, 与广播者真正要通信的机器进行竞争, 还可以确定子网内机器什么时候会刷新MAC地址缓存, 以确保最大时间限度地进行假冒。

(4) 任何ARP响应都是合法的, ARP应答无需认证。由于ARP协议是无状态的, ARP协议并未规定主机在未收到查询时就不能发送ARP响应包, 任何主机即使在没有请求的时候也可以做出应答, 而且许多系统都会接受未请求的ARP响应, 并用信息篡改其缓存, 这是ARP协议的另一个隐患。

2.2 ARP欺骗原理

ARP协议是在网络绝对安全和信任的情况下进行工作的, 因此在局域网中, 不存在对ARP报文的真实性校验, 也就无法识别出伪造的ARP报文, 同时由于没有请求的ARP报文同样能被系统所接受, 并刷新目标系统的缓存, 而系统在进行ARP解析之前是以系统缓存不存在为前提的, 当有ARP响应报文不停地刷新缓存的时候, 系统就不会主动地发出ARP请求, 这就使得对ARP缓冲区进行欺骗成为一种可能。

ARP欺骗就是利用ARP协议的设计缺陷向目标主机发送伪造ARP响应报文, 目标主机接收伪造报文后更新系统ARP缓存, 在以后的地址解析中就落入预先设计好的陷阱。

ARP欺骗过程 (图2) 如下: (1) C发送ARP询问报文获取A的MAC地址, 向A发送内容包括B的IP地址、C的MAC地址的伪造响应ARP报文, C为了保证伪造报文的有效性, 每隔一段时间就发送一次伪造响应ARP报文。 (2) A根据C发送的伪造ARP报文更新自己的ARP缓冲区, 由于C发送伪造响应ARP报文的周期性使A一直处于被欺骗状态, 这样就成功实现了C对A的ARP欺骗。以后A发送给B的数据包全部被C获得, C同时为了隐蔽自己, 再将这些数据包转发给B, 这对A和B看来通信正常, 但数据包却被C非法获得。

注:1.A和B通信正常;2.发送伪造ARP响应报文;3.通过ARP欺骗窃取A发给B的数据包;4.为了隐蔽自己将数据包再转发给B。

3 检测和防御

3.1 ARP欺骗的检测

由于ARP欺骗的隐蔽性在局域网中很难被发现, 对网络安全构成严重危害, 因此在网络日常维护中有必要采取一些主动检测功能, 以保障整个网络的畅通。

(1) 作为网络管理员, 可以定期手动地发出ARP请求, 然后利用应答和缓存中的物理地址进行真实性校验;或者定期轮询, 检查主机上的ARP缓存, 看其中的记录变化, 从而得到可疑的ARP条目, 进行确定检测。

(2) 由于ARP缓冲区有效时间的限制, ARP欺骗报文必须不停地重复发送, 通过监听网络中的报文, 从大量的无请求ARP应答报文中, 可以检测出ARP欺骗的存在。

(3) 在交换机上检测IP地址、MAC地址和端口对应关系的变化, 从而得到伪造源地址的信息。

(4) 在Windows系统上, 最有效的是基于主机的SNMP TRAY报文的防护。因为Windows系统对于ARP表是通过内建的SNMP来进行管理的, 所以不管SNMP服务是否开启, 都可以很容易的通过SNMP TRAY达到ARP主动变化通知的目的。

3.2 ARP欺骗的防御

对于ARP欺骗的防御, 应该在日常工作中加强网络安全意识的同时以预防为主, 可以采取一些具体措施来防止ARP欺骗的发生。

(1) 用户端绑定或安装防御软件。 (1) 在用户端计算机上绑定交换机网关的IP地址和MAC地址, 首先, 用户在安全、信任的网络环境中在DOS提示符下用arp-a命令显示交换机的IP地址和MAC地址。其次, 用户用arp-s命令绑定交换机的IP地址和MAC地址。 (2) 在用户端计算机上安装360安全卫士、Anti ARP Sniffer、瑞星杀毒等防御软件。

(2) 交换机端绑定。在核心交换机上绑定用户主机的IP地址和网卡的MAC地址, 同时在网管交换机上将用户主机网卡的MAC地址和交换机端口绑定的双重安全绑定方式[4]。 (1) IP地址和MAC地址绑定。在核心交换机上将局域网内用户的IP地址和其网卡MAC地址一一对应进行全部绑定, 这样可以极大程度的避免非法用户使用ARP攻击或盗用合法用户的IP地址进行流量的盗取。 (2) MAC地址和交换机端口的绑定。根据局域网用户所在区域、房间、楼体的不同, 将用户计算机的网卡MAC地址和交换机端口进行绑定, 可以防止非法用户随意接入网络。

(3) 采用VLAN技术隔离端口。局域网的网络管理员可根据本单位网络的拓扑结构, 具体规划出若干个VLAN, 当发现有非法用户在恶意利用ARP攻击网络, 或因合法用户受ARP病毒而影响网速时, 网络管理员可利用技术手段查找该用户所在的交换机端口, 然后将该用户与其它用户进行物理隔离, 以避免对其他用户的影响, 从而达到安全防范的目的。

(4) 设置ARP服务器。指定局域网内的一台计算机作为ARP服务器, 专门保存并且维护可信范围内的所有主机和IP地址与MAC地址映射记录, 该服务器通过查询自己的ARP缓存的静态记录并以被查询主机的名义响应局域网内部的ARP请求, 同时设置局域网内部的其他主机只使用来自ARP服务器的ARP响应。

4 小结

在计算机网络盛行的今天, 网络已经成为政治、经济、军事、文化和生活中不可缺少的重要组成部分, 在给人们带来方便和机遇的同时, 由于网络自身的设计缺陷和木马病毒等不安全因素, 网络安全问题变的越来越重要, 也越来越引起人们的关注, 如何在保证自身安全的情况下充分利用网络已经成为人们研究的课题。

参考文献

[1]沈继锋, 刘同明.一种交换式网络内的ARP欺骗的解决方案[J].现代计算机, 2006 (1) :39-41.

[2]李海鹰, 程灏, 吕志强, 等.针对ARP攻击的网络防御模式设计与实现[J].计算机工程, 2005 (5) :170-171.

[3]任侠, 吕述望.ARP协议欺骗原理分析与抵御方法[J].计算机工程, 2003 (9) :127-128, 182.

校园网环境下ARP欺骗攻击及防御 篇10

虽然基于ARP欺骗的病毒攻击已经有很久的历史,但直到现在,它还是一种较难防范和根治的病毒类型。主要是因为ARP欺骗是基于ARP协议的先天缺陷对网络进行攻击的,因此很难从根本上避免ARP欺骗造成的网络攻击,进一步研究与探讨防御ARP欺骗攻击的技术对校园网安全具有重要的意义。

1 ARP协议

ARP协议全称为Addre s s Re s olution Protocol(地址解释协议),它是TCP/IP协议族中的基础协议之一,工作在ISO参考模型中的第二层即数据链路层,其功能是将主机IP地址转换成MAC地址,MAC (Me dia Acce s s Contro1) 地址是网络中唯一能标识计算机的硬件地址 (存于网卡的EPROM芯片内) ,每块合法的网卡在出厂时都被赋予了一个MAC地址,且每一块网卡的MAC地址都是唯一的。数据在数据链路层中是以“帧”的形式进行传输的,而“帧”必须封装源主机和目的主机的MAC地址,在以太网中传输的数据帧最终是靠MAC地址来确定目的主机的,但是在通信中只是给出了目的主机的IP地址,此时就需要将目的主机的IP地址转换成目的主机的MAC地址,这一过程就是由ARP协议来实现的。

ARP协议的具体工作过程如下:在每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,记录着该主机已知的本局域网内其它主机的IP地址和MAC地址之间的映射关系。假设当主机A需要和主机B之间进行通信时,主机A首先查询自己的ARP缓存表,如果查询到主机B的IP地址和MAC地址之间的映射关系,则将主机B的MAC地址封装进数据帧进行通信。如果没有查询到相应的记录,则主机A广播发送出目的MAC地址为FF-FF-FF-FF-FF-FF的ARP请求数据包,请求获得主机B的MAC地址。此时,本广播域内所有的主机都会接收到主机A的ARP请求,并将主机A的IP地址和MAC地址之间的映射关系保存到自己的ARP缓存表中,但是只有主机B做出回应,主机A在接收到主机B的响应信息后将主机B的IP地址和MAC地址之间的映射关系保存到自己的ARP缓存表中,并将主机B的MAC地址封装进数据帧进行通信。如果主机A一直没有收到ARP响应数据包,表示ARP查询失败。

ARP缓存表中的IP—MAC地址映射记录是有生存期限的,在一段时间内如果ARP缓存表中的某条记录没有使用,该记录就会被删除。

2 ARP欺骗攻击原理

从ARP协议的工作过程可知:ARP是以信任本广播域内所有主机为基础的,即某台主机只要接收到ARP数据包,就会对自己的ARP缓存表进行刷新,而并不验证该数据包的真实性和可靠性。这样做虽然效率很高,但却存在致命的风险,ARP欺骗攻击正是基于ARP协议的这一先天缺陷对网络进行攻击的,攻击者可以通过伪造ARP的响应数据包并发送给想要攻击的主机,使被攻击的主机获得错误的IP—MAC地址映射表。这一点非常容易实现,因为ARP协议并没有规定必须在接收到ARP的请求数据包后才能发送ARP的响应数据包,因此可以人为的制造很多个携带错误的IP—MAC地址映射表的ARP响应数据包并发送到广播域中,从而达到欺骗攻击的目的,造成被攻击的主机无法进行正常的网络通信。

3 ARP欺骗攻击的种类

3.1 假冒网关欺骗攻击

攻击者伪造ARP响应数据包发送到广播域,在伪造的ARP响应数据包中IP地址为网关的IP地址,但是MAC地址却不是网关的MAC地址,广播域内的主机根据接收到的伪造ARP响应数据包刷新自己的ARP缓存表,获得错误的网关IP地址和MAC地址之间的映射关系。此时,被攻击的主机发送到网关的所有流量全部被重定向到伪造的网关MAC地址,造成被攻击主机无法正常访问外部网络。

在受到假冒网关欺骗攻击时,Windows用户在cmd命令提示行下输入arp-a,可以查看到本机上的ARP缓存表中网关的IP所对应的MAC地址并非是网关真正的MAC地址。

3.2 中间人欺骗攻击

中间人欺骗攻击又称为ARP双向欺骗攻击,主要用于网络监听。攻击者S为了监听A和B两台主机之间的通信,先向主机A发送一个伪造的ARP响应数据包,在伪造的ARP响应数据包中IP地址为主机B的IP地址,而对应的MAC地址则为攻击者S的MAC地址,接着向主机B发送一个伪造的ARP响应数据包,在伪造的ARP响应数据包中IP地址为主机A的IP地址,而对应的MAC地址则为攻击者S的MAC地址,被攻击的主机A和主机B根据接收到的伪造ARP响应数据刷新自己的ARP缓存表,此时,主机A和B的通信数据实际上都发送给了攻击者S,再由攻击者S进行转发。在此,攻击者S扮演了中间人的角色,实现了对A和B两台主机通信的监听。

3.3 泛洪攻击

ARP欺骗木马病毒制造大量的ARP请求数据包,泛洪发往本广播域中的所有设备,导致交换机及主机等设备忙于处理ARP请求,致使这些设备的CPU使用率快速上升,直至CPU满载,导致网络中断。

4 ARP欺骗攻击的防御

4.1 IP地址与MAC地址的双向绑定

ARP欺骗攻击是由于被攻击的主机使用了伪造的ARP响应数据包刷新自己的ARP缓存而导致的。所以只要不让网关设备和网内主机刷新自己的ARP缓存表即可防御ARP欺骗攻击。在默认情况下,ARP缓存表是动态刷新的。为防范ARP欺骗攻击,可以将IP地址和对应的MAC地址进行静态的绑定,使之不进行刷新。

主机上对网关设备的IP地址和MAC地址进行静态的绑定方法为:在命令行模式下,输入命令:

arp-s网关IP地址网关MAC地址

需要注意的是,在主机重启后,ARP缓存表内容会丢失,即静态绑定的网关设备IP地址与MAC地址的映射关系也会丢失。因此往往将ARP绑定操作写成批处理文件并放置到“开始—程序—启动”中,使其在系统启动时即被加载执行。

这种方式的缺点是在网关设备上将校园网内所有主机的IP地址与MAC地址进行绑定是一个繁重的工作,因为校园中的主机数量多,而且还有很多笔记本等移动用户,使得MAC地址的静态绑定不易实现,另外主机上IP地址与MAC地址的绑定对没有计算机基础的普通用户来说也一件困难的事情。

4.2 使用AR P防火墙

对于普通用来说,使用ARP防火墙是一种简单有效的防御ARP欺骗攻击的方法,一般ARP防火墙都具备双向拦截的功能,一方面拦截接收到的外部ARP欺骗数据包,保证系统不受ARP欺骗攻击的影响;另一方面拦截本机对外发送的ARP欺骗数据包,避免本机感染基于ARP欺骗的木马病毒后成为攻击者。

理论上只要校园网的所有主机都安装上ARP防火墙,就可以有效防御ARP欺骗攻击的发生,但是要做到校园网内所有主机都安装ARP防火墙几乎是不可能做到的。

4.3 合理划分VLAN,减少广播域

ARP欺骗攻击是在同一个VLAN中进行的,一旦有某一台主机感染了基于ARP欺骗木马病毒,会迅速传染至整个VLAN中有漏洞的其它主机,如果VLAN过大,很容易形成泛洪攻击,另一方面也造成定位攻击者的困难,而如果通过合理划分VLAN,减小广播域,则可以将基于ARP欺骗的攻击有效地抑制在一个很小的范围内,确保网络其它VLAN中的主机不受攻击,而且还可以快速定位到攻击者,以便对其时行及时处理。

4.4 建立PPPoE接入服务器

PPP协议(Point-to-Point Protocol)又称点对点协议,是为了在同等单元之间传输数据包这样的简单链路设计的链路层协议,在以太网上通过PPP协议来进行用户认证接入的方式称为PPPoE (PPPover Ethe rne t),它的工作过程是这样的:

主机A要跟外界通信,首先主机A发一个PADI广播包,如果在这个以太网上存在PPPoE服务器,那么PPPoE服务器就会回复一个PADO单播给主机A,然后主机A再发一个PADR给PPPoE服务器请求建立连接,服务器收到后,则回复一个PADS单播包,分配一个Se s s ion ID, PPPoE连接建立。PPPoE属于点到点链路,这种链路的特点是一端发送的数据总会被另一端原顺序的接受到。连接建立后就可以不需要MAC地址,不涉及ARP协议,也就没有了ARP欺骗攻击之类的问题。网络连接如图1:

我校的校园网目前就是使用这种方法来解决ARP欺骗攻击问题的,其主要缺陷是PPPoE服务器数据交换压力过大,无法实现线速交换,用户在内部网络传送大文件时,速度要比直接接在交换机上要慢,其次就是无法对某一用户组分别设定外网带宽限制及内网的带宽限制。

4.5 全网部署802.1x认证系统

802.1x协议是IEEE为了解决基于端口的接入控制而定义的标准,也称为基于端口的访问控制协议,它提供了一种对设备进行认证和授权的方法,在认证和授权过程失败的情况下防止对端口进行访问。

在校园网接入层全面部署安全接入交换机,配合用户认证系统和安全策略平台,实现基于IEEE802.1x协议的身份认证系统,全校园网的用户必须要经过统一集中的身份认证方能允许接入网络。统一的身份认证系统利用802.1x协议基于MAC地址的逻辑端口认证特性,保障了认证服务器能够在用户认证过程中获取到用户真实的IP-MAC对应信息,认证服务器在接受用户端的上网认证请求后,要进行一系列的处理,当允许用户接入上网时,首先记录合法用户的IP和MAC地址并填入相关数据库的ARP列表,然后一方面给客户端发送允许上网的命令并下发记录在数据库中的对应该用户这一网段的正确的ARP列表内容,特别是网关的IP和MAC地址,并由802.1x认证客户端程序进行静态绑定,另一方面用这份正确的ARP列表更新网关中的ARP列表,并在网关重新静态绑定更新后的ARP列表,实现了网关及客户端IP-MAC地址双向静态绑定。当有新的用户请求接入时,重复以上操作,就可以保证绑定的ARP列表实时更新。当用户下线时在数据库的ARP表项中删除该客户端的IP-MAC记录并向网关及其它在线客户端发送更新后的ARP列表,重新进行静态绑定,所有的这些操作对用户来说都是透明的。实现过程如图2所示:

这是目前解决ARP欺骗攻击最完美的方案之一,唯一的缺点是成本较高,目前大部份中职学校的校园网尚未能全面部署802.1x认证系统。

5 方案的总结比较

上述五种方案各有优缺点,实现的成本也各不相同,我们可以根据本校校园网规模的大小以及客户端用户性质等实际情况,对这些方案进行重新优化组合以寻求到最适合本校校园网防御ARP欺骗攻击的解决方案。

参考文献

[1]Jeff Doyle, Jennifer Carroll.TCP/IP路由技术[M].人们邮电出版社, 2007.

[2]谢希仁.计算机网络 (第5版) [M].电子工业出版社, 2008.

[3]Cisco Systems公司.思科网络技术学院教程[M].人民邮电出版社, 2007.

上一篇:循环流化床焚烧处理下一篇:我国政府绩效审计