基于多标记学习改进算法的入侵检测系统研究

2017-09-25 02:10王杉杉李荣雨
自动化仪表 2017年9期
关键词:攻击行为数据包分类器

陶 雯,王杉杉,李荣雨

(1.江苏第二师范学院数学与信息技术学院,江苏 南京 210013;2.南京工业大学计算机科学与技术学院,江苏 南京 211816)

基于多标记学习改进算法的入侵检测系统研究

陶 雯1,王杉杉2,李荣雨2

(1.江苏第二师范学院数学与信息技术学院,江苏 南京 210013;2.南京工业大学计算机科学与技术学院,江苏 南京 211816)

针对企业信息化系统存在的问题,分析了当前网络安全存在的误报和漏报现象,对海量信息分析代价大、无法预知安全策略内容、系统自身安全等方面问题作了探讨,设计并建立了基于多标记学习改进算法的入侵检测系统模型。该模型主要包括数据采集、数据预处理、算法检测及响应处理等模块。在设计好基于多标记学习改进算法的入侵检测系统后,将该系统部署到原有系统中,并检测入侵数据,数据检测监控界面显示入侵检测系统的检测结果。针对未处理的网络连接记录,系统管理员可通过手动方式判断其是否为攻击行为;而对于异常的数据,系统会将此类型的攻击行为添加到样本库中。算法在适当的时间通过新的样本库来完善分类器。该模型在不改变原有信息化系统工作的基础上,实现了入侵检测系统的应用。

多标记学习; 样本库; 入侵检测; 类别权重; 企业信息系统; 分类器

0 引言

企业信息系统包括两个部分,一部分是OA办公类系统,另一部分是业务类系统,包括企业资源计划系统、人力资源管理系统、客户管理系统等。随着企业信息化建设的不断推进,信息系统不断扩大,企业的业务数据逐渐积累。来自外部的攻击行为严重威胁着企业内部机密,如何协调好企业信息安全的内忧外患,是目前大部分企业网站亟待解决的问题。入侵检测系统[1-3]不仅能够检测系统外部的攻击行为,同时也能对系统内部的攻击行为有很好的防御效果,但是现有入侵检测技术还存在很多不足之处,主要体现在误报和漏报、海量信息分析代价大、无法预知安全策略、系统自身安全问题等方面内容[4]。

本文通过对企业信息化系统的研究,建立基于多标记学习改进算法[5]的入侵检测系统模型,并对基于该模型的入侵检测系统进行了详细设计,在不改变原有信息化系统工作的基础上,实现了入侵检测系统的应用。

1 基于多标记学习改进算法的入侵检测系统

基于多标记学习改进算法的入侵检测系统流程如图1所示。流程主要实现数据采集、数据处理、入侵检测等功能。

图1 系统流程图

如图1所示,系统首先在网络接入点建立数据采集通道,然后由数据采集单元捕捉经过此节点的数据流,并对数据流进行清洗,从捕捉到的数据流中提取网络连接记录,对所有网络连接的特征信息进行提取。同时,对提取的相关信息进行预处理,得到作为多标记学习改进算法的输入形式数据,然后利用分类器预测输入的数据,最后将预测结果进行传输,送到决策响应单元,进而执行相应操作。

1.1 结合类别权重及多示例的多标记学习改进算法

多标记学习[6]是目前机器学习的重要研究方向。其已经成为文本分类[7-9]、生物信息学[10]、图像视频自动标注[11-13]等领域应用最为广泛的算法之一。现阶段,多标记学习算法已经应用到入侵检测系统[14]中。

W1(xi,σ)=

(1)

(2)

(3)

式中:Ni为具有类别cl示例的标记集;U为待学习样本集合;Ul为具有类别cl的示例集合;α、β分别为局部和全局调整系数;τ为惩罚临界值,数值范围为[0,1]。

1.2 数据采集单元

数据采集单元采用Libpcap/TCPdump数据包嗅探器作为数据采集的工具,它能灵活地获取网络中的数据包信息,并对数据包中的信息作简要的协议分析,最终以统一的形式输出数据包信息。下面对Libpcap及TCPdump的工作机制作简要分析。

Libpcap,即数据包捕获函数库。Libpcap用于对网络端口的扫描,作为数据接收机制。Libpcap中的主要函数如下。

pcap_lookupdev()

//主要用于查找网络设备。

pcap_open_live()

//主要利用描述字来操作相应设备要求。

pcap_compile()

//编译用户制定的过略策略。

pcap_setfilter()

//用于过滤器的设置。

pcap_loop()和pcap_dispatch()

//对数据包进行捕获后处理。

pcap_next()和pcap_next_ex()

//可用来捕获数据包。

pcap_close()

//用于关闭网络设备,释放资源。

Libpcap数据包捕获流程如图2所示。

TCPdump是嗅探软件,用于截获网络分组,使用Libpcap作为其底层库,能够实时监控和抓取网络上流过的数据包。将TCPdump放在网关上捕获通过网关的数据包信息。捕获的数据保存为TCPdump格式,这些数据经过清洗和预处理之后,才可以作为模型中多标记学习改进算法的输入数据。

图2 Libpcap数据包捕获流程图

1.3 数据清洗及预处理单元

数据采集单元采集到的数据,不能直接用于多标记学习算法分类器的输入,需要对捕获的数据进行清洗和预处理。

一般采集到的源数据中通常包含一些无用的噪声数据或者无关数据,因此需要对其进行筛选,借助数据的处理来实现数据的清洗或去除空白数据。此外,对于每一条采集的原始数据,通常会包含一些关联性很小的数据特征属性,甚至是没有关联的。这些属性会增大数据分析空间的维度,影响检测系统的检测实时性与效率,最终影响检测的准确性。所以在原始数据基础上采用特征选择方式,以最大限度减少数据特征属性,进而对检测空间维度予以降低。本文选取网络连接中的一些关键特征作为学习样本属性,每个数据连接保留25个描述特征。

数据预处理包括数据符号化数据和数据标准化处理。每条数据的特征属性中都包含3个符号属性:protocol-type、service和flag。其中:protocol-type属性包含tcp、udp和icmp;service包含9种属性,分别为http、private、urp_i、smtp、ftp_data、ecr_i、domain_u、other、others;flag包含有4种属性,分别为sf、rej、so、others。为了能将数据作为算法的输入,必须对数据进一步处理,将字符型的数据进行如下定义。

protocol-type:tcp=1,udp=2,icmp=3

service:http=1,private=2,urp_i=3,smtp=4,

ftp_data=5,ecr_i=6,domain_u=7,other=8,others=9

flag:sf=1,rej=2,so=3,others=4

数据经过数值化处理之后,所有的特征属性均转化为数值。因为数据中连续型的特种属性均存在差异化的度量标准,所以应标准化处理数据特征属性,具体变换如下:

(4)

(5)

(6)

经过标准化处理后,所有特征属性的值在[-1,1]之间,消除了属性之间度量标准不同的影响,本文使用离差标准化对标准化的数据进行线性变换,使其结果值在[0,1]之间,其公式如下:

(7)

原始数据通过清洗、预处理步骤之后可以作为多标记学习改进算法分类器的输入,作为算法的检测对象。对于训练样本数据,数据的特征属性部分处理同样经过数据清洗和预处理步骤,另外还需要对样本数据进行标注。本文将正常数据标记为(+1,-1),其余入侵数据标记为(-1,+1)。数据标记后则可作为算法的训练样本。

1.4 入侵检测算法单元

将多标记学习改进算法应用到入侵检测中,应当根据入侵检测评价标准来改进该算法。改进算法主要是修改主程序中对该算法性能评价指标部分,增加入侵检测的评价指标函数检测率和误报率来验证入侵检测的性能。修改之后的算法可以面向入侵检测。

多标记学习算法单元分为示例分化阶段和样本训练阶段。

示例分化阶段是多标记学习算法的核心阶段,算法在输入空间中对样本示例包含的数据信息进行深度挖掘。通过一个描述数据重要度的权重函数及自适应惩罚策略,最终将输入空间中单个样本示例转化为示例包形式。

示例分化阶段将输入空间的单示例形式化地转化为示例包形式,转化后的数据包作为多标记学习改进算法真正学习数据。

1.5 响应及处理单元

当算法单元分类器检测到入侵攻击行为时,系统会给出警报或对攻击行为采取一些处理措施,响应机制包括以下几种。

①自动终止攻击。当系统检测到当前网络访问连接是一个攻击行为时,则会自动命令系统断开当前的网络连接,不需要外部设备的支持(如防火墙)。

②与防火墙联动。当系统检测到攻击行为,本身无法断开攻击行为的网络连接时,系统向防火墙发出警报,通知防火墙对连接会话进行阻断或切断,防火墙处理完成后会进行结果反馈。

③隔离系统。入侵检测系统为了避免攻击行为对企业系统的攻击,会把系统从网络中暂时隔离。

④通知管理员。如果系统上述响应失败,会通过邮件形式向管理员发出警告或者向管理员平台发出简单网络管理协议(simple network management protocol,SNMP)消息,系统管理员对警告信息作出应急处理。

2 入侵检测系统整合应用

在设计好基于多标记学习改进算法的入侵检测系统后,需要将此系统部署到原有系统中,并检测入侵数据。

2.1 数据采集

为了全面采集经过系统的网络数据,采集数据时,需要把计算机网卡的工作模式设定为混杂模式。采集数据抓包工具为Wireshark。使用Libpcap的Windows版本Winpcap作为接口抓取网络数据。

界面中上部分为包的概要信息,包括采集序列、采集时间、访问的源地址、目标地址、协议类型、包长等信息。中间部分为包的详细信息,包括Frame、Ethernet II、Internet Protocol Version 4、Transmission Control Protocol、Hypertext Transfer Protocol。Frame为物理层数据帧概况,Ethernet II为数据链路层以太网帧头部信息、Internet Protocol Version 4为网络层IP包头部信息、Transmission Control Protocol为传输层的数据段头部信息、Hypertext Transfer Protocol为应用层的信息。

采集到的数据保存在统一的文件中,并需要对这些原始数据进行清洗。原始数据包中包含一些网络连接特征的连接记录。针对入侵检测需要的信息对连接记录数据进行特征提取,输出一条对应的连接记录,这些记录包含:时间戳(timestamp)、持续连接时间duration、连接服务类型service、源主机(src_host)、目标主机(dst_host)、连接状态标志(flag)等。最终将处理完的数据存数文本数据库中,作为入侵检测系统的输入数据。

2.2 数据检测

采集到的原始数据经过清洗及特征提取后,再经过数值化和标准化处理后作为检测单元的输入数据。检测单元读取文本数据库中的网络数据作为输入。检测数据是否为入侵行为,系统提供了对数据检测的监控可视化界面。

数据检测监控界面显示入侵检测系统的检测结果,分别为“正常”、“异常”和“未处理”三种检测参考结果。针对未处理的网络连接记录,系统管理员可以通过手动方式判断其是否为攻击行为;而对于异常的数据,系统会将此类型的攻击行为添加到样本库中,算法在适当的时间通过新的样本库来完善分类器。

3 结束语

本文针对企业信息化系统存在的问题,分析了当前网络安全存在的误报和漏报、海量信息分析代价大、无法预知未知的安全策略内容、系统自身安全问题等方面,建立基于多标记学习改进算法的入侵检测系统模型,并对该模型进行了详细设计。该数据分类模型主要包括数据采集、数据清洗、数据预处理和结果响应。在设计好基于多标记学习改进算法的入侵检测系统后,将该系统部署到原有系统中,并检测入侵数据。数据检测监控界面显示检测结果,根据检测结果显示检测参考结果,展示了该入侵检测系统的应用价值。

[1] WENKE L,SALVATORE J.Data mining approaches for intrusion detection[C]//Proceedings of the 7th USENIX Security Symposium San Antonio,1998.

[2] LEE W,STOLFO S J,MOK K W.A data mining framework for building intrusion detection models[C]//Proceedings of the IEEE Symposium on Security & Privacy,1999:120-132.

[3] LEE W,STOLFO S J,ESKIN E,et al.Real Time Data Mining-Based Intrusion Detection[C]// DARPA Information Survivability Conference& Exposition II.2001,89-100.

[4] 牛承珍.关于入侵检测技术及其应用的研究[J].软件导刊,2010,9(1):142-147.

[5] 杨小健,王杉杉,李荣雨.一种结合类别权重及多示例的多标记学习改进算法[J].小型微型计算机系统,2017,38(4):857-862.

[6] TSOUMAKAS G,KATAKIS I,VLAHAVAS I.Mining multi-label data[M].Data Mining & Knowledge Discovery Handbook,US:Springer,2010:667-685.

[7] LI L,WANG M,ZHANG L,et al.Learning semantic similarity for multi-label text categorization [C]//Chinese Lexical Semantics Lecture Notes in Computer Science,2014:260-269.

[8] JIANG J Y,TSAI S C,LEE S J.FSKNN:multi-label text categorization based on fuzzy similarity and k nearest neighbors[J].Expert Systems with Applications,2012,39(3):2813-2821.[9] 高嘉伟,梁吉业,刘杨磊,等.一种基于Tri-training的半监督多标记学习文档分类算法[J].中文信息学报,2015,29(1):104-110.

[10]ZHANG M L,ZHOU Z.Multi label neural networks with applications to functional genomics and text categorization[J].IEEE Trans action on Knowledge and Data Engineering,2006,18(10):1338-1351.

[11]WANG C,YAN S,ZHANG L,et al.Multi-label sparse coding for automatic image annotation[C]//IEEE Conference on Computer Vision and Pattern Recognition,2009:1643- 1650.

[12]WU B,LYU S,HU B G,et al.Multi-label learning with missing labels for image annotation and facial action unitrecognition[J].Pattern Recognition,2015,48(7):2279-2289.

[13]YU Y,PEDRYCZ W,MIAO D.Neighborhood rough sets based multi-label classification for automatic image annotation[J].International Journal of Approximate Reasoning,2013,54(9):1373-1387.

[14]钱燕燕,李永忠,章雷,等.一种多标记学习入侵检测算法[J].合肥工业大学学报(自然科学版),2015(7):929-933.

[15]ZHOU Z H,ZHANG M L,HUANG S J,et al.Multi-instance multi-label learning[J].Artificial Intelligence,2012,176(1):2291-2320.

StudyontheIntrusionDetectionSystemBasedonImprovedMulti-LabelLearningAlgorithm

TAO WEN1,WANG Shanshan2,LI Rongyu2

(1.College of Mathematics and Information Technology,Jiangsu Second Normal University,Nanjing 210013,China;2.College of Computer Science and Technology,Nanjing Tech University,Nanjing 211816,China)

Considering the problems existing in enterprise information system,the phenomenon of false positives and omission in network safety are analyzed,and many aspects of problems are discussed,such as the high cost of mass information analysis,unpredictable and unknown content of security policy,and own safety of security system,etc.,and the intrusion detection model based on improved multi-label learning algorithm is designed and established.The model mainly consists of the modules for data acquisition,data pre-processing,algorithm detection and response processing,etc.Having been designed the intrusion detection model based on improved multi-label learning algorithm,this system is deployed into the original system,to detect intrusion data; the detection results of the intrusion system are displayed by the monitoring interface.According to the unprocessed network connection records,the system administrators can manually judge whether it is aggressive behavior or not; for the abnormal data,the system will add this kind of aggressive behavior into the sample library.The algorithm will improve the classifier at the right time through the new sample library.Without changing original information system,the model realizes the application of the intrusion detection system.

Multi-label learning; Sample library; Intrusion detection; Class weights; Enterprise information system; Classifier

TH-39;TP309

: A

10.16086/j.cnki.issn1000-0380.201709014

修改稿收到日期:2017-04-06

江苏省教育厅自然科学基金资助项目 (12KJB510007)

陶雯(1979—),女,硕士,讲师,主要从事人工智能与优化方向的研究。E-mail:awen_tao@163.com。

猜你喜欢
攻击行为数据包分类器
癫痫伴发精神障碍患者攻击行为发生状况及高危因素
住院精神病人暴力攻击行为原因分析及护理干预
二维隐蔽时间信道构建的研究*
基于人工蜂群算法的无线网络攻击行为的辨识研究
基于朴素Bayes组合的简易集成分类器①
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
基于特征选择的SVM选择性集成学习方法
C#串口高效可靠的接收方案设计
基于差异性测度的遥感自适应分类器选择
基于层次化分类器的遥感图像飞机目标检测