ARP欺骗原理与防范

2024-09-23

ARP欺骗原理与防范(共9篇)

ARP欺骗原理与防范 篇1

一、引言

在 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

假如 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.

ARP欺骗原理与防范 篇2

关键词:网络管理;ARP欺骗;ARP病毒攻击;IP地址管理;排查与防控手段

中图分类号:TP393.18 文献标识码:A 文章编号:1006-8937(2012)26-0076-04

回顾企业网络安全运行维护工作,有必要总结归纳近年来企业级网络管理系统和网络管理体系结构有效维护经验,有效利用网络管理防范与处理ARP欺骗、攻击相关经验。

从近年的网络运维,网络管理人员不断接到网络用户反映——“所在的网络在上网应用时网络时断时通,有时基本处于无法使用的状态”。而与此同时网络流量管理在对相应网段的监控中又没有异常情况发生,所以一时间很难使用常规的网络管理手段、经验加以判断与网络定位,从而给网络管理与网络维护提出了新挑战。

由于这种网络故障来的较突然,既没有可以参考的经验,又没有可用的网络协议分析仪等条件进行客观数据的实地采集,所以我们一开始采用的方法就是在网络交换机处对网段进行人为手工的“再细分”,用逐段排除法对有问题的PC机进行定位后再采取整治方法,但这种方法费时费力,排除故障时间长。通过对故障网络现场观察和体会,加上对网络TCP/IP协议的分析后,得出对ARP网络欺骗和ARP网络病毒攻击的初步感性、理性双重认识。那就是如何认识ARP欺骗与攻击的共同点和区别,采取有效的防控手段来遏制这些网络安全威胁。

1 ARP欺骗分析

ARP协议是一种将IP转化成以IP对应网卡的物理地址的协议,或者说ARP协议是将IP地址转化成MAC地址的一种协议。它靠内存中保存的一张表来使IP得以在网络上被目标机器应答。在我们企业网络架构的Vlan中,以太网的每一帧有两种方式传输。一种对外传,就是用户有一个需求,当需要透过路由将网络帧转发到别的Vlan时,需要通过本地Vlan的网关。另外一种是内传,当有用户需求就在本身这个Vlan网络中时就不需要网关了。

当遇到ARP欺骗的时候,我们就会发现原本发送给本地Vlan网关的数据帧,没有得到本地Vlan网关MAC正确的回应。从而导致用户任何应用都没有办法使用了,就感觉到反复“掉线”或者“断线”,网络好像处在“震荡”中,迫使网络用户重新启动自己的计算机以期重新获得联网的需求,此时正好中了欲进行ARP欺骗计算机的“招”,当用户在重新启动自己计算机获得IP地址和本网段网关MAC地址时,进行ARP欺骗的计算机就会以自己网卡的MAC地址代替本网段网关的MAC地址,以至于给用户一个重新获得上网的感觉,其实用户这时所有的外传以太网帧全部发给了正在行使ARP欺骗的计算机,这就是ARP欺骗在一个Vlan中的基本原理。

进行网络ARP欺骗的计算机在进行MAC欺骗的过程中,会将已知某其它主机的MAC地址用来使目标交换机向欺骗计算机转发以该主机为目的地址的数据帧。通过发送带有该主机以太网源地址的单个数据帧办法,网络欺骗计算机改写了CAM表格中的条目,使得交换机将以该主机为目的地址的数据包转发给该网络实施ARP欺骗的计算机。除非该主机重新启动PC并从网络中获取地址时CAM表中对应的条目会被再次改写,以便它能恢复到原始的端口。但是否会再次受到ARP的MAC欺骗就取决于本网段中是否存在这样的欺骗计算机了。

网络欺骗——MAC的欺骗从来不会停止于只在本网段内进行“欺骗”,它很快就演变为与网络病毒相结合的具有网络攻击特征的更具传染与杀伤力的——“地址解析协议(ARP)攻击”。

当有人在未获得授权就企图更改MAC和IP地址ARP表格中的信息时,就发生了ARP攻击。通过这种方式,黑客们可以伪造MAC或IP地址,以便实施如下的两种攻击:“服务拒绝”和“中间人攻击”。

目前以“服务拒绝”演变出来的攻击以网络上多种病毒为主,它们会发送假冒的ARP报文,比如发送网关IP地址的ARP报文,把网关的IP对应到自己的MAC上,或者一个不存在的MAC地址上去,同时把这假冒的ARP报文在网络中广播,所有的内部PC就会更新了这个IP和MAC的对应表,下次上网的时候,就会把本来发送给网关的MAC的报文,发送到一个不存在或者错误的MAC地址上去,这样就会造成网络断线了。

这就是ARP地址欺骗攻击,造成内部PC和外部网的断线,该病毒在满足一定条件的时候会表现的特别猖獗。也对企业内部分局部网段造成非物理“断网”的中断网络破坏,由于它与网络病毒相结合,所以无论在传播的速度和攻击特性都有较大的“聚变”,ARP 地址欺骗攻击的实施是通过伪造IP地址和MAC地址实现ARP欺骗的同时,能够在网络中产生大量的ARP通信量,使网络阻塞或者实现“中间人攻击”(man in the middle) ,进行ARP重定向和嗅探攻击。当攻击源大量向局域网中发送虚假的ARP信息后,就会造成局域网中机器ARP缓存的崩溃。

下面给出ARP欺骗攻击在Vlan229网络交换机上所看到的特征。

3 原因分析

从对感染ARP欺骗的欺骗攻击病毒计算机进行现场查杀和计算机系统安全基本要求方面的检查来看,这些计算机大多存在如下的共同特征:

①系统安全补丁严重缺失,有的Winxp在SP2后只有一个补丁,所以补丁缺少很多(约两年)。

②计算机开机进入系统时几乎都缺少系统应有的“口令”。有的只有弱口令。

③大部分这样的计算机系统无防病毒软件或没有及时对防病毒软件升档,特别是企业网络中使用的Symantec通知升级后不执行升级就导致防病毒策略与防病毒代码无法及时更新。

ARP欺骗原理与防范 篇3

1 ARP协议

ARP协议即地址解析协议,英文全称Address Resolution Protocol,是TCP/IP协议中用来解析网络节点地址的底层协议。它工作在数据链路层,在本层和硬件接口联系,同时对上层提供服务。地址解析是限于在一个网络内进行的本地行为,只有在两台计算机都连在同一物理网络中的情况下,一台计算机才能解析另一台计算机的地址。为了解释ARP协议的作用,就必须理解数据在网络上的传输过程。这里举一个简单的PING例子。

假设我们的计算机IP地址是10.10.10.1,要执行一个命令:ping10.10.10.2.该命令会通过ICMP协议发送数据包,这个过程要经过下面几个步骤:

1)应用程序构造数据包,该例子是产生ICMP包,被提交给内核(网络驱动程序);

2)内核检查是否能够转化该IP地址为MAC地址,也就是在本地的ARP缓存表中查看IP-MAC对应表;

3)如果在该表中存在对应关系,则将IP地址转化为MAC地址,然后封装在以太网头结构中,再把数据发送出去;

4)如果在该表中不存在对应关系,内核会进行ARP广播,目的地的MAC地址是FF-FF-FF-FF-FF-FF,ARP命令类型为RE-QUEST,其中包含有自己的MAC地址;当10.10.10.2的主机接收到该ARP请求后,就发送一个ARP的REPLY命令,其中包含自己的MAC地址;本地获得10.10.10.2主机的IP-MAC地址对应关系,并保存到ARP缓存中。

使用arp–a命令可以查看本地的ARP缓存内容。所以,执行一个PING命令后,ARP缓存中就存在一个目的IP的记录了。当然我所说的前提是数据包在同一网段内的传输,如果你的数据包是发送到不同网段的目的地,那么就一定存在一条网关的IP-MAC地址对应记录。

由此可见,数据包的传送是很依赖ARP协议的,准确的说是ARP缓存表。

2 ARP欺骗攻击原理分析

基于以上的ARP协议工作流程,我们不难发现ARP欺骗攻击的关键就是对ARP缓存表的欺骗。

我们先来看看在同一网段下的ARP欺骗:如图1所示,三台主机。

一个位于主机B的入侵者想非法进入主机A,可是主机A上装有防火墙,当得知主机A的防火墙对主机C有信任关系,开放了23端口(telnet),那么主机B就会想办法通过telnet进入主机A。首先,入侵者必须让主机A相信主机B就是主机C,在主机C当掉的同时,主机B以10.10.10.3的IP地址通过23端口telnet到主机A上。成功绕过防火墙的限制。可是网络内部,两台主机之间的信任关系往往是建立在硬件地址基础上的,这个时候就要用到ARP欺骗的手段让主机A把自己的缓存表中关于10.10.10.3映射的硬件地址改为主机B的硬件地址。我们可以人为的制造一个arp_repla响应包,发送给想要欺骗的主机A,当主机A收到这个响应后就会对自己的缓存表进行修改来添加这个“新”的映射关系,这样你就成功伪装成了主机C,接下来你就可以和主机A之间通过telnet进行正常的通信了。在这个过程中你所需要做的工作就是等待时机,当主机C在网络中停止工作后,入侵者将自己的IP改为10.10.10.3,然后通过工具伪造一个源IP地址为10.10.10.3源MAC地址为bb-bb-bb-bb-bb-bb的响应包给主机A,要求主机A更新自己的ARP表,当新的映射对应关系建立后,防火墙就失效了,把你当做它所信任的主机C来对待了。

如图2,不同网段的ARP欺骗:同样的环境下,三台主机。

主机B的网段是10.10.20的话如何对主机A进行欺骗呢?如果还是用上面的方法的话,显然是行不通的,这里涉及到路由的问题,路由器不会把主机A发给主机B的包发出去,而是停留在了10.10.10的网段,直到被丢弃。因此,当这样一种情况下时,我们就要用到ICMP重定向。把ARP欺骗和ICMP重定向结合起来就可以实现跨网段欺骗了。

ICMP重定向是ICMP控制报文中的一种,它的作用是在特定的情况下,当路由器检测到网络中有一台机器使用的路由并非最优路由时,它会向该机器发送一个ICMP重定向报文,告诉这台机器改变路由。路由器也会把初使数据报向它的目的地转发。

在实施欺骗前,为了让伪造的IP包能够在网络上多存活久一点,我们要对IP包的生存时间TTL进行一下修改,TTL=255。(TTL定义了一个数据包在网络上存活的时间,在规定的时间内,如果数据包还未找到目的地则将被丢弃。)还是同样的等待时机,当主机C停止工作后,该网络中的主机A找不到原来的10.10.10.3了,将更新自己的ARP对应表,这个时候我们发送这个源IP地址为10.10.10.3MAC地址为bb-bb-bb-bb-bb-bb的ARP响应包,这下主机A就知道了新的MAC地址对应10.10.10.3了,ARP欺骗完成。但是,主机A只会在10.10.10的网段寻找这个地址,而不会把这个数据包交给路由。于是我们还要伪造一个ICMP的重定向广播,告知主机A,到10.10.10.3的最优路径不是在10.10.10的网段,而是交给路由,请主机A重定向你的路由路径。主机A接到这个重定向报文后,于是修改自己的路由路径,把所有去往10.10.10.3的包都交给路由器。这样主机B就能在10.10.20的网段收到来自主机A的数据包了。

其实上面这种情况只是一种理想化的方法,真正实现起来是非常困难的,因为在TCP/IP协议中关于ICMP重定向报文有许多的限制,要实现ICMP的欺骗需要做其他大量的排除限制工作,这又涉及到其他的网络攻击手段,在这就不做叙述了,但是我们已经知道了对于不同网段之间的ARP欺骗原理。基于这些原理,我们可以做到很好的防范措施来阻止ARP欺骗在你的网络里蔓延。

3 ARP欺骗防范措施

通过上面的讲述,我们可以看到ARP协议的的缺陷所在:ARP协议是建立在信任局域网内所有节点的基础之上,本身不会对请求包和响应包进行验证核实,只要收到目的MAC是自己的ARP响应包或请求包,都会接收并存入自己的缓存表。ARP欺骗攻击主要就是利用了ARP协议自身的漏洞,在日常的维护中我们可以通过一些措施来提高网络的安全性。通常可以从网络设备端和用户端两个方面对ARP攻击进行防范。

网络设备端的防范措施有:

1)在三层交换机上实时监控用户的IP-MAC对应表,当用户的MAC地址发生了变化,就在交换机上禁止这个MAC地址的通讯数据。也可以在二层交换机上实现MAC控制功能。限制用户端接口上最大可以上传的MAC数量,限制单个端口所连接MAC地址的数目,可以控制整个二层交换机CAM表长度,可以防止ARP病毒攻击。对超过额定数量的MAC地址进行禁止和报警处理。

2)在交换机上做IP+MAC+端口的绑定,端口的绑定大大降低了ARP欺骗的可行性,伪造包就是伪装得再逼真也无法通过被欺骗机器所接入的端口。

3)将交换机上的VLAN进一步划小。由于ARP报文是一种广播报文,它只能在一个广播域内传输通过VLAN技术可以隔离广播域。将交换机上每一个用户的端口对应一个单独的VLAN,隔离被欺骗的用户,减小ARP攻击对其它用户的影响。

用户端计算机的防范措施有:

1)为计算机安装杀毒软件如并设置为每天定时自动更新,及时更新病毒库;安装ARP防火墙,对计算机进行实时监控;通过WindowsUpdate为系统下载安装最新的补丁程序。

2)静态ARP缓存表,每台主机都有一个IP-MAC对应表,使用静态的ARP绑定正确的MAC是一个有效的方法;

3)关闭一些不需要的服务,关闭一些没有必要的共享,包括C$、D$等管理共享,关闭一些用不上的通讯端口;

4)编写一个批处理文件arp.bat,实现将交换机网关的MAC地址和网关的IP地址的绑定,内容如下:

arp-d

arp-s网关IP网关MAC

将此批处理文件拖到“开始—程序—启动”中,以便用户每次开机后计算机自动加载并执行该批处理文件。

(5)ARP高速缓存超时设置。在ARP高速缓存中的表项一般都要设置超时值,缩短这个超时值可以有效的防止ARP表的溢出。

4 结束语

ARP本身并不能造成多大的危害,一旦被结合利用,其危险性就不可估量。由于ARP的漏洞所在,对ARP攻击的防范也很被动,我们只有提高防范意识,密切监控网络运行情况,及时对病毒进行查杀,才能保障网络的安全畅通。

参考文献

[1]赵晓峰.园区网ARP欺骗攻击防御模式设计与实现[J].计算机技术与发展,2007.

[2]邓岳.ARP病毒防范初探[J].电脑知识与技术,2007.

[3]李英.浅析ARP协议及欺骗原理.中国科技信息,2007.

[4]Douglas E.Comer.计算机网络与因特网[M].林生,译.北京:清华大学出版社,2005.

基于ARP欺骗内网渗透和防范 篇4

关键词:ARP欺骗;内网渗透;防范

中图分类号:TP393.08 文献标识码:A 文章编号:1674-7712 (2014) 18-0000-01

就整体而言,ARP是保障计算机网络正常、安全运行的一个重要的协议,该协议的目的主要是为了使得IP和对应的MAC之间能够进行相互转换,最终实现网络设备的访问。近年来,许多的非法网络用户利用ARP协议存在的不足,进行监听、获取他人在网络上所传输的信息的非法行为,严重威胁着网络运行的安全,而ARP协议欺骗也成为了一种十分严重的网络威胁。ARP协议欺骗,指的是网络中的非法用户利用协议的弱点,冒充其中一方与另一方进行通信的行为。对于现今交换式的网络环境,如果希望截获网络上不属于自己的通信,完全能够依靠协议欺骗来达到。

一、协议欺骗及内网渗透

(一)ARP协议欺骗

ARP协议能够达到保障IP地址和MAC地址之间顺利转换、进行网络设备访问的目的。ARP协议的工作原理具体如下:首先是利用网络上的通信源向网络发出ARP的请求包,要求取得网络IP所对应的MAC地址;接着,利用该IP的机器向请求方发送含有相应MAC地址的ARP回应包,这样就能够明确数据发送的最终目的。

ARP欺骗可以分为多种类型,依据内网的划分,其中一种是同一网段的ARP欺骗,而另一种则是不同网段的ARP欺骗;依据影响网络连接的方式划分,一种是路由器ARP表的欺骗,另一种则是内网PC的网关欺骗。

(二)内网渗透

在计算机领域,基于ARP协议欺骗的内网渗透也可以称为无漏洞渗透技术,主要是针对利用软件的漏洞来渗透网络的行为而言。利用无漏洞渗透技术在以太网的使用中,用户可轻松的截取经过本地网卡中的数据包信息,甚至是进行数据包内容的替换,对其他的合法用户造成巨大的危害。因为ARP欺骗,交换机将会自动的把信息传送到非法网络用户的MAC地址上,进行发生信息的泄露情形。

二、ARP欺骗内网渗透带来的危害

(一)数据包的处理

网络中的非法用户利用无漏洞渗透技术进行欺骗,主要是为了数据包的获得。他们将会依据自身的目的对于所截获的数据包进行不同的处理。其中一种处理方法就是获取数据包中的敏感信息。非法用户在截获数据包之后,通过对信息的还原可以获取更多的敏感信息,如经过加密WEB页面的用户名、密码,进而利用这些信息进行非法的活动,这对于原先的用户将会造成十分严重的损失。另外一种就是对于传送的实体进行获取和替换。对于传输中的文件实体的获得相应比较简单,包括HTTP协议、SMTP协议等内容都能够通过还原措施获得。

(二)数据包内容的替换

另外,通过ARP欺骗进行内网渗透之后,非法用户可以进行一系列的非法行為,包括截获WEB的请求、获取正常WEB页以及进行替换连接、进行伪装数据包的发送等。当出现了ARP欺骗之后,用户就能够不断地达到截获、转发被欺骗目标之间的数据信息的目的。还能够对获取的页面进行内容的更改,或者是替换其中的链接页面,甚至是对于截获的回应包中的序号和确认号、“最后修改时间”、“文件长度”等信息进行伪造。

三、基于ARP欺骗内网渗透防范

(一)防范的基本原则

对于更好的进行ARP欺骗内网渗透防范需要遵循一定的原则,第一是,用户不能把自身的网络安全建立在IP地址、硬件mac地址的基础上,而更应该依靠IP+mac的前提下;其次,用户需要对计算机的静态macIP对应表进行设置;在不必要的情形下,把ARP当做永久条目进行保存,不使用该协议;尽量使用代理的网关进行信息的传送。

(二)具体的防范措施

1.静态绑定

在进行ARP欺骗内网渗透防范措施中,最常见的方法是进行IP和MAC的静态绑定,对于网内中的主机和网关都进行绑定,为了更加保险,用户可以对网关同样进行IP和MAC的静态绑定。这是因为ARP欺骗主要是通过IP的动态变化来欺骗内网中的机器,所以只要把ARP设置为静态就能够防止这种欺骗的发生。

2.ARP防护软件的使用

利用ARP防护软件同样是进行内网渗透防护的有效方法,就目前而言ARP防护软件类型比较多样,但是使用范围以及频率比较广的还是Antiarp。这种防护软件不但能够很好的检测出ARP的攻击,而且还能够达到正确传送用户之间信息的目的。该防护软件的另一大优势就是界面十分的简单,操作相对简便,用户能够很好的利用该软件进行ARP欺骗内网的渗透防护。

3.ARP防护功能的路由器的使用

第三种将要介绍的ARP欺骗内网渗透防护措施是正确的使用具有ARP防护功能的路由器。使用这种路由器之后,能够定期的传送出用户的正确数据信息。但是,使用这种路由器的一大弊端就是面对真正的网络安全攻击的时候,不能发挥出真正的保护作用。所以,为了更好的保护上网信息的安全性,用户需要使用更多的防护措施,达到保护上网安全的目的。

四、结束语

基于ARP欺骗的内网渗透主要是利用协议欺骗进行的,非法用户通过欺骗、渗透等手段获取网络中的数据以达到自身的非法利益,这将会对网络用户的利益造成巨大的损害。因此,采取有效的防护措施加强网络的安全性势在必行。

参考文献:

[1]车树炎,苏冠东.基于ARP欺骗攻击网络安全性的研究[J].电脑知识与技术,2012(24).

[2]张健,李焕洲.网络嗅探原理及其检测和预防[J].四川师范大学学报(自然科学版),2009(01).

[3]李志刚.ARP欺骗的形成与安全防御策略探究[J].江苏技术师范学院学报,2011(10).

ARP欺骗原理及其防范的研究 篇5

当网络中的主机或网关需要向局域网内的设备发送数据包时,首先会查询本地的ARP缓存表是否存在目的设备的MAC地址,若存在则将目的设备的MAC地址写入并发送,若不存在对应的条目,则向网络中发送广播ARP请求报文,要求获取此IP的MAC地址。局域网内所有主机都会收到此请求报文,只有目的设备会回复一个单播ARP响应报文,并写入自己的MAC地址。源主机收到ARP响应后,将其中的条目添加到本地的ARP缓存表,以便下次通信进行查询。攻击者利用ARP协议无连接、无认证的特性可以很容易进行ARP欺骗,毒化网络设备的ARP缓存表,使得送往特定IP的数据包无法正确送达,以施行更进一步的攻击。

本文将首先解释ARP欺骗的攻击原理并介绍具体的攻击方法和攻击范围,接着列举出目前已经出现的ARP欺骗攻击防御方法,最后通过分析这些方法的实现过程,得出各个方法的优缺点。

1 ARP欺骗攻击

1.1 攻击原理和方法

ARP是一个无状态的协议,并且其响应报文未经认证,所有主机都盲目地将从网络中获取的ARP响应缓存至本地的ARP表,使得攻击者能以一定速率向攻击目标发送伪造的ARP报文来实施攻击。

ARP欺骗主要达到两种攻击效果:

(1)中间人攻击(Man-in-the-middle attack):如图1所示,攻击者B(IPB,MACB)在通信的设备A(IPA,MACA)与C(IPC,MACC)之间充当中间人,将伪造的ARP报文发送到A,假冒主机C,将伪造的ARP报文发送到C,假冒主机A。主机A与C在接收到伪造的ARP报文后,错误地刷新了ARP缓存表里的IP、MAC地址映射关系,导致A与C之间通信的数据都发送到了攻击者B。攻击者B同时开启路由功能,将A与C通信的数据由B转发给对方。这样使得攻击者B在A与C在毫无察觉的情况下,可以窃听它们的通信内容。

(2)DoS攻击(Denial of service):如图2所示,攻击者B将伪造的ARP报文发送到主机A,假冒主机C的IP地址,但MAC地址设为一个不存在的地址。主机A错误地刷新了ARP缓存表后,导致主机A与主机C之间的通信终端,造成拒绝服务。

1.2 攻击范围

ARP欺骗攻击目前只存在于局域网内,文献[3]提出使用ICMP重定向和ARP欺骗共同作用,来实现跨网段的ARP欺骗。然而,文献[2]通过研究发现,受ARP欺骗的主机不会无条件的接收ICMP报文,在通常情况下,为防止路由器和主机的误操作或者某些恶意用户的破坏,主机在更改本机路由表前要做一些检查,以免错误修改本地路由表。而攻击目标不会接收此跨网段的ICMP重定向报文,攻击者也就不可能在网段外截获攻击目标的分组,跨网段的ARP欺骗也难以实现。本文将只以局域网内的ARP欺骗进行讨论。

2 ARP欺骗的解决方法

2.1 人工防范

网络管理员在主机和路由器上静态绑定正确的地址,这样设备即使收到伪造的ARP报文,它的ARP缓存表也不会被毒化,而是直接丢弃伪造的ARP报文。这种方法的优点是非常有效,实施起来很简单。但是这种方法的缺点是可扩展性差,只能实施在小规模的局域网内,当网络的规模扩大时,手动绑定的方法会使工作量剧增,而且这种方法不适用于自动分配IP的网络中,也无法动态适应网络中的变化。

2.2 基于Snort的检测防范

Snort是一个功能强大的网络入侵检测系统,可以进行实时流量分析、数据包记录、协议分析以及内容查询匹配。但是Snort在ARP欺骗的检测防御方面却有着明显的缺陷。文献[4]提出,通过修改Snort的ARP欺骗插件,增加ARP检测模块用以抵御检测ARP欺骗。检测模块会以一定频率读取本地的ARP缓存表,并且与配置文件中正确的网关地址映射相比较,绑定正确的映射,当发现本地ARP缓存表异常时,立即输出警告。

这种方法的优点是可以定期检测本地的ARP缓存表,防止被毒化,实施简单,并且不需要设备的支持,只需要在软件中增加插件即可实现ARP欺骗的防御。但是这种方法的缺点很明显,抵御ARP欺骗的能力依赖于配置文件,配置文件的创建、修改、管理对管理员的工作增加负担,而且对网络中的动态变化适应性较差,需要人工修改配置文件。

2.3 思科端口安全

在局域网中,与主机相连的思科交换机的端口上配置端口安全(Port Security),可以限定在端口上使用的MAC地址数,阻止未授权的MAC地址访问,实现MAC地址与端口的绑定。

思科的端口安全支持3种安全MAC地址类型:

(1)静态配置:静态安全MAC地址是用户通过CLI或SNMP将安全MAC地址配置的地址。

(2)动态学习:动态安全MAC地址是在接受到连接在安全端口上主机发来的包时学到的。

(3)粘性类型:粘性安全MAC地址也是通过安全端口上主机发来的包学到,并且当交换机重启时,仍然有效。

当局域网中的交换机将端口上最大安全MAC地址数配置为1的时候,端口将只学习或保存一个特定的MAC地址。当一个端口达到它所配置的最大安全MAC地址数的时候,此时无法再在次端口添加任何安全MAC地址。

在交换机妥当配置端口安全的网络中,攻击者所发送的伪造ARP报文在到达相连的端口时,伪造的报文会被认定未非法并丢弃,伪造的报文无法在局域网内传播也就无法毒化局域网内主机的ARP缓存表,很好地缓解了ARP欺骗攻击所造成的影响。

这种方法可以很好的防御ARP欺骗攻击以及一些基于MAC地址的攻击,如MAC洪泛等,并且无需修改ARP协议,但缺点是技术要求较高,而且思科设备价格不菲,投入资金较大。

2.4 思科动态ARP检测技术

思科的动态ARP检测(Dynamic ARP Inspection,DAI)技术提出,利用DHCP snooping技术来检测和防止ARP欺骗的发生。思科DAI技术的工作流程下,交换机在有DHCP服务器的局域网中,监听主机从DHCP服务器获取的IP地址,并将此IP地址及其MAC地址的映射存入数据库中,在接受到ARP报文时,将其IP与数据库中的条目进行比较,丢弃无效的ARP报文。

思科的DAI技术无需修改协议和DHCP服务器,方便了安全环境的搭建,并且可以动态适应网络中的变化,减轻人力,有效抵御局域网内的ARP欺骗攻击。这种方法的缺点是局域网内的设备必须支持DHCP Snooping,对设备要求较高。

3 结束语

本文对ARP欺骗的原理和攻击手段进行了详细的介绍和分析,同时对现阶段比较常见的一些检测防御方法进行总结,比较了这些方法的优缺点。下一步工作将进一步研究ARP欺骗防御方法的完善,探讨可信安全局域网的实现。

参考文献

[1]Gao Jinhua,Xia Kejian.ARP Spoofing Detection AlgorithmUsing ICMP Protocol:2013 International Conference onComputer Communication and Informatics,Coimbatore,India,2013[C]Technique 10.1109/ICCCI.2013.

[2]杨杨,房超,刘辉.ARP欺骗及ICMP重定向攻击技术研究[J].计算机工程.2008.

[3]Rueppel R A.A Formal Approach to Security Architectures[C]//Proc.of Eurocypt’91.New York:[s.n.].1991.

[4]Hou Xiangning,Jiang Zhiping,Tian Xinli.The detectionand prevention for ARP Spoofing based on Snort:2010International Conference on Computer Application and SystemModeling,Taiyuan,China,2010[C]Technique 10.1109/ICCASM.2010.

[5]王达.Cisco/H3C交换机高级配置与管理技术手册[M].中国水利水电出版社.2012.

ARP欺骗原理与防范 篇6

关键词:局域网,ARP,攻击

一、背景

很多公司的局域网中的计算机系统经常受到一种“地址解析协议欺骗”(ARP欺骗)的恶意木马程序的入侵破坏,导致局域网出现突然掉线,过一段时间后又会恢复正常的现象,或者出现IP地址冲突、频繁断网、IE浏览器频繁出错以及系统内一些常用软件出现故障等问题,严重影响了公司的日常工作。

二、ARP攻击原理

ARP(Address Resolution Protocol),地址解析协议,在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址,ARP协议用于将网络中的IP地址解析为的硬件地址(MAC地址),以保证通信的顺利进行。

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

ARP协议是建立在信任局域网内所有结点的基础上的,它很高效但不安全。它是无状态的协议,它会要求局域网内的主机检查自己是否发过请求包,也不管是否是合法的应答,只要收到目标主机的MAC是自己的ARP Reply包或ARP广播包(包括ARP Request和ARP Reply),都会接受并更新自己的ARP列表。这种机制这就为ARP欺骗提供了可能,局域网内的恶意主机,可以发布虚假的ARP报文,提供虚假的IP地址和MAC地址的对应关系,从而影响局域网内主机之间的通信,甚至把自己伪装成网关,造成局域网所有的主机无法连接因特网。

三、防范

1、手工方式

(1)在能上网时,进入MS-DOS窗口,输入命令:arp–a查看网关对应的正确MAC地址,将其记录下来。如果已经不能上网,则先运行一次命令:arp–d将arp缓存中的内容清空,计算机可暂时恢复上网,一旦能上网的话,就立即将网络断掉(采用禁用网卡或拔掉网线的方法),再运行arp–a查看网关的正确MAC地址。

(2)将网关的IP地址和正确的MAC地址进行绑定:方法是在在MS-DOS窗口下运行如下的命令格式:arp–s网关的IP地址网关的MAC地址

注意:每次开机的时候,主机的ARP缓存区都清空,所以上述的设置就会失效,需要每次开机后重新进行设置。也可以直接编写一个批处理文件.bat,内容如下:@echo offarp–d arp–s网关的IP地址网关的MAC地址,把这个批处理文件拖到“开始———程序———启动”中,每次开机自动运行。

2、安装专业的ARP防火墙软件

360安全卫士、瑞星防火墙等软件一般都有带有ARP防火墙的功能,只要开启ARP实时保护的设置,就可以有效抵御ARP欺骗攻击。

“ARP欺骗”的恶意木马程序主要在局域网内进行攻击,而且的危害性比较大。因此,在局域网中的每一个计算机用户要提高警惕,做好防范工作,杜绝此类现象的发生。

参考文献

ARP欺骗原理与防范 篇7

ARP协议(Address Resolution Protocol),中文称为地址解析协议。在局域网中,当网络设备的网络层地址已知而数据链路层地址未知时,ARP协议可以根据网络层地址查询出相应的数据链路层地址,从而保证通信的顺利进行。因此,ARP是网络中一个非常重要的协议,然而,由于当初设计时并未进行安全性方面的考虑,目前在网络上出现了很多利用ARP本身缺陷进行网络攻击的行为,给网络安全带来了极大的挑战。本文在对ARP协议进行简要介绍的基础上,分析了利用ARP协议漏洞进行网络攻击的原理和常见的攻击方式,并利用libnet程序库进行了模拟攻击程序的实现。

2 ARP的工作原理

图1展示了ARP基本的报文格式,其中硬件类型字段指明了发送方想知道的硬件接口类型,以太网的值为1。协议类型字段指明了发送方提供的高层协议类型,IP为0806(16进制)。硬件地址长度和协议长度指明了硬件地址和高层协议地址的长度,这样ARP报文就可以在任意硬件和任意协议的网络中使用。操作类型字段用来表示这个报文的目的,ARP请求为1,ARP响应为2,RARP请求为3,RARP响应为4。

在协议的实际实现中,为了避免过于频繁的发送ARP请求,TCP/IP协议栈维护着一个ARP缓存表,在构造网络数据包时,首先从缓存表中找目标IP地址对应的MAC地址,如果找不到,才发送一个ARP Request广播包,请求具有该IP地址的主机报告它的MAC地址,当收到目标IP所有者的ARP Reply后,更新ARP缓存,加入新收到的MAC地址。ARP缓存表具有老化机制,一般来说,每个表项的生存期为20分钟,时间到后该表项将被删除,如后续还需使用,则重新进行ARP请求。

3 常见的ARP欺骗方式

为了便于说明,假设目前存在一个网段,网段中有ABCD四台主机,IP地址为192.168.0.1-192.168.0.4,子网掩码都为255.255.255.0。

3.1 假冒ARP Reply单播

假设此时C主机想截获A主机发送给B主机的数据,则C主机可以给A主机发送一个ARP Reply报文。报文中的源IP地址填上B主机的IP地址192.168.0.2,而源硬件地址则填上C主机自己的MAC地址,因为ARP协议是无状态的,当A主机收到该报文后,即使它并未请求过B主机的MAC地址,它也会接收该响应报文,更新ARP缓存中的相应表项,此后,只要该表项没有被删除或更新,A主机所有发往B主机的数据都实际发向了C主机。因为该响应报文是单播发送的,所以其他主机和B主机的通信并不会受到影响。

3.2 假冒ARP Reply广播

该方式和前一种类似,只是将单播改为了广播。假设C主机想截获网段中所有机器发给B主机的数据,C主机可以构造内容和上文相同的ARP reply报文,然后广播发送给网段上的所有主机,这样就会更新所有主机中的ARP缓存,截获所有其他主机发给B主机的数据。

3.3 假冒ARP Request广播

ARP欺骗同样可以用ARP Request报文实现。假设C主机想截获网段中所有机器发给B主机的数据时,除了采用上述第二种方式,还可以采用更隐蔽的假冒ARP Request广播的方法。此时C主机可以构造这样一个ARP请求报文,源IP地址为B主机的IP地址,源硬件地址为C自己的MAC地址,目的IP地址可以填写一个并不存在的IP地址,如192.168.0.5。然后将该报文广播到网段上。表面上看来,该报文是在请求IP地址为192.168.0.5的主机的MAC地址,实际上它是在宣扬B主机IP地址和C主机MAC地址这样一个错误的映射关系。根据ARP协议的实际实现,当主机收到不是给自己的ARP请求时,会检查一下自身的缓存表中有无相应的源IP地址和源硬件地址的对应表项,如果有,并且MAC地址和收到的ARP请求中所对应的MAC地址不同,则进行更新。这一方法本意是为了减少网络中的ARP请求,利用收到广播报文的机会顺便更新自己的ARP表,但是却可以被利用成为一种攻击手段,并且比直接发送ARP Reply报文更加隐蔽。

3.4 假冒ARP Request单播

该方式和第三种方式类似,如果C主机只想截获主机A发送给主机B的数据,这只需要构造一个ARP Request报文,源IP地址填上B主机的IP地址,源硬件地址填上C主机的MAC地址,目的IP地址填上A主机的IP地址,然后单播发送给A主机,根据ARP协议要求,A主机收到该请求报文后,在发送响应的同时,不管原来缓存中是否有源主机IP和硬件地址的映射表项,都要按照刚收到报文中的源主机IP和硬件地址进行更新。这样,A主机所有发往B主机的数据实际都发往了C主机。

3.5 中间人欺骗

上述四种欺骗方式只能实现单向欺骗,对于采用TCP等需要双向通信的协议来说无效。此时需要进行中间人欺骗。同样假设C主机想截获A主机和B主机之间的通信,此时需启动C主机上的IP Routing功能,使C主机可以对IP包进行转发。然后,分别向A主机和B主机发送两个单播ARP Reply欺骗报文,使A主机认为B主机的硬件地址为C主机的硬件地址,B主机认为A主机的硬件地址为C主机的硬件地址。这样,AB主机之间的通信数据首先都会发送到C主机,C主机在截获后,再通过IP Routing功能将数据发送到真正的目的地,这样,AB主机之间的通信不会断流,但所有数据都可以被C主机截获复制。图2为一个中间人欺骗的示意图。

4 基于libnet的arp攻击的模拟实现

libnet是目前应用最广泛的一套开源的网络开发程序库,与传统的socket编程相比,libnet可以更加深入到网络协议的底层。libnet提供一系列的接口函数,实现和封装了数据包的构造和发送过程,利用它程序员可以亲自构造从应用层到链路层的各层协议的数据包头。libnet最初是在Unix操作系统上实现的,目前已被移植到Linux和Windows等操作系统,因此使用libnet能很方便地编写出结构化强、健壮性好、可移植性高等特点的程序。libnet的使用非常简单,一般情况下,只需按照图3所示的流程,即可完成网络数据的发送。

在该文中,我们利用libnet实现的是ARP攻击,因此,上述开发流程具体对应为的调用下列libnet的API函数:

1)数据内存初始化:调用libnet_init()函数进行初始化操作。

2)构造数据包:因为ARP协议本身是工作在网络层上的,其报文又由底层的以太网层负责传送,因此,在构造数据包时,需要分为两步,先调用libnet_build_arp()函数构造ARP报文,再调用libnet_build_ethernet()函数构造以太网帧来发送刚刚构造的ARP报文。

3)发送数据:调用libnet_write()进行数据的发送。

4)释放资源:调用libnet_destroy()进行资源的释放。

在第二步构造数据包时,根据对libnet_build_arp()和libnet_build_ethernet()函数设置不同的参数,可以灵活的实现上文所述的各种欺骗方式。以C主机假冒B主机对A主机实行ARP Request单播欺骗为例,可以用下列C代码实现,其中A主机IP地址为192.168.0.1,MAC地址为00-50-8D-64-73-B9,B主机IP地址为192.168.0.2,C主机IP地址为192.168.0.3,MAC地址为00-50-8D-13-24-A3。

l=libnet_init(LIBNET_LINK_ADV,device,error_information);/*初始化libnet*/

char*destination_ip_str="192.168.0.1";/*目的A主机IP地址字符串变量*/

char*source_ip_str="192.168.0.2";/*源主机B IP地址字符串变量*/

u_char hardware_source[6]={0x00,0x50,0x8D,0X13,0x24,0xA3};/*C主机冒用的B主机MAC地址*/

u_char hardware_destination[6]={0x00,0x00,0x00,0x00,0x00,0x00};/*目的MAC地址,ARP请求报文中目的硬件地址应该为全0*/

unsigned char ethernet[]={0x00,0x50,0x8D,0x64,0x73,0xB9};/*以太网帧头目标MAC地址,即A主机的MAC地址*/

source_ip=libnet_name2addr4(l,source_ip_str,LIBNET_RESOLVE);/*把源IP地址字符串形式转化成网络顺序字节形式的数据*/

destination_ip=libnet_name2addr4(l,destination_ip_str,LIBNET_RESOLVE);/*把目的IP地址字符串形式转化成网络顺序字节形式的数据*/

libnet_build_arp(ARPHRD_ETHER,ETHERTYPE_IP,6,4,ARPOP_REQUEST,hardware_source,&source_ip,hardware_destination,&destination_ip,NULL,0,l,0);/*根据上述参数构造ARP请求报文*/

libnet_build_ethernet(ethernet,hardware_source,type,0x0806,0,l,0);/*将上面构造的ARP请求报文封装到以太网帧中,以太网帧目的地址为A主机MAC地址,0x0806代表ARP*/

libnet_write(l);/*将以太网帧发送到网络上*/

5 模拟攻击验证

我们在局域网中验证了模拟攻击程序。局域网中ABC三台主机用交换机连接,网络设置如上文所述,主机操作系统均为Windows XP Pro Sp2。我们在C主机上数次执行攻击程序后,在A主机命令行下用arp–a命令检查A主机ARP缓存表,发现在缓存表中B主机IP所对应的MAC地址已经被修改成了C主机的MAC地址,此时在A主机上尝试ping B主机IP地址,并在BC主机上均安装Sniffer pro程序进行网络侦听,结果是C主机上截获到原本应发给C主机的ping数据包,而C主机上一无所获。通过这一简单实验,验证了ARP欺骗原理的正确性和用libnet实现的可能性。如对程序进一步修改后可以很容易实现中间人欺骗、网关欺骗等危害更大的攻击手段。

6 结论

改文分析了ARP欺骗的原理和主要欺骗手段,介绍了使用libnet开发网络程序的流程,并用libnet实现了一个基本的ARP欺骗的攻击程序,通过实际的运行验证了理论的正确性和实践的可行性。可以看到,ARP欺骗原理并不复杂,通过编程实现相关攻击程序也并不困难。因此,在今后一段时间里,ARP欺骗将是网络管理中必须重点防范的攻击手段。在ipv6网络中,ARP协议将被安全邻居发现协议(Secure Neighbor Discovery Protocol)取代,这一问题才可望得到解决。

参考文献

[1]W.Richard Stevens.TCP/IP详解卷一:协议[M].北京:机械工业出版社,2002.

[2]RFC826:Address Resolution Protocol,Internet Standard STD-37[S].

校园网ARP欺骗攻击与防范研究 篇8

随着网络技术的普及和发展,网络安全问题日益成为人们关注的焦点,校园网更成了网络安全问题的多发领域,作为惠众面最大的多媒体局域网,经常会发生网络连接正常,大面积的计算机却突然掉线,无法实现网络共享或者访问互联网的现象,以致严重影响校园网内广播教学,给校园网的教学和办公造成巨大损失。这种现象发生多半是由地址欺骗攻击引起的,表现最为突出的就是ARP欺骗攻击,很多病毒都会利用以太网的ARP协议对本网段内的其他用户实施欺骗攻击,窃取用户的个人私密信息,以致造成用户的损失。

1 ARP协议

地址解析协议(Address Resolution Protocol,ARP),是TCP/IP协议栈的基础协议之一,解决了局域网网上的主机或路由器在网络通信中的IP地址和硬件地址的映射问题。

网络上的每台主机都有IP地址,在真正发送数据分组时并不使用IP地址,依据网络分层的思想,数据分组从认知IP地址的网络层传输到数据链路层,需要封装成数据链路层硬件认知的MAC帧后才能在实际网络中发送,但是采用IPv4技术的地址拥有32bit的信息,网络硬件在世界范围内有惟一的48bit地址信息,两者之间需要调和才能在网络中联合应用,ARP协议通过在两者之间建立动态映射很好的解决了这个问题。

2 ARP实现

网络中的主机都有一个动态更新的ARP高速缓存表,保存最新的IP与MAC的映射,主机每隔一段时间或有ARP应答时就会更新,长期不使用的映射,在更新时会自动删除。

ARP通过发送数据报时把IP地址映射成物理地址和回答来自其他机器的请求这两部分功能实现地址解析。当IP数据报准备在网络上发送时,发送方要查询本机ARP缓存中是否有目标的IP地址与MAC地址的映射,如果有,则把数据报封装成添加了目的MAC地址的数据帧由数据链路层放送出去,如果没有,则向局域网广播一个封装了目的主机IP地址的ARP请求,局域网内的主机收到后提取出IP地址与自己的IP地址匹配,只有匹配成功的目的主机才会响应,直接把包含目的MAC的ARP应答回送到源主机,源主机收到ARP应答,提取出目的MAC地址添加到ARP高速缓存中,形成目的主机IP地址与MAC地址的映射。

3 ARP欺骗攻击原理

ARP协议的设计是以局域网的主机间相互信任为前提的,出于对传输效率的考虑,要求主机都有ARP高速缓存,在降低主机向网络广播ARP请求的同时,为网络欺骗攻击提供了便利条件。另外,ARP协议是无状态的局域网协议,即任何主机在没有ARP请求的时候也可以做出应答,并且应答不需要认证,只要应答包有效,接收到应答包的主机就无条件地根据应答包的内容刷新本机高速缓存,这样攻击者就可以发送伪造的应答包与真正的主机应答包竞争,迫使发送请求的主机被攻击者应答,以致成为ARP欺骗攻击的对象。

典型的ARP欺骗攻击如图1所示。

局域网络中的主机间相互信任,能够实现所有的网络应用,主机C由于受到外部因素的干扰成为实施ARP欺骗的攻击者。攻击者可以通过局域网嗅探工具监听网络通信,获取同一网络内的相关主机的IP和MAC等信息。主机ARP缓存中IP与MAC的映射对有无决定了实施ARP欺骗的两种状态:

(1)当A要求与B通信,缓存表为空,A会向网络广播要求找到IP地址为B的ARP请求,攻击机监听到这一请求后,通过发送封装了B的IP地址与非B的MAC地址的应答给A,由于主机一般使用后收到的应答来刷新ARP缓存,所以攻击者会延迟发送伪装的ARP应答,达到欺骗的目的。

(2)当A与B正常通信后,B的IP地址与MAC地址的映射对能够暂存在A的ARP缓存表中,但主机缓存表在收到ARP应答时会立即更新,攻击者C直接发送封装了B的IP地址与非B的MAC地址的应答给A,使得A的ARP缓存表动态更新实现欺骗。

当主机缓存的映射对的MAC地址都指向攻击者C时,C就可以利用相关软件获取IP地址为伪造映射对的主机的网络通信信息;当主机缓存的网关IP地址被映射到其他未知的MAC时,就会造成主机不能访问网络的现象。

总之,ARP欺骗攻击就是网络攻击者利用ARP协议,向目标主机发送伪造的源IP-和MAC映射的ARP应答,使得目标主机收到该应答帧后在ARP缓存中被更新,从而使目标主机将报文发送给错误的对象,造成用户信息泄露等网络安全问题。

4 校园网ARP欺骗攻击的防范策略

校园网是典型的多元化局域网,对ARP欺骗攻击的防范任重道远,为防止对校园网用户造成不必要的损失,网络管理者应该从网络技术和人员素质两个方面部署防御策略。

4.1 网络管理员的网络技术水平

网络安全防护的关键体现在人员的素质上,校园网是由多个分支局域网组成,各分支的网络管理员技术水平参差不齐,面对ARP欺骗攻击和其他网络安全问题,处理措施千差万别,因此,校园网的管理部门应关注网络系统管理员素质的提高,积极组织网络管理员参加网络安全防御技术培训,提高网络安全技术水平和防范意识。

4.2 校园网计算机的防护

校园网ARP欺骗攻击行为不是独立发生的,大部分是由于计算机感染网络病毒,由病毒发起的,因此校园网计算机应该加强自身防护。

首先,校园网计算机应该安装正版杀毒软件,及时升级病毒库,为Windows系统打补丁,关闭远程管理端口,防止病毒侵扰,由于现在的杀毒软件厂商在其软件中都添加了ARP欺骗防御功能,计算机同时具备了基本的ARP防护功能。

其次,为防止攻击者利用嗅探工具获取网络主机信息,计算机也应安装防嗅探软件防护。

最后,鉴于校园网ARP欺骗攻击主要是针对网关的攻击,计算机还应当做网关IP地址和MAC地址的ARP静态绑定,防止ARP缓存更新导致网关映射对被恶意修改,导致计算机掉线的情况。

4.3 交换机ARP防域策略

对于采用智能交换机搭建的网络,可以采用交换机端口安全来防止非法用户的接入,由于网络硬件的相对固定性,网络管理员可以采取静态IP与主机MAC联合绑定到交换机端口的方式进行防护,考虑到防护的隐蔽性,端口安全可以采用特点的违例方式来处理。

对ARP欺骗攻击的防护,交换机厂商也专门开发了象DAI的动态ARP入侵检测功能,网络系统管理员可以根据厂商设备配置说明,结合校园网接入层的实际情况部署防御策略。

5 结论

校园网ARP欺骗攻击是由多种因素造成的,爆发时极易造成局域网大面积瘫痪,给网络管理员造成巨大困扰,但防范胜于治理,为免于巨大损失的造成,校园网的管理者应该从网络运营的初始阶段就部署防御策略,实现对ARP欺骗攻击的积极防范。

摘要:本文针对校园网断网现象分析ARP的欺骗攻击原理,阐述其实现的两种状态,提出结合人员素质和网络技术统一部署校园网ARP欺骗攻击防范策略,应对校园网安全问题。

关键词:ARP,欺骗攻击,ARP缓存,防御策略

参考文献

[1]谢希仁.计算机网络[M].北京:电子工业出版社.2002.

[2]邵丹.ARP安全问题的研究[J].长春大学学报.2009.

[3]郑文兵,李成忠.ARP欺骗原理及一种防范算法[J].江南大学学报(自然科学版).2003.

局域网ARP欺骗的防范 篇9

ARP欺骗病毒虽然已没有像前几年一样大面积流行,但在局域网维护过程中,仍时常发现有网络时断时续的现象,而且断网的计算机也不固定,经查仍是ARP欺骗病毒导致的断网。由于ARP欺骗病毒发作的时候会发出大量的数据包导致局域网通讯拥塞以及其自身处理能力的限制,用户会感觉上网速度越来越慢,甚至造成网络瘫痪,用户无法上网,严重影响了网络的正常使用,也给网络管理人员造成了极大的压力。

1 ARP的工作原理

地址解析协议(Address Resolution Protocol,ARP)位于TCP/IP协议中的数据链路层,其基本功能是通过目标设备的IP地址来查询目标设备的MAC地址,即在主机发送信息前将目标设备的32位IP地址转换为48位的MAC地址,这就是所谓的地址解析,用以保证通信信息的顺利传送。

ARP地址解析的过程是,每台安装有TCP/IP协议和以太网适配器的计算机都设有ARP缓存区,以缓存表的形式保存IP地址和相对应的MAC地址。当基于TCP/IP的应用程序将主机A的数据发送给主机B时,先在网络层将信息分割并封装成数据包帧,附上主机B的IP地址,然后由主机A寻找主机B的MAC地址。即主机A先以主机B的IP地址检查自身ARP缓存区是否有主机B的MAC地址,如果有,将直接形成待发数据帧完整的以太网帧头;如果没有,将含有主机B IP地址的ARP请求广播包发送给所有的主机进行轮询。主机B收到请求广播包后,就会通过ARP应答包将本机的MAC地址发送给主机A,主机A获得了主机B的MAC地址后,即对ARP缓存表进行更新,并形成待发数据帧完整的以太网帧头,随后就可以向主机B发送信息了。

2 ARP欺骗的形式

2.1 对主机ARP缓存表的欺骗

(1)单一主机欺骗

这一类欺骗主要是“网关欺骗”。欺骗主机不断地发送ARP应答包或请求广播包,以自身MAC地址所对应的IP地址来冒充网关IP地址,使受骗主机ARP缓存区中的真正网关MAC地址错误地更新为欺骗主机的MAC地址,导致受骗主机向假网关发送通信信息。

(2)全子网轮询欺骗(固定MAC)

这一类欺骗是欺骗者从自身所在子网内IP地址最小的一台主机开始,每隔一段时间,就申称自己为下一台IP+1的主机,一直到本子网内IP地址最大的一台主机,欺骗者绝大多数都使用自己的MAC。但也有一些欺骗者对每一个IP进行欺骗都会使用随机产生的伪造MAC地址,以达到躲避检测的目的。

2.2 对交换机的欺骗

交换机能主动学习客户端的MAC地址,将各端口和端口所连接主机的MAC地址的对应关系进行记录,以此来构建并维护端口和MAC地址的对应表,即CAM表。如果欺骗源主机持续向交换机快速发送大量有错误的MAC地址ARP包,快速填满CAM表,并导致CAM表的溢出,交换机就会以广播方式处理通过交换机的报文,这时,流量以洪泛方式发送到所有接口,会造成交换机负载过大,网络缓慢和丢包甚至瘫痪。同时,欺骗者可以利用各种嗅探攻击获取网络信息。

2.3 对路由器的欺骗

欺骗主机不断地发送伪造的ARP包,向路由器发送一系列错误的主机MAC地址,这时路由器ARP表中将有多个IP对应同一MAC的情况,而该MAC地址对应主机并未拥有多个IP地址,并且在不同的时刻,该MAC所对应的IP会自动变化,这样将导致路由器向错误的MAC地址发送通信信息,造成通信无法正常进行。

3 ARP欺骗的危害表现

3.1 网络异常

(1)经常掉线,发生IP地址冲突,有些主机还会不断弹出本机某段硬件地址与网络某段地址发生冲突的警告信息。

(2)主机无法ping通网关和上网,但能ping通网内其他主机,此时就是欺骗主机取代了网关。

3.2 网络性能下降

(1)网络拥塞、连接速度变慢。由于ARP欺骗发出了大量的ARP包,使得网络中的信息流量剧增。

(2)网络传输的稳定性变差。在受到ARP欺骗攻击后,网络传输往往会出现掉包的情况。

3.3 数据窃取

表现为个人隐私泄露(如MSN聊天记录、邮件等)、账号被盗用(如QQ账号、银行账号等)。

3.4 数据篡改

表现为访问的网页被添加了恶意内容。

3.5 非法控制

表现为网络速度、网络访问行为(例如某些网页打不开、某些网络应用程序用不了)受第三者非法控制。

4 ARP欺骗的防范

4.1 定位ARP欺骗的的源头

(1)网卡定位:网卡可以置于一种模式叫混杂模式(promiscuous),在这种模式下工作的网卡能够收到一切通过它的数据,而不管实际上数据的目的地址是不是它。而所有的ARP欺骗源都会使网卡会处于混杂模式,因此可以通过反嗅探软件(如ARPKiller),扫描网内有哪台机器的网卡是处于混杂模式的,从而判断这台机器有可能就是ARP欺骗源。

(2)端口镜像:通过对各子网网关接口的镜像,可以获得子网内第一手的网络情况。例如:

Cisco6006(config)#monitor session 1 source vlan 2-9 both//对vlan2至vlan9做端口镜像

Cisco6006(config)#monitor session 1 destination interface Gigabit Ethernet 1/2//将vlan2至vlan9镜像的数据发送到G1/2接口

通过在端口G1/2上接入sniffer嗅探机,获取子网2至子网9内的数据包,并对所获报文进行分析,找出ARP欺骗数据包,即可确定ARP欺骗源。

(3)网关定位:直接Ping网关IP,完成Ping后,用arp-a查看网关IP对应的MAC地址,此MAC地址应该为欺骗的MAC。然后用局域网扫描软件(如NBTSCAN)找出网段内与该MAC地址对应的IP地址,这对应的IP地址,有可能就是对主机进行攻击的IP地址。此时,可查对IP/MAC统计表,如果某主机的MAC地址与网关的MAC地址相同,那么这台主机就是ARP欺骗源。

另外还可以在主机上运行对外网网址路由跟踪的tracert命令,如果显示的第一跳不是默认的网关IP地址,而第二跳才是网关的IP地址,那么,第一跳的IP地址相对应的主机就是ARP欺骗主机。

(4)路由器分析:一是对路由器日志进行分析,当发生ARP欺骗时,网络中的欺骗者和被欺骗者会“争抢”更新路由器ARP cache表,而这些大量的“冲突”信息会记录在路由器的日志中,这些信息中会包含欺骗者的MAC,最后通过分析log就可以查找到发起欺骗的“元凶”。二是对路由器ARP表进行分析,ARP欺骗会使主机和网关的ARP表保留错误MAC记录,当某一子网发生ARP欺骗,该子网网关路由器ARP表中将有多个IP对应同一MAC,这种情况也有可能是该MAC地址对应主机绑定了多个IP,但如果经查该主机并未拥有多个IP地址,而且每过几个N时刻,该MAC所对应的IP会自动变化,据此,我们确定该MAC地址对应主机即为ARP欺骗源。

4.2 防范措施

(1)双向绑定:绑定主机IP和主机MAC地址,防止主机被攻击。这样用户数据包就不会发到病毒计算机,避免了“中间人”攻击。

在每台主机上绑定网关IP及其MAC地址,首先,要通过ipconfig命令或arp-a命令获取网关的IP地址,以及在每台主机上绑定网关IP及其MAC地址,以避免缓存区中网关IP/MAC条目的动态改变。

(2)路由器绑定:在路由器中绑定主机IP/MAC地址,启用路由器自带的防止ARP欺骗攻击功能和在WEB配置界面中启用ARP绑定的功能,以在确认路由器动态ARP表完整无误,或人工添加局域网所有主机IP/MAC地址后,进行绑定和保存为静态表。

(3)使用ARP服务器:每台主机在响应其他机器的ARP广播时须使用ARP服务器来查找自己的ARP转换表,但必须确保这台ARP服务器不被黑客攻击。

(4)使用DHCP服务器:建立DHCP服务器(建议建在网关上),所有主机的IP地址及相关主机信息,只能从网关取得,网关开通DHCP服务,但是要给每个网卡绑定固定惟一的IP地址。一定要保持网内的机器IP/MAC一一对应的关系。

(5)使用三层交换方式:三层以至于四层交换机现在已越来越多地应用于局域网之中,第三层交换技术用的是IP路由交换协议,因而ARP欺骗攻击在这种交换环境下不起作用。但使用第三或四层交换机成本相对较高。

(6)清除ARP欺骗病毒:ARP欺骗病毒多是木马或蠕虫,可分别用杀毒软件和木马专杀工具来进行查杀。如果掌握了ARP欺骗病毒的名称,也可以采用自行手动清除病毒的方法进行清除,在网络中将欺骗主机予以隔离以后,首先要清除ARP欺编病毒。

(7)应用各类防范及检测ARP欺骗攻击的软件:使用ARP Watch软件,通过此软件可实时监控局域网中主机MAC地址和ARP广播报文的变化情况,对与MAC地址表不符的虚假地址报文,予以弹出警告。在主机安装ARP病毒攻击免疫补丁程序,如Anti ARP Sniffer软件,通过此软件可绑定主机与网关的ARP地址,保护网内主机的正常运行。在网关上使用TCPDUMP程序,用以截取每个ARP包等。

5 结束语

ARP作为可信任协议,在设计上是有一定缺陷的,为了节省ARP缓存表内存,被解析过的ARP条目的寿命都是有限的,如果一段时间内该条目没有被引用过,则条目被自动删除,这就注定了ARP表是在不断更新的,这给网络黑客们提供了可利用的漏洞,ARP协议自身的缺陷导致了ARP欺骗的泛滥,所以在没有新的安全的地址解析协议出现之前,对于ARP欺骗的防范将在较长一段时间内继续成为研究的热点。本文所讲的各种方法都是切实可行的,实际工作中可根据不同的网络环境采取不同的方法。对于ARP欺骗的网络攻击,不仅需要用户做好防范工作,更需要网络管理员时刻保持高度警惕,并不断跟踪防范欺骗类攻击的最新技术,做到防范于未然。

参考文献

[1]胡道元.计算机网络(中级)[M].清华大学出版社.1999.

[2]Cisco Systems公司.Cisco Networking Academy Program.思科网络技术学院教程[M].人民邮电出版社.2004.

[3]张海燕.ARP漏洞及其防范技术[J].网络安全.2005.

上一篇:高等级公路铁路下一篇:径流模拟