摘要:利用IPv6协议某些规程漏洞的攻击也越来越多。本文对IPv6局域网攻击的原理、网络检测技术的分类进行阐述,分析IPv6局域网攻击检测策略,设计了扫描攻击检测的实现方法。
关键词:IPv6;局域网;攻击;安全检测
一、局域网攻击的原理及危害
网络入侵的手段一般可以分为程序缺陷和协议漏洞。本文主要讨论使用IPv6协议漏洞进行局域网攻击的入侵。邻节点发现过程是IPv6对IPv4的一大改进。它通过地址解析等功能,保证同链路的主机的正常通信,通过实现路由发现等过程,确保主机与链路之外网络的通信,它是主机与网络互联的第一个阶段,有着非常重要的意义。邻节点发现是通过上述5种报文交互来实现的。在报文交互的过程中,某个报文的内容、出现时机发生错误,就会导致过程的失败。一旦过程失败,就会导致后续的网络服务无法正常运行。比如,重复地址检测过程的失败,会导致主机无法获得合法IP,或者,如果一再有NA报文对重复地址检测发出的NS请求报文进行应答,那么主机永远也无法获得有效的IP地址;地址解析过程失败,主机就无法与指定IP的目标主机进行通信;路由发现过程失败,主机就无法获得有效路由前缀,只能有链路本地地址而无法获得可集聚全球单播地址或站点本地地址,无法通过路由器与链路外网络进行联系。
局域网攻击的基本原理,概括的说,是扰乱邻节点发现各过程次序。攻击主机要对网络流量进行侦听,通过对数据报的分析,来获知其他主机状态及邻节点发现过程的阶段,进而发出包含指定信息的数据报,来扰乱邻节点发现过程的进行。甚至,攻击主机主动发出请求报文,误导其他主机对某目标主机进行应答而导致目标主机的瘫痪,或者伪装路由器,发送公告报文,误导主机使用攻击主机当作路由器进行转发等等。
通过上面分析可以看出,局域网攻击的范围主要局限在本链路内,但破坏力极大,尤其当前接入网的主要形式是以太网,多主机共用一条物理链路,局域网攻击一旦发起,将会威胁所有主机的信息安全及正常通信。
二、网络检测技术的分类
防御网络攻击的手段有多种,可以大致分为入侵检测系统(IDS,Intrusion Detect system),入侵防护系统(IPS,Intrusion protection system)以及统一威胁管理(UTM,Unified Threat Management)。IDs应用于大多数场景中,通过对网络流量的检测,报告攻击行为的发生。护S提供更加深层的防护,不仅能够发现恶意代码,而且还能够主动地阻止恶意代码的攻击,在企业网中比较常见。UTM最早由Fortinet公司在2002年提出,2004年9月美国著名的IDC提出将防病毒、入侵检测和防火墙安全设备命名为统一威胁管理。很多人称其为多功能防火墙、多功能安全网关。IPS与UTM都是以IDS为基础的,通常都将IDS作为系统的一部分再进行扩展。尽管二者有着很多的优势,但DS以其容易搭建,耗费低,规模小,灵活等特点,适宜在小型试验网的环境中进行攻击的检测。IDS的设计目的是探测攻击和未授权的使用,并对攻击采取一定措施予以制止。攻击的检测结果通常称为安全事件。IDS按照功能可以分为三类,网络IDS (NIDS)、主机IDS(HIDS)、分布式IDS(DIDS)。
三、攻击检测与策略分析
3.1 目标的提出
前面阐述了IPv6局域网攻击的原理、危害及几种具体的攻击形式。在真实的网络环境中,可以观察到这些攻击并不是单一存在的。它们往往围绕着一个目的,按照一定规律和顺序出现在网络中。从攻击者的角度看,为了达到某个目的,比如迫使某个主机无法使用网络服务,必然要首先扫描到该主机,通过某些手段得到主机的IP地址和MAC地址,然后通过其他方式,如DDOS攻陷主机,或者通过虚假的邻节点宣告进行欺骗等待。当目的达成时,攻击者实际使用了多种攻击方式。
3.2 扫描攻击的检测
扫描攻击Alive6在攻击过程中向局域网所有主机(ff02::1)发送三个数据报完成主机信息的扫描:
l普通的ICMPv6请求应答报文
l下一报头是SSCOPMCE的IPv6数据报
l逐跳选项报头中包含无法识别选项的ICMPv6请求应答报文
ICMPv6请求应答报文是局域网中最常见的一种,发送方要求目标节点立即回送一个回送应答报文。类似于IPv4协议中的ICMP报文,请求应答报文用于网络中的错误诊断,通过该报文的使用,发送方可以明确到目的端的链路是否畅通。但是,攻击主机也常用该手段得知目的端是否连接到网络,及目的端使用的IP地址和MAC地址。所以,不能因为发现ICMPv6请求应答报文,就宣称出现扫描攻击。
SSCOPMCE全称是(Service Specific Connection Oriented Protocol Multicast Control Environment)。它适用于ATM的AAL适配层,类似TCPSACK(Selected ACK)协议,起到对某些数据报进行选择性重传的作用。但接入层是以太网的环境中,该报文不会引起其他主机的应答。此报文的出现可以作为Alive6攻击发生的一个特征,是产生Alive6攻击的必要不充分条件。
逐跳选项报头用于为通向目标的路径上的每次跳转指定发送参数。选项是一系列字段的集合,它或者描述数据报转发的一个方面的特性,或者用作填充。逐跳选项报头的长度为8字节的整数倍。当逐跳选项报头的类型字段最高两位的值为二进制“10”时,接收方回送一个ICMPv6参数问题报文并丢弃该报文,所以路由器不会转发该报文。
通过上面的分析可以看出,Alive6攻击,从行为上,可以依靠三种报文来确定。如果监控主机依次嗅探到三种报文,具有相同的源地址,并且目的地址都为组播地址,就可以确认局域网中发生了Alive6攻击,报文中的源地址就是攻击主机的IP地址。
3.2 扫描攻击的检测实现
3.2.1总体设计
扫描攻击检测预处理器包括两个模块:嗅探分析模块、预警模块。嗅探分析模块捕获并分析数据报,如果数据报符合检测条件,就设置某些标志位并进行一记录操作;如果数据报不符合条件,则丢弃继续进行侦听。该模块的关键在于对标志信息的操作,不同的标志状态对应不同的检测条件,当标志状态发生改变时,下一个检测条件就要发生变化。如果报文预警模块对标志信息进行检测,当标志信息表明发现攻击时,对攻击进行预警,并打印嗅探分析模块所记录的数据报相关信息,如IP地址等。
预处理器需要记录攻击报文,当确认一个报文含有攻击信息或者受害人信息时,要将报文(Struct Packct类型的数据结构)保存到相应的记录中。所以,有两个链表需要预处理器进行维持:嫌疑攻击主机链表;曝光主机链表。嫌疑攻击主机链表的一个元素记录了嫌疑主机的信息及发送攻击包的信息。曝光主机链表中保存了被扫描到的主机信息,这些主机信息也应该以警报的形式被预警。通常,一个嫌疑攻击主机对应多个曝光主机。
3.2.2 详细设计
预处理器开始运行后,首先初始化全局变量。nowtype标志现在的警戒状态,当收到一个IPv6 Echo Request报文时, nowtype为1;当nowtype为l,并且收到SSCOPMCE报文时,nowtype为2;当nowtyPe为2,并且收到带有含错误选项的逐条选项报头的报文,nowtyPe设置为3。nowtyPe标识了攻击检测所处的状态,即当前收到报文的类型和数量。当nowtyPe为3时,说明发生了Alive6攻击。debug控制打印信息。sushosts为嫌疑攻击主机链表。然后,分别进行捕获分析流程和检测预警流程的操作。捕获分析流程将检测结果写入嫌疑攻击主机链表中和曝光主机链表中。检测预警流程对这两个链表进行访问,对检测到的警报进行预警分析。
(a)捕获分析流程
捕获分析流程中,当捕获到一个数据报P时,首先判断该数据报是否为ICMPv6 Echo Request类型报文,或者SSCOPMCE类型报文,或者带有含错误选项的逐跳请求报头的报文,如果都不是,函数退出,继续进行捕获。否则,P是一个攻击数据报。首先获取P的源地址,并以该地址作为关键字对嫌疑攻击主机记录进行查找,如果该攻击主机已被记录,则对该记录进行标志位的修改,否则,生成一个新的记录,并进行修改。
如果捕获的数据报P是一个ICMPv6 Echo Reply请求应答数据报,或者是一个ICMPv6 Parameter Problem参数错误数据报,并且报文的目的地址是某个嫌疑主机的地址,则P是一个受害主机曝光自己存在的数据报,P的源地址所代表的主机就是受害主机。受害主机的护地址及数据报P都将被记录在曝光主机链表中。如果P的目的地址并没有在嫌疑主机链表中,说明P是一个正常的数据报,不是对攻击报文做出的回应,无需对P进行记录。
(b)检测预警流程
预警检测流程定时检查嫌疑攻击主机链表,当发现一个嫌疑攻击主机后,对其进行状态检查。如果已经捕获到该主机发送的三种攻击报文 (ICMPv6 Echo Request、SSCOPMCE类型报文、带有含错误选项的逐跳选项报头的数据报),并且此时与攻击主机发送最后一个攻击包之间的时间差超过一个预定值(预定值的设置使预处理器有足够的时间去等待捕获曝光主机的报文,一般为10秒)。则对该嫌疑主机进行警报。
然后,对嫌疑攻击主机所关联的曝光主机链表进行遍历,预警每个曝光主机的IP信息。预警曝光主机的操作完成后,进程进行睡眠,再继续进行检查操作。如果检查嫌疑攻击主机链表未发现符合条件的主机,则直接进行睡眠,再重新进行嫌疑主机的检查。该流程使用到两个预定值:攻击时间差预定值、睡眠时间预定值。攻击时间差预定值保证在预警之前,所有受害主机的应答报文都没检测到。睡眠时间预定值使流程进入休眠,防止因为频繁进行检测而浪费系统资源。
四、参考文献
[1] JERNEL N J. Towards a network theory of the immune system .Annual Review of Immunology. 1974, 125C, 125C:373-389.
[2] DE CASTRO L N,VON ZUBEN F J. The clonal selectionalgorithm with engineering applications [A].WorkshopProceedings of GECCO‘00,Workshop on Artificial Immune Systems and their Applications [C]. 2000.
[3] Kim J,Bentley P. An Evaluation of Negative Selection inan Artificial Immune System for Network Intrusion Detec-tion[C] .the Proceedings of the Genetic and Evolution-ary Computation Conference. 2001, 7: 1330-1337.
[4] JELASITY M,DOMBI J G. A concept on modeling species in genetic algorithms [J] .Artificial Intelligence, 1998, 99, 99 (1):1-19.
[5] Ishida Y. An immune network approach to sensor-based diag-nosis by self-organization [J] .Complex Systems, 1996, (10):7390.
[6] Huber P J. Robust Statistics .New York: Wiley, 1981.
[7] Rolf Oppliger. Security at the Internet Layer .IEEE Computer. 1998, 43-47.
[8] Srinivas M, Patnaik L M. Adaptive probabilities of crossover and mutation in genetic algorithms.IEEE Transactions on Systems, Man and Cybernetics. 1994,244, 24(4) :656~666 . |