基于隐条件随机场的入侵事件检测方法与流程

文档序号:11991335阅读:224来源:国知局
基于隐条件随机场的入侵事件检测方法与流程
本发明属于网络信息安全领域,涉及网络入侵类型的识别分析,可用于对网络数据流的行为识别检测中,以准确、全面的区分网络行为提高网络的安全性。

背景技术:
随着计算机和网络技术应用的日益普及,计算机网络安全越来越受到人们的重视。近年来,互联网的主干网络、网络应用、TCP/IP网络协议三个层次都受到了各种各样的安全威胁或攻击,信息安全特别是网络安全问题越来越凸显出来了,入侵检测作为网络安全研究的重要内容,更是引起了国内外学者的广泛关注。现有的入侵检测方法主要有:1.国际商业机器公司在其专利申请“计算机网络入侵检测系统和方法”(申请号:200680016585.X,公开号:CN101176331)中提出了一种用于标识试图入侵基于TCP/IP协议的网络的设备的方法。该方法允许在两个独立的信息级别,一方面是TCP/IP栈信息而另一方面是Windows安全事件日志信息之间创建链接。允许在存储于所述安全事件日志中的攻击者设备的计算机名称与涉及该计算机名称的TCP/IP信息之间建立关系。该方法的缺点是:过多依赖于TCP/IP协议栈的信息和操作系统的安全日志,系统普适性不强。2.饶鲜,董春曦,杨绍全.基于支持向量机的入侵检测系统[J].软件学报,2003,14(4):798-803.这种方法将支持向量机应用到入侵检测中,利用在先验知识不足的情况下,支持向量机分类器仍有较好的分类正确率的特性,使得整个入侵检测系统具有较好的检测性能。该方法的缺点是:只能对当前网路是否收到入侵进行判决,而不能对数据的入侵类型进行标记。3.俞研,郭山清,黄皓.基于数据流的异常入侵检测[J].计算机科学,2007,34(5):66-71.这种方法首先在线生成网络数据的统计信息,并利用最能反映当前网络行为的统计信息检测入侵行为。实验结果表明,其DoS攻击检测准确率达到97.86%,Probe攻击准确率达到77.64%,R2L和U2R攻击准确率达到55.52%,并克服了内存等系统资源不足的问题,增加了系统的灵活性与并行性。但是该方法仅仅通过建立聚类特征矢量,得到基于距离的聚类分析模型,并没有对网络数据进行更深层次的数据建模来挖掘其潜在的规律,限制了检测准确率的提高。

技术实现要素:
本发明的目的在于针对上述已有技术的不足,提出一种基于隐条件随机场的入侵检测方法,以利用少量的特征,简化复杂模型构建过程,提高入侵检测的准确率。为实现上述目的,本发明的技术方案包括如下步骤:(1)将DARPA公布的KDD99数据集中的原始数据进行降维处理,从该数据库原有的41个特征中筛选出26个特征,作为特征属性集合D;(2)对特征属性集合D进行最大值归一化处理,以消除属性度量差异带来的影响,得到规范化的特征属性集ε={s1,s2,…,s26},其中,s1,s2,…,s26表示26种特征属性;(3)定义类别标签集:3a)定义入侵事件检测的隐条件随机场模型的类别标签集为:α1={0,1},其中,0表示入侵事件检测的隐条件随机场模型的输入是安全的会话,1表示入侵事件检测的隐条件随机场模型的输入是含有攻击的会话;3b)定义入侵检测攻击分类的隐条件随机场模型的类别标签集为:α2={0,1,2,3},其中,0表示攻击类型为DoS攻击,即拒绝服务攻击,1表示攻击类型为Probe攻击,即网络探针攻击,2表示攻击类型为R2L攻击,即非法远程闯入攻击,3表示攻击类型为U2R攻击,即非法提升权限攻击;(4)在数据集合ε中选取N1个训练会话样本和N2个测试会话样本,得到第d个训练会话样本的特征属性序列Od和第e个测试会话样本的特征属性序列Ze,其中,d∈{1,2,…,N1},e∈{1,2,…,N2};(5)对第d个训练会话样本,人工判断是否包含入侵事件,得到第d个训练会话样本的类别标签λd,λd∈α1;(6)将N1个训练会话样本的特征序列O1,O2,和N1个训练会话样本的类别标签λ1,λ2,作为训练数据集将N2个测试会话样本的特征序列Z1,Z2,作为测试数据集(7)根据训练数据集O中的N1个特征序列O1,O2,和对应的N1个类别标签λ1,λ2,调用Matlab工具包HCRF2.0b中的trainHCRF函数,计算入侵事件的隐条件随机场的兼容性度量参数θ;(8)根据已计算出的兼容性度量参数θ和测试数据集Z,调用Matlab工具包HCRF2.0b中testHCRF函数,计算测试数据集Z中第e个测试会话样本的特征序列Ze对应于类别标签为0的概率βe,0,以及该特征序列Ze对应于类别标签为1的概率βe,1;(9)根据类别标签为0的概率βe,0和类别标签为1的概率βe,1,判断第e个测试会话样本的特征序列Ze的类别标签:若βe,0>βe,1,则第e个测试会话样本的特征序列Ze的类别标签为0,即该测试会话数据不包含入侵事件;若βe,0<βe,1,则第e个测试会话样本的特征序列Ze的类别标签为1,即该测试会话数据包含入侵事件;若βe,0=βe,1,则无法判断第e个测试会话样本的特征序列Ze是否包含入侵事件;(10)在特征属性集ε中选取全部的攻击会话,得到攻击特征集合A,从攻击特征集合A中选取N3个训练会话样本和N4个测试会话样本,得到第f个训练会话样本的特征属性序列Of'和第g个测试会话样本的特征属性序列Zg',其中,f∈{1,2,…,N3},g∈{1,2,…,N4};(11)对第f个训练会话样本,人工判断各种攻击行为的类型,得到第f个训练会话样本的类别标签λf',λf'∈α2;(12)将N3个训练会话样本的特征序列O1',O2',和N3个训练会话样本的类别标签λ1',λ2',作为训练数据集将N4个测试会话样本的特征序列Z1',Z2',作为测试数据集(13)根据训练数据集O'中的N3个特征序列O1',O2',和对应的N3个类别标签λ1',λ2',调用Matlab工具包HCRF2.0b中的trainHCRF函数,计算攻击行为分类的隐条件随机场的兼容性度量参数θ';(14)根据步骤(12)和步骤(13)已计算出的兼容性度量参数θ'和测试数据集Z',调用Matlab工具包HCRF2.0b中testHCRF函数,计算测试数据集Z'中第g个测试会话样本的特征序列Zg'中分别对应于类别标签为0的概率γf,0、对应于类别标签为1的概率γf,1、对应于类别标签为2的γf,2、对应于类别标签为3的概率γf,3;(15)根据类别标签为0的概率γf,0、类别标签为1的概率γf,1、类别标签为2的概率γf,2和类别标签为3的概率γf,3,判断第g个测试会话样本的特征序列Zg'的类别标签:若则第g个测试会话样本的特征序列Zg'的类别标签为0,即该包含入侵事件的测试会话的攻击为DoS攻击;若则第g个测试会话样本的特征序列Zg'的类别标签为1,即该包含入侵事件的测试会话的攻击为Probe攻击;若则第g个测试会话样本的特征序列Zg'的类别标签为2,即该包含入侵事件的测试会话的攻击为R2L攻击;若则第g个测试会话样本的特征序列Zg'的类别标签为3,即该包含入侵事件的测试会话的攻击为U2R攻击。本发明与现有技术相比具有以下优点:第一,本发明在处理高维数样本时,不需要复杂的训练,就能达到较高的检测率,有效降低了误报的可能,克服了现有技术特征选择过多,特征计算过于复杂的缺点,保证在小样本训练的情况下,仍有较好的分类检测效果。第二,本发明利用隐条件随机场分别构建了入侵事件检测模型和攻击行为分类模型,在检测出入侵事件发生的同时,可以明确攻击行为的类型,实现了入侵检测的准确性。附图说明图1是现有隐条件随机场模型示意图;图2是本发明的实现流程图。具体实施方式一、基础理论介绍随着计算机和网络技术的飞速发展,计算机网络已成为现代社会生活重要的组成部分,信息网络的开放性和共享性在给人们带来便利的同时也带来了更多的安全隐患。入侵检测技术是继防火墙、数据加密等传统保护措施后新一代的网络安全保障技术,它从系统内部和网络中收集信息,判断系统是否存在安全问题,并采取相应的措施,作为对防火墙的有益的补充,入侵检测系统扩展了系统管理员的安全管理能力,提高了信息安全基础结构的完整性。“隐条件随机场”是一种具有隐状态变量的无向图概率模型。对于给定的一个观察值序列,在隐条件随机场模型中就存在一个对应的隐状态序列。当前时刻的隐状态既可根据当前时刻的观察值元素预测产生,也可根据当前时刻的观察值元素和相邻观察值元素共同预测产生。隐条件随机场的具体定义为:假设需要对一个输入序列x′预测标签β0,其中,β0为标签集Γ中的一个元素,输入序列x′也称为观察序列,其是一个观察值集合在不同的输入序列中,观察值集合的元素数目a′是可变的。每个观察值元素由一个特征向量表示,其中,c∈{1,2,…,a′},m为维数。训练数据集由观察序列-类别标签数据对(xj,βj)组成,其中,βj∈Γ,j=1,2,…,N,aj为第j个观察序列中元素的个数,N为训练数据集中观察序列-类别标签数据对的数目。测试数据集由观察序列组成。图1是隐条件随机场模型示意图,其中,u={u1,u2,…,uγ,…,ut}为隐条件随机场模型的输入观察序列;ρ={ρ1,ρ2,…,ργ,…,ρt}为输入观察序列u对应的隐状态序列,它根据观察序列u产生,并且在训练数据集中是无法被观察的,ργ∈Ω,γ∈{1,2,…,t},隐状态序列的元素数目t是可变的,Ω为隐条件随机场的隐状态集合;隐状态ργ对应于观察序列u中的观察值元素uγ,ργ在窗长ω=0时,根据单个观察值元素uγ预测产生,ργ在窗长ω≥1时,根据观察值元素uγ和其它观察值元素共同预测产生,类别标签z根据隐藏状态之间的分布概率最大值确定。在给定输入序列x′和隐条件随机场模型的兼容性度量参数θ的条件下,通过下式计算输入序列x′对应标签β′的概率:其中,θ为隐条件随机场模型的兼容性度量参数,τ为输入序列x′可能对应的标签的集合,τ∈Γ,ρ={ρ1,ρ2,…,ρa′}为输入序列x′对应的隐状态序列,是以θ为参数的势函数,计算公式如下:其中,为输入序列x′中第c个观察值元素的特征向量表示,ρc∈Ω,θ(ρc)为对应于第c个隐状态ρc的参数矢量,矢量维数为m维,内积为观察值元素与隐状态ρc的兼容性度量,为隐状态ρc与类别标签β′的兼容性度量,为隐状态ρc和隐状态ρc′的联合与类别标签β′的兼容性度量,E为隐条件随机场模型的无向图,c′∈{1,2,…,a′},隐状态表示无向图的节点,若某个观察值元素同时与第c个观察值元素xc对应的隐状态ρc和第c'个观察值元素对应的隐状态ρc′有关,则在无向图E中存在边(c,c′)。根据输入序列x′具有标签β′的概率P(β′|x′;θ),计算输入序列x′的预测标签β0:β0=argmaxβ′∈ΓP(β′|x′;θ)。二、入侵事件的检测参照图2,本发明基于隐条件随机场的入侵事件检测方法,其实现步骤如下:步骤1,对原始数据集合进行降维处理。本实例采用的入侵检测数据集合是DARPA公布的KDD99数据集,从该数据库原有的41个特征中筛选出26个特征,作为特征属性集合D,这26个特征为:duration,src_bytes,dst_bytes,hot,num_compromised,num_root,num_file_creations,count,srv_count,serror_rate,srv_serror_rate,rerror_rate,srv_rerror_rate,same_srv_rate,diff_srv_rate,srv_diff_host_rate,dst_host_coun,dst_host_srv_count,dst_host_same_srv_rate,dst_host_diff_srv_rate,dst_host_same_src_port_rate,dst_host_srv_diff_host_rate,dst_host_serror_rate,dst_host_srv_serror_rate,dst_host_rerror_rate,dst_host_srv_rerror_rate。步骤2,对特征属性集合D进行最大值归一化处理,以消除属性度量差异带来的影响,得到规范化的特征属性集ε={s1,s2,…s26},其中,s1,s2,…,s26表示经过最大值归一化处理后的特征属性序列,最大值归一化计算公式如下:其中,sij表示经过最大值归一化处理前的第i条会话记录的第j个特征属性,表示经过最大值归一化处理后的第i条会话记录的第j个特征属性,sjmax表示所有会话记录的第j个特征属性的最大值,sj表示所有会话记录的第j个特征属性。步骤3,定义类别标签集。(3.1)定义入侵事件检测的隐条件随机场模型的类别标签集为:α1={0,1},其中,0表示入侵事件检测的隐条件随机场模型的输入是安全的会话,1表示入侵事件检测的隐条件随机场模型的输入是含有攻击的会话;(3.2)定义入侵攻击分类的隐条件随机场模型的类别标签集为:α2={0,1,2,3},其中,0表示攻击类型为DoS攻击,即拒绝服务攻击,1表示攻击类型为Probe攻击,即网络探针攻击,2表示攻击类型为R2L攻击,即非法远程闯入攻击,3表示攻击类型为U2R攻击,即非法提升权限攻击。步骤4,在特征属性集ε中选取N1个训练会话样本和N2个测试会话样本,得到第d个训练会话样本的属性序列Od和第e个测试会话样本的属性序列Ze,其中,d∈{1,2,…,N1},e∈{1,2,…,N2},N1>2,N2>2。步骤5,对第d个训练会话样本,根据其在KDD99数据集中标注的会话类别,得到第d个训练会话样本的类别标签λd,λd∈α1。步骤6,确定训练数据集和测试数据集。将N1个训练会话样本的特征序列O1,O2,和N1个训练会话样本的类别标签λ1,λ2,作为训练数据集:将N2个测试会话样本的特征序列Z1,Z2,作为测试数据集:步骤7,根据训练数据集O中的N1个特征序列O1,O2,和对应的N1个类别标签λ1,λ2,,按照θ=trainHCRF(trainseqs,trainlabels,params)的格式,调用Matlab工具包HCRF2.0b中trainHCRF函数,计算入侵事件检测的隐条件随机场的兼容性度量参数θ,其中,trainseqs为训练数据集中的N1个特征序列O1,O2,trainlabels为对应的N1个类别标签λ1,λ2,params为trainHCRF函数计算兼容性度量参数θ时,用来设定trainHCRF函数的隐状态数params.nbHiddenStates、窗长度params.windowsize、优化算法params.optimizer、最大迭代次数params.maxIterations的参数,其中,params.nbHiddenStates为隐状态个数N,取值为5,params.windowsize为窗长度ω,取值为2,params.optimizer为优化算法,选择bgfs算法,params.maxIterations为最大迭代次数,取值为300。步骤8,根据已计算出的入侵事件检测的隐条件随机场的兼容性度量参数θ和测试数据集Z,调用Matlab工具包HCRF2.0b中testHCRF函数,计算测试数据集Z中第e个测试会话样本的特征序列Ze对应于类别标签0的概率βe,0,以及该特征序列对应于类别标签1的概率βe,1。步骤9,根据类别标签为0的概率βe,0和类别标签为1的概率βe,1,判断第e个测试会话样本的特征序列Ze的类别标签:若βe,0>βe,1,则第e个测试会话样本的特征序列Ze的类别标签为0,即该测试会话数据不包含入侵事件;若βe,0<βe,1,则第e个测试会话样本的特征序列Ze的类别标签为1,即该测试会话数据包含入侵事件;若βe,0=βe,1,则无法判断第e个测试会话样本的特征序列Ze是否包含入侵事件。步骤10,获取训练会话样本的属性序列和测试会话样本的属性序列。在数据集合ε中选取全部的攻击会话,得到攻击特征集合A;从攻击特征集合A中选取N3个训练会话样本,得到第f个训练会话样本的属性序列Of';从攻击特征集合A中选取N4个测试会话样本,得到第g个测试会话样本的属性序列Zg',其中,f∈{1,2,…,N3},g∈{1,2,…,N4},N3>4,N4>4。步骤11,对第f个训练会话样本,根据其在KDD99数据集中标注的会话类别,得到第f个训练会话样本的类别标签λf',λf'∈α2。步骤12,确定训练数据集和测试数据集。将N3个训练会话样本的特征序列O1',O2',和N3个训练会话样本的类别标签λ1',λ2',作为训练数据集:将N4个测试会话样本的特征序列Z1',Z2',作为测试数据集:步骤13,根据训练数据集O'中的N3个特征序列O1',O2',和对应的N3个类别标签λ1',λ2',按照θ'=trainHCRF(trainseqs,trainlabels,params)的格式,调用Matlab工具包HCRF2.0b中的trainHCRF函数,计算攻击行为分类的隐条件随机场的兼容性度量参数θ',其中,trainseqs为训练数据集中的N3个特征序列O1',O2',trainlabels为对应的N3个类别标签λ1',λ2',params为trainHCRF函数计算兼容性度量参数θ'时,用来设定trainHCRF函数的隐状态数params.nbHiddenStates、窗长度params.windowsize、优化算法params.optimizer、最大迭代次数params.maxIterations的参数,其中,params.nbHiddenStates为隐状态个数N,取值为6,params.windowsize为窗长度ω,取值为2,params.optimizer为优化算法,选择bgfs算法,params.maxIterations为最大迭代次数,取值为300。步骤14,根据已计算出的攻击行为分类的隐条件随机场的兼容性度量参数θ'和测试数据集Z',调用Matlab工具包HCRF2.0b中testHCRF函数,计算测试数据集Z'中第g个测试会话样本的特征序列Zg'对应于类别标签0的概率γf,0、对应于类别标签1的概率γf,1、对应于类别标签2的γf,2、对应于类别标签3的概率γf,3。步骤15,根据类别标签为0的概率γf,0、类别标签为1的概率γf,1、类别标签为2的概率γf,2和类别标签为3的概率γf,3,判断第g个测试会话样本的特征序列Zg'的类别标签:若则第g个测试会话样本的特征序列Zg'的类别标签为0,该包含入侵事件的测试会话的攻击为DoS攻击;若则第g个测试会话样本的特征序列Zg'的类别标签为1,该包含入侵事件的测试会话的攻击为Probe攻击;若则第g个测试会话样本的特征序列Zg'的类别标签为2,该包含入侵事件的测试会话的攻击为R2L攻击;若则第g个测试会话样本的特征序列Zg'的类别标签为3,该包含入侵事件的测试会话的攻击为U2R攻击。本发明的效果可通过以下仿真做进一步说明:1)仿真条件本实验采用的数据是DARPA公布的KDD99数据集,该数据集是从一个模拟的局域网上采集来的9周的网络连接数据,分为7周时间的训练数据集和2周时间的测试数据集两部分,实验选用该数据集提供一个10%的训练子集和测试子集,实验软件环境为MatlabR2008b。2)仿真内容及结果仿真一:根据建立的入侵事件的隐条件随机场模型,对测试会话数据分别计算每个测试会话数据具有类别标签0的概率和类别标签1的概率,选择较大概率对应的类别标签作为该测试会话数据的预测标签,从而判断该会话数据是否含有入侵事件。将检测为含有入侵攻击的会话数据取出组成攻击会话集,针对该攻击会话集建立隐条件随机场模型,对攻击会话数据分别计算每个攻击会话数据具有类别标签0的概率、类别标签1的概率、类别标签2的概率、类别标签3的概率,选择较大概率对应的类别标签作为该测试攻击会话数据的预测标签,从而判断该攻击会话数据属于DoS,Probe,R2L,U2R中的哪一类攻击。实验结果如表1和表2所示。表1入侵事件检测的实验结果表2入侵攻击行为分类的实验结果在表1和表2中,ω=0表示预测当前时刻的隐状态时只考虑当前时刻的观察值,ω=1表示预测当前时刻的隐状态时既考虑当前时刻的观察值同时也考虑前一时刻和后一时刻的观察值,ω=2表示预测当前时刻的隐状态时既考虑当前时刻的观察值同时也考虑前两个时刻和后两个时刻的观察值,ω=3表示预测当前时刻的隐状态时既考虑当前时刻的观察值同时也考虑前三个时刻和后三个时刻的观察值。从表1可以看出,本发明对于入侵事件的最佳检测率为99.97%。从表2可以看出,本发明对标签为DoS的攻击会话数据最佳检测率为99.13%,对标签为Probe的攻击会话数据最佳检测率为99.15%,对标签为R2L的攻击会话数据最佳检测率为98.00%,对标签为U2R的攻击会话数据最佳检测率为100%,其中,窗长ω=2时的查准率比ω=1的查准率有所提高,这是因为利用有效距离内的观察值之间的依赖关系,可以提高入侵事件检测的隐条件随机场模型的检测性能,而ω=3时的查准率比ω=2的查准率降低,这是因为考虑过长距离内的观察值之间的依赖关系,会增加模型的复杂度,降低入侵事件检测的隐条件随机场模型的性能。以上仿真结果表明,本发明提出的基于隐条件随机场的入侵事件检测方法,能够准确、全面地实现入侵事件的检测。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1