EDN China > 技术文章 > 通信 > 网络传输与交换 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) 一种新思路的ARP欺骗攻击的防范

翁启文?? 2013年12月14日 ?? 收藏0
一、ARP欺骗攻击

ARP(Address Resolution Protocol,地址解析协议)是局域网中用来进行地址解析的协议,它将IP地址映射到MAC地址。

图1所示为ARP地址解析的过程。当PC1要给PC2发送报文时,它先检查本地的ARP缓存,如果没有查找到PC2的MAC地址,则向网络中发送一个广播的ARP(ARP Request)请求报文,表示要请求解析PC2(172.16.1.2)的MAC地址,并且此报文的目的MAC地址为广播地址FFFF。

FFFF.FFFF.由于ARP请求报文是广播报文,网络中所有的设备都会接收到,但只有IP地址与ARP请求报文中被请求解析的IP地址相同的设备才会回复。图中由于PC2的IP地址就是PC1要请求的对象,PC2将回复一个单播的ARP应答(ARP Reply)报文,表示自己(172.16.1.2)的MAC地址是0002.0002.0002,报文的目的MAC地址为PC1的MAC地址(0001.0001.0001),也就是说,只有PC1会收到此应答。当PC1收到ARP应答报文后,它便获知了PC2的MAC地址,并将此条目加入到ARP缓存表中,用于后续的数据发送。

由于ARP当初被开发时,没有考虑到安全的因素,不存在任何的验证机制,所以就导致了ARP报文很容易伪造,也就是被欺骗。另一方面,发送ARP请求的设备并不能判断收到的ARP应答是否合法,是否为正确的源所发送的,只要它接收到ARP应答报文,它就将结果放入ARP表中,而不管是否之前已经存在此条目,或者与之前存在的条目不一样,这就给攻击者可趁之机。利用以上这些缺陷,攻击者就可以通过发送伪造(欺骗)的ARP应答报文(应答报文中的IP与MAC的绑定关系是错误的、伪造的)来更新其他设备的ARP缓存,导致其他设备之间不能正常进行通信。

图2所示就是一个典型的ARP攻击。用户PC的IP地址为172.16.1.2,网管出口的路由器地址为172.16.1.1,所有PC要发往外部网络的数据都要通过网关。我们来看一下攻击者(Attacker,172.16.1.3)是如何发起ARP欺骗攻击。在PC要向外部网络发送数据是,首先它要使用ARP请求报文去请求网关的MAC地址,由于请求是广播的,攻击者也可以收到此请求报文。之后攻击者将向PC发送伪造的ARP应答报文,而且攻击者可以通过特定的工具以特定的速率连续发送伪造的ARP应答报文。当PC收到伪造的应答报文后,它会毫不犹豫地将伪造报文的错误绑定信息加入到本地的ARP缓存中,不管之前是否已经获得了正确的绑定信息。攻击者在它发送的应答报文中“声称”自己就是网关,即172.16.1.1的MAC地址是0003.0003.0003(攻击者的MAC地址)。这样后续PC发往网关的数据都会发给攻击者而不是网关,达到了欺骗的目的,从而造成PC不能正常访问外部网络资源。


上一页123下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

ARP? 欺骗攻击?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈