本文介绍了 ARP
攻击的原理以及由此引发的网络安全问题,并且结合实际情况,提出在校园网中实施多层次的防范方法,以解决因ARP
攻击而引发的网络安全问题,最后介绍了一些实用性较强且操作简单的检测和抵御攻击的有效方法。
您是否遇到局域网内频繁性区域或整体掉线,重启计算机或网络设备后恢复正常?您的网速是否时快时慢,极其不稳定,但单机进行光纤数据测试时一切正常?您是否时常听到教职工的网上银行、游戏及QQ
账号频繁丢失的消息?……
这些问题的出现有很大一部分要归功于ARP
攻击,据检测数据显示,APR
攻击从未停止过,为此有效的防范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.1.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.1.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
类型的攻击在校园网中最早出现在去年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
形式的攻击也没有什么特别有效的方法。目前只能通过被动的亡羊补牢形式的措施了,本文介绍的方法希望对大家有所帮助。
此教程来源于网络