基于嗅探技术的局域网ARP欺骗防范的应用研究

2017-07-31 00:19张宇
科技视界 2017年8期
关键词:定位

张宇

【摘 要】计算机网络在世界范围内迅速普及,我国局域网络也是发展得如火如荼,针对网络中欺骗攻击的理论研究、应用技术和各类防范措施虽已相对成熟,但整体上还处于被动防御阶段,存在着一定的局限性。本文首先针对网络欺骗的运行机制,包括ARP缓存、帧格式、报文格式等进行了细致的分析;其次对ARP欺骗原理及其现有的防范措施进行了探讨与研究,并提出了适合局域网络的综合防御措施;最后从软件工程角度出发,以提高网络安全性为目标,设计并实现一套基于嗅探技术的网络监控系统。该系统在网络监听技术、网络定位技术、数据分析技术的基础上,实现了对网络中ARP欺骗攻击进行主动检测、自动定位并且能够及时报警反馈的功能。

【关键词】网络欺骗;嗅探技术;网络监听;定位

1 绪论

1.1 研究背景与意义

早在2000年,基于网络协议的网络欺骗病毒就开始袭击多个大型网络,从2006年开始,又一轮基于网络欺骗的病毒更是大范围肆虐, ARP(全称为Address Resolution Protocol)欺骗让全国很多企事业单位的局域网出现问题,甚至让网络业务陷入瘫痪。近几年来,APR欺骗攻击已经成为了影响企事业单位网络稳定运行的重要风险之一,如何采取切实可行的措施来实现对ARP欺骗攻击的防范至关重要。

针对当前网络中存在的ARP欺骗原理展开分析,力求实现一种可针对ARP欺骗攻击的检测控制系统。本论文的研究具有以下几方面重要的意义:首先,对于企事业单位能够正确而且较为深入地了解ARP协议的运行机制及其本身所存在的缺陷具有重要的现实意义;其次,通过研究对于明确并揭示基于ARP协议的欺骗攻击的原理,从而以此为基础展开对ARP欺骗的应对方法具有一定的参考价值;此外,本文中对于嗅探技术、数据包捕获、访问控制等技术和ARP防范的结合,设计的基于ARP协议的欺骗检测系统,可以为企事业单位对于网络欺骗的防范提供一种工具,为彻底杜绝ARP欺骗攻击,加强各企事业单位的信息化安全奠定基础。

1.2 本文研究内容和方法

1.2.1 本文研究内容

本文主要针对局域网络中网络欺骗进行深入分析研究,并提出一套基于嗅探技术的网络欺骗检测系统的设计与实现方法,研究的主要内容分为如下三大部分:

1)相关理论概述。

2)当前网络中防范网络欺骗攻击的措施。

3)基于嗅探技术的网络监控系统设计。

1.2.2 研究方法

1)文献研究法:通过对国内外有关网络欺骗原理与防范措施的大量文献进行研究,加深相关理论的认知程度,奠定本文进一步研究和分析的理论基础。

2)归纳总结法:通过使用归纳总结的方法,对当前常用的针对网络欺骗攻击的防范技术进行研究,总结出这些技术的共同点,在此基础上设计出全新的ARP监控系统。

3)理论联系实际法:本文以局域网络为基本研究对象,在对局域网络特点进行实际考察的基础上,运用嗅探技术和捕获理论,对网络防范欺骗攻击的具体方法做了深入的研究。

2 ARP欺骗攻击的防范分析

2.1 ARP攻击的危害

尽管ARP协议的缺陷在不同的操作系统上所表现的形式不完全一样,但无论哪种操作系统,在遇到ARP的攻击时,依旧需要承受一定的损失。ARP攻击对网络造成的危害主要有造成网络异常、导致数据被篡改、数据被恶意窃取、使网络主机被非法控制

2.2 防范ARP攻击的主要措施

2.2.1 针对接入设备的ARP攻击防范措施

针对接入设备的ARP攻击防范措施主要有三种,即ARP报文检测措施、ARP网关过滤保护措施以及ARP报文限速措施。

1)ARP报文检测措施

ARP报文检测措施是非常有效的防范ARP网关攻击和主机攻击的重要手段之一,其原理是当一个VLAN(虚拟局域网)内开启了ARP报文检测功能后,该虚拟局域网内任何端口所接收到的ARP请求包或者应答包的报文都会被重定向到主机系统,并对该报文的用户合法性及报文有效性进行全面检测,当检测结果认为ARP报文合法时,则进行下一步转发,否则直接丢弃该ARP报文。ARP报文检测措施的主要方法有对ARP报文进行有效性检测、对用户合法性进行检测以及对ARP报文进行强制转发。

2)ARP网关过滤保护措施

ARP网关过滤保护措施包括两个部分,一是ARP网关保护,二是ARP过滤保护。这两种保护措施实现起来比较方便,只需通过具有过滤与保护功能的设备进行相关的功能配置即可。

3)ARP报文限速措施

由于在ARP欺骗攻击过程中,主要利用了ARP协议的当初设计缺陷,根据前文的ARP欺骗攻击的原理,可以看出光靠对ARP报文的有效性检查还不够,还需要在网络设备端口采取一定的限速措施,使某个端口一旦受到攻击,就暂时采取关闭动作,从而避免网络带宽资源和网络设备的CPU资源被ARP攻击耗尽。

2.2.2 针对网关设备的攻击防范措施

针对网关设备的ARP攻击防范措施主要有三种,即有授权配置ARP缓存表的防范措施、ARP主动确认的防范措施以及源主机IP或MAC的抑制防范措施。

1)授权配置ARP缓存表的防范措施

多数情况下,ARP欺骗攻击是通过非法或错误地修改ARP缓存表来造成的,如果将ARP缓存表的修改或配置进行授权,则可以在一定程度上避免这种情况。这种授权配置ARP缓存表的方法适合于采用DHCP协议进行主机IP地址动态分配的网络环境中。

2)ARP主动确认的防范措施

ARP主动确认是网关设备防范ARP欺騙攻击的重要手段之一。ARP主动确认的主要目的就是在网关设备对ARP缓存表进行更新时主动确认,防止ARP缓存表更新产生错误,这种主动确认的工作过程首先是对新建ARP缓存表项目时的主动确认,其次是更新已有ARP缓存表项目时的主动确认。

3)源主机IP或MAC的抑制防范措施

针对源主机IP或MAC发送的攻击报文进行抑制,是一种配置简单且适用的功能,常采取的抑制措施有如下三种:进行ARP报文的源主机MAC的一致性检测措施、对IP报文的抑制措施、限制ARP缓存表项目最大数目的抑制措施。

2.3 各类防范措施的优缺点比较

有关防范ARP攻击的措施确实很多,但却各有不同。总结归纳起来主要有两类:一类是基于接入设备或网关设备的报文监控检测措施,另一类是基于ARP缓存表项的安全配置措施。这两种措施所适用的网络环境不尽相同,在其配置过程中也会受到网络条件和环境的限制。

以上传统防范措施的优缺点汇总如表1所示。

3 基于嗅探技术的ARP网络监控系统设计

3.1 系统需求分析及架构设计

3.1.1 系统需求分析

本设计是基于ARP欺骗原理的网络监控系统,系统应能够实现局域网内对ARP欺骗攻击的实时监控,并能够完成数据采集、协议分析、日志记录、实时监控等功能。

综合以上功能需求,设计出本系统的功能结构如图1所示。

3.1.2 功能模块内部结构设计

ARP网络监控系统的实现是基于网络监听技术及数据包捕获技术的,因此其功能模块的实现实际上对这两种技术的应用,本系统的功能主要由ARP攻击检测、数据包捕获、数据包过滤、攻击定位等技术实现,本系统的内部结构模型如图2所示。

现从技术角度对本系统的功能模块内部结构进行分析如下:

1)ARP攻击主动检测

在本系统的监控功能与定位功能中,大量使用了ARP攻击检测的技术。包括系统能实现对ARP应答报文的检测、系统能实现对ARP请求包的检测。

2)数据包捕获

数据包捕获是本系统进行数据包分析及定位的必需手段,主要基于WINPCAP驱动开发包进行数据包获取的开发。

3)数据包过滤

在系统捕获的数据包的数量往往非常多,而过多的数据包量并不利于系统对ARP攻击的分析,对此我们只需要针对某些特定的端口或服务的数据包感兴趣,例如我们监听的端口只有8080端口与23端口,就需要通过使用WINPCAP数据包的过滤功能来实现。在系统中对数据包过滤是通过设置一定的过滤规则来进行的,进而将不符合条件的端口数据包丢弃掉,只留下符合要求的数据包。系统对此功能的实现使用了WINPCAP的几个关键函数,通过关键函数对布尔表达式字符串进行翻译,使其成为低级的二进制字符串,那么WINPCAP的NPF会判断该表达式是否是过滤规则所设定的,如果是,则存储该数据包,如果不是,则丢弃该数据包,从而实现对数据包捕获的过滤。

4)定位技术

定位功能是本系统的重要功能之一,通过对网络中所有的ARP攻击类别进行划分,并为每种攻击设置攻击度,当系统检测到ARP攻击数据包时,会将这些攻击信息提交给系统的分析统计模块,当分析统计模块对这些攻击信息分类并进行不重复计算总的攻击度之后,按照攻击度高低分成不同级别,从而帮助网络管理员对攻击源进行更有效的定位。

5)自定义发包技术

本系统主动防御的一个特色之处在于能够对被ARP欺骗的主机通过一定的技术实现恢复其IP地址与MAC地址的正确映射关系。

3.1.3 系统主要数据表设计

数据库是本系统中基础数据的重要支撑,无论是系统对数据包的捕获还是对数据包的分析,都需要将一定的数据写入到数据库中,以下对本系统涉及的主要数据库表进行结构分析。

1)ARP数据包存放表

当系统调用WINPCAP驱动将处于数据链路层的ARP数据包捕获后,便会将其中的关键信息存放在这个表中,ARP数据包存放表命名为arppackets,其具体的字段结构如表2所示。

2)IP与MAC对应表

IP与MAC地址对应表是将局域网络中现存节点主机的IP与MAC进行对应的表,也可称之为映射表。

3)ARP攻击源表

ARP攻击源表主要是为了给系统对攻击源的追踪提供方便,是属于和系统定位模块配合使用的数据表,该表被命名为Arp_attack。

3.2 ARP网络监控系统的实现

3.2.1 系统数据包捕获及过滤的实现

数据包的捕获和过滤是最为基础和关键的模块之一。前文已经描述了数据包捕获的流程,其在系统中的基本实现过程为:首先通过调用WINPCAP中pcap_findalldevs()函数进行可用网卡的查找并获取网卡的详细信息;然后用pcap_open_live()函数将网络设备打开,并建立捕获会话;之后使用pcap_compile()函数对过滤器进行编译,通过对过滤规则的编译形成内核过滤码,并将其传递给pcap_setfilter()函数,此时过滤器才能产生作用;最后通过调用pcap_loop()函数实现对数据包的循环捕获,完成后调用pcap_close()函数进行资源的释放,处理过程随之结束,关闭返回。

3.2.2 ARP主动防御功能的实现

本系统拥有专门针对客户端主机的ARP主动防御功能模块,其主要目的是能够在内核层主动分析接收的ARP數据包是否是合法的,从而防止本地主机被不明来源的ARP攻击,实现对本地主机的ARP欺骗攻击防御。防御功能的实现是通过专门的ARP数据包检测函数来实现的,主要经过以下几个关键步骤:

系统在实现此功能时首先定义一个结构类型的钩子函数,即struct nf_hook_ops arp_ops={{NULL,NULL},arpfilter,nf_arp,nf_arp_in,0},该函数在钩子节点上注册ARP关键检测函数arpfilter,nf_regedit_hook(&arp_ops)。当关键检测函数从内核中移除时,需要对其进行注销操作,操作函数为Nf_unregedit_hook(&arp_ops)。

在本系统针对ARP欺骗攻击的防御过程中,检测函数通过对ARP缓存表的对比,从而判断接收的数据包是否为非法攻击数据包。其检测实现的机理如上图4所示。

3.2.3 监听功能的实现

网络嗅探不仅是攻击者的利用工具,同样也可以被网络管理员所利用。本系统的监听功能就是在网络嗅探的基础上实现的,从而使管理员获得较多的网络数据。如前文所述,在大多数的以太网内,数据包的发送与接收实际上都是基于物理地址的,这也是网络嗅探的基础,因此,当系统实现了对数据包的截获时,只要本地主机设置了IP路由功能,真正的目的主机就会监听到网络间的通信了,实际上,监听功能实现的重点在于构造一个ARP应答包,然后发送给被欺骗主机。

当系统能够接收到数据包后,就能够即时进行监听,甚至对其进行分析。以下就分析当系统能够接收到数据包后,就能够即时进行监听,甚至对其进行分析。

【参考文献】

[1]吴芳.ARP攻击实例[M].北京:对外经济贸易出版社,2007.

[2]任红卫,邓飞其.计算机网络安全主要问题与对策[J].网络安全技术与应用,2004(9):31-33+27.

[3]陈钟.安全协议及其分析[M].北京:人民邮电出版社,2007.

[4]杨晓春,等.ARP欺骗实现交换式网络数据包嗅探的原理及其防范[J].株洲工学院学报,2003(2):46-48.

[责任编辑:田吉捷]

猜你喜欢
定位
《导航定位与授时》征稿简则
Smartrail4.0定位和控制
银行业对外开放再定位
一种新型回转定位锁紧装置
少儿智能定位鞋服成新宠
找准定位 砥砺前行
基于RFID的室内无线定位识别系统
基于S120的拧紧机定位控制系统的设计
青年择业要有准确定位
说定位:如何挖到第一桶金