基于SVM和序列联配的攻击特征提取方法

2012-08-01 05:39刘卫国胡勇刚
中南大学学报(自然科学版) 2012年11期
关键词:空位特征提取分类器

刘卫国,胡勇刚

(中南大学 信息科学与工程学院,湖南 长沙,410083)

近年来,病毒(如蠕虫病毒)以及恶意代码成为网络安全的主要威胁。网络攻击行为给社会带来巨大的经济损失。基于攻击特征的入侵检测系统是目前解决此安全问题的有效手段,但各种入侵病毒和攻击广泛采用变形、多态和加壳等技术,新的变异病毒不断出现,这对现有的入侵检测系统提出很大的挑战。因此,对于攻击特征自提取技术的研究引起了许多研究者的注意,成为入侵检测技术的研究热点。攻击特征提取算法通常分为2类:基于字符串模式和基于语义算法。基于语义的算法依赖于对某种特定类型的攻击事先进行语义分析,无法自动生成一些未知攻击的攻击特征。因此,目前对于攻击特征提取算法的研究主要是基于字符串模式,如基于最长公共子串算法、基于可变长度负载出现频率算法、基于序列联配算法等[1],其中基于序列联配算法能够提取长度很短的特征片段,并且能发掘特征片段间的距离关系。Needleman等[2]提出Needleman-Wunsch算法,通过计算2个序列的相似值,得到1个相似度矩阵,再通过回溯寻找得到联配结果,是目前特征提取准确性较高的算法。但在序列联配过程中存在碎片和噪声干扰问题。为避免联配过程中产生碎片和漏掉有效语义信息文字,Smith等[3]对Needleman-Wunsch算法进行改进,提出Smith-Waterman算法,用局部联配代替全局联配,提高了联配结果的准确度。秦拯等[4]针对非最优解的问题提出基于知识积累的序列联配算法IASA,能有效地保留联配过程中具有语义信息的片段,使联配结果趋于合理。唐勇等[5-6]提出奖励相邻匹配的全局联配算法CMENW和层次式多序列联配算法HMSA,有效地去除了联配过程中的噪声,减少了联配过程中的碎片。在攻击特征的提取中,一般是在网络中捕获攻击数据包作为数据源,因此,在实际的攻击样本中往往包含多种攻击,在针对某一攻击行为进行攻击特征提取时,其他攻击样本则可视为噪声。要实现单一攻击特征的提取,目前通常做法是通过对攻击样本进行聚类,将多攻击样本转换成含单一攻击样本,然后,提取该攻击样本特征。支持向量机(SVM)技术的应用得到广泛关注,SVM的自我学习能力能有效地提高网络入侵检测系统的自适应性[7]。陈光英等[8-9]采用SVM算法及其改进的算法检测攻击行为;Zhou等[10]结合SVM和遗传算法进行攻击行为检测,有效地提高系统的检测率,降低系统的误报率。本文提出一种基于两序列联配特征自提取模型,首先,使用SVM分类器对数据集进行调整和分类;然后,使用改进的Smith-Waterman算法对攻击数据进行序列联配,以克服原有算法中的不足,获取优化联配结果。

1 SVM分类器

1.1 分类原理

支持向量机是一种基于统计学理论的机器学习方法。它根据有限的样本信息在模型的复杂性和学习能力之间寻求最佳折中,以期获得最好的泛化能力[11-12]。支持向量就是一个训练数据集的子集,该子集通常用于定义2类数据的边界。使用1个非线性函数将样本数据映射到1个高维空间,在高维特征空间中,查找1个最优超平面实现对数据集的分类,该超平面由一定数量的支持向量决定。

对于样本{(x1,y1),(x2,y2),…,(xn,yn)},其中xi∈Rn,yi∈{1,-1},当y取1时表示样本属于A类,y取-1时表示样本属于B类。分类边界表示为:

若给定样本集可分,则存在一对(ω,b)∈Rn×R使得:

其中:ω为权重向量;b为偏离值。合并式(2)得:

此时,分类间隔为2/||ω||,分类间隔最大问题等价于使||ω||2最小。因此,满足式(1)且使||ω||2/2最小的超平面称为最优分类面,求解最优分类面可表示为:

1.2 分类过程

支持向量机常被用来进行预测或分类[13],其较高的分类准确度有利于降低误报率。根据分类结果,SVM分类可以分为一类分类和多类分类。采用SVM分类算法只能将样本集中的一类与其他数据分开,这称为一类SVM分类;对于k类混合样本集,要将所有样本分类,最直接的方法是采用k个一类SVM分类器;对于含有多种攻击的数据集,为快速对各类攻击进行分类,本文采用k分类SVM分类器。

对于含有k类攻击的数据集,将数据集分成k类,将k类分类器分解成k个一类分类,每个分类结果中包含所有攻击样本,第i个一类分类将第i类攻击与其他攻击类分开,因此将这k个一类分类的判决函数组合成形成k类分类的判决函数。对于输入的数据集,使用k类分类判决函数进行判断,输出结果中第i个输出结果属于第i类,其他输出为其他类,从而实现对混合样本集进行k分类,如图1所示。

图1 k类SVM分类器Fig.1 SVM k-classifier

2 改进的两序列联配算法

2.1 序列联配算法中的主要问题

序列联配的主要思想是通过序列字符的比较和适当的空位插入,计算相似度函数值,并构建1个相似度矩阵,从而发现序列之间的相似性和辨别序列的差异[14]。进行序列联配的过程中,会适当地插入空位将联配的2个序列对齐;当插入的空位位置不同时,会得到不同的联配结果。如序列1“jseefaiboc7dqp”与序列2“wuapbycudhseen”在进行两两联配时,可能出现图2所示2种结果。

图2 两序列联配Fig.2 Two sequences alignment

在图2(a)中,插入的空位数较少,并且找到4个相似的字符。在图2(b)中,插入相对较多的空位,同时只找到3个相似的字符。从联配的表象来看,根据相似度计算公式,序列联配结果1(图2(a))中以更多的相似字符得分和更少的空位罚分,计算出的相似度要高于序列联配结果2(图2(b))。

但在实际应用中,序列联配结果2(图2(b))更能表示攻击特征,被称作为最优联配[15]。其原因如下。

(1)在序列联配结果2中的碎片更少。通常把只包含1个字母的片段称作碎片,在序列联配结果1中的碎片数量为4,而序列联配结果2中没有碎片,若采用碎片数量较多的联配结果描述入侵特征,则将导致大量的误报。

(2)序列联配结果2中含有语义信息。从图2中的对比结果可以得到,用以匹配的序列中含有可以表示语义信息的连续字符串“see”,若采用Needleman-Wunsch算法进行联配,则单从相似度判断将获得序列1的联配结果,但无法体现出该语义信息。通常的入侵特征都可由某一特定字符串表示,因此,能获得连续的字符串更能准确表示攻击特征。

2.2 ISW算法

在比较2个序列时,获取局部的有语义的连续符号串比全局比较获得大量碎片更具有实际意义。例如,在生物学中比较2个长的DNA序列时,物种的一些有效信息只包含在某一连续片段中。本文选择Smith-Waterman算法中的局部联配思想取代全局联配,提出一种改进的Smith-Waterman算法(ISW)。算法主要思想为:对于给定的比对序列m和m′,构造相似度矩阵。令x是字符匹配得分,y是不匹配得分,z是空位罚分。在传统联配算法中,出现连续k个空位时,则空位罚分为kz。在改进算法中,对首先出现的空位罚分为p,当出现连续k个空位时,空位罚分为p+(k-1)×z(p>>z),同时鼓励连续匹配字符,对于多个连续匹配的字符引进鼓励函数e(S)来增加匹配得分,其中S为连续匹配字符的相似度得分。算法描述如下:

输入:序列m和序列m′。

初始化:

Lm为m的长度;Lm′为m′的长度;F(i,j)表示m和m′之间的最优相似度得分;T(i,j)表示当前相似度得分;s(i,j)表示对于某一字符和空位的相似度得分。

3 实验与分析

本文采用SVM分类器与改进的Smith-Waterman算法得到基于序列联配的攻击特征自提取模型,其流程如图3所示。

图3 基于ISW算法的攻击特征提取模型Fig.3 Attack signature generation model based on ISW

首先,用某一类攻击行为的数据作为测试集对SVM分类器进行训练,用经过训练过后的分类器对网络中捕获的数据进行分类,将分类出的攻击数据传送给序列联配引擎。因为改进后的Smith-Waterman算法是1个两序列联配算法,在联配过程中需不断调用该算法,直到所有的序列都联配完成为止。

本实验中采用KDD cup 99数据集,在数据集中攻击数据可分为4类:拒绝服务攻击、监视及其他探测、远程非法访问、本地未授权用户登录。将上述4类攻击数据从数据集中剔除,仅留正常数据包。选用3种远程漏洞溢出攻击:Apache-Knacker,BIND-TSIG和ATPhttpd,并通过病毒变形引擎进行变异处理。使用IASA算法、CMENW算法及ISW算法进行攻击特征提取。

实验中参数设置如下:匹配得分取值为1,不匹配得分取值为-0.5,空位罚分取值为-1。对于ISW算法,第1次空位罚分取值为-1,出现连续的其他空位取值-0.02。对于连续匹配字符的相似度得分S,连续匹配奖励函数为:

分别采用IASA算法、CMENW算法以及ISW算法对3种攻击进行特征提取,实验结果如表1所示。

为验证改进算法生成的攻击特征用于检测系统的效率,每种攻击采样100个加入正常数据集,将联配结果转化成Snort规则,使用Snort 2.0对样本数据集进行检测,每种攻击检测10次,统计其检测率与误报率并取平均值,对比结果如表2所示。

表1 IASA,CMENW和ISW算法攻击特征的提取结果Table1 Attack signature generating results of IASA, CMENW and ISW

表2 IASA,CMENW和ISW算法联配结果对比Table2 Comparison of IASA, CMENW and ISW alignment results

从表2可知:对于3种攻击的变形,采用生成的攻击特征都能有效地检测出来。其中对于Apache-Knacker 攻击使用IASA算法与ISW算法的攻击特征,系统的误报率均为0,使用ISW算法对于BIND-TSIG攻击的提取结果,系统的误报率为0。同样对于ATPhttpd攻击,使用ISW算法的提取结果中,系统的误报率都要远比其他2种算法的低,说明使用本文提出的攻击特征提取模型,能使联配结果更加准确地表达攻击特征。

4 结论

(1)采用SVM分类器对数据进行预处理,利用SVM方法高准确率分类特点进行攻击特征选择,可以减少联配过程中的噪声序列;SVM的小样本学习能力能有效地提高系统应对攻击行为变异及新攻击的能力。

(2)针对联配过程的碎片问题,通过改变空位罚分的方式,并鼓励字符连续匹配,能最大程度地保留攻击行为的特征字符,因此,改进的Smith-Waterman算法能更准确地描述攻击特征。

(3)应用改进后的攻击特征自动提取方法,使得入侵检测系统能自动地发现新的攻击并提取新攻击行为的特征,能有效地提高入侵检测系统的自适应性。

[1]唐勇, 卢锡城, 王勇军.攻击特征自动提取技术综述[J].通信学报, 2009, 30(2): 96-104.TANG Yong, LU Xi-cheng, WANG Yong-jun.Survey of automatic attack signature generation[J].Journal on Communications, 2009, 30(2): 96-104.

[2]Needleman S B, Wunsch C D.A general method applicable to the search for similarities in the amino acid sequence of two proteins[J].Journal of Molecular Biology, 1970, 48(3): 443-453.

[3]Smith T F, Waterman M S, Identification of common molecular subsequences[J].Journal of Molecular Biology, 1981, 147(1):195-197.

[4]秦拯, 尹毅, 陈飞杨, 等.基于序列比对的攻击特征自动提取方法[J].湖南大学学报: 自然科学版, 2008, 35(6): 77-80.QIN Zheng, YIN Yi, CHEN Fei-yang, et al.Automatic generation of attack signatures based on sequence alignment[J].Journal of Hunan University: Natural Sciences, 2008, 35(6):77-80.

[5]唐勇, 卢锡城, 胡华平.基于多序列联配的攻击特征自动提取技术研究[J].计算机学报, 2006, 29(9): 1533-1540.TANG Yong, LU Xi-cheng, HU Hua-ping.Automatic generation of attack signatures based on multi-sequence alignmen[J].Chinese Journal of Computers, 2006, 29(9):1533-1540.

[6]唐勇, 魏书宁, 胡华平.抗噪的攻击特征自动提取方法[J].通信学报, 2009, 30(12): 124-130.TANG Yong, WEI Shu-ning, HU Hua-ping.Noise-tolerant approach for automatically generating signatures of network attacks[J].Journal on Communications, 2009, 30(12): 124-130.

[7]LI Bo, CHEN Yuan-yuan.The research of intrusion detection based on support vector machine[C]//International Conference on Computer and Communications Security.Los Alamitos, CA:IEEE Computer Society, 2009: 21-23.

[8]陈光英, 张千里, 李星.基于SVM分类机的入侵检测系统[J].通信学报, 2002, 23(5): 51-56.CHEN Guang-ying, ZHANG Qian-li, LI Xing.SVM classification-based intrusion detection system[J].Journal on Communications, 2002, 23(5): 51-56.

[9]ZHANG Xue-qin, GU Chun-hua, WU Ji-yi.Fast intrusion detection algorithm based on reduced SVM[J].Journal of South China University of Technology, 2011, 39(2): 108-112.

[10]ZHOU Hua, MENG Xiang-ru, ZHANG Li.Application of support vector machine and genetic algorithm to network intrusion detection[C]//International Conference on Wireless Communications, Networking and Mobile Computing.Shanghai,China: IEEE Computer Society, 2007: 2267-2269.

[11]张晓惠, 林柏钢.基于特征选择和多分类支持向量机的异常检测[J].通信学报, 2009, 30(10A): 68-73.ZHANG Xiao-hui, LIN Bo-gang.Anomaly detection based on feature selection and multi-class support vector machines[J].Journal on Communications, 2009, 30(10A): 68-73.

[12]GU Cheng-jie, ZHANG Shun-yi, XUE Xiao-zhen.Network intrusion detection based on improved proximal SVM[J].Advances in Information Sciences and Service Sciences, 2011,3(4): 132-140.

[13]ZHANG Yong-li, ZHU Yanwei.Application of improved support vector machines in intrusion detection[C]//Proceedings of the e-Business and Information System Security(EBISS).Tangshan, China: IEEE Express Conference, 2010: 1-4.

[14]朱笑荣, 杨德运.基于入侵检测的特征提取方法[J].计算机应用与软件, 2010, 27(6): 30-32.ZHU Xiao-rong, YANG De-yun.Feature extraction on method based on intrusion detection[J].Computer Applications and Software, 2010, 27(6): 30-32.

[15]Nanda S, Tzi-cker Chiueh.Execution trace-driven automated attack signature generation[C]//Computer Security Applications Conference.Los Alamitos, CA: IEEE Computer Society, 2008:195-204.

猜你喜欢
空位特征提取分类器
富锂锰基三元材料Li1.167Ni0.167Co0.167Mn0.5O2中的氧空位形成*
基于朴素Bayes组合的简易集成分类器①
基于特征选择的SVM选择性集成学习方法
基于Gazebo仿真环境的ORB特征提取与比对的研究
Zn空位缺陷长余辉发光材料Zn1-δAl2O4-δ的研究
基于Daubechies(dbN)的飞行器音频特征提取
基于差异性测度的遥感自适应分类器选择
Bagging RCSP脑电特征提取算法
一种基于LBP 特征提取和稀疏表示的肝病识别算法
基于层次化分类器的遥感图像飞机目标检测