集成基于EP的分类器用于数据流入侵检测
2019-09-10陈猛
陈猛
摘 要:本文提出了一种集成基于EP的分类器用于数据流入侵检测的模型EEPCDS(Ensemble of EP-based Classifiers on Data Stream)。该模型选择滑动窗口中的多个时间段数据来生成多个EP分类器,并且通过加权投票表决对未知样本进行分类,检测入侵行为。EEPCDS能适应数据流环境下的概念漂移,并且能实现较好的目标类召回率和精度的平衡,以及较高的分类准确率。
关键词:入侵检测;EP;数据流
中图分类号:TP311.13 文献标识码:A 文章编号:1003-5168(2019)19-0011-02
Abstract: This paper proposed a new approach, called EEPCDS (Ensemble of EP-based Classifiers on Data Stream), for intrusion detection on Data Stream. EEPCDS constructs fixed number of EP-based Classifiers from different chunks, and integrated these classifiers for intrusion detection. EEPCDS not only has a high accuracy, but also achieves a good balance of recall and precision.
Keywords: intrusion detection;EP;data stream
1 研究背景
入侵检测是信息安全中研究较多的领域,其实质上是分类问题,分类出正常数据或异常数据,进而进行不同处理,保护系统免受攻击。
数据流环境下存在概念漂移[1],而且由于数据流动到达,因此,到达速度快且数据量过于巨大,难以全部存储。找到最能反映当前数据分布的足够数据,训练出分类模型,对待分类数据快速准确地识别出是否异常,是笔者提出的算法所要解决的难点问题。
本文提出的算法模型是集成基于EP的分类器用于数据流入侵检测。该模型选择滑动窗口中的多个时间段数据来生成多个EP分类器,并且通过加权投票表决对未知样本进行分类,检测入侵行为。
2 入侵检测的性能评价
入侵检测问题中,笔者把数据区分为攻击类和非攻击类2种。对于入侵检测性能,不能仅仅考虑分类准确率,更要关注攻击类数据的分类情况。为此,引入召回率([r])、精度([p])2个概念。
(1)
(2)
其中,[pos]是检验数据集中攻击类样本的总数;[true_pos]是被正确分类的攻击类样本数;而[false_pos]是被错误地分类为攻击类样本的样本数。使用[F]度量,可以使召回率和精度平衡,更好地反映出入侵检测性能。
(3)
[其中,][λ]可设为0.5。
3 EP分类的背景知识
假设[DB]为训练数据集,含有[N]个样本,分别属于[m]个已知类[c1,c2,…,cm]。每个样本有[s]个不同的属性,项是属性名和属性值的对偶。令[I]是样本中出现的项的全集,[I]的子集[X⊆I]称作项集。
3.1 定义1:支持度(Support)和增长率(GR)
设[DB]为训练数据集,[D]是[DB]的子集。项集[X]在[D]上的支持度为:
(4)
其中,[countDX]是[D]中包含[X]的样本个数;当[D]代表[ci]类样本集合时,[supDX]则反映出[X]在[ci]类样本出现的频率。
项集[X]从[D’]到[D]的增长率[grD’→DX]定义如下:
(5)
如果[D]代表[ci]类样本集,[D’]代表非[ci]類样本集,那[grD’→DX]是项集[X]从非[ci]类到[ci]类支持度变化程度的度量,记作[griX]。
3.2 定义2
当[D]和[D’]分别是[ci]类和非[ci]类样本的集合时,给定增长率阈值[ρ>1],如果项集[X]从[D’]到[D]的增长率[grD’→DX≥ρ],则称[X]是从[D’]到[D]的EP(Emerging Pattern),又称[ci]类的EP。
EP是一个项集,其支持度(出现频率)从类A(B)到类B(A)显著地增加,因此具有很好的区分能力。基于EP的分类方法在运行期间,需要设定支持度和增长率的阈值,并挖掘满足支持度和增长率阈值的EP。在对新样本[S]进行分类时,算法会聚合[S]中的[ci]类EP的区分能力,得到[S]属于[ci]类的得分,并将[S]分到具有最高得分的类[2]。
4 EEPCDS模型设计
在本文中,笔者引入滑动窗口机制,使用最近一段时间流入的数据作为训练数据。假设[BW]是一个基本窗口,对应一个数据流子序列;[SW]是一个滑动窗口,对应一个连续的基本窗口序列,表示为[SW=BW1,…,BWi,…,BWK],在基本窗口[BWi]训练得到对应的基分类器为[Ci],利用多个分类器集成来提高分类准确率。
在入侵检测问题中,笔者更关注攻击类,因为将攻击类样本错误地分类为非攻击类样本的代价是非常巨大的。在给单个基分类器赋予权重时,考虑该基分类器将样本分类到攻击类的数目,数目较大,笔者就应赋予其较高的权重。
在此,设[Fi](1≤[i]≤5)为第[i]个基训分类器在练数据集上对稀有类分类的[F-]度量值。[D]是待分类样本集,第[i]个基分类器将[D]中样本分到稀有类的数目为[Ki]。第[i]个基分类器的权重[wi]用式(6)计算:
(6)
本文提出的集成异种分类器的数据流入侵检测模型EEPCDS(Ensemble of by eEP-based Classifiers on Data Stream)在滑动窗口[SW]内训练5个基于EP的基分类器。当滑动到第[K+1]个基本窗口时,先让每个基分类器[Ci]独立地做出预测;然后,通过计算基分类器[Ci]将样本分类到攻击类的数量情况,根据式(6),赋予[Ci]权重,将权重最小的基分类器[Cl]移出集合[E],在基本窗口[K+1]上学习得到分类器基于EP的分类器[CK+1],加入集合[E]。具体算法如下。
EEPCDS(D,E)//其中[D]为[BWK+1]的数据;[E]为基分类器集合。
①初始时,构造5个基于EP的分类器。②while(滑动到基本窗口[BWK+1]){。③for([Ci∈E]){计算[Ci]在[D]上的[F-]度量;//公式(3);计算[Ci]对应权重[wi];} //公式(6)。④在[D]上构造基于EP的分类器,替换出权重最小的基分类器[Cl]。⑤}。
5 结语
本文提出了一种集成基于EP的分类器用于数据流入侵检测的模型EEPCDS (Ensemble of EP-based Classifiers on Data Stream),模型中使用多个时间段的数据学习生成多个EP分类器,并且通过加权投票表决对未知样本进行分类,发现攻击类数据,检测入侵行为。EEPCDS使用滑动窗口机制适应概念漂移的影响,并且能实现较好的目标类召回率和精度平衡,以及较高的分类准确率。
参考文献:
[1]Widmer G, Kubat M. Learning in the presence of concept drift and hidden contexts[J]. Machine Learning,1996(1):69-101.
[2]范明,刘孟旭,赵红领.一种基于基本显露模式的分类算法[J].计算机科学,2004(11):211-214.