这些问题的出现有很大一部分要归功于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类型的攻击最早用于xx密码之用,网内中毒电脑可以伪装成路由器,xx用户的密码, 后来发展成内藏于软件,扰乱其他局域网用户正常的网络通信,下面我们简要阐述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欺骗”和“恶意窃听”两类对学校局域网的正常运行和网络用户的信息安全的威胁{zd0}。 ARP攻击只要一开始就造成局域网内计算机无法和其他计算机进行通讯,而且网络对此种病毒没有任何耐受度,只要局域网中存在一台感染“ARP欺骗”病毒的计算机将会造成整个局域网通讯中断。 “恶意窃听”病毒是“ARP欺骗”系列病毒中影响和危害最为恶劣的。它不会造成局域网的中断,仅仅会使网络产生较大的延时,但是中毒主机会截取局域网内所有的通讯数据,并向特定的外网用户发送所截获的数据,对局域网用户的网络使用造成非常非常严重的影响,直接威胁着局域网用户自身的信息安全。 四、出现ARP攻击的原因及特征 一个正常运行的局域网是不应该出现ARP攻击的,经过长时间的观测,发现ARP攻击的出现主要是由以下几个原因造成的: 1、人为破坏 主要是内网有人安装了P2P监控软件,如P2P终结者,网络执法官,聚生网管,QQ第六感等,恶意监控其他机器,限制流量,或者进行内网DDOS攻击。 2、木马病毒 xx、跑跑卡丁车、劲舞团等游戏外挂,如:及时雨PK版,跑跑牛车,劲舞小生等,他内含一些木马程序,也会引起ARP欺骗。 其实真正有人恶意捣乱的是很少的,一次两次捣乱,次数多了自己也就腻了,更何况事后网管肯定会找到捣乱的主机,所以说人为破坏是比较好解决的。最麻烦的就是使用带木马的游戏外挂和浏览带有恶意代码的网页。 当出现ARP攻击后最明显的特征是网络频繁掉线,速度变慢,查看进程你会发现增加了 down.exe 1.exe cmd.exe 9sy.exe中的任意一个或多个,严重的还能自动还下载威金病毒,logo_1.exe.rundl132.exe,感染可执行文件,图标变花还。 五、常用的防范方法 目前ARP系列的攻击方式和手段多种多样,因此还没有一个{jd1}全面有效的防范方法。从实践经验看最为有效的防范方法即打全Windows的补丁、正确配置和使用网络防火墙、安装防病毒软件并及时更新病毒库。对于Windows补丁不仅仅打到SP2(XP)或SP4(2000),其后出现的所有安全更新也都必须及时打全才能{zd0}限度的防范病毒和木马的袭击。此外,正确使用U盘等移动存储设备,防止通过校外计算机传播病毒和木马。 下面介绍防范ARP攻击的几种常用方法: 1、静态绑定 将IP和MAC静态绑定,在网内把主机和网关都做IP和MAC绑定。 欺骗是通过ARP的动态实时的规则欺骗内网机器,所以我们把ARP全部设置为静态可以解决对内网PC的欺骗,同时在网关也要进行IP和MAC的静态绑定,这样双向绑定才比较保险。缺点是每台电脑需绑定,且重启后任需绑定,工作量较大,虽说绑定可以通过批处理文件来实现,但也比较麻烦。 2、使用防护软件 目前关于ARP类的防护软件出的比较多了,我校常用的一款软件是彩影软件的ARP防火墙,目前{zx1}版本是V4.0.2版。
ARP防火墙采用系统内核层拦截技术和主动防御技术,包含六大功能模块可解决大部分欺骗、ARP攻击带来的问题,从而保证通讯安全(保障通讯数据不被网管软件/恶意软件监听和控制)、保证网络畅通。 由于ARP形式的攻击而引发的网络问题是目前网络管理,特别是局域网管理中最让人头疼的攻击,他的攻击技术含量低,随便一个人都可以通过攻击软件来完成ARP欺骗攻击,同时防范ARP形式的攻击也没有什么特别有效的方法。目前只能通过被动的亡羊补牢形式的措施了,本文介绍的方法希望对大家有所帮助。
参考文献 [1]李海鹰 程灏等 针对ARP攻击的网络防御模式设计与实现[2005] [2]唐正军 李建华 入侵检测技术[M].北京:清华大学出版社 [3] 硅谷动力的防范专题
http://www.enet.com.cn/security/zhuanti/arp/ |