自学习式入侵检测防御系统的设计与实现

2015-12-08 11:46殷玥
电脑知识与技术 2015年25期
关键词:入侵检测BP神经网络网络安全

殷玥

摘要:复杂的网络安全环境,使传统的防火墙与入侵检测系统的实际效果大打折扣,无法满足复杂多变的网络环境。在此背景下,设计并实现一种自学习方式入侵检测防御系统,系统根据NDIS Passtru接口规范,自主开发了驱动模块,并基于BP神经网络算法设计了自学习模式,最终实现了入侵检测防护目的。系统弥补了传统防火墙与入侵检测系统的不足,最大限度保证了服务器网络的安全。

关键词: 自学习;入侵检测;入侵防御;BP神经网络;网络安全

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)25-0030-02

Design and Implementation of A Self-learning Intrusion Detection Defense System

YIN Yue

(NanYang Institute of Technology, Nanyang 473000,China)

Abstract: Traditional firewall and intrusion detection systems will be compromised in complex network security environment. In this background, A self-learning IPS is designed in order to improve the overall network security of information systems. System is divided into six modules, such as, Passthru driver module, feature extraction module, rule base, feature matching module and the parser. This system overcomes disadvantages of traditional firewalls and ensures security information systems.

Key words:self-learning; intrusion detection; intrusion prevention; back propagation; network security

1 引言

近年来发展火热的电子商务,和以此为依托众多的网络信息系统安全问题的频发。使得网络安全开始走入大众的视野。另外,各式各样黑客技术的日益曝光,自动化入侵及检测工具的开放,使得网络安全测试的门槛降低,进一步加大了入侵事件的发生,使得网络安全问题呈现高发态势。网络安全作为一个系统的概念,提出了信息系统必须提供有效的安全策略,切实可行的安全加固方案,已达到保护信息系统不受非法入侵和影响的目的。因此,保护信息系统和网络环境的安全稳定,是现今信息安全的首要目标。但是传统的入侵检测系统只能对入侵行为进行识别与发现,不能有效的防御,因此,将入侵检测系统与传统防火墙的组合就形成了现在的入侵检测防御系统(Intrusion Detection Protect System,简称IDP)。

2 入侵检测防御系统的设计与实现

网络入侵检测防御系统作为一套综合性的信息安全防护系统,需要兼顾入侵检测系统与防火墙的双重功能,通过有效的安全策略制定,有效的控制进出信息系统流量。实现对用户以及外部访问的控制,以及对异常流量的实时分析。

由于其特殊性,决定了网络入侵防御系统,必须具有以下几个特点:本身不受攻击的影响;保证数据传输的效率;采用安全加密等方式保证系统自身信息安全;良好的交互界面,以与管理员更加友好的交互;准确且稳定的防护效果。

基于以上几个特点,要求系统,必须采用稳定且可靠的架构。加之采用模式匹配的方式进行数据分析与规则处理,因此,也决定了,必须采用效率较高的算法,进行相关规则匹配与提取。在功能上要求系统对常见的SQL注入、XSS、DDOS攻击、ARP欺骗以及木马入侵等常规Web攻击手段进行防护,从而达到保护服务器不受攻击。

2.1 系统总体设计

为了更好地实现对数据流量的监控,稳定且高效的实现对网络流量的获取,系统采用NDIS中间层Passthru框架作为基本数据获取框架。通过监听网络中的数据包来获得必要的数据来源,依托协议分析,匹配,统计分析等手段,实时发现处理攻击行为。数据过滤部分,采用自我编写的数据过滤模块,对坏数据进行及时处理,做出相应响应。规则库方面,为了加强知识库的健壮性,系统引用BP神经网络算法,在处理前,处理中进行自学习,最大限度的扩充知识库的健壮性。使整体的检测与防御效果得到增强。系统构架如图1所示。

系统各部分功能如下:

1)Passthu底层框架:实现的是防火墙的功能,对数据包进行过滤并对通过的数据包进行解析。模块采用Microsoft提供的PassThru扩展驱动框架,通过对下层物理网卡驱动,与上层协议驱动的连接。获取完整的网络流量数据包,通过实时对数据包的拦截处理,已达到检测网络流量的目的。

2)特征提取:数据包指纹特征提取。在常规网络攻击过程,通过分析,从中发现很多特征可以标明为何种攻击行为。特征提取模块,就是通过模式匹配的方式,对解析器提取出的相关数据,进行进一步的分析。

3)规则库:用于存放攻击特征码的数据库。

4)规则匹配:采用BM和KMP算法对提取的特征和规则库里的特征码进行两次比对,确保准确性。

5)解析器:对比对后的结果产生操作行为。解析器分为TCP,UDP,HTTP,ARP等多个部分,通过对不同协议的不同分析,将不同的数据域交给特征提取模块。已达到更加准确稳定的处理。

6)短信预警:对远程登录的IP告知通过管理员。

7)特征自学习:对于所提取的未知特征进行自学习。

2.2系统关键技术实现

在系统总体设计的基础上,对系统部分模块的实现过程进行简单的介绍。

2.2.1 解析器

解析器通过利用协议分析技术,对所有经过的协议数据,进行分解,获取其中重要的数据域,从而获取第一手数据,最大限度地保证数据的真实性、完整性,保证特征提取模块能够获取最完整的数据。解析器分为TCP,UDP,HTTP,ARP等多个部分,通过对不同协议的不同分析,将不同的数据域交给特征提取模块,以达到更加准确稳定的处理。另外,由于解析器所获取的数据包结构已知,保证了整个数据包处于完整状态,在可控的范围内,大大增加了后续数据分析的准确性。并且能快速检测攻击特征,从而大大减少了搜索所需的计算量。

解析器分为HTTP,TCP,UDP,ARP等部分,由于协议本身的差异,在对不同的协议进行解析时,方式方法不同,这里不再一一介绍。

2.2.2 特征提取

在常规网络攻击过程中,通过分析可以从中发现很多特征可以标明为何种攻击行为。特征提取模块,就是通过模式匹配的方式,对解析器提取出的相关数据,进行进一步的分析。在分析过程中,主要包括两种方式:一种是基于标识(signature-based),另一种是基于异常(anomaly-based)。由于这些提取特征提供了整个网络数据流的完整信息,将所有选项组合后,能够分析出相关攻击的具体行为。因此,能够准确、稳定而且高效地完成特征提取。如果将这些选项组合,就可得到网络数据包以及典型攻击行为的描述。

下面给出网络数据包的元组表示:

Attack(packet)=(P-id,H-len,C-sum,S-port,D-port,Icmp-Type,Icmp-Code,Flag,P-len,P-data)对元组里的特征元素不同的取值组合就构成了对不同攻击行为的描述,下面给出用于描述 CGI 攻击、FTP 攻击、Redirect 攻击和 UDP 攻击的元组描述:

Attack(CGI)=(Tcp,32,0,2345,80,null,null,A,421,get cgi-bin)

Attack(FTP)=(Tcp,24,16,21,21,null,null,PA,256,ROOT)

Attack(Redirect)=(Icmp,20,null,null,8,3,null,192,1a)

Attack(UDP)=(Udp,16,10,138,126,null,null,null,448,3c)

自学习入侵检测系统提取特征的根本目的在于对每一类攻击类型可得到多个这样的元组描述,将这些元组作为神经网络的训练样本,对神经网络进行训练,就可在神经网络内部建立起对不同攻击行为的识别模型。

2.2.3 匹配规则

特征匹配模块,是本系统较为重要的组成部分。当数据由上层解析器解析,提取模块提取出相关特征后,匹配模块开始正式工作。模块通过对每一个规则链提取,规则链包括:Dynamic(记录网络流量的日志)、Alert(产生报警并记录这个数据包)、Pass(忽略这个数据包)、Rule(规则)四个部分组成,每一个都有独立的协议链表。构成一个完整的规则树节点。

模块启动前,提取规则库的规则,先对特征进行一次匹配,如果未发现威胁。对数据进行放行。另外,为了最大限度地保证检测过程的准确性,未知规则会通过BP神经网络算法,进行相关学习,并对学习出的样本进行记录,以便发现攻击行为时,记录其变种形式,达到更加准确,更加有效的防御效果。在整个规则匹配过程采用比较著名的匹配算法BM(Boyer-Moore)算法和KMP(Knuth-Morris-Pratt)两种不同的匹配算法进行两次规则匹配,来实现对数据包行为信息的判断,并将结果传递给操作模块,以供下一步操作。

2.2.4 BP神经网络

BP(Back Propagation)神经网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。BP神经网络模型包括其输入输出模型、作用函数模型、误差计算模型和自学习模型。

算法基本流程就是:

1)初始化网络权值和神经元的阈值(最简单的办法就是随机初始化)

2)前向传播:按照公式一层一层的计算隐层神经元和输出层神经元的输入和输出。

3)后向传播:根据公式修正权值和阈值直到满足终止条件。

3 结束语

经过测试,系统可以实现对预期的sql注入、xss跨站、arp攻击和cookie注入等多种类型的攻击手段的防御,并且取得了不错的效果,最大限度地保证了服务器的安全。但是由于防御系 (下转第33页)

(上接第31页)

统由于自身也是攻击者的重要目标,因此下一步需要做的工作主要是,如何避免 IDP 系统受到攻击,或者如何将 IDP 隐藏,以使黑客检测不到 IDP 的存在,这也是一个重要的研究课题。

参考文献:

[1] 王景新.基于神经网络技术的网络入侵检测系统研究与实现[D].长沙:国防科技大学,2002.

[2] 唐正军等.网络入侵检测系统的设计与实现[D].北京:电子工业出版社,2002.

[3] 王晓程.网络入侵检测系统的研究[N].计算机工程与科学,2000(1).

[4] 朱雁辉.Windows 防火墙与网络封包截获技术[M].北京:电子工业出版社,2002(7).

[5] 付泽宇,余镇危.一种主机防火墙的设计和实现[J].计算机安全,2002.

[6] 王英红.分布式防火墙堵住内部网漏洞[N].计算机世界报,2002(4).

[7] 戴云,泛平志.入侵检测系统研究综述[J].计算机工程与应用,2002,38(4).

[8] 崔伟,竞艳,蔡圣闻等.基于 IPSec 的分布式防火墙安全体系框架[J].计算机工程,2004.

猜你喜欢
入侵检测BP神经网络网络安全
网络安全
网络安全人才培养应“实战化”
上网时如何注意网络安全?
基于入侵检测的数据流挖掘和识别技术应用
艺术类院校高效存储系统的设计
复杂背景下的手势识别方法
BP神经网络在软件质量评价中的应用研究 
基于关联规则的计算机入侵检测方法
BP神经网络算法在数值预报产品释用中的应用
我国拟制定网络安全法