CN103685268A - 一种基于gpu和svm的网络入侵检测方法 - Google Patents

一种基于gpu和svm的网络入侵检测方法 Download PDF

Info

Publication number
CN103685268A
CN103685268A CN201310670702.6A CN201310670702A CN103685268A CN 103685268 A CN103685268 A CN 103685268A CN 201310670702 A CN201310670702 A CN 201310670702A CN 103685268 A CN103685268 A CN 103685268A
Authority
CN
China
Prior art keywords
alpha
svm
gpu
intrusion detection
dtri
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201310670702.6A
Other languages
English (en)
Inventor
张雪芹
张毅峰
顾春华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
East China University of Science and Technology
Original Assignee
East China University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by East China University of Science and Technology filed Critical East China University of Science and Technology
Priority to CN201310670702.6A priority Critical patent/CN103685268A/zh
Publication of CN103685268A publication Critical patent/CN103685268A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

本发明涉及一种基于GPU和SVM的网络入侵检测方法,该方法基于GPU和CPU协同工作模式和序贯最小分解算法,设计并行SVM分类算法,对网络数据进行训练,建立入侵检测模型,实现对网络数据进行异常检测,具体包括以下步骤:SVM入侵检测模型训练建立步骤,根据网络数据训练集,基于SVM序贯最小分解算法训练入侵检测模型,获得SVM入侵检测模型的最优参数;测试分类步骤,采用训练好的SVM入侵检测模型进行测试分类,对网络数据测试集进行入侵检测。与现有技术相比,本发明具有提高训练测试速度、提高入侵检测速度等优点。

Description

一种基于GPU和SVM的网络入侵检测方法
技术领域
本发明涉及一种入侵检测技术,尤其是涉及一种基于GPU和SVM的网络入侵检测方法。
背景技术
随着各种计算机网络攻击手段的复杂化、多元化、智能化,如果只是单纯依赖传统的操作系统加固技术和防火墙隔离技术等静态防御,已经难以胜任网络安全的需要。网络安全技术也在与网络攻击的不断对抗中持续发展。网络安全是计算机科学的一个非常重要的组成部分,网络安全的发展对整个计算机科学的发展有着非凡的意义。入侵检测技术作为网络安全系统的一种重要的动态防护手段,能够辨别出计算机网络的非法或恶意攻击行为,并对其作出相应的反应,作为网络安全的一项保障技术,和继防火墙之后的第二道安全闸门,入侵检测技术是互联网安全非常重要的核心技术之一,它在扩展系统管理员的安全管理能力的同时可以提高系统安全结构的完整性。入侵检测实质上是分类问题,采用机器学习方法构造检测模型可以检测主机或者是网络中的未知攻击或已知攻击的变种。支持向最机(SVM)源于统计学习VC维理论和结构风险最小化原理,具有分类效果好、全局最优等优点,已逐步应用到入侵检测领域。但是SVM学习过程需要求解一个二次规划问题,时间复杂度至少是,不适合处理大规模网络入侵检测问题。虽然通过有效的启发式方法将原先的二次优化问题分解成一系列问题,可以减少SVM的训练时间,但对于高维海量数据,SVM训练时间仍然较长。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种提高训练测试速度、提高入侵检测速度的基于GPU和SVM的网络入侵检测方法。
本发明的目的可以通过以下技术方案来实现:
一种基于GPU和SVM的网络入侵检测方法,该方法基于GPU和CPU协同工作模式和序贯最小分解算法,设计并行SVM分类算法,对网络数据进行训练,建立入侵检测模型,实现对网络数据进行异常检测,具体包括以下步骤:
SVM入侵检测模型建立步骤;
训练步骤,根据网络数据训练集,基于SVM序贯最小分解算法训练SVM入侵检测模型,获得SVM入侵检测模型的最优参数;
测试分类步骤,采用训练好的SVM入侵检测模型进行测试分类,对网络数据测试集进行入侵检测。
所述的SVM入侵检测模型为:
min α f ( α ) = 1 2 α T Qα + p T α
subject to yTα=0,0≤αi≤C,i=1,2,...,l
其中,α=[α1,...,αi,...,αl]为拉格朗日乘子向量,p=[-1,-1,...-1]T,y为指示向量,yi∈R1且yi∈{1,-1},Q为l×l的半正定矩阵,Q中的元索Qij≡yiyjK(xi,xj),K(xi,xj)≡φ(xi)Tφ(xj)为核函数,函数φ()将训练向量xi从输入空间映射到高维特征空间,C为惩罚因子;
利用原始对偶关系,得到决策函数为:
sgn ( w T φ ( x ) + b ) = sgn ( Σ i = 1 l y i α i K ( x i , x ) + b )
其中,sgn是符号函数, sgn ( s ) = 1 , s > 0 - 1 , s < 0 , w为权值。
所述的训练步骤具体包括以下子步骤:
1)CPU接收网络数据训练集并导入GPU中;
2)置迭代次数k=1,初始化α1=[0,0,...0]T,G1=[-1,-1,...-1]T是f(α)的梯度;
3)判断当前αk是否满足终止条件,若是,则执行步骤7),若否,则执行步骤4):
4)通过工作集选择算法获得一个两元素的工作集
Figure BDA0000434100080000025
并复制到CPU中;
5)通过以下公式更新αk中αi、αi以及Gt,t=1,...,l:
&alpha; j k + 1 = M if &alpha; j k + 1 &GreaterEqual; m &alpha; j k + 1 if m < &alpha; j k + 1 < M m if &alpha; j k + 1 &le; M
αi k+1i k+yiyjj kj k+1)
G t = &dtri; f ( &alpha; k + 1 ) t = &dtri; f ( &alpha; k ) t + &Delta; &alpha; i y i K ( x i x t ) + &Delta; &alpha; j y j K ( x j , x t ) , t = 1 , . . . , l
其中,M是αj k的上边界,m是αj k的下边界,Δαii k+1i k,Δαjj k+1j k
6)判断当前k是否满足k<kmax,若是,则令k=k+1,返回步骤3),若否,则执行步骤7);
7)将当前αk作为最优解α*复制到CPU中;
8)计算最优权值w和最优偏移量b,并将计算结果保存为模型文件:
w = &Sigma; i = 1 l y i &alpha; i &phi; ( x i ) ;
若α*中存在αi满足0<αi<C,则
b = - &Sigma; 0 < &alpha; i < C y i &dtri; f ( &alpha; ) i &Sigma; 0 < &alpha; i < C 1
若否,则
b = M ( &alpha; ) + m ( &alpha; ) 2
其中,
M ( &alpha; ) = max { y i &dtri; f ( &alpha; ) i | &alpha; i = 0 , y i = - 1 or &alpha; i = C , y i = 1 } , i = 1 , . . . , l ;
m ( &alpha; ) = min { y i &dtri; f ( &alpha; ) i | &alpha; i = 0 , y i = 1 or &alpha; i = C , y i = - 1 } , i = 1 , . . . , l ;
上述步骤中,步骤1)、3)、7)、8)在CPU中执行,步骤2)、4)~6)在GPU中执行。
所述的步骤3)中,终止条件具体如下:
m(αk)-M(αk)≤ε
其中ε为误差阈值, ( &alpha; ) max i &Element; I up ( &alpha; ) - y i &dtri; f ( &alpha; ) i , M ( &alpha; ) &equiv; min i &Element; I low ( &alpha; ) - y i &dtri; f ( &alpha; ) i ,
Iup(α)≡{t|αt<C,yt=1orαt>0,yt=-1},Ilow(α)≡{t|αt<C,yt=-1or αt>0,yt=1},t=1,...,l。
所述的工作集选择算法具体为:
对于所有的t、s,t=1,...,l,s=1,...,l,定义:
a ts &equiv; K tt + K ss - 2 K ts , b ts &equiv; - y t &dtri; f ( &alpha; k ) t + y s &dtri; f ( &alpha; k ) s > 0
Figure BDA0000434100080000041
则,选择:
i &Element; arg max t { - y t &dtri; f ( &alpha; k ) t | t &Element; I up ( &alpha; k ) }
j &Element; arg min t { - b it 2 a &OverBar; it | t &Element; I low ( &alpha; k ) , - y t &dtri; f ( &alpha; k ) t < y t &dtri; f ( &alpha; k ) t } .
所述的测试分类步骤包括以下子步骤:
101)CPU接收网络数据测试集,将网络数据测试集和模型文件导入GPU中:
102)通过以下公式计算决策函数,对网络数据测试集进行分类:
sgn ( &Sigma; i = 1 l y i &alpha; i K ( x i , x ) + b )
其中,xi为测试向量;
103)将分类结果复制至CPU中,根据分类结果获得对应的入侵检测结果;
上述步骤中,步骤101)和104)在CPU中执行,步骤102)和103)在GPU中执行。
所述的步骤5)中,更新Gt通过SPRG计算框架实现,所述的SPRG计算框架具体为:
a)分散,指所有线程将数据从global memory按对应地址顺序载入各个线程块的shared memory中的过程;
b)并行归约,指归约操作在各个线程块的shared memory中并行执行的过程;
c)聚集,指将每个线程块中的归约结果按对应地址顺序从shared memory写入global memory中的过程;
d)重复步骤a)和b),直至所有数据只需在一个线程块的shared memory中进行归约,得到的最终结果写入global memory。
所述的步骤102)中,决策函数中的求和通过SPRG计算框架实现
与现有技术相比,本发明具有以下有益效果:
1、本发明针对大规模网络入侵检测问题,根据GPU体系结构和并行计算能力,在GPU上实现LIBSVM的训练和分类的并行算法,与LIBSVM相比,训练速度提高2~43倍,分类速度提高40~349倍,且分类结果精确度高;
2、本发明快速智能入侵检测算法可以有效地提高了入侵检测系统的分析效率,并解决了传统商业入侵检测系统的误报、漏报率高的问题。
附图说明
图1为本发明训练过程示意图;
图2为本发明测试分类过程示意图;
图3为本发明SPRG计算框架示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
本发明针对大规模网络入侵检测问题,根据GPU体系结构和并行计算能力,提出一种基于GPU和SVM的网络入侵检测方法,在几乎不降低检测精度的情况下,可以有效地提高了SVM入侵建模和检测速度。该方法基于GPU和CPU协同工作模式和序贯最小分解算法,设计并行SVM分类算法,对网络数据进行训练,建立入侵检测模型,实现对网络数据进行异常检测,具体步骤描述如下。
1、SVM入侵检测模型建立
考虑标准的二分类问题,假设给定训练向量集xi∈Rn,i=1,2,...,l,和指示向量y∈Rl,满足yi∈{1,-1},那么对于给定的训练集,寻求权值w和偏移量b,使权值代价函数最小:
min w , b , &xi; 1 2 w T w + C &Sigma; i = 1 l &xi; i - - - ( 1 )
subject to yi(wTφ(xi)+b)≥1-ξ,ξi≥0,i=1,2,...,l
经过变换,该优化问题的Lagrange对偶为:
min &alpha; f ( &alpha; ) = 1 2 &alpha; T Q&alpha; + p T &alpha; - - - ( 2 )
subject to yTα=0,0≤αi≤C,i=1,2,...,l
其中,α=[α1,...,αi,...,αl]为拉格朗日乘子向量,p=[-1,-1,...-1]T,y为指示向量,yi∈Rl且yi∈{1,-1},Q为l×l的半正定矩阵,Q中的元索Qij≡yiyjK(xi,xj),K(xi,xj)≡φ(xi)Tφ(xj)为核函数,函数φ()将训练向量xi从输入空间映射到高维特征空间,C为惩罚因子。选定核函数,求解该问题可得到
Figure BDA0000434100080000053
利用原始对偶关系,得到决策函数为:
sgn ( w T &phi; ( x ) + b ) = sgn ( &Sigma; i = 1 1 y i &alpha; i K ( x i , x ) + b ) - - - ( 3 )
其中sgn是符号函数,w满足
Figure BDA0000434100080000062
目前常用的核函数类型有线性(linear)核函数、多项式(polynomial)核函数、径向基(RBF)也称为高斯核函数、Sigmoid核函数等:
线性核函数:K(x,xi)=(x·xi);
多项式核函数:K(x,xi)=(x·xi+1)d,d为自由度;
径向基核函数:K(x,xi)=exp(-γ|x-xi|2),γ为形状参数;
Sigmoid核函数等:K(x,xi)=S(v(x·xi)+1),S()为Sigmoid函数。
2、训练步骤
根据网络数据训练集,基于序贯最小分解算法(SMO算法)对SVM入侵检测模型进行训练,获得SVM入侵检测模型的最优参数,包括权值和偏移量,如图1所示,包括以下子步骤:
1)CPU接收网络数据训练集并导入GPU中;
2)置迭代次数k=1,初始化α1=[0,0,...0]T,G1=[-1,-1,...-1]T
Figure BDA0000434100080000063
是f(α)的梯度;
3)判断当前αk是否满足终止条件,若是,则执行步骤7),若否,则执行步骤4);
4)通过工作集选择算法获得一个两元素的工作集B={i,j}∈{1,...,l},并复制到CPU中:
5)根据工作集,更新αk中两个元素αi、αj以及Gt,t=1,...,l;
6)判断当前k是否满足k<kmax,若是,则令k=k+1,返回步骤3),若否,则执行步骤7);
7)将当前αk作为最优解α*复制到CPU中;
8)计算最优权值w和最优偏移量b,并将计算结果保存为模型文件。
上述步骤中,步骤1)、3)、7)、8)在CPU中执行,步骤2)、4)~6)在GPU中执行。
在步骤3)中,根据Karush-Kuhn-Tucker(KKT)条件,算法终止条件为:
m(αk)-M(αk)≤ε       (4)
其中ε为误差阈值, ( &alpha; ) max i &Element; I up ( &alpha; ) - y i &dtri; f ( &alpha; ) i , M ( &alpha; ) &equiv; min i &Element; I low ( &alpha; ) - y i &dtri; f ( &alpha; ) i ,
Iup(α)≡{t|αt<C,yt=1orαt>0,yt=-1},Ilow(α)≡{t|αt<C,yt=-1orαt>0,yt=1},t=1,...,l。
关于工作集B的选择,考虑最大违反对(maximal violating pair)启发式规则,工作集选择算法WSS如下:
对于所有的t、s,t=1,...,l,s=1,...,l,定义:
a ts &equiv; K tt + K ss - 2 K ts , b ts &equiv; - y t &dtri; f ( &alpha; k ) t + y s &dtri; f ( &alpha; k ) s > 0 - - - ( 5 )
Figure BDA0000434100080000071
则,选择:
i &Element; arg msx t { - y t &dtri; f ( &alpha; k ) t | t &Element; I up ( &alpha; k ) } j &Element; arg min t { - b it 2 &alpha; &OverBar; it | t &Element; I low ( &alpha; k ) , - y t &dtri; f ( &alpha; k ) t < - y i &dtri; f ( &alpha; k ) i } - - - ( 7 )
可见,工作集的选择过程基本上是一个求解函数极值的过程。
步骤5)中,α与梯度更新具体为:
SMO在每次迭代中选择两个拉格朗日乘子αi,αj进行优化,而固定其他乘子。在更新的两个乘子中,当一个乘子被更新时,通过调整另一个乘子来保证线性约束条件成立。
拉格朗日乘子αi,αj的计算公式如下:
&alpha; j k + 1 = &alpha; j k - y j [ ( &dtri; f ( &alpha; k ) i - &dtri; f ( &alpha; k ) j ] K ( x i , x i ) + K ( x j , x j ) - 2 y i y j K ( x i , x j ) - - - ( 8 )
进行约束后得到:
&alpha; j k + 1 = M if &alpha; j k + 1 &GreaterEqual; m &alpha; j k + 1 if m < &alpha; j k + 1 < M m if &alpha; j k + 1 &le; M
&alpha; i k + 1 = &alpha; i k + y i y j ( &alpha; j k - &alpha; j k + 1 )
G t = &dtri; f ( &alpha; k + 1 ) t = &dtri; f ( &alpha; k ) t + &Delta; &alpha; i y i K ( x i x t ) + &Delta; &alpha; j y j K ( x j , x t ) , t = 1 , . . . , l - - - ( 9 )
其中,M是αj k的上边界,m是αj k的下边界,Δαii k+1i kΔαjj k+1j k
步骤8)中,计算最优权值w和最优偏移量b具体为:
w = &Sigma; i = 1 l y i &alpha; i &phi; ( x i ) ;
若α*中存在αi满足0<αi<C,则根据KKT条件,
Figure BDA0000434100080000084
为了避免数值误差,取平均值:
b = - &Sigma; 0 < &alpha; i < C y i &dtri; f ( &alpha; ) i &Sigma; 0 < &alpha; i < C 1 - - - ( 10 )
若否,则
b = M ( &alpha; ) + m ( &alpha; ) 2 - - - ( 11 )
其中,
M ( &alpha; ) = max { y i &dtri; f ( &alpha; ) i | &alpha; i = 0 , y i = - 1 or &alpha; i = C , y i = 1 } , i = 1 , . . . , l
m ( &alpha; ) = min { y i &dtri; f ( &alpha; ) i | &alpha; i = 0 , y i = 1 or &alpha; i = C , y i = - 1 } , i = 1 , . . . , l .
3、测试分类步骤:采用训练好的SVM入侵检测模型进行测试分类,对网络数据测试集进行入侵检测。如图2所示,测试分类步骤包括以下子步骤:
101)CPU接收网络数据测试集,将网络数据测试集和模型文件导入GPU中;
102)通过以下公式计算决策函数,对网络数据测试集进行分类:
sgn ( &Sigma; i = 1 l y i &alpha; i K ( x i , x ) + b )
其中,xi为测试向量;
103)将分类结果复制至CPU中,根据分类结果获得对应的入侵检测结果;
上述步骤中,步骤101)和104)在CPU中执行,步骤102)和103)在GPU中执行。
由上述步骤可知:
(1)SVM在求解过程中,二次寻优过程占用算法时间的主要部分,应该作为并行设计的重点。
(2)
Figure BDA0000434100080000087
计算贯穿于整个分解算法过程。在串行算法中90%的时间都用在该计算上。但从前面的分析可以看出,每个点在更新其
Figure BDA0000434100080000088
时,并不影响到其它点,该计算可以并行化。
(3)SMO算法中,α和
Figure BDA0000434100080000089
计算都要涉及核函数计算。对分类常用的核RBF函数,它的计算主要是密度极大的矢量点积运算。串行算法在这个步骤中,需要CPU做大量浮点数的乘加操作,成为瓶颈所在。但是对GPU而言,即使数据量十分巨大,计算指令很单一,这正是GPU特别擅长处理的SIMD问题,所以核函数计算的可并行化程度很高,可以完全移至GPU端来执行。
(4)SVM二次寻优过程中涉及大量矩阵操作,主要是矩阵乘法、累加求和等运算形式,指令单一,可并行化程度高。
(5)工作集选择算法是一个最值问题的求解过程。需要通过逐一比较一个集合内所有的值来得到这个集合的最值,如果集合包含的元素很多时,即当l很大时,CPU效率就会变得低。使用GPU并行归约算法可以将全局问题分解为局部问题加速求解。
(6)SMO算法最后的优化终止条件涉及条件判断,在大数据量时,迭代次数大幅增加,GPU不善长于执行大量的条件判断操作,该部分仍由CPU端执行。
在SVM训练和分类的过程中涉及大量的求最值和求和的操作,其计算复杂度正比于数据集规模。所以在大规模计算时,串、并算法间的性能差异就会非常明显。本发明提出一种SPRG(scatter_parallel-reduce_gather,分散-并行归约-聚集)并行归约计算框架,可以实现加速并行计算最值、求和、求乘等各种操作,改善计算性能。
如图3所示,SPRG计算框架如下:
a)分散(scatter),指所有线程将数据从global memory按对应地址顺序载入各个线程块(block)的shared memory中的过程。shared memory是GPU中的高速缓存(cache),访问速度与寄存器相当,可以加速运算过程。
b)并行归约(parallel-reduce),指归约操作在各个block的shared memory中并行执行的过程,每个block归约整体的一部分,归约结果存放在block的首地址处。
c)聚集(gather),是指将每个block中的归约结果按对应地址顺序从sharedmemory写入global memory中的过程。这样做的原因是各个block中的数据间无法通信。
d)重复过程a)和b),直至所有数据只需在一个block的shared memory中进行归约,得到的最终结果写入global memory。
在本发明方法中,训练时通过SPRG计算框架实现求梯度极值,分类时通过SPRG算法实现求和。如果忽略数据传输时间和计算同步时间,计算复杂度本身与串行算法相比整整降低了一个数量级,在处理大数组上很有优势。
本发明还通过以下优化技术进一步提高计算速度。
·缓存技术:在串行SMO算法中,通常在内存中开辟缓存来储存训练集中某个样本与训练集所有样本的核函数计算结果,以减少在迭代中的重复计算。串行算法中通常使用LRU算法管理缓存的双向循环链表。由于链表结构和LRU算法的复杂性,因此仍然由CPU来维护双向循环链表,而将缓存开辟在GPU上,每次迭代工作集选择完成后,通过CPU端判断该训练样本的核函数列是否在global memory中,如果存在,则缓存命中,GPU就不需要重新计算。如果不在global memory中,需再判断缓存是否已满,如果还有剩余空间,分配新的空间存放计算结果,如果没有就将计算结果覆盖掉最久未使用的数据。
·算法级优化:在shared memory中如果按照通常基于树的(Tree-based)交错寻址(Interleaved Addressing)的方式归约就会产生shared memory的Bank冲突(BankConflicts),所以必须遵循按序编址(Sequential Addressing)的原则。Bank冲突会造成访存操作的串行化,有效带宽将成倍下降,囚此必须尽量避免。同时,遵循循按序编址可以统一warp中所有线程的执行操作,还可以避免分支效率问题。
·指令级优化:1)由于GPU的整数处理单元功能较弱,整数的取模运算和除法运算的开销都特别大,应当尽量避免使用,采用位运算代替。2)通常情况下,一个block内的所有thread通过指令_syncthreads()同步,且每次循环都要进行一次同步。但是由于一个warp内的运算总是满足顺序一致性的,因此在一个warp中是不需要进行同步的。也就是说内循环中的最后几次迭代不需要同步指令就可以展开(unroll loops)。循环展开是一种改善指令混合的常用方法,很长的表达式的执行速度几乎可以接近性能峰值。在很多情况下,完全将循环完全展开,性能可以提高20%。
以下通过实验进一步验证本发明方法的有效性。实验使用的CPU是IntelPentium双核E5500,频率2.80GHz;GPU是NVIDIA GeForce GTS250,G92核心,具体参数如表1。
表1Nvidia Geforce GTS250特性
本文的集成开发和实验环境均是Microsoft Visual Studio2008,安装并配置了CUDA SDK2.3。
4、实验及结果
1)实验数据描述
为了验证GSVM算法在入侵检测中的有效性,本实验采用KDD99数据集进行SVM建模和测试。训练数据集样本数为49407,测试集样本数为49405。
2)实验及结论
实验主要从训练时间、测试时间、精度Acc(Accuracy)、检出率DR(detectionrate)、误报率FP(false position rate)几个指标评估基于GSVM的入侵检测模型。其中:DR=被检测出的异常样本数/异常样本总数,FP=被误报为异常的正常样本数/正常样本总数。
表2是训练实验结果对比,表3是分类实验结果对比,表4给出了分类性能结果。表中#SV表示支持向量数量,#iter表示迭代次数,T表示时间,Acc表示精度,ratio表示加速比。
表2KDD99训练实验结果对比
表3SVM分类实验结果对比
Figure BDA0000434100080000112
表4KDD99分类性能
Figure BDA0000434100080000113
从实验结果可以看出将GSVM并行算法应用在入侵检测数据集上,与LIBSVM算法相比,精度Acc和检出率DR几乎相同,误报率FP完全相同。同时,训练时间减少了13.3倍,分类时间减少了64.92倍。因此,基于GPU的GSVM并行算法是非常适用于入侵检测领域的。

Claims (8)

1.一种基于GPU和SVM的网络入侵检测方法,其特征在于,该方法基于GPU和CPU协同工作模式和序贯最小分解算法,设计并行SVM分类算法,对网络数据进行训练,建立入侵检测模型,实现对网络数据进行异常检测,具体包括以下步骤:
SVM入侵检测模型建立步骤:
训练步骤,根据网络数据训练集,基于SVM序贯最小分解算法训练SVM入侵检测模型,获得SVM入侵检测模型的最优参数;
测试分类步骤,采用训练好的SVM入侵检测模型进行测试分类,对网络数据测试集进行入侵检测。
2.根据权利要求1所述的一种基于GPU和SVM的网络入侵检测方法,其特征在于,所述的SVM入侵检测模型为:
min &alpha; f ( &alpha; ) = 1 2 &alpha; T Q&alpha; + p T &alpha;
subject to yTα=0,0≤αi≤C,i=1,2,...,l
其中,α=[α1,...,αi,...,αl]为拉格朗日乘子向量,p=[-1,-1,...-1]T,y为指示向量,yi∈R1且yi∈{1,-1},Q为l×l的半正定矩阵,Q中的元素Qij≡yiyjK(xi,xj),K(xi,xj)≡φ(xi)Tφ(xj)为核函数,函数φ()将训练向量xi从输入空间映射到高维特征空间,C为惩罚因子;
利用原始对偶关系,得到决策函数为:
sgn ( w T &phi; ( x ) + b ) = sgn ( &Sigma; i = 1 l y i &alpha; i K ( x i , x ) + b )
其中,sgn是符号函数, sgn ( s ) = 1 , s > 0 - 1 , s < 0 , w为权值。
3.根据权利要求2所述的一种基于GPU和SVM的网络入侵检测方法,其特征在于,所述的训练步骤具体包括以下子步骤:
1)CPU接收网络数据训练集并导入GPU中;
2)置迭代次数k=1,初始化α1=[0,0,...0]T,G1=[-1,-1,...-1]T
Figure FDA0000434100070000014
是f(α)的梯度;
3)判断当前αk是否满足终止条件,若是,则执行步骤7),若否,则执行步骤4):
4)通过工作集选择算法获得一个两元素的工作集
Figure FDA00004341000700000211
并复制到CPU中;
5)通过以下公式更新αk中ai、αj以及Gt,t=1,...,l:
&alpha; j k + 1 = M if &alpha; j k + 1 &GreaterEqual; m &alpha; j k + 1 if m < &alpha; j k + 1 < M m if &alpha; j k + 1 &le; M
αi k+1i k+yiyjj kj k+1)
G t = &dtri; f ( &alpha; k + 1 ) t = &dtri; f ( &alpha; k ) t + &dtri; &alpha; i y i K ( x i , x t + &Delta; &alpha; j y j K ( x j , x t ) , t = 1 , . . . , l
其中,M是αj k的上边界,m是αj k的下边界,Δαii k+1i kΔαjj k+1j k
6)判断当前k是否满足k<kmax,若是,则令k=k+1,返回步骤3),若否,则执行步骤7):
7)将当前αk作为最优解α*复制到CPU中;
8)计算最优权值w和最优偏移量b,并将计算结果保存为模型文件:
w = &Sigma; i = 1 l y i &alpha; i &phi; ( x i ) ;
若α*中存在αi满足0<αi<C,则
b = - &Sigma; 0 < &alpha; i < C y i &dtri; f ( &alpha; ) i &Sigma; 0 < &alpha; i < C 1
若否,则
b = M ( &alpha; ) + m ( &alpha; ) 2
其中,
M ( &alpha; ) = max { y i &dtri; f ( &alpha; ) i | &alpha; i = 0 , y i = - 1 or &alpha; i = C , y i = 1 } , i = 1 , . . . , l
m ( &alpha; ) = min { y i &dtri; f ( &alpha; ) i | &alpha; i = 0 , y i = 1 or &alpha; i = C , y i = - 1 } , i = 1 , . . . , l ;
上述步骤中,步骤1)、3)、7)、8)在CPU中执行,步骤2)、4)~6)在GPU中执行。
4.根据权利要求3所述的一种基于GPU和SVM的网络入侵检测方法,其特征在于,所述的步骤3)中,终止条件具体如下:
m(αk)-M(αk)≤ε
其中ε为误差阈值, m ( &alpha; ) &equiv; max i &Element; I up ( &alpha; ) - y i &dtri; f ( &alpha; ) i , M ( &alpha; ) &equiv; min i &Element; I low ( &alpha; ) - y i &dtri; f ( &alpha; ) i ,
Iup(α)≡{t|αt<C,yt=1orαt>0,yt=-1},Ilow(α)≡{t|αt<C,yt=-1orαt>0,yt=1},t=1,...,l。
5.根据权利要求4所述的一种基于GPU和SVM的网络入侵检测方法,其特征在于,所述的工作集选择算法具体为:
对于所有的t、s,t=1,...,l,s=1,...,l,定义:
a ts &equiv; K tt + K ss - 2 K ts , b ts &equiv; - y t &dtri; f ( &alpha; k ) t + y s &dtri; f ( &alpha; k ) s > 0
Figure FDA0000434100070000031
则,选择:
i &Element; arg max t { - y t &dtri; f ( &alpha; k ) t | t &Element; I up ( &alpha; k ) }
j &Element; arg min t { - b it 2 &alpha; &OverBar; it | t &Element; I low ( &alpha; k ) , - y i &dtri; f ( &alpha; k ) t < - y i &dtri; f ( &alpha; k ) i } .
6.根据权利要求3所述的一种基于GPU和SVM的网络入侵检测方法,其特征在于,所述的测试分类步骤包括以下子步骤:
101)CPU接收网络数据测试集,将网络数据测试集和模型文件导入GPU中;
102)通过以下公式计算决策函数,对网络数据测试集进行分类:
sgn ( &Sigma; i = 1 l y i &alpha; t K ( x t , x ) + b )
其中,xi为测试向量;
103)将分类结果复制至CPU中;
104)根据分类结果获得对应的入侵检测结果;
上述步骤中,步骤101)和104)在CPU中执行,步骤102)和103)在GPU中执行。
7.根据权利要求6所述的一种基于GPU和SVM的网络入侵检测方法,其特征在于,所述的步骤5)中,更新Gt通过SPRG计算框架实现,所述的SPRG计算框架具体为:
a)分散,指所有线程将数据从global memory按对应地址顺序载入各个线程块的shared memory中的过程;
b)并行归约,指归约操作在各个线程块的shared memory中并行执行的过程;
c)聚集,指将每个线程块中的归约结果按对应地址顺序从shared memory写入global memory中的过程;
d)重复步骤a)和b),直至所有数据只需在一个线程块的shared memory中进行归约,得到的最终结果写入global memory。
8.根据权利要求7所述的一种基于GPU和SVM的网络入侵检测方法,其特征在于,所述的步骤102)中,决策函数中的求和通过SPRG计算框架实现。
CN201310670702.6A 2013-12-10 2013-12-10 一种基于gpu和svm的网络入侵检测方法 Pending CN103685268A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310670702.6A CN103685268A (zh) 2013-12-10 2013-12-10 一种基于gpu和svm的网络入侵检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310670702.6A CN103685268A (zh) 2013-12-10 2013-12-10 一种基于gpu和svm的网络入侵检测方法

Publications (1)

Publication Number Publication Date
CN103685268A true CN103685268A (zh) 2014-03-26

Family

ID=50321583

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310670702.6A Pending CN103685268A (zh) 2013-12-10 2013-12-10 一种基于gpu和svm的网络入侵检测方法

Country Status (1)

Country Link
CN (1) CN103685268A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106534191A (zh) * 2016-12-14 2017-03-22 北京安信天行科技有限公司 一种网络入侵检测方法及装置
CN108141349A (zh) * 2015-10-02 2018-06-08 华为技术有限公司 改善异常检测率的方法
CN108600246A (zh) * 2018-05-04 2018-09-28 浙江工业大学 一种基于knn算法的网络入侵检测并行化加速方法
CN108737429A (zh) * 2018-05-24 2018-11-02 桂林电子科技大学 一种网络入侵检测方法
CN110753064A (zh) * 2019-10-28 2020-02-04 中国科学技术大学 机器学习和规则匹配融合的安全检测系统
CN113407979A (zh) * 2021-08-16 2021-09-17 深圳致星科技有限公司 用于纵向联邦逻辑回归学习的异构加速方法、装置及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102622589A (zh) * 2012-03-13 2012-08-01 辉路科技(北京)有限公司 一种基于gpu的多光谱人脸检测方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102622589A (zh) * 2012-03-13 2012-08-01 辉路科技(北京)有限公司 一种基于gpu的多光谱人脸检测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张毅峰: "快速智能入侵检测技术研究", 《中国优秀硕士论文全文数据库》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108141349A (zh) * 2015-10-02 2018-06-08 华为技术有限公司 改善异常检测率的方法
US10541903B2 (en) 2015-10-02 2020-01-21 Futurewei Technologies, Inc. Methodology to improve the anomaly detection rate
CN106534191A (zh) * 2016-12-14 2017-03-22 北京安信天行科技有限公司 一种网络入侵检测方法及装置
CN106534191B (zh) * 2016-12-14 2019-06-21 北京安信天行科技有限公司 一种网络入侵检测方法及装置
CN108600246A (zh) * 2018-05-04 2018-09-28 浙江工业大学 一种基于knn算法的网络入侵检测并行化加速方法
CN108600246B (zh) * 2018-05-04 2020-08-21 浙江工业大学 一种基于knn算法的网络入侵检测并行化加速方法
CN108737429A (zh) * 2018-05-24 2018-11-02 桂林电子科技大学 一种网络入侵检测方法
CN108737429B (zh) * 2018-05-24 2021-06-08 桂林电子科技大学 一种网络入侵检测方法
CN110753064A (zh) * 2019-10-28 2020-02-04 中国科学技术大学 机器学习和规则匹配融合的安全检测系统
CN110753064B (zh) * 2019-10-28 2021-05-07 中国科学技术大学 机器学习和规则匹配融合的安全检测系统
CN113407979A (zh) * 2021-08-16 2021-09-17 深圳致星科技有限公司 用于纵向联邦逻辑回归学习的异构加速方法、装置及系统
CN113407979B (zh) * 2021-08-16 2021-11-26 深圳致星科技有限公司 用于纵向联邦逻辑回归学习的异构加速方法、装置及系统

Similar Documents

Publication Publication Date Title
CN103685268A (zh) 一种基于gpu和svm的网络入侵检测方法
Asouti et al. Unsteady CFD computations using vertex‐centered finite volumes for unstructured grids on graphics processing units
Pu et al. An efficient knn algorithm implemented on fpga based heterogeneous computing system using opencl
Gao et al. A systematic survey of general sparse matrix-matrix multiplication
Groth et al. Parallel implicit adaptive mesh refinement scheme for body-fitted multi-block mesh
CN105808309A (zh) 一种基于申威平台的基础线性代数库blas三级函数gemm的高性能实现方法
Vijayanand et al. A novel deep learning based intrusion detection system for smart meter communication network
He et al. Variable-fidelity expected improvement based efficient global optimization of expensive problems in presence of simulation failures and its parallelization
Wood et al. Sparse linear algebra toolkit for computational aerodynamics
Wu et al. A low-sample-count, high-precision Pareto front adaptive sampling algorithm based on multi-criteria and Voronoi
Wang et al. Coupled fuzzy-interval model and method for structural response analysis with non-probabilistic hybrid uncertainties
CN104834746A (zh) 基于图形处理单元的异构特征时序数据演化聚类方法
Abdelfattah et al. Performance optimization of Sparse Matrix‐Vector Multiplication for multi‐component PDE‐based applications using GPUs
Jiang et al. Fast parallel Bayesian network structure learning
CN104933261A (zh) 一种高效序列拉丁超立方试验设计方法
Ridley et al. A simple method for rejection sampling efficiency improvement on SIMT architectures
Jaiswal Accelerating enhanced boyer-moore string matching algorithm on multicore gpu for network security
Li et al. An experimental study on deep learning based on different hardware configurations
Tumeo et al. Irregular applications: From architectures to algorithms [guest editors' introduction]
Zou et al. Supernodal sparse Cholesky factorization on graphics processing units
Gohari et al. Coalesced computations of the incompressible Navier–Stokes equations over an airfoil using graphics processing units
Zhang et al. Parallel implementation of chi2 algorithm in mapreduce framework
Qi et al. Architectural Implications of GNN Aggregation Programming Abstractions
Tingyao et al. A landslide stability calculation method based on Bayesian network
CN105631047A (zh) 一种分层级联的数据处理方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20140326

RJ01 Rejection of invention patent application after publication