ARP病毒的攻击原理(精选九篇)
ARP病毒的攻击原理 篇1
众所周知, 最近这些年网络已经在我们的生活以及生产活动中得到非常广泛的使用, 它的这种普及程度为我们开展生活以及生产活动贡献了非常积极地力量, 不过我们在进行工作的时候常常会面临一个非常大的困境, 即网络非常容易受到各种病毒的影响, 一旦受到这种影响, 它将失去其原有的功能, 严重的阻碍了我们开展正常的生产活动。目前校园局域网出现了非常恶劣的ARP欺骗木马病毒, 这种病毒的位置程度非常严重, 而且不易察觉, 通常的反应是网络能够合理的连接, 而且也可以登录到我们所需的网站, 可是问题就在于我们无法浏览所需的页面, 这对于我们开展工作来说是一种非常大的损失。
2 ARP协议的工作原理
在以太网中传输的数据包是以太包而以太包的寻址是依据其首部的MAC地址。如果我们只是知道一个具体的主机的网络地址, 此时内核系统是不能够实现数据传输活动的, 而进行这项活动的必要条件是需要获取上述机器的MAC址。
在以太局域网内数据包传输依靠的是MAC地址, IP地址与MAC对应的关系依靠ARP缓存表, 通常来讲, 任何一台机器自身都具备一个独特的缓存表。它具有非常强大的功能, 能够帮助我们在合理的状态下, 确保将数据信息合理的对应的进行输送。通常我们能够在窗口中进行相关的操作, 比如查看信息或者是将信息更新等。
当在进行活动的时候, 即主机把设定好的数据信息发送到我们所需的机器上的时候, 主机会对本身的列表进行合理认真的自检, 查看气宗有没有我们所需的地质, 假如查找之后发现有该地址, 此时我们只需把要传递的信息进行输送即可完成。但是如果经过检查没有发现我们所需的地址, 此时主机就会自行想相关的网站发送广播信息, 针对所需的信息进行征询。当在寻找的范围中的全部数量的设备收到信息之后, 都会自行的查看信息中的地质和本机的是否相同, 假如不同的话, 此时就不需要做任何的反映活动, 假如检查之后发现相同, 此时本机就会自行将发送端的MAC地址和IP地址添加到自己的ARP列表中, 假如列表中原本就有所需的地址, 此时系统会自动的把原有的信息进行处理, 然后向征询信息的设备发送信息, 此回应的目的是向其表达本机就是广播中所要的地址, 源主机收到这个ARP响应数据包后, 将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中, 然后借助这一信息进行输送活动。不过也会存在不属于上述情况的状态发生, 通常是因为查询的地址并不在设定的范围之内, 此时就收不到回应的信息, 代表我们的此次查找活动没有取得成功。
3 病毒的运行模式以及机理
通过分析我们发现绝大多数的木马等通过ARP进行不当行为是为了能够获取在有效环境中合理的对信息进行监听, 进而供给系统。上述的病毒也不例外。
我们来做过比喻, 如果一个局域网中仅有三个计算机, 这个网络的运行是辅助交换机来进行的。我们把第一个电脑设定为甲, 它来充当病毒者, 另一个叫做乙, 它充当的是源主机, 也就是具体的负责信息传输。然后把最后一个叫做丁, 它的角色是代表接受信息的主机。这三台电脑的IP地址分别为:192.168.0.2, 192.168.0.3, 192.168.0.4, MAC地址分别为:MAC-A, MAC-S, MAC-D。
首先, 计算机乙要向丁输送信息, 它回自行对本身的缓存信息进行查阅, 分析其中有没有丁计算机的网络地址, 假如有它的地址, 此时即可直接的对信息进行输送即可。如果没有, 乙电脑便向全网络发送一个这样的ARP广播包:乙的IP是192.168.0.3, 硬件地址是MAC-S, 要求返回IP地址为192.168.0.4的主机的硬件地址。此时, 计算机丁收到信息之后, 首先会自行的检查自身的地址, 发现就是需要的信息, 此时将信息输送给计算机乙。现在乙电脑可以在要发送的数据包上贴上目的地址MAC-丁发送出去, 同时它还会动态更新自身的ARP缓存表, 将192.168.0.4-MAC-丁这一条记录添加进去, 因此, 当计算机乙要想再次向丁输送信息时, 即可直接发送即可, 上述的步骤就是我们在合理的状态下进行的信息输送步骤。
不过上面讲述的这个步骤存在一个非常大的弊端现象, 也就是说这项活动的基础是网络中所有的计算机都是安全有效的, 换句话讲, 它必须在这个背景下进行, 不管是网络中的哪一个具体的计算机, 它们输送的信息都能保证是合理的。比如在上述数据发送中, 当乙电脑向全网询问后, 丁电脑也回应了自己的正确MAC地址。但是当此时, 甲电脑却返回了丁电脑的IP地址和和自己的硬件地址。由于甲电脑不停地发送这样的应答数据包, 则会导致乙电脑又重新动态更新自身的ARP缓存表, 这回记录成:192.168.0.4与MAC-A对应, 我们把这步叫做ARP缓存表中毒。这样, 就导致以后凡是乙电脑要发送给丁电脑, 都将会发送给甲主机。也就是说, 甲电脑就劫持了由乙电脑发送给丁电脑的数据。这就是ARP欺骗的过程。
结语
通过上面的分析, 我们得知, ARP欺骗是目前网络管理, 特别是校园网管理中最让人头疼的攻击, 它的攻击技术含量低, 随便一个人都可以通过攻击软件来完成ARP欺骗攻击。同时防范ARP欺骗也没有什么特别有效的方法, 目前只能通过被动的亡羊补牢形式的措施了。无论是攻和防, 首要的就是找出每种攻击的“症结”之所在。只有这样才能找到行之有效的解决方案。当然最根本的办法在客户端自身的防范上, 如及时下载安装系统补丁、所装杀毒软件及时升级, 安装ARP专杀与防范软件等。
摘要:与我们生活非常密切的有各个范围之内的不同形式的局域网。学校中广泛使用局域网, 它有非常多的优势, 对于学习师生之间的互动有非常优秀的促进作用, 不过最近一段时间由于受到一些病毒的危害, 网络运行遇到很多不利因素, 笔者基于目前的这种背景环境重点的分析讲解了目前面对的这一现象以及应对的方式。
关键词:网络协议,IP地址,ARP病毒
参考文献
[1]宋生勇.浅谈局域网防ARP病毒[J].柴达木开发研究, 2011 (03) .
[2]杨涛, 宋群豹, 范玮.基于局域网的ARP病毒的分析与防御[J].商场现代化, 2009 (18) .
ARP病毒的攻击原理 篇2
ARP协议
在局域网中,虽然我们习惯用IP地址来标识计算机,但在网络数据传输过程中,真正起到地址作用的是“MAC地址”。MAC(Media Access Control)地址又称物理地址,它通常由网卡生产厂家烧入网卡的EPROM(一种闪存芯片),一般情况下它是全球唯一的。
一个主机要和另一个主机直接通信,必须知道目标主机的MAC地址。ARP协议“Address Resolution Protocol(地址解析协议)”的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的,我们可以通过在DOS命令提示符下,输入:arp-a来获得本机的ARP缓存表。
如果在ARP缓存表中没有找到相对应的IP地址,主机就会在网络上发送一个广播,目标IP的主机接收到这个帧时,会向主机做出相应的回应。这样,主机就知道了目标主机的MAC地址,就可以向目标主机发送信息了。
ARP攻击原理
ARP攻击的最主要手段就是用伪造源MAC地址发送ARP响应包,对ARP高速缓存机制的攻击。攻击者持续不断地发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC條目,造成网络中断或中间人攻击。
当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和MAC地址存储在ARP缓存中。因此,B向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可不知道被伪造了)。当攻击源大量向局域网中发送虚假的ARP信息后,就会造成局域网中的机器ARP缓存的崩溃。以笔者所在的网络为例,通过抓包工具捕获数据包的结果来看,可以明显看到一个ARP攻击者的攻击情况。
ARP攻击的目的和现象
当局域网内某台主机运行ARP的欺骗木马程序时,会欺骗局域网内所有主机和路由器,让所有上网的流量必须经过病毒主机。其他用户原来直接通过路由器上网,现在则转由通过病毒主机上网。
这样做的目的有很多,比如用户已经登录了网游服务器,病毒主机就会经常伪造断线的假像,那么用户就得重新登录网游服务器,病毒主机就可以趁机盗号。所以当你遇到下面几个情况的时候,一定要注意可能是你的网络中出现了ARP木马。
1)上网速度突然变得异常的缓慢
2)经常断线。
3)访问所有的网站,杀毒软件都会弹出窗口说页面有病毒。
当怀疑局域网中存在ARP攻击时,可以打开DOS命令提示符,输入“arp-d”,清空ARP列表。如果能够恢复网络访问,则基本可以确定局域网中存在ARP攻击,或者有电脑染上了ARP病毒。接下来可以反复查看ARP列表,也就是反复使用“arp-a”命令(其间不要进行网络通信),如果发现除了网关以外的某个IP会自动出现在列表中,而这个IP又没有和本机进行实质的数据通信,则基本可以确定攻击源,接下来需要断开该计算机的网络连接并彻底杀毒。
应对ARP欺骗攻击
面对凶猛的ARP攻击,以上提到的方法只能应急,该如何进行全面防范呢?利用Anti ARP Sniff,可以保护你的网卡和网关的通讯不被第三方监听,让ARP攻击对你的爱机无技可施。Anti ARP Sniff可以100%防御所有利用ARP技术的恶意程序,发现异常并自动重写ARP数据,它还具备追踪ARP攻击者的功能,能够追踪对方的IP地址,这样我们就能找出ARP攻击的“始作俑者”。
在Anti ARP Sniff主窗口的“网关地址”栏中输入网关地址,点击“获取MAC”按钮,获得网关的MAC地址,之后点击“自动保护”按钮,即可开启ARP攻击保护功能,当局域网中有人试图对本机进行攻击时,Anti ARP Sniff~口可出现ARP欺骗提示信息,在“欺骗数据详细记录”列表中显示ARP欺骗攻击事件信息。从中选中合适的ARP攻击事件,点击“追捕攻击者”按钮。即可得到攻击者的IP和MAC地址信息了,据此可以轻松找出局域网中的“破坏分子”。对于饱受ARP攻击之苦的用户,Anti ARP Sniff能让你轻松摆脱烦恼。
ARP病毒的攻击原理 篇3
关键词:机房,ARP,攻击,防御
随着计算机技术的发展和普及, 越来越多的高校建设计算机机房作为师生学习计算机应用知识的场所, 越来越多的课程的实践环节安排在机房中进行, 高校机房已经成为高校教学活动的重要场所, 但网络管理与系统安全问题也日益突出, 尤其是受ARP病毒攻击所出现的网络频繁掉线、IP地址冲突、网络堵塞等情况, 已严重影响了机房的教学和科研的使用, 因此, 有效地解决ARP病毒攻击已成为高校机房网络管理人员的一项重要工作。
一、ARP简介
1.1 ARP协议。ARP (Address Resolution Protocol) 是地址解析协议的英文缩写, ARP协议是获取物理地址的一个TCP/IP协议, 工作在OSI七层模型中的第二层——数据链路层, 在本层和硬件接口间进行联系并为上层网络层服务。在网络中一台主机要和另一台主机进行通信的话, 必须要知道目标主机的物理地址, ARP协议的基本功能就是将计算机网络层的网络地址 (IP地址) 解析为数据链路层的物理地址 (MAC地址) , 实现两种地址的映射, 从而进行数据传输, 以保证网络通信的顺利进行。
1.2 ARP工作原理。每台装有TCP/IP协议的主机都有一个ARP缓存表, 该表中的IP与MAC地址是一一对应的关系, 如表1所示:
如果主机A要与主机B通信, 它首先会检查自己的ARP缓存表中是否保存有192.168.0.12这个地址对应的MAC地址, 如果没有, 主机A就会向局域网的广播地址发送ARP请求, 意思就是192.168.0.12是哪台主机, MAC地址是什么, 请告诉主机A。这个请求会以广播的方式发送到局域网同一网段内的所有主机, 但是只有IP地址为192.168.0.12的主机B才会响应这个请求, 它会回应主机A一个ARP响应, 这样主机A就得到了主机B的MAC地址, 并把这个对应关系保存在自己的ARP缓存表中, 然后主机A就可以与主机B进行通信, 直到通信结束后这个对应关系才会删除。
二、ARP病毒的攻击原理
虽然ARP协议效率很高, 但是在设计之初就存在着一个很大的缺陷:ARP协议的基础是信任局域网内的所有主机, 采用广播的开放方式, 是一种无状态的机制, 也就是说这种机制不会检查自身是否发送过请求包, 也不管是否是合法的应答, 只要收到目的地址是指向自己的应答包, 就会接收并缓存。这就为ARP欺骗提供了可能。
其实ARP病毒并不是某一种病毒的名称, 它是对利用ARP协议本身的漏洞进行欺骗的一类病毒的总称, 它是一种入侵电脑的木马病毒, 往往通过感染一台用户, 就能对整个局域网产生影响, 严重时会使整个局域网瘫痪。此外, ARP病毒还会经常绑定其他木马病毒, 进行窃取登录账号密码或者个人信息, 从而造成用户的巨大损失。
2.1 ARP病毒常见欺骗途径。 (1) 对路由器ARP表的欺骗。ARP病毒截获网关数据后, 它通知路由器一系列错误的内网MAC地址, 使得真实的地址信息无法通过更新保存在路由器中, 导致路由器的所有数据只能发给错误的MAC地址, 从而造成局域网内的机器无法收到数据。 (2) 冒充网关。感染ARP病毒的主机向本局域网内的其他计算机发送错误的ARP数据包, 欺骗他们自己就是网关, 局域网内的其他计算机收到ARP包后, 会更新自己的ARP列表。在此缓存中, 真正网关的MAC地址被感染ARP病毒的主机的MAC地址所取代, 这样局域网中原本应该发送至网关的数据包都被转发到了受ARP感染的主机, 从而造成了整个局域网的网络“掉线”。 (3) 泛洪攻击。感染ARP病毒的主机把伪造的IP地址和MAC地址的映射在一段时间内持续发给局域网内的其他主机, 远远超过了局域网中主机的ARP缓存表容量, 导致局域网内的主机和交换机不停地更新自己的IP地址和MAC地址的映射表, 造成网络拥塞, 致使主机无法正常获取网络服务。
2.2 ARP病毒攻击的一些症状。 (1) 当局域网受到ARP病毒攻击时, 用户访问网页速度非常缓慢, 甚至不能正常访问, 比较明显的症状就是用户频繁地出现瞬间掉线, 大面积断网, 而过一段时间后又会自动恢复, 利用“PING”命令PING网关, 显示出严重的数据包丢失现象, 或者根本无法PING通。 (2) 局域网内的很多主机频繁地出现IP地址冲突等现象, 导致计算机不能正常地连接到外部网络, 在使用“ARP–D” (清除ARP缓存) 命令后, 能够短暂地恢复网络服务。
三、预防ARP病毒感染的措施
3.1 IP地址与MAC地址静态绑定。由于ARP欺骗是通过ARP动态实时的规则来达到欺骗的目的, 所以可以通过主机和网关的IP与MAC的静态绑定来预防ARP病毒。具体方法如下: (1) 在DOS提示符下执行“arp–a”命令, 可获得计算机的IP地址和MAC地址。 (2) 编写一个批处理文件killarp.bat, 实现交换机网关的IP地址和MAC地址绑定, 具体内容如下 (假设本机的IP地址为192.168.9.1) :
设置成功后, 在PC机上执行“arp–a”命令, 便可以看到IP与MAC地址已静态绑定。
然后将这个批处理文件放在“windows-开始-程序-启动”中, 以实现每次计算机开机后自动运行这个批处理文件, 这样可以对用户起到很好的保护作用。
3.2安装ARP防护软件。当局域网的计算机数量较多的时候, 在PC端进行IP和MAC地址静态绑定时, 工作量是非常大的。这种情况下, 可以考虑在局域网内安装ARP防火墙或者是支持ARP过滤的防火墙 (如瑞星防火墙、安全卫士360、AntiARP Sniffer等) , 对里面的相关选项进行设置后, 能在一定程度上阻止ARP病毒的传播, 并在对外来ARP攻击提供有效保护的同时, 能够阻止局域网内的ARP病毒对外造成威胁。此外, 还要尽可能对局域网内的计算机操作系统及时打上安全补丁, 并安装网络版杀毒软件, 定期对病毒库进行升级和进行全网扫描, 这样能够有效防止病毒的泛滥。
3.3及时查找并清理毒机。网络管理人员平时要做好登记工作, 手动建立一个IP与MAC地址对应的数据库, 也可以通过使用MAC地址扫描工具—NBTSCAN扫描全网段IP地址和MAC地址对应表。在发现网络速度不正常时, 采用IRIS NETWORK TRAFFIC ANALYZER对网络流量进行监控, 用IRIS对ARP数据包进行捕获, 将ARP和Reverse ARP两种类型的数据过滤出来, 可以找到MAC地址, 通过平时建立好的IP与MAC对应表, 查找到受感染的主机, 对其进行一系列安全处理, 确认安全后再连接上网。
ARP病毒是利用ARP协议的缺陷进行攻击, 要重新设计更改ARP协议是不太现实的, 所以想要在局域网内完全杜绝ARP攻击的出现是不可能的, 但是ARP病毒攻击并不可怕, 我们只要了解病毒的攻击原理, 通过软硬结合, 采用多种措施来预防ARP攻击, 就会把ARP攻击的危害降到最低, 甚至没有。此外机房网络管理员的责任心也是非常重要的, 要多关注机房中计算机的使用情况, 做好定期升级病毒库等日常琐碎工作。随着计算机技术和网络的发展, 网络中的病毒也会越来越多, 只要用心, 是可以很好地对病毒攻击进行预防的。
参考文献
[1]谢希仁.计算机网络 (第四版) [M].大连:大连理工大学出版社, 2004.
[2]陈一匡.浅析ARP欺骗对校园网的危害及防范[J].电脑知识与技术, 2009 (5) :101-102.
[3]程渊.大型校园网防范ARP病毒入侵方案[J].科技创新导报, 2008 (4) :78.
[4]张少芳, 赵李东.详解ARP欺骗及防范方法[J].大众科技, 2009 (1) :89-90.
[5]王玉伟, 沈国粱.浅议校园网中ARP攻击及其防护措施[J].科技信息, 2010 (17) :60.
ARP病毒的攻击原理 篇4
关键字:ARP协议;ARP攻击;MAC地址;防范策略
中图分类号:TN915.08文献标识码:A文章编号:1007-9599 (2010) 06-0000-02
Attacks Principle& Preventive Measures of ARP Protocol Under Campus Network
Li Hui,Du Shanlin
Abstract:From the function of the ARP protocol to explain the working mechanism ARP.ARP works by analyzing the protocol,discuss the ARP protocol to the physical address from IP address resolution process in the presence of the security risk, given the same network segment and the process of inter-segment ARP cheating. Articles from the client and the network equipment side,puts forward the countermeasures,including the IP address and MAC address binding,switch port and MAC address binding,VLAN isolation techniques on the ARP spoofing attack,the security policy.
Keywords:ARP protocol;ARP attack;MAC address;Preventive measures
一、ARP工作原理
(一)ARP协议介绍
ARP在局域网中,实际传输的是“帧”,帧包括源MAC地址及目标的MAC地址。 在以太网中,一主机要和另一主机进行通信,必须要知道目标MAC地址。MAC是通过ARP地址解析协议获得的。“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
ARP协议规定每一个主机都设有一个ARP高速缓存,里面存有所在局域网上的各主机和路由器的IP地址到硬件地址的一张映射表。根据存储类型,ARP地址转换表可被分为动态和静态两种。
(二)ARP的工作流程
当主机A准备向B发送数据时,己知A明确B的IP地址IPB为192.168.1.101,MAC地址为BB-BB-BB-BB-BB-BB。通过比较IPB与子网掩码,判断A与B是否在同一网段。
1.A与B在同一个网段,A检查本机上ARP缓存区是否有B的MAC地址,如果有则直接发送信息给B,没有就以广播的形式向A所在本局域网内所有主机发送ARP请求报文,意思是本地主机大喊一声“谁的IP是192.168.1.101?请把你的MAC地址传过来!”。网络上其他主机并不响应ARP询问,只有B收到此广播帧后,向A返回ARP reply报文(含MAC地址),意思是对A说“我的IP是IPB,我的MAC地址是BB-BB-BB-BB-BB-BB,当A接收到应答后,更新本机上的ARP缓存,然后用该物理地址把数据包直接发送给B。
2.A与B不在同一网段, A若想要发送信息给B,就必须通过本地网关S1来转发,由本地网关通过路由将数据包发送到B所在网段中的网关S2,网关S2收到这个数据包发现是发送给B的,就会检查自己的ARP缓存,看是否有B的MAC地址,如果没有就使用ARP协议获得,如果有就用该MAC地址与主机B通信。
二、ARP病毒欺骗的实现
(一)ARP协议存在的安全隐患
由于ARP协议不对报文信息的真实性校验,而且没有被请求的ARP响应报文同样可以被目标主机所接受。目标主机刷新自己的缓存,把新的地址映射信息加入到ARP高速缓存中。这种缺陷使得伪造别人的IP地址或MAC地址实现ARP欺骗,进而影响系统报文通信成为一种可能。
(二)ARP病毒作用机理
ARP病毒工作时,首先在将安装有ARP机器的网卡MAC地址通过ARP欺骗广播至整个局域网,使局域网中的工作站误认为安装ARP的机器是该局域网的网关。由于局域网中的所有信息都必须通过网关来中转,当它伪装成网关时,由于物理地址错误,网络上的计算机发来的数据无法正常发送到网关,无法正常上网,造成这些计算机无法访问外网,而局域网中所有机器的数据却都可能流经它而被它窃取。
1.同一网段的ARP欺骗。
设在同一网段的三台主机:A,B,C。
假设A与B是信任关系,A欲向B发送数据包。攻击方C通过前期准备,收集信息,发现B的漏洞,使B暂时无法工作。然后C发送包含自己MAC地址的ARP应答给A。由于大多数的操作系统在接收到ARP应答后会及时更新ARP缓存,而不考虑是否发出过真实的ARP请求,所以A接收到应答后,就更新它的ARP缓存,建立新的IP/MAC地址映射对,即B的IP地址对应C的MAC地址。这样,A就将发往B的数据包发向了C。
2.跨网段的ARP欺骗。
这种方式需要把ARP欺骗与ICMP重定向攻击结合在一起。假设A和B在同一网段,C在另一网段,其IP地址和物理(MAC)地址映射关系如表
跨网段IP/MAC地址映射关系
首先攻击方C修改IP包的生存时间,将其延长,以便做充足的广播。然后寻找B的漏洞,攻击此漏洞,使主机B暂时无法工作。此后,攻击方C发送B的IP地址和C的MAC地址的ARP应答给A。A接收到应答后,更新其ARP缓存。这样,在主机A上B的IP地址就对应C的MAC地址。但是,A在发数据包给B时,仍然会在局域网内寻找192.168.1.101的MAC地址,不会把包发给路由器,这时就需要进行ICMP重定向,告A“到192.168.1.101的最短路径不是局域网,而是路由,请主机重定向路由路径,把所有到192.168.1.101的包发给路由器”。主机A在接受到这个合理的ICMP重定向后,修改自己的路由路径,把对192.168.1.101的数据包都发给路由器。这样攻击方C就能得到来自内部网段的数据包。
基于ARP协议的这一工作特性,借助于一些黑客工具如网络剪刀手等,黑客向对方计算机不断发送有欺诈性质的ARP数据包和ARP恢复数据包,数据包内包含有与当前设备重复的MAC地址,使对方在回应时,由于简单的地址重复错误而导致不能进行正常的网络通信,这样就可以在一台普通计算机上通过发送ARP数据包的方法来控制网络中任何一台计算机的上网与否,甚至还可以直接对网关进行攻击,让所有连接网络的计算机都无法正常上网。
三、安全防范策略
(一)用户端计算机的防御策略
1.安装杀毒软件、防火墙。安装金山毒霸、瑞星、360安全卫士、金山ARP防火墙等杀毒软件,必须要定期升级更新病毒代码,每天定时对机器进行病毒扫描,及时更新补丁程序等。安装影子系统或其它还原系统,这样在受到ARP攻击后可以通过重启实现ARP病毒的清除。
2.网上玩游戏要注意安全。许多带有ARP病毒的木马程序往往都是隐藏在网络游戏的外挂中通过网络游戏私服进行传播的。
3.在用户端计算机上绑定交换机网关的IP和MAC地址。Windows用户可通过在命令行方式执行“arp –s 网关 IP 网关MAC 地址”命令来减轻中毒计算机对本机的影响。网关IP和网关MAC地址可在网络工作正常时通过命令行方式下的“arp -a”命令来得到。可以编写一个批处理文件arp.bat,实现将交换机网关的MAC地址和网关的IP地址的绑定,并将这个批处理文件拖到“开始-程序-启动”中,以便用户每次开机后计算机自动加载并执行该批处理文件。
4.安装常见的防范ARP欺骗攻击的工具软件。针对ARP欺骗攻击出现了一些可以保护客户端的网关MAC地址不被修改的工具软件,并且报警当前是哪个MAC地址在攻击网络。
5.计算机中了ARP病毒后的处理方法。一旦你的计算中了ARP病毒,各种防病毒软件或专杀工具很难完全清除,只有重装系统,并施加相关防护措施,才可以得到比较彻底的恢复。
(二)网络设备管理端的防御策略
1.在核心交换机上绑定用户主机的IP地址和网卡的MAC地址,同时在边缘交换机上将用户计算机网卡的MAC地址和交换机端口绑定的双重安全绑定方式。同时在三层交换机上实时检控用户的IP MAC对应表以及在二层交换机上限制用户端接口上最大可以上传的MAC数量。
(1)IP和MAC地址的绑定。
在核心交换机上将所有局域网络用户的IP地址与其网卡MAC地址一一对应进行全部绑定。这样可以极大程度上避免非法用户使用ARP欺骗或盗用合法用户的IP地址进行流量的盗取。
(2)MAC地址与交换机端口的绑定。
根据局域网络用户所在的区域、楼体和用户房间所对应的交换机端口号,将用户计算机网卡的MAC地址和交换机端口绑定。此方案可以防止非法用户随意接入网络端口上网。网络用户如果擅自改动本机网卡的MAC地址,该机器的网络访问将因其MAC地址被交换机认定为非法而无法实现上网,自然也就不会对局域网造成干扰了。
2.开启交换机上针对ARP的特定功能。在锐捷S21系列二层交换机上可以通过开启Anti-ARP-Spoofing功能,防止同一网段内针对用户的ARP欺骗攻击。其他厂家的设备也有类似功能,CISCO的可以使用ARP-Inspection,H3C的可以使用Anti-ARP-at2tack。
3.使用ARP服务器查找自己的ARP转换表来响应其他机器的ARP广播。
4.对上网用户进行上网认证和地址绑定。通过在用户侧使用静态IP同时在汇聚交换机上进行IP-MAC对的绑定,同时开启帐号+密码+IP+MAC+接入交换机IP+接入交换机PORT的六元素绑定。由于用户名、密码、用户端IP、MAC和接入交换机IP、PORT都对应起来了,杜绝了同一MAC对应多个IP和用户MAC对应网关IP的ARP欺骗,因此通过地址绑定基本可以实现网络对于ARP欺骗攻击的完全性免疫。
四、结束语
本文通过分析ARP协议的工作原理,探讨了基于ARP协议漏洞的欺骗攻击的实现过程,提出了多种可行的安全防御策略,并分析了多种防御措施各自存在的局限性,对于彻底的防范ARP欺骗攻击,一般需要多种方案配合使用,特别是对用户上网进行认证"如果要从根本上解决这一问题,最好的方法将是重新设计一种安全的地址解析协议,已经在IPV6中已经考虑到了这个问题,采用了更安全的方式杜绝了来自底层的攻击。
参考文献:
[1]谢希仁.计算机网络.北京:电子工业出版社,2003,6
[2]傅伟,谢宜辰.基于ARP协议的欺骗攻击及安全防御策略.湘潭师范学院学报,2007,12
[3]邓清华,陈松乔.ARP欺骗攻击及其防范.微机发展,2004,14,8:126-128
[4]周增国.局域网络环境下ARP欺骗攻击及安全防范策略.计算机与信息技术
[5]潘锋.局域网中ARP欺骗的防范.Computer Era,2007,5
[6]黄少敏.校园网络ARP病毒攻击和对策.广东科技,2007,4
作者简介:李辉(1989-),男,辽宁盘锦人,本科在读。
ARP病毒攻击浅析 篇5
在局域网中,一台主机与另一台主机进行通信时,必须知道目标主机的IP地址,而计算机的物理设备不能识别IP地址,只能识别其硬件地址—MAC地址,目标MAC地址是通过ARP协议获得的。ARP是“Address Resolution Protocol”(地址解析协议)的缩写,所谓“地址解析”就是主机在发送数据包前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行[1]。
2 ARP欺骗原理及现象
2.1 基本原理
ARP欺骗攻击是基于ARP协议的工作特性的,其通过向对方计算机不断发送欺诈性的ARP数据包,数据包内包含有与当前设备重复的MAC地址,导致对方在回应报文时,因地址重复错误而不能进行正常的网络通信。这种攻击是利用ARP请求报文进行欺骗的,所以普通的防火墙会误以为是正常的请求数据包,不予拦截,而使计算机遭受攻击。
ARP欺骗可分为两种:一种是对路由器ARP表的欺骗,原理是截获网关数据。其通知路由器一系列错误的内网MAC地址,并按照一定的频率不断进行,使真实的地址信息无法通过更新保存在路由器中,导致路由器的所有数据只能发送错误的MAC地址,造成正常PC无法收到信息。另一种是对内网PC的网关欺骗,其原理是伪造网关。通过建立假网关,让被它欺骗的PC向假网关发送数据,造成网络不通。
2.2 主要现象
遭受ARP欺骗攻击,一般情况下会出现以下症状:局域网经常掉线或者大面积断网,浏览器频繁出错,以及一些常用软件故障等。若局域网中是通过身份认证上网的,会突然出现可通过认证,但不能上网的现象,重启计算机或在MS-DOS窗口下运行arp-d命令后,又可恢复上网一段时间。另外,ARP木马病毒只需成功感染一台计算机,就可能导致整个局域网都无法上网,严重的甚至可能导致整个网络的瘫痪[3]。该病毒发作时除了会导致同一局域网内的用户上网时断时续外,还会窃取用户密码。如:盗取各种网络游戏账号、密码,盗窃网上银行账号等,造成信息资源和经济资源的损失。
3 防范ARP攻击的策略
3.1 中毒主机的定位
面对ARP病毒的攻击,首先要查找出中毒的主机,然后再进行杀毒处理。通常有三种方法。
(1)提示符命令法
当局域网遭受ARP欺骗时,中毒主机会向全网不停地发送ARP欺骗广播,局域网中的其它主机就会动态更新自身的ARP缓存表,将网关的MAC地址记录成ARP病毒主机的MAC地址。这时只要在其它受影响的主机中查询一下当前网关的MAC地址,就可确定中毒主机。在MS-DOS命令提示符中输入arp-a命令,假设某主机的IP地址为192.168.6.1,MAC地址为AA-AA-AA-AA-AA-AA,会显示:
由于这个主机的ARP表是错误的记录,因此,该MAC地址并不是真正网关的MAC地址,而是中毒主机的MAC地址。这时,再与实际的IP-MAC地址对照表进行对照,即可找到中毒主机的IP地址(可在网络正常时,使用nbtscan工具对全网段主机的IP地址和MAC地址进行扫描,保存备用)。
(2)工具定位法
目前有很多ARP病毒定位工具,Anti ARP Sniffer(即ARP防火墙)是其中比较出色的工具之一。使用Anti ARP Sniffer工具定位ARP中毒主机的方法是:启动Anti ARP Sniffer软件,先输入网关的IP地址,再单击“枚举MAC”按钮,即可获得正确网关的MAC地址。然后单击“自动保护”按钮,即可保护当前网卡与网关的正常通信。当局域网中存在ARP欺骗时,该数据包会被记录并报警。这时,再根据欺骗机的MAC地址,与全网的IP-MAC地址对照表进行对照,即可快速定位中毒主机[2]。
(3)抓包嗅探法
当局域网中有ARP病毒欺骗时,往往伴随着大量的ARP欺骗广播数据包。这时,流量检测机制可以很好地检测出网络中的异常举动。可使用如Ethereal这样的抓包工具,进行中毒主机的检测定位。
通常,上述几种方法综合使用,可以更快更准地查找出ARP病毒的中毒主机。
3.2 ARP病毒的清除
当确定中毒主机后,应立即拔掉中毒主机的网线,中断其继续发包干扰全网的运行。随后,可利用杀毒软件杀毒。但由于现在病毒变种极其繁多,有时杀毒软件可能查不出来,这时需要借助手动杀毒。某些类型的ARP病毒运行特征比较隐蔽,电脑中毒时并无明显异常现象,这类病毒运行时自身无进程,通过注入到Explorer.exe进程来实现隐藏自身。其注册表中的启动项不是常规的Run键值加载,也不是服务加载,而是通过注册表的AppInit_DLLs键值加载实现开机自动启动的。这时,利用如Autoruns的工具软件即可快速扫描出病毒文件,然后先清除注册表中的相关键值,重启计算机,在安全模式下手动删除文件。
3.3 ARP攻击的防范措施
对于ARP攻击不能坐以待毙,必须积极预防,在计算机还没遭到ARP攻击前,必须采取有效手段,主动抵御其攻击。
(1)双向绑定法
静态绑定IP和MAC地址是最常用的方法,即在网内把每台主机和网关都做IP和MAC绑定。ARP欺骗是通过ARP动态实时规则欺骗内网机器的,所以把ARP全部设置为静态的,即可解决对内网PC的欺骗,同时在网关也进行IP和MAC的静态绑定,通过双向绑定提高保险系数。例如:某主机的IP地址为192.168.6.1,MAC地址为AA-AA-AA-AA-AA-AA。在未被绑定的情况下是动态的,通过arp-a命令可查看到以下信息:
在MS-DOS命令提示符中输入:“arp-s 192.168.6.1AA-AA-AA-AA-AA-AA”,即可实现绑定。设置成功后,可再通过arp-a命令查看到以下信息:
需要注意的是,静态绑定在计算机重启后会失效,需要重新绑定。
(2)软件法
ARP的防护软件、防火墙比较多,如:欣向ARP工具,Antiarp等。其防护的工作原理是以一定的频率向网络广播正确的ARP信息。现在很多国内软件厂商,如:江民、金山、瑞星、奇虎都推出了相应的防火墙,可以用来预防ARP的局域网攻击。
(3)路由器法
这种方法就是使用具有ARP防护功能的路由器,其原理是定期发送自己正确的ARP信息,以维持网络稳定运行。但路由器的这种功能不能解决真正意义上的攻击,若出现攻击性ARP欺骗,即在短时间内出现大量的ARP欺骗,不断地发送ARP欺骗包来阻止内网机器上网,则使路由器不断广播的正确包被其大量错误信息淹没。而在网络中,不可能浪费和占用大量的资源专门去处理这些广播信息,这样会严重影响网络速度[4]。
(4)定期检查ARP缓存
定期检查ARP缓存是必不可少的预防措施。定期从响应的IP包中获得一个rarp请求,然后检查ARP响应的真实性。定期轮询,检查主机上的ARP缓存,使用防火墙连续监控网络。
4 应注意的几个问题
在遭受到ARP攻击中毒后,可以通过一些技术手段来清除病毒和恢复数据,但有时会出现泄密或丢失数据的情况,本质上的预防要从自身做起,加强网络安全意识,随时保证网络的安全。主要应注意做好五个方面:一是使用正版软件,不安装非法或不明来源软件。二是及时更新操作系统补丁、安装正版杀毒软件并及时更新病毒库。三是不主动通过网络攻击别人,发现自己中病毒后主动和网络隔离,避免扩散,感染其他用户。四是不随便接收、打开或运行陌生、可疑文件和程序,如邮件中的陌生附件等。五是不随便访问不明、不健康的网站。
参考文献
[1]胡健伟.网络安全与保密[M].西安:西安电子科技大学出版社,2003-01.
[2]刘先省,张连堂.计算机常用工具软件及应用[M].北京:机械工业出版社,2008-07.
[3]王达.网络第1课—计算机与网络安全[M].北京:电子工业出版社,2008-01.
机房防御ARP病毒攻击的策略 篇6
高校教学机房是学校计算机及相关课程实验教学、课程设计、毕业设计及学生自学计算机科学知识、提高计算机操作技能、应用能力的主要场所,教师经常会在计算机机房进行授课,并且根据课程安排需要连接到IN-TERNET上进行实际操作。但是很多时候经常会出现一种情况:学生机不能够连接网络,或者网络时断时续,通过重启路由器,网络又恢复正常,但很快故障又发生了。究竟是什么原因导致出现这种现象呢?作为一名机房的维护人员,笔者经过反复研究和测试,发现这是典型的ARP攻击,或者也称为ARP病毒。下面对机房局域网的ARP病毒欺骗原理和防治方法作简要分析研究。
1 ARP病毒简介
ARP病毒并不是某一种病毒的名称, 而是对利用ARP协议的漏洞进行传播的一类病毒的总称。ARP协议是TCP/IP协议组的一个协议, 用于进行把网络地址翻译成MAC地址。通常此类攻击的手段有两种:路由欺骗和网关欺骗。ARP病毒是一种入侵电脑的木马病毒, 对电脑用户私密信息的威胁很大。
ARP (Address Resolution Protocol)的中文名称为“地址解析协议”,它的运行方式比较简单,整个过程是由ARP请求(ARP Request)与ARP应答(ARP Reply)两种信息包所组成。网络常识告诉我们,数据链路层在传递信息包时,必须利用数据链路层地址(例如:以太网卡的MAC地址)来识别目标设备;网络层在传递信息包时,必须利用网络层地址(例如:IP地址)来识别目标设备。通俗来说,当我们在网络中利用IP地址传递信息包时,必须要知道目标的MAC地址,这项工作就由ARP完成。
由于ARP的请求信息包为以太网广播信息包,即ARP请求无法通过路由器传送到其他网络。因此,ARP仅能解析同一网络内的MAC地址,无法解析其他网络的MAC地址。
2 ARP病毒欺骗原理
2.1 ARP病毒原理
ARP病毒是一种木马程序,其本质就是利用ARP本身的漏洞进行ARP欺骗,即通过伪造IP_MAC地址实现ARP欺骗,在网络中产生大量的ARP通信量使网络阻塞,或使信息流向错误的服务器,从而使个人主机无法收到信息。
2.2 ARP病毒的欺骗过程
ARP协议的基础就是信任局域网内所有的用户,也就是说它的假设前提是:局域网中任何一台电脑,其发送的ARP数据包都是正确的。那么这样就很危险了!因为实际上,局域网内并非所有的计算机都能安分守己,往往会有非法者的存在。在实际操作中,由于局域网内部的拓扑结构一般都为总线型,也就是说当A主机发送广播数据包时,除了B主机以外,局域网内的其他主机也会同时收到此数据包,只不过其他主机对该数据包进行了屏蔽,不会作出回应。但如果有一台主机C主动在B主机向A主机发回数据包之前,抢先发回了数据包。由于协议中并没有规定ARP缓存表对接收到的ARP数据包的正确与否进行审查,这时A主机ARP缓存表中B主机的IP、MAC地址就被C主机的地址所假冒。从而导致A主机的数据包被发向C主机,而B主机却没有接收到数据。
通过以上分析可知,ARP工作的原理不需要通过双方互相的验证,仅仅是建立在双方互相信任的基础上,另外映射关系不是持久的,是有存在时间的,而且不会去记忆是否曾经发送过请求报文。因此ARP协议具有动态性、无序性、无记忆性、无安全管理等特性,这也是ARP攻击的基础。
2.3 ARP病毒的欺骗分类
ARP欺骗的分类从影响网络连接通畅的方式来看,可以分为二种:一种是对路由器ARP表的欺骗;另一种是对内网PC的网关欺骗。第一种ARP欺骗是通过截获网关数据实现的。它通知路由器一系列错误的内网MAC地址,并按照一定的频率不断进行,使真实的地址信息无法通过更新保存在路由器中,结果路由器的所有数据只能发送给错误的MAC地址,造成正常网内主机无法收到信息。第二种ARP欺骗是通过伪造网关实现的。它的原理是建立假网关,让被欺骗的主机向假网关(其实是局域网内一台被感染ARP病毒的普通电脑)发送数据,而不是通过正常的路由器途径上网。由于假网关处理速度和本身不断地在滥发广播消息,相对网内其他PC而言,该PC是无法登陆网络的了。
2.4 ARP病毒的故障现象
当局域网内某台主机运行ARP欺骗的木马程序时,会欺骗局域网内所有主机和路由器,让所有上网的流量必须经过病毒主机。其他用户原来直接通过路由器上网现在转由通过病毒主机上网,切换的时候用户会断一次线。切换到病毒主机上网后,假如用户已经登陆了某些服务器,那么病毒主机就会经常伪造断线的假像,那么用户就得重新登录服务器,这样病毒主机就可以盗号了。
由于ARP欺骗的木马程序发作的时候会发出大量的数据包导致局域网通讯拥塞以及其自身处理能力的限制,用户会感觉上网速度越来越慢。当ARP欺骗的木马程序停止运行时,用户会恢复从路由器上网,切换过程中用户会再断一次线。
3 ARP病毒的防御策略
3.1 机房局域网可采用IP与MAC绑定
在PC端上通过IP地址和MAC地址的绑定,在网络交换设备上采用IP和MAC的端口绑定。而ARP欺骗是通过ARP的动态实时的规则欺骗内网计算机,所以把ARP全部设置为静态可以解决对内网计算机的欺骗,同时在网关也要进行IP和MAC的静态绑定,这样的双向绑定可以在一定程度上解决问题。
但是这两种方法也不能完全杜绝ARP欺骗,内网计算机上所设置的静态ARP项还是会被ARP欺骗所改变。而网络设备上只作IP和MAC地址的绑定,也是不安全的。假如同一层下的某台机器发送伪造的ARP reply给网关,但是源IP和源MAC地址都是欲攻击的那台主机的,还是会造成网络把流量送到欺骗者所连的那个物理端口,从而造成网络故障。
3.2 采用Super Vlan或Pvlan技术
Super VLAN也被叫做VLAN聚合,这种技术能够在同一个子网中生成出多个Sub VLAN,而将整个IP子网指定为一个VLAN聚合(Super VLAN),所有的Sub VLAN都使用Super VLAN的默认网关IP地址,不同的Sub VLAN仍保留各自独立的广播域。子网中的所有主机只能与自己的默认网关通信。如果将交换机的每个端口化为一个Sub VLAN,则实现了所有端口的隔离,也就避免了ARP欺骗。PVLAN即私有VLAN (Private VLAN), PVLAN采用两层VLAN隔离技术,只有上层VLAN全局可见,下层VLAN相互隔离。如果将交换机的每个端口划分成为一个子VLAN,就能够实现所有端口之间的隔离。
PVLAN和Super VLAN技术都能够实现端口之间的隔离,但实现的方式和出发点是不同的。PVLAN是为了节省VLAN,而Super Vlan则是为了节省IP地址。
3.3 使用软件
对于计算机不是很熟悉的老师和同学,最好使用软件来解决ARP中毒问题。推荐使用ARP防火墙和ARP卫士。ARP防火墙是基于IP地址和MAC地址的绑定,使用简单,适用于普通的ARP欺骗。如果用ARP防火墙依然不能解决问题的话,也可以使用ARP卫士,ARP卫士通过底层核心驱动能很好解决ARP欺骗、攻击问题。
4 结语
计算机病毒技术和反病毒技术都是呈现螺旋式发展的趋势,互为促进。没有任何一种反病毒技术手段可以使我们高枕无忧,而技术手段也仅仅只是一种方法。在对付计算机病毒最根本的方法仍然是预防为主,这就要靠一套行之有效的、严格的法律、法规和章程制度及措施来保障,其核心是人,要使用计算机文化来约束自己的行为,不要使用、传播非法的、来历不明的软件。
参考文献
[1]闫实等.高校校园ARP病毒欺骗原理及防御方法[J].网络安全技术与用, 2010, 06:48, 73.
[2]李振强.谈构建完善的校园网防范ARP攻击[J].硅谷, 2010, 7:65.
[3]于佳.浅谈ARP欺骗原理与防范[J].中国校外教育, 2010, 10:163.
[4]王玉伟, 沈国梁.浅议校园网中ARP攻击及其防护措施[J].科技信息, 2010, 17:60.
ARP病毒攻击分析与防御 篇7
1 工作原理
1.1 ARP协议
ARP协议即地址解析协议,通过该协议,只要知道了某台机器的IP地址,即可以知道其物理地址。在TCP/IP网络环境下,每个主机都分配了一个32位的IP地址,这种互联网地址是在网际范围标识主机的一种逻辑地址。为了让报文在物理网路上传送,必须知道对方目的主机的物理地址。这样就存在把IP地址变换成物理地址的地址转换问题。在局域网中,为了正确地向目的主机传送报文,必须把目的主机的32位IP地址转换成为48位以太网的地址。这就需要在互连层有一组服务将IP地址转换为相应物理地址,这组协议就是ARP协议。
1.2 原理分析
1.2.1 概述
在每台安装网卡的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的,如表1所示。
以主机A(192.168.0.10)向主机B(192.168.0.2)发送数据为例。当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;如果在ARP缓存表中没有找到相对应的IP地址,主机就会在网络上发送一个广播,目标MAC地址是“FF.FF.FF.FF.FF.FF”,这表示向同一网段内的所有主机发出这样的询问:“192.168.0.2的MAC地址是什么?”网络上其他主机并不响应ARP询问,只有主机B接收到这个帧时,才向主机A做出这样的回应:“192.168.0.2的MAC地址是00-14-78-0a-a3-eh”。这样,主机A就知道了主机B的MAC地址,它就可以向主机B发送信息了。同时它还更新了自己的ARP缓存表,下次再向主机B发送信息时,直接从ARP缓存表里查找就可以了。ARP缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。主机每隔一定时间或者每当收到ARP应答,都会用新的地址映射记录对ARP缓存进行更新,以保证自己拥有最新的地址解析缓存。
1.2.2 缺陷
由上文所述ARP工作原理来看,似乎局域网应该很安全。但是,上述数据发送机制有一个致命的缺陷,即它是建立在对局域网中主机全部信任的基础上的,也就是说它的假设前提是:无论局域网中那台电脑,其发送的ARP数据包都是正确的。那么就很危险了,非法攻击者就是利用这一缺陷来进行攻击的。例如在数据发送中,当主机B(IP地址为192.168.0.2)向全网询问“我想知道IP地址为192.168.0.3的主机的硬件地址是多少?”后,主机C(IP地址为192.168.0.3)也回应了自己的正确MAC地址MAC_C。但是此时,攻击者主机D回答:“我的IP地址是192.168.0.3,我的硬件地址是MAC_D”,注意,此时它竟然冒充自己是C主机的IP地址,而MAC地址竟然写成自己的!由于主机D不停地发送这样的应答数据包,本来主机B的ARP缓存表中已经保存了正确的记录:192.168.0.3-MAC_C,但是由于主机D的不停应答,这时主机B并不知道主机D发送的数据包是伪造的,导致主机B又重新动态更新自身的ARP缓存表,这回记录成:192.168.0.3-MAC_D,很显然,这是一个错误的记录(这步也叫ARP缓存表中毒),这样就导致以后凡是主机B要发送给C主机,也就是IP地址为192.168.0.3这台主机的数据,都将会发送给MAC地址为MAC_D的主机,这样,主机D劫持了由主机B发送给主机C的数据。这就是ARP欺骗的过程。
2 攻击方式
ARP攻击是指攻击者利用地址解析协议本身的运行机制而发动的攻击行为。包括进行对主机发动IP冲突攻击、数据包轰炸、切断局域网上主机的网络连接等。
2.1 IP地址冲突
制造出局域网上有另一台主机与受害主机共享一个IP的假象。由于违反了唯一性要求,受害主机会自动向用户弹出警告对话框。大量的攻击数据包能令受害主机耗费大量的系统资源。对于Windows操作系统,只要接收到一个ARP数据包,不管该ARP数据包符不符合要求,只要该ARP数据包所记录的源IP地址同本地主机相同但MAC地址不同,Windows系统就会弹出IP地址冲突的警告对话框。根据IP地址冲突的攻击特征描述,这种类型的ARP攻击主要有以下几种:
(1)单播型的IP地址冲突
链路层所记录的目的物理地址为被攻击主机的物理地址,这样使得该ARP数据包只能被受攻击主机所接收而不被局域网内的其它主机所接收实现隐蔽式攻击。
(2)广播型的IP地址冲突
链路层所记录的目的物理地址为广播地址,这样使得局域网内的所有主机都会接受到该ARP数据包,虽然该ARP数据包所记录的目的IP地址不是受攻击主机的IP地址,但是由于该ARP数据包为广播数据包,这样受攻击主机也会接收到从而弹出IP地址冲突的警告对话框。
2.2 ARP泛洪攻击
攻击主机持续把伪造的MAC-IP映射对发给受害主机,对于局域网内的所有主机和网关进行广播,抢占网络带宽和干扰正常通信。这种攻击方式的主要攻击特征包含:
(1)通过不断发送伪造的ARP广播数据报使得交换机忙于处理广播数据报耗尽网络带宽。
(2)令局域网内部的主机或网关找不到正确的通信对象,使得正常通信被阻断。
(3)用虚假的地址信息占满主机的ARP高速缓存空间,造成主机无法创建缓存表项,无法正常通信,这种攻击特征作者将其命名为ARP溢出攻击。ARP泛洪攻击不是以盗取用户数据为目的,它是以破坏网络为目的,属于损人不利己的行为。
2.3 溢出攻击
ARP溢出攻击的特征主要有:
(1)所发送的伪造MAC-IP映射对的IP地址是非本地网的虚拟不存在的IP地址但MAC地址是固定的,由于当操作系统接收到一个源IP地址在ARP高速缓存表中不存在的ARP数据包时,就会在缓存表中创建一个对应MAC-IP的入口项。
(2)所发送的伪造MAC-IP映射对的IP地址是非本地网的虚拟不存在的IP地址而且MAC地址也是虚拟变化的。发送这种类型的攻击数据包会引起交换机的CAM表溢出。由于交换机是通过学习进入各端口数据帧的源MAC地址来构建CAM表,将各端口和端口所连接主机的MAC地址的对应关系进行记录,因而可根据CAM表来决定数据帧发往哪个端口。如果攻击源持续向交换机发送大量有错误的MAC地址ARP数据包,就会破坏端口与MAC的对应关系,并导致CAM表溢出。在这种情形之下,缺少防范措施的交换机就会以广播的模式处理报文,形成泛洪向所有接口转发通信信息流。最终使得交换机变成HUB,将交换式的网络变成广播式的网络,使得网络带宽急剧下降。
2.4 欺骗攻击
2.4.1 拒绝服务攻击
拒绝服务攻击就是使目标主机不能响应外界请求,从而不能对外提供服务的攻击方法。如果攻击者将目标主机ARP缓存中的MAC地址全部改为根本就不存在的地址,那么目标主机向外发送的所有以太网数据帧会丢失,使得上层应用忙于处理这种异常而无法响应外来请求,也就导致目标主机产生拒绝服务。
2.4.2 中间人攻击
中间人攻击就是攻击者将自己的主机插入两个目标主机通信路径之间,使他的主机如同两个目标主机通信路径上的一个中继,这样攻击者就可以监听两个目标主机之间的通信。如果攻击者对一个目标主机与它所在局域网的路由器实施中间人攻击,那么攻击者就可以截取Internet与这个目标主机的之间的全部通信。
2.4.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.4.4 全子网轮询欺骗
篡改被攻击主机X中关于网络内多台主机的ARP记录,这台被攻击的主机为网关或网络内任何一台非网关的主机,被篡改后的MAC地址可以为网络内正在运行的主机MAC地址或随机伪造的不存在主机的MAC地址。
T时刻,主机X关于主机A的ARP记录被篡改;
T+N时刻,主机X关于主机B的ARP记录被篡改;
……
T+M时刻,主机X关于主机Z的ARP记录被篡改;
2.4.5 网络监听
攻击主机利用上述多主机欺骗来仿冒网关,利用全子网轮询欺骗来篡改真正网关上关于局域网内所有主机的ARP缓存记录,从而实现对局域网内所有主机同外部网的通信进行监听。实现了在交换式网络环境中对网络通信的监听。
2.4.6 ARP扫描攻击
向局域网内的所有主机发送ARP请求,从而获得正在运行主机的IP和MAC地址映射对。ARP扫描往往是为发动ARP攻击做准备。攻击源通过ARP扫描来获得所要攻击主机的IP和MAC地址。从而为网络监听、盗取用户数据,实现隐蔽式攻击做准备。
2.4.7 虚拟主机攻击
通过在网络内虚拟构建网卡,将自己虚拟成网络内的一台主机,拥有虚拟的物理地址和IP地址。主要是通过在链路层捕获所有流经的ARP请求数据包进行分析,若是对虚拟主机的ARP请求就会发送对应虚拟物理地址的ARP响应,并且虚拟主机本身也会发送ARP请求。虚拟主机攻击会占用局域网内的IP地址资源,使得正常运行的主机发生IP地址冲突,并且局域网内的主机也无法正常获得IP地址。
3 病毒防御
3.1 双向绑定法
由于ARP病毒的种种网络特性,可以采用一些技术手段进行网络中ARP病毒欺骗数据包免疫。即便网络中有ARP中毒电脑,在发送欺骗的ARP数据包,其它电脑也不会修改自身的ARP缓存表,数据包始终发送给正确的网关,用的比较多的办法是“双向绑定法”。
双向绑定法,顾名思义,就是要在两端绑定IP-MAC地址,其中一端是在路由器中,把所有PC的IP-MAC输入到一个静态表中,这叫路由器IP-MAC绑定。令一端是局域网中的每个客户机,在客户端设置网关的静态ARP信息,这叫PC机IP-MAC绑定。客户机中的设置方法如下:
新建记事本,输入如下命令:arp–d(清空当前的ARP缓存表)
Arp–s 192.168.0.1 00-14-78-0a-a3-ef(将正确网关的IP地址和MAC地址绑定起来)
将这个批处理文件放到系统的启动目录中,可以实现每次开机自运行,这一步叫做“固化arp表”。
3.2 Super VLAN或PVLAN技术
Super VLAN也叫VLAN聚合,这种技术在同一个子网中划出多个Sub VLAN,而将整个IP子网指定为一个VLAN聚合,所有的子网都使用Super VLAN的默认网关IP地址,不同的子网仍保留各自独立的广播域。子网中的所有主机只能与自己的默认网关通信。如果将交换机的每个端口化为一个Sub VLAN,则实现了所有端口的隔离,也就避免了ARP欺骗。
PVLAN即私有VLAN(Private VLAN),PVLAN采用两层VLAN隔离技术,只有上层VLAN全局可见,下层VLAN相互隔离。如果将交换机或IP DSLAM设备的每个端口化为一个(下层)VLAN,则实现了所有端口的隔离。
3.3 DHCP服务器
建立DHCP服务器,另外所有客户机的IP地址及其相关主机信息,只能由网关这里取得,网关这里开通DHCP服务,但是要给每个网卡,绑定固定唯一IP地址。一定要保持网内的机器IP/MAC一一对应的关系。这样客户机虽然是DHCP取地址,但每次开机的IP地址都是一样的。除非很有必要,否则停止使用ARP,将ARP做为永久条目保存在对应表中。
3.4 网关监听网络安全
网关上面使用TCPDUMP程序截取每个ARP程序包,弄一个脚本分析软件分析这些ARP协议。ARP欺骗攻击的包一般有以下两个特点,满足之一可视为攻击包报警。第一以太网数据包头的源地址、目标地址和ARP数据包的协议地址不匹配,或者ARP数据包的发送和目标地址不在自己网络网卡MAC数据库内,或者与自己网络MAC数据库MAC/IP不匹配。这些统统第一时间报警。
3.5 控制ARP的攻击
(1)病毒源,对病毒源头的机器进行处理,杀毒或重新装系统。此操作比较重要,解决了ARP攻击的源头PC机的问题,可以保证内网免受攻击。
(2)网吧管理员检查局域网病毒,安装杀毒软件,对机器进行病毒扫描。
(3)给系统安装补丁程序,通过Windows Update安装好系统补丁程序。
(4)给系统管理员帐户设置足够复杂的强密码,最好能是12位以上,字母+数字+符号的组合;也可以禁用/删除一些不使用的帐户。
(5)经常更新杀毒软件(病毒库),设置允许的可设置为每天定时自动更新。安装并使用网络防火墙软件,网络防火墙在防病毒过程中也可以起到至关重要的作用,能有效地阻挡自来网络的攻击和病毒的入侵。部分盗版Windows用户不能正常安装补丁,不妨通过使用网络防火墙等其他方法来做到一定的防护。
(6)关闭一些不需要的服务,条件允许的可关闭一些没有必要的共享,也包括C$、D$等管理共享。完全单机的用户也可直接关闭Server服务。
(7)不要随便点击打开QQ、MSN等聊天工具上发来的链接信息,不要随便打开或运行陌生、可疑文件和程序,如邮件中的陌生附件、外挂程序等。
3.6 其他防御方法
(1)软硬件联合防护
除此之外,很多交换机和路由器厂商也推出了各自的防御ARP病毒的软硬产品来实现局域网中的ARP病毒免疫,其提供MAC和IP地址绑定功能,可以根据用户的配置,在特定的IP地址和MAC地址之间形成关联关系。对于声称从这个IP地址发送的报文,如果其MAC地址不是指定关系对中的地址,路由器将予以丢弃,是避免IP地址假冒攻击的一种方式。
(2)防火墙实现ARP终极防御
对动手能力再强的网络工程师,最好的防御ARP攻击的方法通过设置防火墙,使本机只响应网关来的MAC。例如利用Look'n'Stop,配合补丁使用可达到较好的防御效果。
总而言之,随着ARP攻击手段的不断发展和变化,只靠单一的防御方案是不可能完全成功的防御ARP攻击。而且根据不同的网络环境,往往要采取不同的措施。那么只有完全掌握ARP攻击的原理,灵活地应用各种防御方案,才能达到最好的效果。
摘要:随着网络的日益普及化,网络安全成为日益严重的问题,ARP病毒攻击已成为重要的方式。通过对ARP工作原理及工作机制漏洞的分析,阐述ARP不同的攻击方式,并对其相应的攻击采取了不同的防御方案。只有完全掌握ARP攻击的原理,灵活地应用各种防御方案,才能达到最好的效果。
关键词:ARP,攻击方式,防御
参考文献
[1]谢希仁.计算机网络.北京:电子工业出版社,2008.
[2]葛秀慧,田浩,金素梅.计算机网络安全管理.北京:清华大学社,2008.
[3]秦丰林,段海新,郭汝廷.ARP欺骗的监测与防范技术综述[J].计算机应用研究,2009,(01).
[4]赵春华.ARP欺骗分析、处理及防范[J].金融电子化,2007,(12).
[5]KelvinFu.ARP攻击与防护完全手册.
ARP攻击的原理分析及防御方案 篇8
1 ARP协议的工作原理
在TCP/IP网络环境下,IP数据包走到哪里去,如何到达,这是由路由表决定的。但是,到达目的网络后,目的网络设备并不识别32位的IP数据包,只识别48位的MAC地址。因此,需要一种协议把IP地址转换为MAC地址,使这两种地址存在着某种静态或算法的映射关系。地址解析协议,即ARP协议,就是用来确定这些映射的协议。
为直观起见,现以网关向主机A发送IP数据为例说明ARP协议的工作原理。
1) 网关首先查看本机的ARP缓存中是否存在主机A的IP地址对应的MAC地址。若有,则直接利用ARP表中的MAC地址,封装IP数据包再发送给主机A。
2) 2) 若无,以广播方式发送一个ARP请求报文。ARP请求报文中的发送端IP和MAC地址分别为网关的IP和MAC地址,目标IP和MAC地址分别为主机A的IP地址和全0的MAC地址。由于ARP请求报文以广播方式发送,该网段上的所有主机都可以接收到ACAIP0MACARP该请求,但只有被请求的主机,即主机A,会对该请求进行处理,如图1中的2。
3) 3) 主机A比较自己的IP地址和ARP请求报文中的目标IP地址,当两者相同时进行如下处理:将ARP请求报文中的发送端(即AIPARPIP网关)的IP和MAC地址存入自己的ARP表中。之后以单播方式发送ARP响应报文给主机A,其中包含了自己的MAC地址,如图I中的3
4) 网关收到ARP响应报文后,将主机A的MAC地址加入到自己的ARP表中,同时将IP数据包进行封装后发送出去。
为避免ARP数据包过多地占用网络带宽,ARP协议设计计算机、交换机、路由器及防火墙等网络设备维护本机的ARP缓存。在正常情况下,ARP缓存可以有效保证数据传输的正确性。
2 ARP攻击技术
按照ARP协议的设计,网络设备在收到ARP包时并没有判断包的合法性,直接更新本机的ARP缓存,这就为ARP攻击提供了条件。在本文中,将分两类讨论ARP攻击的四种常见方式,并分析它们的攻击过程与原理。
2.1 ARP欺骗攻击
ARP欺骗攻击,是指攻击者通过发送伪造的ARP报文,恶意修改网络设备或网络内其他用户主机的ARP表项,造成网络或用户的报文通信异常。
2.1.1基于ARP的中间人攻击
中间人攻击(MIMT)是利用一定手段在两台或多台主机间人为地加入一台透明主机,被攻击主机间的通信都通过透明主机转发的攻击方式。透明主机被称为“中间人”,中间人能够与被攻击主机建立连接、截取并篡改它们的通信数据。中间人攻击的常用攻击手段是ARP欺骗。
拓扑图如图2,假设主机A是中间人,网关和主机B是被攻击主机,攻击过程如下:
1) 主机A向网关发送虚假的ARP响应包,使网关的ARP缓存更新为:主机B的IP地址192.168.1.3对应的MAC地址为MAC-A;
2) 主机A向主机B虚假的ARP响应包,使主机B的ARP缓存更新为:网关的IP地址192.168.1.1对应的MAC地址为MAC-A;3) A
3) 主机A开启包转发功能。
4) 这样,网关与主机B间的直接通信中断,取而代之的是网关与主机B间的通信都要经过主机A转发。
2.1.2交换机ARP缓存的端口错误
交换机的ARP缓存不仅包含IP地址与MAC地址,也包含它们所对应的交换机端口。因此,当伪造网络中其他主机的源IP或源MAC地址的ARP报文经过交换机时,造成该交换机上的ARP条目刷新到错误的端口上以致网络中断。
2.2 ARP泛洪攻击
2.2.1 基于ARP的拒绝服务攻击
拒绝服务攻击(Denial Of Services)是使计算机或网络无法提供正常服务的一种攻击方式。下面将分析基于ARP的拒绝服务攻击。
拓扑图如图3,假设主机A是攻击者,主机B是被攻击者,攻击过程如下:
1) 主机A向主机B连续发送大量虚假ARP响应包,使主机B的ARP表更新为:网关的IP地址192.168.1.1对应的MAC地址为MAC-A;
主机以为源构造数据包,向主机发起伪连接;
3) 当主机B收到该包后,就构造一个目的IP为192.168.1.1的SYN ACK包发往网关。由于主机B的ARP缓存中192.168.1.1对应的MAC地址为MAC-A,这个SYN ACK包实际上是发往主机A;
4) 由于主机A的IP地址为192.168.1.2,与SYN ACK包的目的IP不一致,所以主机A的系统将丢弃SYN ACK包。但是,主机A可以在数据链路层直接把数据帧获取下来,并再次以192.168.1.1为源IP构造伪装SYN ACK包发往主机B以完成TCP的第三次握手。这样,TCP的三次握手完成,主机A对主机B的伪连接也成功建立;
5) 主机A以192.168.1.1为源IP向主机B连续发送大量数据,这样,主机B的所有可用的操作系统资源都被消耗殆尽,最终主机B无法处理合法用户的服务请求。
2.2.2 MAC泛洪现象
泛洪是快速散布网络设备更新信息到网络每一个结点的一种方法。MAC泛洪是交换机的ARP缓存溢出现象,即因为交换机可以主动学习客户端的IP与MAC地址对以建立和维护其固定大小的ARP高速缓存表,当交换机收到大量的ARP欺骗包时,其ARP缓存将迅速被填满错误的ARP条目,同时,这些ARP条目将被更新到网络中的其他交换机中,从而造成它们的ARP表溢出、负载过大、网络缓慢、丢包甚至网络瘫痪。
3 ARP攻击的防御方案
下面将从计算机和交换机两个层面介绍ARP攻击的防御措施。
3.1 计算机的防御
1) 使用arp命令
在Windows环境下,建立批处理文件包含命令arp—s以手动静态绑定网关的正确MAC地址,并通过计划任务设置其为开机自动运行,以达到防止网关ARP欺骗攻击的效果(静态的ARP条目在关机时会自动丢失)。
2) 安装具备ARP防火墙功能的安全软件
安全软件的ARP防火墙模块可以静态绑定网关并锁定、自动记录攻击与被攻击的情况。目前,市面上具备ARP防火墙功能的安全软件有很多种,例如瑞星防火墙、360安全卫士、QQ管家、金山毒霸及风云防火墙等。它们都能够在不同程度的对ARP攻击进行防御。
3.2 交换机的防御
以太网交换机提供了多样的ARP安全技术,而不同的交换机所支持的ARP安全特性有所差别。下面,讲述交换机ARP攻击防御的一些技术。
3.2.1 自定义ACL
自定义ACL根据用户的定义对二层数据帧的前80个字节中的任意字节进行匹配,对数据报文作出相应的处理。下面,将通过自定义ARP报文控制指定的ARP报文。
拓扑图如图4,S5516为核心交换机,设置网关为192.168.1.1,S3100-52P为接入交换机。为防止网关欺骗,现对交换机做如下配置:
1) 创建接入交换机S3928TP的用户自定义ACL:acl number 5000
2) 创建acl 5000的子规则0(拒绝交换机转发仿冒网关192.168.1.1的ARP欺骗报文):rule 0 deny 0806 ffff 16 C0A80101 ffffffff 32
3) 在接入交换机S3928TP的连接PC的所有端口的端口视图下,下发ACL 5000:packet-filter inbound user-group 5000
4) 完成
3.2.2 静态ARP与端口绑定
静态ARP是针对交换机的ARP缓存的技术,即ARP缓存中的IP与MAC地址对固定,交换机在收到ARP报文时其不会被动态修改;而端口绑定是一种简单的安全机制,通过交换机上的绑定功能,可以对端口转发的报文进行过滤控制。当端口接收到报文后查找绑定表项,如果报文中的特征项与绑定表项中记录的特征项匹配,则端口转发该报文,否则丢弃处理。
3.2.3 ARP报文限速
该技术可以防止设备因处理大量ARP报文,导致CPU负荷过重而无法处理其他业务。该技术的原理是通过对每秒内交换机全局、VLAN、接口或源IP接收的ARP报文数量进行统计,若每秒收到的ARP报文数量超过设定值,则认为该交换机全局、VLAN、接口或源IP接收的ARP报文处于超速状态,即受到ARP报文攻击。此时,交换机将丢弃超出阈值部分的ARP报文,从而避免大量ARPARP报文攻击设备。
3.2.4 基于接口的ARP表项限制
该技术通过在指定接口下配置接口能够学习到的最大动态ARP表项数目,以确保当指定接口下的动态ARP表项达到允许学习的最大数目后,将不允许新增动态ARP表项,达到防止当一个接口所接入的某一用户主机发起ARP攻击时导致整个设备的ARP表资源都被耗尽的目的。
4 ARP攻击实际案例分析
4.1 案例环境
单位以交换机S7703为核心交换机组建以太网,在该交换机下设置网关192.168.1.1/24,并通过光口下联3台以太网交换机S3700,分别为接入交换机A、B和C,拓扑图如图5所示。
4.2 ARP攻击现象
职工反映无法上网,但能够动态获取IP地址。
4.3 ARP攻击定位及处理
1) 网络管理员通过IPCONFIG/ALL查看无法上网计算机的IP配置,发现网关指向192.168.1.1;
2) 网络管理员通过ARP -A查看网关192.168.1.1的MAC地址不是11-11-11-11-11-11,而是AA-AA-AA-AA-AA-AA;
3) 网络管理员使用telnet登录S7703,通过display arp命令发现网关地址192.168.1.1对应的MAC地址也是AA-AA-AA-AAAA-AA;
4) 通过display log命令发现有ARP冲突记录;
5) 通过display mac-address发现该假的MAC地址是从端口G2/0/3学习到的;
6) 网络管理员使用telnet登录端口G2/0/3下联的接入交换机B,通过display mac-address发现该假的MAC地址所对应的端口为E0/0/2;
7) 网络管理员进入该端口视图,使用Shut down关闭该端口E0/0/2,并保存配置;8)
8)网络恢复正常。
4.4 ARP攻击处理流程
ARP攻击的处理一般是先确定产生攻击的源MAC地址,再通过查看交换机判断该源MAC地址所接的交换机端口,最后把该攻击端口物理关闭即可。
5 小结
ARP攻击和实现原理解析 篇9
ARP (Address Resolution Protocol, 地址解析协议) 是一个位于TCP/IP协议栈中的网络层协议, 对应于ISO七层协议的数据链路层, 负责将IP地址进行解析, 转换成对应的MAC地址。ARP协议的主要功能就是通过目标设备的IP地址, 以缓存表和广播的形式查询目标设备的MAC地址, 以保证通信的进行。
2 ARP与ARP缓存表
在以太网协议中规定, 局域网中的主机进行通信时, 必须知道目标主机的以太网地址 (MAC地址) , 而在TCP/IP协议中, 网络层和传输层只关心IP地址, 数据链路层并不能识别IP地址, 通过MAC地址来传输数据包。因此, IP数据包在局域网内部传输时通过识别主机的MAC地址进行转发的。这就需要一种方法, 可以根据主机的IP地址来获取其MAC地址, 二者之间存在一种对应关系, 这就需要ARP协议了。
ARP协议就是所谓的地址解析协议, 主要是进行目标IP地址和目标MAC地址的转换。具体的说, 当ARP工作时, 首先请求主机会发送一个以太网数据包, 数据包中含有目标主机的IP地址, 然后目标主机接收到数据包后, 会进行解析, 获得数据包中的IP地址, 并用包含IP地址和MAC地址对应关系的数据包来应答。因此, 请求主机就获得了目标主机的MAC地址, 并保存在ARP缓存表中。缓存表的管理采用了高效的老化机制, 增加新的内容的同时, 会删除使用少的数据, 这样可以在不增加缓存表长度的同时加快查询速度。
2.1 冒充"中间人"——ARP欺骗原理
ARP是用来将IP地址解析为MAC地址, ARP欺骗简单来说就是冒名顶替其他计算机的MAC地址, 从而捕获发送给其他主机的数据包信息。
由上可知, 以太网内部是依靠MAC地址来传输数据包的, 每台主机 (包括网关) 在传输数据包都会使用自己保存的ARP缓存表, 此表中包含着经常使用的IP地址和MAC地址的对应关系。一般情况下, ARP缓存表是有效的, 在以太网通信时, 可以保证其数据的传输。因此, 当两台主机通过网关进行数据传输时, 其它的主机是不能捕获到他们的通信信息的。
但是, 这并意味这ARP协议的完善, 相反, ARP协议有一个很大的弊端, 那就是当主机接收到ARP的应答包后, 不能验证这个请求是否发送过, 会用接收到的应答包中与IP地址对应的MAC地址来替换缓存表里的旧信息。因此, 这个弊端就可以使一台主机来捕获其他主机主机之间的数据通信。
其具体过程是, 首先, 主机C向主机A发送ARP应答包, 包含IP地址192.168.2.1对应的MAC地址是xx-xx-xx-xx-xx-01。主机A接收后不会去验证收到的数据包, 而是将自己缓存表中与IP地址192.168.2.1对应的MAC地址替换成xx-xx-xx-xx-xx-01。与此同时, C也会向网关1发送同样地ARP应答包, 包含IP地址192.168.3.1的MAC地址是xx-xx-xx-xx-xx-01。同样, 网关1会将自己缓存表中与IP地址192.168.3.1对应的MAC地址替换成xx-xx-xx-xx-xx-01。
这样, 主机A的ARP缓存表就发生了改变, 当主机A和主机B进行数据通信时, 它把应该发送给网关1 (192.168.3.1) 的数据包发送到主机C (xx-xx-xx-xx-xx-01) 。C接收到数据包后, 再转发给网关1。当B发送的数据包传输到网关1后, 网关1经过ARP解析, 将本该发送给192.168.3.1的数据包, 发送给主机C (xx-xx-xx-xx-xx-01) , C收到数据包后, 经过ARP解析, 传输给主机A, 完成了A与B的成功通信。主机C利用ARP协议的缺陷进行了ARP欺骗, 捕获了其传输的数据。
因此, 主机B欺骗了网关1, 让网关1以为主机B是主机A, 同时, 主机B又欺骗了主机A, 让主机A以为主机B是网关1。主机B同时对主机A和网关1进行欺骗, 充当"中间人", 捕获了主机A与网关1之间的数据交换内容。
要想实现有效的ARP欺骗, 最终的就是必须进行双向欺骗。欺骗者不但要欺骗网关, 也应欺骗主机。只有两者都被欺骗, 欺骗者才能捕获到所需要的信息, 否则只是徒劳。
2.2 ARP欺骗的代码实现
3 WinPcap简述
WinPcap是基于Win32平台, 可以成功捕获数据包, 并有效进行网络分析的体系结构。WinPcap可以完成很多功能, 其核心主要有几下机电:
1) 有效捕获数据通信的原始数据包, 包括主机之间和其他设备 (共享媒介) 上进行交换的数据包;
) 在数据包发送给某应用程序前, 根据自定义的规则过滤数据包;
3) 在网络上发送原始的数据包;
4) 收集网络数据通信中的统计信息。
只有在Win32内核中安装网络设备驱动程序, 并增加需要的动态链接库DLL, 才能实现上述的功能。
WinPcap包括了一个内核级的数据包过滤器, 一个低层动态链接库 (packet.dll) , 一个高层的, 依赖于系统的库 (wpcap.dll) 。
3.1 ARP攻击核心函数的实现
根据前面几节阐述的ARP攻击原理, 我们首先需要构建一个函数用于实现对ARP缓存的操作如图1所示其中部分以太网和ARP等协议数据结构形式构建不在此阐述。
参考WinPcap例子构建函数用于打开相应的网卡句柄, 然后设置网卡的类型为混杂模式, 使网卡能接受以太网上的广播数据包, 函数代码实现如图2所示。
3.2 Sniffer定位ARP欺骗主机
ARP欺骗主机的查找
首先搭建实验环境如图3所示。
其中红色标记为欺骗主机, 按照ARP欺骗的基本原理, 数据包应通过红色主机转发, 所以大量数据包都集中在红色的攻击主机上。通过数据抓包如图4所示 (图中单位内部服务器地址清除) 。
通过上图分析192.168.0.144流量存在异常, 同理通过MAC地址流量图也可以发现00-21-98-11-33-56也存在流量异常;再次通过192.168.0.96截获的数据包可以发现数据都是通过192.168.0.144和00-21-98-11-33-56转发的, 因此可以基本判断红色机器为ARP攻击主机。
在局域网中任意两台计算机之间的通信, 或者局域网中的计算机将IP数据包转发给网关设备时, 网卡先在缓存中查找目标IP地址相对应的MAC (物理地址) , 以填充物理帧的目的地址。ARP欺骗和攻击正是利用了这一点, 将自身的MAC地址填入正常的ARP协议缓存表中, 从而达到欺骗和攻击的目的。通过将IP地址和MAC地址进行静态绑定是有效防范ARP攻击的方法之一。
摘要:ARP是Address Resolution Protoco (l地址转换协议) 的简称, 是TCP/IP协议中网络层中的协议之一。它的作用是完成IP地址和MAC (物理地址) 间的地址转换。
参考文献
[1]李涛.网络安全概论[M].北京:电子工业出版社, 2004;
相关文章:
训练原理01-04
高中哲学原理:发展观(原理+方法论)01-04
ARP欺骗原理与防范01-04
安徽省地方税务局关于加强未达起征点纳税人地方税收管理的通知01-04
原理优势01-04
平衡原理01-04
ARP地址解析协议应用01-04
arp协议的主要功能是01-04
ARP协议与网络安全01-04
结晶原理01-04