APP下载

基于局域网ARP病毒攻击与防御措施的研究

2016-03-20马英瑞王冬星张丽华许有军

大庆师范学院学报 2016年6期
关键词:网段PC机局域网

马英瑞,王冬星,张丽华,许有军

(大庆师范学院 计算机科学与信息技术学院,黑龙江 大庆 163712)

基于局域网ARP病毒攻击与防御措施的研究

马英瑞,王冬星,张丽华,许有军

(大庆师范学院 计算机科学与信息技术学院,黑龙江 大庆 163712)

ARP欺骗攻击是目前局域网络安全面对的一个主要问题,也是网络安全的一个重要研究内容,文中介绍了ARP协议的工作过程及ARP欺骗的原理,并分析了ARP病毒攻击的几种主要方式,通过对ARP攻击原理的分析,定位ARP攻击源头和病毒机理,讨论了现有防御方法存在的局限性,在现有的防御方法的基础上,提出几种有效的防御方法及解决方案,供相关工作参考。

ARP协议;欺骗;动态主机配置协议

0 引言

近几年随着大型局域网的不断发展,ARP病毒及其变种在局域网内逐渐蔓延,其利用ARP协议本身的漏洞进行攻击,传播能力特别强,给整个局域网络安全带来了严重的隐患,不仅影响了局域网用户的正常使用,而且也给网络管理工作带来很大困难,所以对ARP病毒防范策略的研究具有非常重要的意义[1]。

通过对ARP协议的工作原理及ARP攻击欺骗原理进行分析研究,最后,提出了针对局域网内有效地防御ARP病毒的一些措施及解决方案,对于这些措施如果付诸实施的话,能对以上所提到的现象起到一定抑制作用,同时也对相关的研究人员和工程实施有一定的帮助。

1 ARP技术分析

1.1 ARP协议的工作原理[2]

在与用户的沟通过程中,让网络管理人员最头痛也是频繁出现的问题就是ARP的病毒攻击问题。在一个没有防御的网络当中暴发的ARP病毒带来的影响是非常严重的,会造成网络丢包、不能访问网关、IP地址冲突等等。多台设备短时间内发送大量ARP报文还会引起设备的CPU利用率上升,严重时可能会引起核心设备的宕机。

在TCP/IP协议中,每一个网络结点是用IP地址标识的,IP地址是一个逻辑地址。而在以太网中数据包是靠48位MAC地址(物理地址)寻址的。因此,必须建立IP地址与MAC地址之间的对应(映射)关系,ARP协议就是为完成这个工作而设计的。

TCP/IP协议维护着一个ARP cache表,在构造网络数据包时,首先从ARP表中找目标IP对应的MAC地址,如果找不到,就发一个ARP request广播包,请求具有该IP地址的主机报告它的MAC地址,当收到目标IP所有者的ARP reply后,更新ARP cache。ARP cache有老化机制。

1.2 ARP协议的缺陷[3]

ARP协议是建立在信任局域网内所有结点的基础上的,它高效却不安全。它是无状态的协议,不会检查自己是否发过请求包,也不管(其实也不知道)是否是合法的应答,只要收到目标MAC是自己的ARP reply包或ARP广播包(包括ARP request和ARP reply),都会接受并缓存,这就为ARP欺骗提供了可能,恶意节点可以发布虚假的ARP报文从而影响网内结点的通信,甚至可以做“中间人”。

1.3 ARP协议实现

在以太网上解析IP地址时,ARP请求和应答分组的格式中,报文的前两个字段分别为目的MAC地址和源MAC地址,长度共12个字节。当报文中,目地MAC地址为全1(FF:FF:FF:FF:FF:FF)的时候,代表为二层广播报文,同一个广播域的主机均会收到。

对于ARP请求来说,除目的端硬件地址外的所有其它的字段都有填充值。当系统收到一份目的端为本机的ARP请求报文后,它就把硬件地址填进去,然后用两个目的端地址分别替换两个发送端地址,并把操作字段置为2,最后把它发送回去。

2 ARP攻击种类

针对ARP攻击的不同目地,可以把ARP攻击分为网关欺骗、主机欺骗、MAC地址扫描几类。

2.1 ARP网关欺骗和抵御原理[4]

在ARP的攻击中,网关欺骗是一种比较常见的攻击方法。通过伪装的ARP Request报文或Reply报文达到修改PC机网关的MAC-IP对照表的目的,造成PC机不能访问网关,将本应发向网关的数据报文发往被修改的MAC地址。

主要参数:

Destination Address :00:0B:CD:61:C1:26 (被欺骗主机的MAC地址)

Source Address :00:01:01:01:01:01 (网关更改的虚假MAC地址)

Type : 1 (ARP的请求报文)

Source Physics :00:01:01:01:01:01

Source IP :211.68.199.1

Destination Physics :00:0B:CD:61:C1:26

Destination IP :211.68.99.101

按上面的格式制作的数据包会对MAC地址为00:0B:CD:61:C1:26的主机发起网关欺骗,将这台PC机的网关211.68.199.1对应的MAC地址修改为00:01:01:01:01:01这个伪装的MAC地址。

可以看到,上面这个网关欺骗的报文为单播ARP请求报文,直接针对目地主机。对于这样的报文,唯有将它在进入端口的时候丢弃,才能保证网络当中的PC机不会受到这样的攻击。

2.2 ARP主机欺骗和抵御原理

ARP主机欺骗的最终目的是修改PC机或交换机设备的MAC表项,将原本正确的表项修改为错误的MAC地址,最终导致PC机不能访问网络。ARP主机欺骗可以使用单播报文实现也可以使用广播报文实现。

针对主机欺骗的防护,一方面需要保护交换机的MAC表项,确保交换机拥有正确的MAC表;另一方面,针对PC机的MAC表的保护能使这种不合法的数据包不进入到交换机中,才能完全防御ARP的主机欺骗。

2.3 网段扫描和抵御原理

有很多的工具可以实现MAC地址扫描的工作。MAC扫描的报文格式也非常简单,就是一个IP地址对多个或整个网段的ARP请求报文。

严格的来说,正确的网段扫描本身对网络不会产生不利的影响,但因为网段扫描时使用的是广播报文,多台PC同时进行大量扫描的时候会在网络中产生拥塞。更重要的一点,很多的ARP攻击病毒在发起攻击之前都需要获取到网段内IP和MAC地址的对照关系,就会利用到网段扫描。

针对网段扫描的防护首先着眼于单个端口单位时间内进入的ARP报文数量入手。PC机在正常的没有任何操作的时候是不会对网络当中发送大量的ARP请求的。当端口进入的ARP包超过一个限值时,判断是否受到了网段扫描的攻击。如果是,就对端口进行关闭,防止大量数据包进入。

3 ARP攻击防御手段

结合ARP攻击的不同形式,通过ARP协议原理分析和工具检测,提出以下一些防御措施,在一定程度上起到了一些抑制作用。

3.1 查找ARP病毒源

查找ARP病毒源的前提是合理的分配IP地址。对于局域网而言,各级各段IP分类一定要清晰,并明确规定不得任意更改IP地址。网络管理员要做好IP地址登记注册。在局域网内的每一台计算机中安装ARP防火墙,这类防火墙很多如《金山ARP防火墙》、《360安全卫士》、《欣向巡路之ARP工具》、《瑞星防火墙》等,一定要把这些防火墙的ARP防攻击选项开启保护。对网络进行监控检测,一旦发现ARP攻击防火墙提示数据,如攻击次数MAC地址、IP地址等,马上按照登记的IP地址找到对应的计算机,断开其网络连接(或者在交换机封锁其IP)。这样经过一段时间的检测感染的病毒的计算机会被一一揪出来。

3.2 查杀ARP病毒

查杀ARP病毒之前一定要升级杀毒软件,及时更新病毒库。这样确保杀毒软件能够杀死木马类的病毒,因为ARP病毒大多属于木马类的病毒。如果杀毒软件不能清除ARP病毒的话可以使用专杀工具,目前有很多的专杀工具。尤其作为企业级的局域网,应该部署企业级的防病毒软件,这对局域网的网络安全具有重要的意义。

3.3 防范ARP病毒

3.3.1 扫描系统安全漏洞

通常情况下由于windows操作系统存在安全漏洞,也包括大量应用软件,比如office安全漏洞、IE安全漏洞、realplayer、QQ等等常用的应用软件。正因为这些漏洞才使病毒有机可乘,因此务必要使计算机保持更新状态,只有对计算机经常进行更新,使它保持最新的状态,只有这样才能弥补系统的漏洞。

3.3.2 安装ARP防火墙

安装ARP防火墙并做好相应的设置,开启ARP防护。首先保证局域网内自己的计算机不被感染,才能保证局域网各网段内的计算机不被自己的计算机感染。在这里推荐使用这样的ARP防火墙,其应该能准确的判断ARP病毒对网关的欺骗监测及同网段内IP/MAC一一对应的信息。

通过监测可以尽快查找伪造IP地址和MAC地址的ARP欺骗,减少在网络中产生大量的ARP通信量使网络阻塞,避免攻击者持续不断的发出伪造的ARP响应包,其能致使主机ARP缓存中的IP-MAC条目被更改,造成网络中断或中间人攻击。

3.3.3 利用ARP欺骗在交换网络下捕包

利用ARP欺骗已经可以使子网内的其他机器的网络流量都会流到攻击者机器,为了使他们还能够“正常”地使用网络,攻击者就必须将他们的数据包转发到它们真正应该到达的主机去,这就需要进行数据转发。因此,要实现交换式以太网正常的网络监控,就要使用ARP欺骗结合IP转发的方式来进行捕包,可以使用两个线程:一个进行数据包的获取、分析和转发,一个定时发送ARP应答包。

在网络监控系统中,实现对HTTP访问是基于目标地址的过滤,通过对IP首部的各个数据域的分析判断Destination IP Address是否属于规则库中设定限制访问集合,如果是,系统可以采用一定的手段阻止用户的继续访问,采用的方法是切断或关闭TCP连接。可以人为的构造一个FIN报文发送给用户,从而关闭用户与Web服务器间的TCP连接,禁止用户对该URL地址的访问。Winpcap库的核心函数pcap sendpacket提供了绕过操作系统及正常网络Socket编程而直接读写网卡的能力,在完成该TCP连接的重要信息分析后,即可完成对其的强制中断。在构造中断TCP报文时,需要将源、目的IP进行交换,源、目的端口交换,然后将标志位设置为RST,然后使用pcap_sendpacket直接将报文发送即可实现目的。核心实现函数:

Void SendData(PIP_RHDR IpData)

{

PTCP_RHDR ptcpheader=(PTCP_RHDR)IpData->Data;

int iRstFlag = ptcpheader->Flags & 0x04;

if(iRstFlag = 0x04)

return;

……

SetMACToEther(MACADDR_SRC,&EtherFrame,0);//源为发到本机的 mac

SetMACToEther(MACCADDR_GATEWAY,&EtherFrame,1);//目标为默认网关的 mac

……

}

4 结 论

本文对当前局域网ARP病毒的攻击与欺骗现状进行了介绍,然后对ARP协议的工作原理、ARP攻击欺骗成因进行了分析研究,同时,针对局域网内有效地防御ARP病毒提出了一些措施和解决方案。这些方案的实施在一定程度上地解决了ARP病毒对主机和网关的欺骗,保障了局域网的正常运行,对相关的研究人员和工程的实施提供了参考,但其只能提供基本的防护功能,许多工作还需要进一步研究。

[1] 任亚西.基于校园网的ARP病毒防范策略研究[J].科技信息,2011(16):227.

[2] 朱泽波.ARP防攻击技术的研究与实现[D].南京:南京理工大学,2013.

[3] 李兢,许勇.ARP协议的安全漏洞及抵御分析[J].计算机系统应用,2010,19(3):221-225.

[4] 张莉.高校机房ARP欺骗攻击的解决方案[J].山西财经大学学报,2013,35(2):89.

[责任编辑:崔海瑛]

Research of ARP virus attack and defense measures based on the LAN

MA Ying-rui, WANG Dong-xing, ZHANG Li-hua, XU You-jun

(College of Computer Science and Information Technology, Daqing Normal University, Daqing 163712, China)

ARP spoofing attacks is a major problem in the current LAN security. It is also an important research content of network security. This paper introduces the working process of the ARP protocol and the principle of the ARP spoofing. It analyzes several main ways of ARP virus attacks. Through the analysis of the principle of ARP attack, locating the ARP attack and virus mechanism, this paper discusses the existing limitations of defense and puts forward several effective solutions on the basis of the existing methods of defense, which provides the reference for the related work.

ARP protocol; Spoofing; Dynamic host configuration protocol

马英瑞(1963-),男,黑龙江大庆人,副教授,从事网络工程方向研究。

大庆市指导性科技计划项目(szdfy-2015-61)。

TP393.08

A

2095-0063(2016)06-0024-04

2016-06-15

DOI 10.13356/j.cnki.jdnu.2095-0063.2016.06.007

猜你喜欢

网段PC机局域网
轨道交通车-地通信无线局域网技术应用
单位遭遇蠕虫类病毒攻击
基于VPN的机房局域网远程控制系统
可变编组动车组制动系统TCN网络信号传输需求研究*
网上邻居跨网段访问故障
基于802.1Q协议的虚拟局域网技术研究与实现
基于三菱FXPLC的感应淬火机床与PC机的串行通信实现
局域网性能的优化
VC.NET下实现dsPIC单片机与PC机的通信
排除OLT设备登录故障