本文介绍了ARP攻击的原理以及由此引发的网络安全问题,并且结合实际情况,提出在校园网中实施多层次的防范方法,以解决因ARP攻击而引发的网络安全问题,最后介绍了一些实用性较强且操作简单的检测和抵御攻击的有效方法。
您是否遇到局域网内频繁性区域或整体掉线,重启计算机或网络设备后恢复正常?您的网速是否时快时慢,极其不稳定,但单机进行光纤数据测试时一切正常?您是否时常听到教职工的网上银行、游戏及QQ账号频繁丢失的消息?
这些问题的出现有很大一部分要归功于ARP攻击,我校局域网自去年5月份开始ARP攻击频频出现,目前校园网内已发现的“ARP攻击”系列病毒已经有了几十个变种。据检测数据显示,APR攻击从未停止过,为此有效的防范ARP形式的网络攻击已成为确保网络畅通必要条件。
一、ARP的基本知识
1、什么是ARP?
ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。
所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
在局域网中,通过ARP协议来完成IP地址转换为第二层物理地址(即MAC地址)的,ARP协议对网络安全具有重要的意义。
2、ARP协议的工作原理
正常情况下,每台主机都会在自己的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列表中,并利用此信息开始数据的传输。
如图:
1. 要发送网络包给192.168.1.1,但不知MAC地址?
2. 在局域网发出广播包“192.168.1.1的MAC地址是什么?”
3. 其他机器不回应,只有192.168.1.1回应“192.168.1.1的MAC地址是00-aa-00-62-c6-09”
从上面可以看出,ARP协议的基础就是信任局域网内所有的人,那么就很容易实现在以太网上的ARP欺骗。更何况ARP协议是工作在更低于IP协议的协议层,因此它的危害就更加隐蔽。
二、ARP欺骗的原理
ARP类型的攻击最早用于盗取密码之用,网内中毒电脑可以伪装成路由器,盗取用户的密码, 后来发展成内藏于软件,扰乱其他局域网用户正常的网络通信,下面我们简要阐述ARP欺骗的原理:假设这样一个网络,一个交换机连接了3台机器,依次是计算机A,B,C
A的地址为:IP:192.168.1.1 MAC: AA-AA-AA-AA-AA-AA
B的地址为:IP:192.168.1.2 MAC: BB-BB-BB-BB-BB-BB
C的地址为:IP:192.168.1.3 MAC: CC-CC-CC-CC-CC-CC
第二步:正常情况下在A计算机上运行ARP -A查询ARP缓存表应该出现如下信息。
Interface: 192.168.1.1 on Interface 0x1000003
Internet Address Physical Address Type
192.168.1.3 CC-CC-CC-CC-CC-CC dynamic
第三步:在计算机B上运行ARP欺骗程序,来发送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可不知道被伪造了)。而且A不知道其实是从B发送过来的,A这里只有192.168.10.3(C的IP地址)和无效的DD-DD- DD-DD-DD-DD MAC地址。
第四步:欺骗完毕我们在A计算机上运行ARP -A来查询ARP缓存信息。你会发现原来正确的信息现在已经出现了错误。
Interface: 192.168.1.1 on Interface 0x1000003
Internet Address Physical Address Type
192.168.1.3 DD-DD-DD-DD-DD-DD dynamic
上面例子中在计算机A上的关于计算机C的MAC地址已经错误了,所以即使以后从A计算机访问C计算机这个192.168.1.3这个地址也会被 ARP协议错误的解析成MAC地址为DD-DD-DD-DD-DD-DD的。
当局域网中一台机器,反复向其他机器,特别是向网关,发送这样无效假冒的ARP应答信息包时,严重的网络堵塞就会开始。由于网关MAC地址错误,所以从网络中计算机发来的数据无法正常发到网关,自然无法正常上网。
这就造成了无法访问外网的问题,另外由于很多时候网关还控制着我们的局域网LAN上网,所以这时我们的LAN访问也就出现问题了。下图更直观的展示了ARP欺骗攻击的情况:
三、ARP欺骗的危害
ARP类型的攻击在校园网中最早出现在去年5月份,目前校园网内的计算机所感染的“ARP欺骗”系列病毒已经有了几十个变种。根据这些变种的工作特点和外部特性大概可以分为三大类,其中“ARP欺骗”和“恶意窃听”两类对学校局域网的正常运行和网络用户的信息安全的威胁最大。
ARP攻击只要一开始就造成局域网内计算机无法和其他计算机进行通讯,而且网络对此种病毒没有任何耐受度,只要局域网中存在一台感染“ARP欺骗”病毒的计算机将会造成整个局域网通讯中断。
“恶意窃听”病毒是“ARP欺骗”系列病毒中影响和危害最为恶劣的。它不会造成局域网的中断,仅仅会使网络产生较大的延时,但是中毒主机会截取局域网内所有的通讯数据,并向特定的外网用户发送所截获的数据,对局域网用户的网络使用造成非常非常严重的影响,直接威胁着局域网用户自身的信息安全。
四、出现ARP攻击的原因及特征
一个正常运行的局域网是不应该出现ARP攻击的,经过长时间的观测,发现ARP攻击的出现主要是由以下几个原因造成的:
1、人为破坏
主要是内网有人安装了P2P监控软件,如P2P终结者,网络执法官,聚生网管,QQ第六感等,恶意监控其他机器,限制流量,或者进行内网DDOS攻击。
2、木马病毒
传奇、跑跑卡丁车、劲舞团等游戏外挂,如:及时雨PK版,跑跑牛车,劲舞小生等,他内含一些木马程序,也会引起ARP欺骗。
其实真正有人恶意捣乱的是很少的,一次两次捣乱,次数多了自己也就腻了,更何况事后网管肯定会找到捣乱的主机,所以说人为破坏是比较好解决的。最麻烦的就是使用带木马的游戏外挂和浏览带有恶意代码的网页。
当出现ARP攻击后最明显的特征是网络频繁掉线,速度变慢,查看进程你会发现增加了 down.exe 1.exe cmd.exe 9sy.exe中的任意一个或多个,严重的还能自动还下载威金病毒,logo_1.exe.rundl132.exe,感染可执行文件,图标变花还。
五、常用的防范方法
目前ARP系列的攻击方式和手段多种多样,因此还没有一个绝对全面有效的防范方法。从实践经验看最为有效的防范方法即打全Windows的补丁、正确配置和使用网络防火墙、安装防病毒软件并及时更新病毒库。
对于Windows补丁不仅仅打到SP2(XP)或SP4(2000),其后出现的所有安全更新也都必须及时打全才能最大限度的防范病毒和木马的袭击。此外,正确使用U盘等移动存储设备,防止通过校外计算机传播病毒和木马。
下面介绍防范ARP攻击的几种常用方法:
1、静态绑定
将IP和MAC静态绑定,在网内把主机和网关都做IP和MAC绑定。
欺骗是通过ARP的动态实时的规则欺骗内网机器,所以我们把ARP全部设置为静态可以解决对内网PC的欺骗,同时在网关也要进行IP和MAC的静态绑定,这样双向绑定才比较保险。缺点是每台电脑需绑定,且重启后任需绑定,工作量较大,虽说绑定可以通过批处理文件来实现,但也比较麻烦。
2、使用防护软件
目前关于ARP类的防护软件出的比较多了,我校常用的一款软件是彩影软件的ARP防火墙.
ARP防火墙采用系统内核层拦截技术和主动防御技术,包含六大功能模块可解决大部分欺骗、ARP攻击带来的问题,从而保证通讯安全(保障通讯数据不被网管软件/恶意软件监听和控制)、保证网络畅通。
3、具有ARP防护功能的网络设备
由于ARP形式的攻击而引发的网络问题是目前网络管理,特别是局域网管理中最让人头疼的攻击,他的攻击技术含量低,随便一个人都可以通过攻击软件来完成ARP欺骗攻击,同时防范ARP形式的攻击也没有什么特别有效的方法。目前只能通过被动的亡羊补牢形式的措施了,本文介绍的方法希望对大家有所帮助。