麻将花牌是什么:ARP攻击

来源:百度文库 编辑:九乡新闻网 时间:2024/07/14 05:16:52

局域网中ARP 攻击与防御

——XXXXXXX     

摘要:本篇文章针对企业用户、校园用户和网吧等,对局域网中频繁发生的ARP欺骗基本原理进行分析介绍,并通过实例加以解释,同时介绍常见的ARP欺骗和攻击方式,并且从IP与MAC 绑定、网关等多个方面提出几点关于如何防御ARP攻击的方法,加强安全防范措施,以达到维护局域网络安全的目的。

关键词:地址解析协议;介质访问控制;网络安全

引言

由于近期单位的局域网运行不稳定,联网计算机出现频繁掉线的现象。严重影响了用户网络化办公。经过对硬件检测后,断定是ARP 病毒在捣鬼!这种病毒是一种利用计算机病毒使计算机网络无法正常运行的计算机攻击手段,有效的防范 ARP 形式的网络攻击已成为确保网络畅通的必要条件。

感染此木马的计算机试图通过“ARP 欺骗”手段截获所在网络内其它计算机的通信信息,因此造成网内其它计算机的通信故障。ARP 欺骗木马的中毒现象表现为有时候无法正常上网,有时候又好了,包括访问网上邻居也是如此,拷贝文件无法完成,出现错误;局域网内的ARP包爆增,使用 ARP 查询的时候会发现不正常的 MAC 地址,或者是错误的MAC 地址对应,还有就是一个MAC地址对应多个IP 的情况,也会出现注销或重新启动计算机又可恢复上网的情况。这种木马危害也很大。各公司网、校园网和网吧等局域网都出现了不同程度的灾情。ARP 欺骗木马只需成功感染一台电脑,就可能导致整个局域网无法上网,严重的可能带来整个网络的瘫痪,对网络管理带来潜在的危害。此外,也以窃取病毒机器和同一子网内其它机器上的用户账号和密码(如QQ和网络游戏等的账号和密码)为目的,而且它发的是 ARP 报文,具有一定的隐秘性。给用户造成了很大的不便和巨大的经济损失。

1 ARP 欺骗的原理

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

ARP原理:假设这样一个网络,一个Hub接了3台机器:HostA、HostB、HostC,其中:HostA的地址为 IP:192.168.10.1,MAC:AA- AA- AA- AA- AA- AA HostB 的地址为IP:192.168.10.2,MAC:BB- BB- BB- BB- BB- BB HostC的地址:IP:192.168.10.3,MAC:CC- CC- CC- CC- CC- CC

正常情况下,HostC:arp –a

Interface:192.168.10.1 on Interface 0x1000003

Internet Address        Physical Address        Type

192.168.10.3        CC- CC- CC- CC- CC- CC    dynamic

现在假设 HostB 开始了罪恶的 ARP 欺骗:

HostB向A发送一个自己伪造的 ARP应答,而这个应答中的数据为发送方IP地址是192.168.10.3(C 的 IP 地址),MAC 地址是DD- DD- DD- DD- DD- DD (C 的 MAC 地址本 来 应 该 是 CC- CC- CC- CC- CC- CC,这里被伪造了)。当 A 接收到 B 伪造的 ARP 应答,就会更新本地的 ARP 缓存(A 可不知道被伪造了)。而且 A 不知道其实是从 B 发送过来的,A 这里只有 192.168.10.3 (C 的 IP 地址)和 无 效 的 DD- DD- DD- DD- DD- DD MAC地址,没有和犯罪分子 B 相关的证据,哈哈,这样犯罪分子岂不乐死了。

现在 A 机器的 ARP 缓存更新了:

C:>arp – a

Interface:192.168.10.1    on Interface   0x1000003

Internet Address          Physical Address          Type

192.168.10.3          DD- DD- DD- DD- DD- DD    dynamic

这样局域网的网络流通可不是根据 IP地址进行,而是按照 MAC 地址进行传输。现在 192.168.10.3 的 MAC 地址在 A 上被改变成一个本不存在的 MAC 地址。现在A开Ping92.168.10.3,网卡递交的 MAC 地址是DD- DD- DD- DD- DD- DD,结果是什么呢?网络不通,A 根本不能 Ping 通 C!

所以,局域网中一台机器反复向其他机器,特别是向网关,发送这样无效假冒的 ARP应答信息包,严重的网络堵塞就开始了

2 ARP 欺骗和攻击的方式

ARP 攻击,是指攻击者利用地址解析协议本身的运行机制而发动的攻击行为。包括进行对主机发动 IP 冲突攻击、数据包轰炸,切断局域网上任何一台主机的网络连接等。主要有以盗取数据为主要目的的 ARP 欺骗攻击,还有以捣乱破坏为目的的 ARP 泛洪攻击两种。针对这两种主要攻击方式,本文作者又细分为以下几种 ARP 攻击类型:

2.1 ARP 欺骗攻击

2.1.1 DoS(Denial of Service)中文为拒绝服务攻击

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

2.1.2 中间人攻击:

中间人攻击就是攻击者将自己的主机插入两个目标主机通信路径之间,使他的主机如同两个目标主机通信路径上的一个中继,这样攻击者就可以监听两个目标主机之间的通信。例如局域网内的三台机子 A、S、D,现在 A 要监听 S 与 D 之间的通信。攻击过程如下:A 侵染目标主机 S 与 D的 ARP 缓存,使得 S 向 D 发送数据时,使用的是 D 的 IP 地址与 A 的 MAC 地址,并且 D向 S 发送数据时,使用的是 S 的 IP 地址与 A的 MAC 地址,因此所有 S 与 D 之间的数据都将经过 A,再由 A 转发给他们[4]。如果攻击者对一个目标主机与它所在局域网的路由器实施中间人攻击,那么攻击者就可以截取 Internet 与这个目标主机之间的全部通信。

2.1.3 多主机欺骗:

篡改被攻击主机群中关于网络内某一台主机 X 的 ARP 记录,被攻击的主机群为网络中的多台主机而非一台主机。主机 X 为网关或网络内任何一台非网关的正在运行主机。被篡改后的 MAC 地址可以为网络内正在运行的主机 MAC 地址或随机伪造的不存在主机的 MAC 地址。

T 时刻,主机 A 关于主机 X 的 ARP 记录被篡改;

T+N 时刻,主机 B 关于主机 X 的 ARP记录被篡改;

T+M 时刻,主机 Z 关于主机 X 的 ARP记录被篡改。

例如:当攻击主机要仿冒网关就会向局域网内的主机群发送 ARP 数据包,以自身MAC 地址来冒充真正的网关,使受骗主机群的 ARP 缓冲区的 MAC 地址错误地更新为攻击源的 MAC 地址,导致受骗主机群向假网关发送通信信息,而不是通过路由器或交换途径寻找真正的网关并发送通信信息。这时攻击主机可以把自己设置成一台路由器负责对数据包转发,从而达到仿冒网关的目的。这是一种比较常见的欺骗形式,这种欺骗方式可以控制同一网关下的所有主机对网络的访问。网吧内经常发生游戏密码被盗现象就是因为遭受到仿冒网关的 ARP 攻击。

2.1.4 全子网轮询欺骗:

篡改被攻击主机X 中关于网络内多台主机的 ARP 记录,这台被攻击的主机为网关或网络内任何一台非网关的主机,被篡改后的 MAC 地址可以为网络内正在运行的主机 MAC 地址或随机伪造的不存在主机的 MAC 地址。

T 时刻,主机 X 关于主机 A 的 ARP 记录被篡改;

T+N 时刻,主机 X 关于主机 B 的 ARP记录被篡改;

T+M 时刻,主机 X 关于主机 Z 的 ARP记录被篡改。

2.1.5 网络监听:攻击主机利用上述多主机欺骗来仿冒网关,利用全子网轮询欺骗来篡改真正网关上关于局域网内所有主机的ARP 缓存记录,从而实现对局域网内所有主机同外部网的通信进行监听。实现了在交换式网络环境中对网络通信的监听。

2.2 IP 地址冲突攻击

制造出局域网上有另一台主机与受害主机共享一个 IP 的假象。由于违反了唯一性要求,受害主机会自动向用户弹出警告对话框。大量的攻击数据包能令受害主机耗费大量的系统资源。对于 windows 操作系统,只要接收到一个 ARP 数据包,不管该 ARP 数据包符不符合要求,只要该 ARP 数据包所记录的源 IP 地址同本地主机相同但 MAC 地址不同,windows 系统就会弹出 IP 地址冲突的警告对话框。根据 IP 地址冲突的攻击特征描述,这种类型的 ARP 攻击主要有以下几种:

2.2.1 单播型的 IP 地址冲突:

链路层所记录的目的物理地址为被攻击主机的物理地址,这样使得该 ARP 数据包只能被受攻击主机所接收而不被局域网内的其它主机所接收,实现隐蔽式攻击。

2.2.2 广播型的 IP 地址冲突:

链路层所记录的目的物理地址为广播地址,这样使得局域网内的所有主机都会接收到该 ARP 数据包,虽然该 ARP 数据包所记录的目的 IP地址不是受攻击主机的 IP 地址,但是由于该ARP 数据包为广播数据包,这样受攻击主机也会接收到从而弹出 IP 地址冲突的警告对话框。

2.3 ARP 泛洪攻击

攻击主机持续把伪造的 MAC- IP 映射对发给受害主机,对于局域网内的所有主机和网关进行广播,抢占网络带宽和干扰正常通信。这种攻击方式的主要攻击特征包含:

2.3.1 通过不断发送伪造的 ARP 广播数据包使得交换机忙于处理广播数据包耗尽网络带宽。

2.3.2 令局域网内部的主机或网关找不到正确的通信对象,

使得正常通信被阻断。

2.3.3 用 虚 假 的 地 址信息占满主机的ARP 高速缓存空间,造成主机无法创建缓存表项,无法正常通信,这种攻击特征作者将其命名为 ARP 溢出攻击。ARP 泛洪攻击不是以盗取用户数据为目的,它是以破坏网络为目的,属于损人不利己的行为。

2.4 ARP 溢出攻击

ARP 溢出攻击的特征主要有:

2.4.1 所发送的伪造MAC- IP映射对的IP 地址是非本地网的虚拟不存在的 IP 地址,但 MAC 地址是固定的,当操作系统接收到一个源 IP 地址在 ARP 高速缓存表中不存在的ARP 数据包时,就会在缓存表中创建一个对应 MAC- IP 的入口项。

2.4.2 所发送的伪造 MAC- IP 映射对的IP 地址是非本地网的虚拟不存在的 IP 地址,而且 MAC 地址也是虚拟变化的。发送这种类型的攻击数据包会引起交换机的 CAM 表溢出。由于交换机是通过学习进入各端口数据帧的源 MAC 地址来构建 CAM 表,将各端口和端口所连接主机的 MAC 地址的对应关系进行记录,因而可根据 CAM 表来决定数据帧发往哪个端口。如果攻击源持续向交换机发送大量有错误的 MAC 地址 ARP 数据包,就会破坏端口与 MAC 的对应关系,并导致CAM 表溢出。在这种情形之下,缺少防范措施的交换机就会以广播的模式处理报文,形成泛洪向所有接口转发通信信息流。最终使得交换机变成 HUB,将交换式的网络变成广播式的网络,使得网络带宽急剧下降。

2.5 ARP 扫描攻击

向局域网内的所有主机发送 ARP 请求,从而获得正在运行主机的 IP 和 MAC 地址映射对。ARP 扫描往往是为发动 ARP 攻击做准备。攻击源通过 ARP 扫描来获得所要攻击主机的 IP 和 MAC 地址。从而为网络监听、盗取用户数据、实现隐蔽式攻击做准备。

2.6 虚拟主机攻击

通过在网络内虚拟构建网卡,将自己虚拟成网络内的一台主机,拥有虚拟的物理地址和 IP 地址。主要是通过在链路层捕获所有流经的 ARP 请求数据包进行分析,若是对虚拟主机的 ARP 请求就会发送对应虚拟物理地址的 ARP 响应,并且虚拟主机本身也会发送 ARP 请求。虚拟主机攻击会占用局域网内的 IP 地址资源,使得正常运行的主机发生 IP地址冲突,并且局域网内的主机也无法正常获得 IP 地址。

3 ARP 欺骗和攻击的防范措施

3.1 建立 DHCP 服务器 (建议建在网关上,因为 DHCP 不占用多少 CPU,而且 ARP欺骗攻击一般总是先攻击网关,我们就是要让他先攻击网关,因为网关这里有监控程序的,网关地址建议选择 X.X.X.2,把 X.X.X.1 留空,如果犯罪程序愚蠢的话,让他去攻击空地址吧),另外所有客户机的 IP 地址及其相关主机信息,只能由网关这里取得,网关这里开通DHCP 服务,一定要保持网内的机器IP/MAC 一一对应的关系。这样客户机虽然是DHCP 取地址,但每次开机的 IP 地址都是一样的。

3.2 建立 IP、MAC 数据库,把局域网内所有网卡的 MAC 地址记录下来,每个 MAC 和IP、地理位置统统装入数据库,以便及时查询备案。

3.3 网关机器关闭 ARP 动态刷新的过程,使用静态路由,这样的话,即使犯罪嫌疑人使用 ARP 欺骗攻击网关的话,这样对网关也是没有用的,确保主机安全。

3.4 网关监听网络安全

网关上面使用 TCPDUMP 程序截取每个 ARP 程序包,弄一个脚本分析软件分析这些 ARP 协议。ARP 欺骗攻击的包一般有以下两个特点,满足之一可视为攻击包报警:第一,以太网数据包头的源地址、目标地址和ARP 数据包的协议地址不匹配;第二,ARP数据包的发送和目标地址不在自己网络网卡MAC 数据库内,或者与自己网络 MAC 数据库 MAC/IP 不匹配。这些统统第一时间报警,查这些数据包(以太网数据包)的源地址(也有可能伪造),就大致知道哪台机器在发起攻击了。

3.5客户机 IP 地址和 MAC 地址绑定

路由器已经设置了防止 ARP 欺骗功能,接下来就来设置电脑的防止 ARP 欺骗了。由于电脑终端比较多,可以新建一个批处理文件,如:static_arp.bat,注意后缀名为 bat。编辑它,在里面加入我们刚才的命令:arp - s 192.168.1.1 00- 0a- eb- d5- 60- 80

保存就可以了,以后可以通过双击它来执行这条命令,还可以把它放置到系统的启动目录下来实现启动时自己执行。打开电脑“开始”->“程序”,双击“启动”打开启动的文件夹目录,把刚才建立的 static_arp.bat 复制到里面去。这样以后电脑每次启动时就会自己执行 arp- s 命令了。及时升级客户端的操作系统和应用程序补丁、安装和更新杀毒软件。

结束语

本文阐述了基于 ARP 协议欺骗和攻击方式及其防范措施,可看出在内网中即使攻击者没有掌握网络内部任何操作系统或应用软件的漏洞,但是利用协议的弱点,还是可以在内网中进行渗透攻击获取利益。因此在加强网络边界防护的同时,不能忽视网络内部的防护。

参考文献

[1]李桂玲.计算机网络安全知识问答[M].北京:中国

电力出版社,2008.

[2]计算机网络安全技术书籍.http:/ /www.heibai.net/ download/ Soft/ Soft_14715.htm.

[3]刘晓辉.网管从业宝典交换机路由器防火墙[M] .重庆:重庆大学出版社.2008.

[4]董民,周卫东,沈庆国.路由器原理、操作及应用[M].北京:国防工业出版社.2006.

[5]张宏科,张思东,苏伟.路由器原理与技术[M].北京:国防工业出版社.2003.

[6]赵毅.企业如何选择最佳的ARP 欺骗攻击解决方案.http:/ /www.51cto.com.2007.