ARP欺骗攻击分析及防范措施.docx
- 文档编号:4258636
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:13
- 大小:26.65KB
ARP欺骗攻击分析及防范措施.docx
《ARP欺骗攻击分析及防范措施.docx》由会员分享,可在线阅读,更多相关《ARP欺骗攻击分析及防范措施.docx(13页珍藏版)》请在冰点文库上搜索。
ARP欺骗攻击分析及防范措施
校园网与我们的工作、科研、学习都有密切的关系,但是网络病毒、木马已严重影响了校园网的运行和安全。
为了提高网络安全防范意识,使用户的计算机免受计算机病毒入侵和攻击,保障用户正常上网。
建议各用户养成使用计算机的良好习惯,及时了解计算机病毒的发作时间,及时采取措施。
ARP欺骗攻击分析及防范措施
ARP定义
ARP(AddressResolutionProtocol,地址解析协议)是一个位于TCP/IP协议栈中的底层协议,负责将某个IP地址解析成对应的MAC地址。
ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的进行。
ARP(AddressResolutionProtocol)是地址解析协议,是一种将IP地址转化成物理地址的协议。
从IP地址到物理地址的映射有两种方式:
表格方式和非表格方式。
ARP具体说来就是将网络层(IP层,也就是相当于OSI的第三层)地址解析为数据连接层(MAC层,也就是相当于OSI的第二层)的MAC地址。
ARP攻击原理
ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。
ARP攻击主要是存在于局域网网络中,局域网中若有一台计算机感染ARP木马,则感染该ARP木马的系统将会试图通过“ARP欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。
某机器A要向主机B发送报文,会查询本地的ARP缓存表,找到B的IP地址对应的MAC地址后,就会进行数据传输。
如果未找到,则广播A一个ARP请求报文(携带主机A的IP地址Ia——物理地址Pa),请求IP地址为Ib的主机B回答物理地址Pb。
网上所有主机包括B都收到ARP请求,但只有主机B识别自己的IP地址,于是向A主机发回一个ARP响应报文。
其中就包含有B的MAC地址,A接收到B的应答后,就会更新本地的ARP缓存。
接着使用这个MAC地址发送数据(由网卡附加MAC地址)。
因此,本地高速缓存的这个ARP表是本地网络流通的基础,而且这个缓存是动态的。
遭受ARP攻击后现象
ARP欺骗木马的中毒现象表现为:
使用局域网时会突然掉线,过一段时间后又会恢复正常。
比如客户端状态频频变红,用户频繁断网,IE浏览器频繁出错,以及一些常用软件出现故障等。
如果局域网中是通过身份认证上网的,会突然出现可认证,但不能上网的现象(无法ping通网关),重启机器或在MS-DOS窗口下运行命令arp-d后,又可恢复上网。
ARP欺骗木马只需成功感染一台电脑,就可能导致整个局域网都无法上网,严重的甚至可能带来整个网络的瘫痪。
该木马发作时除了会导致同一局域网内的其他用户上网出现时断时续的现象外,还会窃取用户密码。
如盗取QQ密码、盗取各种网络游戏密码和账号去做金钱交易,盗窃网上银行账号来做非法交易活动等,这是木马的惯用伎俩,给用户造成了很大的不便和巨大的经济损失。
基于ARP协议的这一工作特性,黑客向对方计算机不断发送有欺诈性质的ARP数据包,数据包内包含有与当前设备重复的Mac地址,使对方在回应报文时,由于简单的地址重复错误而导致不能进行正常的网络通信。
一般情况下,受到ARP攻击的计算机会出现两种现象:
1.不断弹出“本机的0-255段硬件地址与网络中的0-255段地址冲突”的对话框。
2.计算机不能正常上网,出现网络中断的症状。
因为这种攻击是利用ARP请求报文进行“欺骗”的,所以防火墙会误以为是正常的请求数据包,不予拦截。
因此普通的防火墙很难抵挡这种攻击。
对ARP攻击的防护
防止ARP攻击是比较困难的,修改协议也是不大可能。
但是有一些工作是可以提高本地网络的安全性。
首先,你要知道,如果一个错误的记录被插入ARP或者IProute表,可以用两种方式来删除。
a.使用arp–dhost_entry
b.自动过期,由系统删除
这样,可以采用以下的一些方法:
1).减少过期时间
#ndd–set/dev/arparp_cleanup_interval60000
#ndd-set/dev/ipip_ire_flush_interval60000
60000=60000毫秒默认是300000
加快过期时间,并不能避免攻击,但是使得攻击更加困难,带来的影响是在网络中会大量的出现ARP请求和回复,请不要在繁忙的网络上使用。
2).建立静态ARP表
这是一种很有效的方法,而且对系统影响不大。
缺点是破坏了动态ARP协议。
可以建立如下的文件。
08:
00:
20:
ba:
a1:
f2
user.08:
00:
20:
ee:
de:
1f
使用arp–ffilename加载进去,这样的ARP映射将不会过期和被新的ARP数据刷新,除非使用arp–d才能删除。
但是一旦合法主机的网卡硬件地址改变,就必须手工刷新这个arp文件。
这个方法,不适合于经常变动的网络环境。
3).禁止ARP
可以通过ipconfiginterface–arp完全禁止ARP,这样,网卡不会发送ARP和接受ARP包。
但是使用前提是使用静态的ARP表,如果不在ARP表中的计算机,将不能通信。
这个方法不适用与大多数网络环境,因为这增加了网络管理的成本。
但是对小规模的安全网络来说,还是有效可行的。
但目前的ARP病毒层出不穷,已经不能单纯的依靠传统的方法去防范,比如简单的绑定本机ARP表,我们还需要更深入的了解ARP攻击原理,才能够通过症状分析并解决ARP欺骗的问题,这里引用一篇关于分析最新ARP病毒:
黑金的文章.通过文章,大家可以更好的了解先进ARP欺骗的发展趋势:
【摘要】本文将对近期校园局域网种频繁发生的ARP欺骗基本原理进行介绍,并且通过网关等实际生活中的例子加以解释,同时介绍几种常见的ARP欺骗和攻击方式,并且从客户端、网关等多个方面提出关于如何防御ARP攻击的多种方法,以达到全面防御维护局域网络安全的目的。
关键词:
地址解析协议,介质访问控制,网络安全
Abstract
Inthispaper,afraudulentactionwhichwascalledARPCheatinghappensfrequentlyintheLANofcampus.Thebasisontheelementswillbeintroducedandexplainedthroughtheexampleofgatewayandsoon.Atthesametime,afewfamiliarmannersofARPcheatingwillbeintroduced.Finally,itwillbringforwardsomemethodsindifferentanglebywhichwewillbuiltamoresecureenvironmentoftheLAN.
Keywords:
AddressResolutionProtocol,MACAddress,ARPCheating,securityofnetwork
1.引言
ARP欺骗是一种利用计算机病毒是计算机网络无法正常运行的计算机攻击手段。
近期,一种叫“ARP欺骗”的木马病毒在校园网中扩散,严重影响了校园网的正常运行。
感染此木马的计算机试图通过“ARP欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。
ARP欺骗木马的中毒现象表现为:
使用校园网时会突然掉线,过一段时间后又会恢复正常。
比如出现用户频繁断网,IE浏览器频繁出错等现象。
如果校园网需要通过身份认证的,会突然出现认证信息(无法ping通网关)。
重启机器或在MS-DOS窗口下运行命令arp-d后,又可恢复上网。
这种木马危害也很大。
各大学校园网、公司网和网吧等局域网都出现了不同程度的灾情。
ARP欺骗木马只需成功感染一台电脑,就可能导致整个局域网无法上网,严重的可能带来整个网络的瘫痪。
此外,此木马还会窃取用户密码,如盗取QQ密码、网络游戏密码和账号去做金钱交易,盗窃网上银行账号来做非法交易活动等,这是木马的惯用伎俩,给用户造成了很大的不便和巨大的经济损失。
2.ARP与MAC
ARP(AddressResolutionProtocol)[1]是地址解析协议的简称,是一种将IP地址转化为物理地址的协议。
在OSI网络参考模型的第二层(数据链路层)中,存在着两个子层:
介质访问控制(MAC)和逻辑链路控制(LLC)。
由MAC子层提供的最广为认知的服务或许就是它的地址了,就像以太网的地址一样。
在以太网中,数据传输的目的地址和源地址的正式名称是MAC地址。
此地址大多数情况下是独一无二的固化到硬件设备上的,而IP地址所要转化的物理地址就是MAC地址。
[2]
在网络数据传输中实际传输的是“帧”(Frame),它以比特流的方式通过传输介质传输出去,其中帧里面就包含有所要传送的主机的MAC地址。
在以太网中一台主机要同另一台主机进行通信就必须要知道对方的MAC地址(就如同我们要给对方邮信一定要知道对方的地址一样)。
但是我们如何知道这个MAC地址呢?
这时就用到了地址解析协议,所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。
ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
每台安装有TCP/IP协议的计算机主机里都有一个ARP缓存表,表中的IP地址与MAC地址是一一对应的,如表1所示:
表1地址解析协议缓存地址表
值得注意的一点是:
ARP缓存表采用了一种老化机制,在一定的时间内如果某一条记录没有被使用过就会被删除。
这样可以大大减少ARP缓存表的长度,加快查询速度。
首先根据上表用两个主机通过一个网关进行通信的例子说明一下:
假设当主机A(192.168.10.1)向主机B(192.168.10.2)发送数据时,主机A首先会在自己的ARP缓存表中查找是否存在“IP=192.168.10.2”的记录。
若找到就会根据ARP缓存表中IPMAC的对应关系找到主机B的“MAC地址=bb-bb-bb-bb-bb-bb”。
但是如果主机A没有在表中找到主机B的IP地址,那么主机A机就会向网络发送一个ARP协议广播包,这个广播包里面就有待查询的主机B的IP地址,而直接收到这份广播包的所有主机都会查询自己的IP地址是否与之匹配。
如果收到广播包的某一个主机发现自己符合条件,那么就准备好一个包含自己MAC地址的ARP包传送给发送ARP广播的主机。
广播主机接收到ARP包后会更新自己的ARP缓存表。
发送广播的主机就会用新的ARP缓存数据准备好数据链路层的数据包发送工作。
这样主机A就得到了主机B的MAC地址,它就可以向主机B发送信息了。
3.ARP欺骗和攻击方式
3.1简单的欺骗攻击
这种欺骗方式是指:
欺骗主机通过发送伪造的ARP包来欺骗网关和目标主机,让目标主机认为这是一个合法的主机。
其中包括两种情况:
①局域网主机冒充网关进行欺骗
欺骗过程如图1所示:
当PC_A要与网关GW_C通讯时,首先要知道GW_C的MAC地址,如果局域网中另有一台主机PC_B冒充GW_C告诉PC_A:
GW_C的MAC地址是MACB,那么PC_A就受骗了;或者直接告诉PC_A:
GW_C的MAC地址是PC_X,那么就会如同我们邮寄信件时写错了地址,信件或者是发错了地方,或者是根本就发送不出去。
这样一来就会造成断线。
图1简单的主机对主机通过网关连接图
网络中通讯有一个前提条件,也就是必须满足通讯双方都能向对方传送数据才会确保正常通讯,即:
确保PC_AGW_C和GW_CPC_A的通讯都没有问题时,才能确保通讯正常。
假如PC_B冒充PC_A,告诉GW_C,PC_A的MAC是MACB,那么就会出现:
当PC_AGW_C时没有问题,可是当GW_CPC_A时就回出错,造成网络断线的现象。
3.2基于ARP的“中间人攻击”
MITM(Man-In-The-Middle)称为“中间人攻击”,是一种“间接”的入侵攻击方式。
这种攻击是利用一定手段在两台或多台主机之间人为的加入一台透明主机,(这对其他用户是透明的)这台主机就称为“中间人”。
“中间人”能够与原始主机建立连接、截获并篡改它们的通信数据。
由于“中间人”对于原通信双方是透明的,使得“中间人”很难被发现,也就使得这种攻击更加具有隐蔽性。
而其中“中间人”常用的一种手段就是通过ARP欺骗的方式来实现的。
基本欺骗过程如图2所示:
图2MITM“中间人攻击”示意图
假设有同一网段内的三台主机A,B,C。
主机A,B为合法主机,C为“中间人”攻击者。
如果主机C分别向主机A和C发送假消息,即:
告诉主机A,主机C的MAC地址是MACB,同时告诉主机B,主机C的MAC地址是MACA。
这样主机C就成功地成为了A与B的“中间人”。
那么A,B间正常的直接通信也会随之中断。
取而代之的是A,B间每次进行信息交互时都要经过主机C。
这样,主机C就可以有办法监听A与B之间的通信,达到监听的目的了。
如果C不转发A与B之间的通信,就会造成主机A,B之间的网络连接中断。
3.3MAC洪泛现象
MACFlooding可以称之为MAC洪泛现象。
其中flooding是一种快速散布网络连接设备(如交换机)更新信息到整个大型网络打每一个节点的一种方法。
交换机中也存放着一个ARP缓存表。
同主机中的ARP缓存表相同,它也起到记录网络设备MAC地址与IP地址的对应关系的功能。
但是交换机中的ARP缓存表的大小是固定的,这就导致了ARP欺骗的另一种隐患:
由于交换机可以主动学习客户端的MAC地址,并建立和维护这个ARP缓存表,当某人利用欺骗攻击连续大量的制造欺骗MAC地址,ARP缓存表就会被迅速填满,同时更新信息以洪泛方式发送到所有的接口,也就代表TRUNKING(所谓TRUNKING是用来在不同的交换机之间进行连接,以保证在跨越多个交换机上建立的同一个VLAN的成员能够相互通讯。
[3])的流量也会发给所有的接口和邻近的交换机,会导致其他交换机的ARP表溢出,造成交换机负载过大,网络缓慢和丢包甚至瘫痪。
所以说MACFlooding是一种比较危险的攻击,严重会使整个网络不能正常通信。
3.4基于ARP的DoS攻击
DoS(DenialofService)中文为,拒绝服务攻击。
DoS攻击的目的就是让被攻击主机拒绝用户的服务访问,破环系统的正常运行。
最终使用户的部分Internet连接和网络系统失效。
基于ARP的DoS攻击是新出现的一种攻击方式。
它的基本原理是:
攻击者利用ARP欺骗工具,不断向被攻击主机发送大量的连接请求,由于遭到ARP欺骗的主机不能够根据ARP缓存表找到对方主机,加之主机的处理能力有限,使得它不能为正常用户提供服务,便出现拒绝服务。
在这个过程中,攻击者可以使用ARP欺骗方式来隐藏自己,这样在被攻击主机的日志上就不会出现攻击者真实的IP地址。
被攻击主机不能根据日志上提供的IP地址找到正真的攻击者。
所以在攻击的同时,不会影响到本机,具有很强的隐密性。
以上几种欺骗方式中,第一种最为常见,攻击者通常利用ARP木马病毒进行攻击。
但是从本质上看,所有的欺骗方式都是一样的,都是利用ARP缓存表的老化机制使得ARP欺骗有机可乘。
4.ARP欺骗解决方案
4.1DHCP结合静态捆绑法
DHCP是DynamicHostConfigurationProtocol(动态主机分配协议)缩写。
要想彻底避免ARP欺骗的发生,我们需要让每台计算机的MAC地址与IP地址唯一且对应。
虽然我们可以通过为每台计算机设置IP地址的方法来管理网络,但是对于那些通过ARP欺骗非法攻击的用户来说,他可以事先自己手动更改IP地址,这样检查起来就更加复杂了。
这就需要进行IP与MAC的双向绑定,也就是说在网关的交换机处静态绑定用户的MAC地址和IP地址的同时,在客户端静态绑定网关MAC地址和IP地址以及同一网段的IP地址和MAC地址,使之不再动态学习。
但这只是一个理想的解决方案,因为这样会大大加重网络管理的负担。
网络管理员要非常熟悉交换机设备,因为管理员要在交换机和客户端加入一台计算机并且添加一条记录,否则将无法通信。
这就需要提出一种更加全面立体的防御对策。
4.2几种主要的防御方案
4.2.1使用交换机进行设置
从交换机的角度,以Cisco解决方案为例。
思科DynamicARPInspection(DAI)在交换机上提供IP地址和MAC地址的绑定,并动态建立绑定关系。
DAI以DHCPSnooping绑定表为基础,对于没有使用DHCP的服务器个别机器可以采用静态添加ARPaccess-list实现。
DAI配置针对VLAN,对于同一VLAN内的接口可以开启DAI也可以关闭。
通过DAI可以控制某个端口的ARP请求报文数量。
这样可以有效地提高网络安全性和稳定性。
配置示例:
网际操作系统(IOS)全局命令:
ipdhcpsnoopingvlan100,200/*交换机可以通过dhcpsnooping功能监听dhcp广播报文,记录用户的ip地址信息。
noipdhcpsnoopinginformationoptionipdhcpsnooping
iparpinspectionvlan100,200/*定义对哪些VLAN(虚拟局域网)进行ARP报文检测。
iparpinspectionlog-bufferentries1024
iparpinspectionlog-bufferlogs1024interval10
网际操作系统接口命令:
ipdhcpsnoopingtrust
iparpinspectiontrust/*定义哪些接口是信任接口,通常是网络设备接口,TRUNK接口等。
iparpinspectionlimitrate15(pps)/*检查限制接口每秒ARP报文数量(15脉冲/秒)。
对于没有使用DHCP设备可以采用下面办法:
arpaccess-liststatic-arp/*设置静态ARP访问表
permitiphost192.*.*.*machosta-a-a-a-a-a/*将ip地址192.*.*.*与maca-a-a-a-a-a静态绑定
iparpinspectionfilterstatic-arpvlan201
配置DAI后的效果:
由于DAI检查对DHCPsnooping绑定表中的IP和MAC对应关系,所以无法实施中间人攻击,攻击工具失效。
图3为实施中间人攻击时交换机的警告:
图3中间人攻击时交换机的警告
由于对ARP请求报文做了速度限制,客户端无法进行认为或者病毒进行的IP扫描、探测等行为,如果发生这些行为,交换机马上报警或直接切断扫描机器。
如图4所示:
图4交换机警报并切断端口过程
用户获取IP地址后,不能修改IP或MAC。
如果用户同时修改IP和MAC必须是网络内部合法的IP和MAC才可,对于这种修改可以使用IPSourceGuard技术来防范。
图5为手动指定IP地址的报警:
图5手动指定IP地址的报警
为了防止局域网外部对局域网进行ARP攻击,下面以阿尔法宽带路由器为例介绍基本的路由器ARP表绑定设置。
在进行ARP绑定前首先要确定网络是正常运行的,然后再进行ARP绑定设置。
具体设置如下:
⑴启用ARP绑定功能。
默认下该定功能是关闭的,首先打开路由器的管理界面,选择“MAC地址绑定”。
打开如图6所示的界面,勾中“启用ARP绑定”,点击“保存”。
图6启用ARP绑定设置
⑵绑定ARP表。
选择“ARP映射表”,会打开如下界面(如图7):
图7ARP映射表
可以看到当前路由器自动获取的局域网内电脑的IP地址与MAC地址的映射表。
如果确认这个表是正确的(即所有的电脑都可以正常上网、MAC地址没有重复,这个表一般就没有错误了。
),可以选择某个条目后面的“绑定”操作进行单独的MAC地址绑定,也可通过点击“全部绑定”把ARP表中的所有条目绑定。
如果绑定成功就会看到“状态”项从“未绑定”变为“已绑定”。
为了在路由器重启后使这些绑定条目仍然有效,可以选择“全部导入”把这些条目存入静态ARP表,打开“ARP静态绑定设置”(如图8所示)可以看到一个静态的ARP映射表已经建立。
图8对ARP映射表绑定对于这个静态ARP映射表,可以进行修改、删除、取消绑定等操作。
点击条目右边的“修改”就可以修改该条目的IP地址、MAC地址和绑定状态。
点击“删除”可删掉该条目。
可以点击“取消所有绑定”可把ARP表中的所有绑定条目暂时取消,当需要的时候点击“绑定所有条目”就可以重新绑定这些条目。
当不再需要这个静态ARP表时,点击“删除所有条目”则可以删除整个ARP表。
如果已经知道局域网内主机的MAC地址,也可以在这里手工输入MAC地址、IP地址来添加静态ARP映射条目。
如图9所示:
图9手工设置IP地址注意事项:
1进行绑定置前要确认ARP缓存表是正确的。
2尽量手工设置电脑的IP地址,(如图9)如果是采用DHCP动态获取IP地址,以后可能会出现获取到的地址与当前绑定的地址不一致而导致某些电脑不能上网。
③当更换电脑网卡时要更新静态ARP映射表。
否则由于更换了网卡的主机的MAC地址于ARP表中的不一致,也会导致无法上网。
4.2.3客户端主机进行ARP绑定设置
至于个人电脑的绑定设置,可以通过一些软件如:
AntiARP-DNS,或者一些自己编写的批处理文件使之能够静态绑定ARP缓存表,此外WindowsVista也提供了这样的供能。
下面仅针对大多数用户介绍一种在命令提示符下绑定ARP缓存表的方法。
在本地主机上可以使用arp–a命令,显示如图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ARP 欺骗 攻击 分析 防范措施
![提示](https://static.bingdoc.com/images/bang_tan.gif)