一种基于生物免疫T细胞受体机制的入侵检测方法与流程

文档序号:11253980阅读:447来源:国知局
一种基于生物免疫T细胞受体机制的入侵检测方法与流程

本发明属于网络安全的技术领域,是借鉴生物免疫的人工免疫系统在网络安全领域的应用,具体说是一种基于生物免疫t细胞受体机制的入侵检测方法,可用于网络环境中对数据的检测。



背景技术:

随着互联网与大数据、云平台等新一代技术的深度融合,网络安全问题愈演愈烈,面对网络中海量的数据,发现各种病毒及其变种进行阻断攻击和入侵,传统的网络安全防护方法已经力不从心。常见的防火墙、密钥技术和身份认证技术给出的是一个静态防护的概念,这些方法更多的是基于被动的保护。入侵检测系统作为保障网络环境安全的防护系统,主要是监控网络或系统的状态、行为以及系统使用情况下进行的模式分类问题,即把正常网络环境中出现的异常入侵区分出来,其所面临的问题正是自然界中生物免疫系统所面临的问题,二者具有非常相似的机制。他们的主要功能都是保护机体不被外部病原体或其他病菌等异物的侵袭,其本质就是对自体和非自体进行识别,两者都是在不断变化的环境中维持系统的稳定性。因此,以借鉴生物免疫的人工免疫系统为基础进行网络入侵检测研究具有很好的价值和意义。

目前,误用检测的入侵检测方法已得到广泛应用,他们大多数是根据已知的入侵行为,提取出它们具有的模式或特征,建立相关的库,当检测的用户或行为与库中的特征或模式相匹配时,就认为入侵发生了。norton、mcafee、金山毒霸、瑞星等杀毒产品都通过这种特征码形式进行病毒和入侵的匹配。很明显误用检测这种检测方式对于已知的攻击非常有效,能够具有较低的误报率。但只有存在完备的(大样本组成的)特征数据库时,这些方法才具有较好的入侵检测性能。然而,现实中的入侵行为是不断变化的,正常行为也在每时每刻发生变化,某一时刻允许的端口可能下一时刻就被关闭了,造成当前正常的行为可能未来就变成了异常行为,人们常常无法获得完备的审计数据集。加上网络中设备不断升级、网络规模不断扩大及系统和应用不断升级,整个网络环境越来越复杂,攻击工具和手段也日趋复杂多样,加之网络数据维度较大,需要处理的数据量也越来越大。虽然也有方法对网络数据包进行处理,比如中国专利公布号cn1567810a、cn101478534a和cn104168152a。但是,公布号cn1567810a仅对ip数据包特征值构成定长二进制串;公布号cn101478534a主要收集网络流量特征数据;公布号cn104168152a只对网络数据包进行了数值化和归一化处理。在面对海量网络数据的今天,如果对获取的数据包只做简单处理,仍然无法降低自体集的维度,使得依靠检测器识别的入侵检测方法效率较低。传统的入侵检测方法已经渐渐无法满足网络信息安全的需求。而且传统基于免疫的入侵检测方法几乎都是随机生成检测器,通过与自体集的亲和度判断检测器是否有效,很容易造成检测器冗余浪费时间,当自体集合发生变化时,需要重新生成检测器集合,效率较低影响检测率。而检测器的好坏决定了入侵检测的性能,本发明结合生物免疫中t细胞受体动力学校验机制,先对数据进行预处理,通过多种降维手段进行抗原提呈,然后改变传统入侵检测方法随机生成检测器的方法,将免疫系统的动态、多样、自适应、自学习、鲁棒等特性应用到网络入侵检测中,提高检测效率。



技术实现要素:

为了解决上述动态网络环境下的入侵检测问题,本发明提供了一种基于生物免疫t细胞受体机制的入侵检测方法,将网络数据看作抗原,针对数据通过多种预处理手段对抗原进行提呈,获取能够进行检测的有效数据自体集;根据自体集,用均匀分布t细胞受体检测器代替传统的随机生成检测器后匹配自体获取检测器,并根据自体集得出检测器的正常分布状态;当有检测数据到来时,数据对t细胞受体检测器产生影响,改变检测器的状态,如果阈值超出正常状态下的范围就认为发生了入侵;同时能够根据新的数据动态调整回馈与t细胞受体检测器的位置,对t细胞受体检测器进行进化,从而实现动态演化的目的,识别未知的异常。

本发明的技术方案如下:一种基于生物免疫t细胞受体机制的入侵检测方法,借鉴生物免疫中t细胞遇到抗原入侵时在其表面表达大量的t细胞受体实现对抗原的结合与识别机制,利用正常状态下的系统轮廓获得t细胞受体检测器的分布,然后根据检测器分布阈值的变化判断是否有入侵的产生,其步骤如下:

步骤一:收集网络数据包获取正常网络数据作为自体集,并对自体集进行预处理获取有效自体集;

步骤二:根据自体集的数据范围生成均匀分布的基于t细胞受体的检测器集合,根据自体集的核密度估计获得t细胞受体检测器的分布阈值;

步骤三:根据t细胞受体的动力学校验模型,利用训练阶段的网络数据对t细胞受体检测器分布进行调整和学习,动态调整每个检测器的状态,让每个检测器能通过自学习适应网络状态的变化;

步骤四:利用获得的t细胞受体检测器集合对待检测数据进行检测,如果检测器的分布阈值超出正常范围,则认为异常入侵发生,否则属于正常数据;检测器利用检测的正常数据对检测器进行动态演进,随环境数据变化调整检测器分布阈值,获得适应环境的进化t细胞受体检测器集合。

所述自体集为:利用网络侦听抓包软件采集网络数据包,并从中选择正常网络数据作为正常状态下的系统轮廓数据。

所述预处理包括对网络数据进行抗原提呈和数据规范化操作;对网络数据的抗原提呈:在l维的形态空间中每个需要被分类的数据可以被看成抗原ag,可以表示为l维的向量ag=<ag1,ag2,…,agl>,其中l表示向量的长度,每一维看成一个基因片段;当抗原进入机体后,对抗原进行提呈,转变成t细胞可以识别的形式,以便与t细胞表面生成的t细胞受体结合,从而引起免疫反应,清除抗原;

所述数据规范化操作包括属性数值处理、数据归一化处理和pca处理;

a、属性数值处理:将非数值型的特征映射到数值型1到n上,其中n为非数值型类型的个数;

b、数据归一化处理:对属性数值处理后的数据逐维进行归一化处理;

其中,p表示上一步获得的基因片段,pnew为p归一化后的新值,pmin和pmax是p原值所在的范围区间。取newmin=0,newmax=1可以将所有数据线性缩放到范围[0,1];

c、pca处理:y=at×p,其中,p=(p1,p2,…pk)具有k个属性维度的归一化后组成的数据向量,每个数据向量有q个样本;a=(a1,a2,...,aj),其每个列向量是通过计算得到的协方差矩阵的所有特征向量;pca处理是对归一化后的数据进行特征子集的选取,去掉冗余属性和无用属性,减少自体集的维度。

所述t细胞受体的检测器集合的生成方法为:根据预处理后获得的有效自体集,计算其条件概率密度,获取t细胞受体检测器的分布带宽h,根据带宽值h,在自体集获取的每个维度的数据范围内生成均匀分布的t细胞受体的检测器,具体步骤为:使用预处理后获得的n个m维数据作为训练数据,将该数据看作抗原,对于这n个独立同分布的m维数据的条件概率密度估计:

其中,x为估计的位置点,xi是n个m维数据,k(·)为标准正态核函数:

其中,h是t细胞受体检测器的分布带宽,分布带宽h是在估计的位置点x均方误差mse基础上的积分均方误差mise进行计算。

所述动力学校验模型包括每个检测器在空间上具有位置rp(x)和动力学回馈rfb(x),初始位置rp(x)=0,自体集中每个样本看作一个细胞或分子,受细胞不断刺激的影响受体检测器会对分布在该值域附近的样本v产生反应,刺激t细胞受体检测器的位置增长;每个检测器根据下式调整各自的分布状态,从而获得正常状态下的t细胞检测器集合:

r′p(x)=a×rp(x)+k(x,v)-rfb(x)

r′fb(x)=b×rfb(x)+d×h(rp(x)-β),

其中,r′p(x)、r′fb(x)为在样本v刺激后获得的在估计的位置点x附近新的检测器的位置和回馈值,0<a<1是受体位置的衰减率,0<b<1为回馈的衰减率,且a<b,d>0是回馈的增长率,h为阶跃函数。

所述t细胞受体检测器受到的刺激其中重新计算t细胞受体检测器的位置分布情况完成对检测器的调整,确定检测器正常情况下的分布阈值范围,一旦检测器的阈值α>s(x),则表示异常入侵发生。

对测试数据进行入侵检测包括:

(1)对待检测数据进行抗原提呈和数据规范化操作;

(2)将待检测数据传递给t细胞受体检测器进行分类,判断t细胞受体检测器的分布状态与正常状态下t细胞受体检测器的范围阈值是否一致,判断在该数据影响下更新的受体位置是否rp(x)≥l,其中l=max{s(x)},如果小于阈值即受体更新的位置小于长度l,则待检测数据是正常的,否则判定为异常入侵。

本发明利用生物免疫中t细胞受体的原理和机制,模拟t细胞受体对外来入侵抗原的识别去实现网络中的入侵检测,使用固定位置的t细胞受体检测器集合代替传统人工免疫方法中根据自体集随机生成检测器集合,使用实时数据对检测器进行回馈调整,使得检测器能够进行自学习并进行动态演进,更适合网络中实时动态变化的环境,缩短了传统人工免疫入侵检测方法中一旦环境变化就需要重新生成检测器的时间浪费,提高了检测的速度,具有生物免疫系统的动态、自适应和免疫记忆等特性,提高了系统安全。

附图说明

图1为本发明的工作原理图。

图2为网络数据抗原提呈后的肽结构表示图,每个p表示一个基因片段。

图3为数据预处理的步骤图。

图4为本发明的方法步骤图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明基于生物免疫中t细胞识别抗原提呈细胞后生成大量t细胞受体,提高对抗原的亲和力,t细胞根据刺激产生正负回馈调整t细胞受体的数量和分布,实现对抗原的结合与识别。一种基于生物免疫t细胞受体机制的入侵检测方法,借鉴生物免疫中t细胞遇到抗原入侵时在其表面表达大量的t细胞受体实现对抗原的结合与识别的机制,利用正常网络数据的系统轮廓获得t细胞受体检测器的分布,然后根据检测器分布阈值的变化判断是否有入侵的产生。通过模拟生物免疫中t细胞受体对抗原提呈细胞提呈肽的识别进行入侵检测,如图1所示。通过生成固定位置的t细胞受体检测器集合替代传统人工免疫中随机生成检测器集合,根据提呈的数据,检测器动态学习网络状态,进行自身状态的调整,从而动态适应变化的网络环境,进行有效的入侵检测。具体步骤如下:

步骤一:收集网络数据包获取正常网络数据作为自体集,并对自体集进行预处理获取有效自体集。

首先,介绍本发明中使用到的一些符号、术语、定义及公式:

(1)定义正常行为集合(自体集,self)和异常行为集合(非自体集,nonself)是问题空间u的子集,即且nonself=u-self。一个数据v∈u是一个n维数值向量。

(2)为了能够使用t细胞受体的原理与机制,将数据v看成抗原ag,表示为l维的向量ag=<ag1,ag2,…,agl>,其中,l表示向量的长度,将其中的每一维看成一个基因片段,抗原进入机体后,进行抗原预处理,将其转变成可以被t细胞识别的肽结构。

(3)对于每个需要被分类的行为v,只能被分类为c0(self),即正常类,或c1(nonself),即异常类。对于先验概率p(ci),有p(c0)+p(c1)=1。根据贝叶斯定理,样本v属于c0类的类条件概率满足:

根据已有数据的分布评估在当前范围内的数据分类,范围内的数据为正常,超出范围的数据就属于异常。

(4)根据免疫系统中t细胞受体的机制,定义t细胞受体检测器为一个五元组r=(p,fb,β,l,c),其中p,fb,β,l∈r,每个受体具有位置p,表示检测器的初始状态;回馈fb,表示检测器周围抗原对其的影响值;β为回馈边界,只有超过回馈边界的检测器才需要动态调整,低于回馈边界的检测器不会发生变化;长度l表示受体范围,即检测器能够检测到的最大范围;当p≥l时产生激活信号c,当激活信号产生时,表示检测器检测到异常。

本发明利用网络侦听抓包软件采集网络数据包,并从中选择正常网络数据作为正常状态下的系统轮廓数据----抗原数据,组成自体集。检测器集合需要在有效自体集合上获取,而有效自体集的获取需要对网络中的正常数据进行预处理。自体集预处理包括对网络数据进行抗原提呈和数据规范化操作。

对网络数据进行抗原提呈:在l维的形态空间中每个需要被分类的数据被看成抗原ag,数据表示为l维的向量ag=<ag1,ag2,…,agl>,其中,l表示向量的长度,每一维可以看成一个基因片段。当抗原进入机体后,对抗原进行提呈,转变成t细胞可以识别的形式,以便与t细胞表面生成的t细胞受体结合,从而引起免疫反应,清除抗原。对网络数据进行抗原提呈是对网络数据包进行免疫方法表示,将每一个具体属性表示为肽的结构,实现对网络数据的基因片段抗原提呈,获取能与t细胞受体进行匹配的有效自体属性。如图2所示,对数据中的源ip地址、目的ip地址、源端口号、目的端口号、源mac地址、目的mac地址、tcp/udp/icmp域、网络数据包长度等均视为一个基因片段p——肽的提呈。

数据规范化操作包括属性数值处理、数据归一化处理和pca处理,如图3所示。数据规范化操作将数据从高维变成低维,可以减少自体集的大小,提高检测器的生成效率。在图3中,完整特征集合即收集的网络数据集合,通过抗原提呈后对数据属性进行数值处理和归一化等相关性处理,然后去除冗余的多余属性得到最后适应本发明的数据子集。

其中,相关性处理中的属性数值处理是将得到的原始数据根据向量维度进行属性划分,将非数值型的特征映射到数值型1到n上,其中,n为非数值型类型的个数。

数据归一化处理:对不符合范围值的属性逐维进行归一化处理,如公式(2)所示:

其中,p表示上一步获得的基因片段,pnew为p归一化后的新值,pmin和pmax是p原值所在的范围区间。取newmin=0,newmax=1可以将所有数据线性缩放到范围[0,1]。

pca(主成分分析)处理是对数据进行去无用和去冗余处理,是对规范化后的数据进行特征子集的选取,采用主成分分析方法去掉冗余属性和无用属性,减少自体集的维度。

p=(p1,p2,…pk)是问题涉及的具有k个属性维度的归一化后pnew组成的数据向量,每个变量p有q个样本,即p是一个k×q的矩阵。根据需要,一般按照各个主成分的累计贡献率选取前j个(j<k)主成分对数据集进行分析,而通常j的取值要使累计贡献率大于85%以上。选取a=(a1,a2,...,aj),其中每个列向量是通过计算得到的协方差矩阵的所有特征向量。

通过公式(3)就可以将数据从k维降低到j维,y就是经过pca变换后的数据集。

其中,根据数据规范化操作降维后选出的特征子集进行入侵检测,可以节省时间,提高效率。

步骤二:根据自体集的数据范围生成均匀分布的基于t细胞受体的检测器集合,根据自体集的核密度估计获得t细胞受体检测器的分布阈值。

根据预处理后获得的自体集属性,计算其条件概率密度,获取t细胞受体检测器的分布带宽h。而带宽h通过在估计的位置点x的积分均方误差mise进行计算。根据带宽值,在根据数据预处理后得到的自体集的每个维度数据范围内生成均匀分布的t细胞受体的检测器。t细胞受体的检测器集合是均匀分布在自体集维度空间间距上的一组集合。

选取公式(3)预处理后获得的n个m维数据作为训练数据,将该数据看作抗原,对于这n个独立同分布的m维数据的条件概率密度估计:

其中,x为估计的位置点,xi即n个m维数据,k(·)为标准正态核函数:

公式(5)中的h是t细胞受体检测器的分布间距。h的选择通过在估计的位置点x的均方误差mse基础上的积分均方误差mise进行计算。这样即可获得在训练数据范围内生成的均匀间距为h的t细胞受体检测器集合。

步骤三:根据t细胞受体的动力学校验模型,利用训练阶段的网络数据对t细胞受体检测器分布进行调整和学习,动态调整每个检测器的状态,让每个检测器能通过自学习适应网络状态的变化。

t细胞受体检测器集合的状态主要通过自体集的输入序列进行调整,将一个输入样本看成一个细胞或分子,所有的t细胞受体检测器会对其进行识别与处理。因此,根据各个维度上属性对检测器的刺激,获取检测器的位置和回馈状态的变化,得到在持续稳定状态下每个检测器的正常变化的阈值范围,即每个t细胞受体检测器的分布状态,从而由检测器集合对测试数据进行入侵判断。

获取每个检测器的状态,每个t细胞受体检测器的初始状态rp(x)=0,根据每一个训练抗原数据对t细胞受体检测器的影响计算它的状态的变化。t细胞受体检测器在空间上具有位置rp(x)和动力学回馈rfb(x),自体集中每个样本看作一个细胞或分子,受细胞不断刺激的影响,受体检测器会对分布在该值域附近的样本产生反应,刺激t细胞受体检测器的位置增长。每个检测器调整各自的分布状态,从而获得正常状态下的t细胞检测器集合。在每个抗原影响下t细胞受体检测器的状态变化为:

r′p(x)=a×rp(x)+k(x,v)-rfb(x)(6)

r′fb(x)=b×rfb(x)+d×h(rp(x)-β),

其中,r′p(x)、r′fb(x)为在样本v刺激后获得的在估计的位置点x附近新的检测器的位置和回馈值,,0<a<1是受体位置的衰减率,0<b<1为回馈的衰减率,d>0是回馈的增长率,h是阶跃函数。根据生物免疫的分析,受体位置的衰减率慢于负回馈的衰减率,即参数a<b。

每一个训练数据等同于一个抗原,所有的t细胞受体都会对该抗原做出反应。t细胞受体检测器受到的总的影响为其中即计算每个新的抗原对检测器的刺激。但是为了保持免疫应答的平衡,避免过度活化,t细胞活化同时还受到抑制信号的调节,因此对每个受体设置一个回馈边界β,只有超过回馈边界的t细胞受体才受到抑制,其值为s(x)-β,ifs(x)≥β。即受体的回馈值由公式(6)确定:

根据回馈和位置确定每个检测器的分布阈值,当读入新的抗原数据,检测器的状态不再发生变化时,停止训练,得到正常状态下检测器集合的状态分布。

根据数据对于t细胞受体检测器的刺激重新计算t细胞受体检测器的位置分布情况完成对检测器的调整,确定检测器正常情况下的分布阈值范围,一旦检测器的阈值α>s(x),则表示异常入侵发生。

步骤四:利用获得的t细胞受体检测器集合对待检测数据进行检测,如果检测器的分布阈值超出正常范围,则认为异常入侵发生,否则属于正常数据;检测器利用检测的正常数据对检测器进行动态演进,随环境数据变化调整检测器分布阈值,获得适应环境的进化t细胞受体检测器集合。

对待检测数据进的抗原提呈和数据规范化操作;将待检测数据传递给t细胞受体检测器进行分类,判断t细胞受体检测器的分布状态与正常状态下t细胞受体检测器的范围阈值是否一致,如果小于阈值,则待检测数据是正常的,否则判定为异常。对每个测试数据,根据公式(5)和(6)计算其在受体附近的位置和回馈大小。判断在该数据影响下更新的受体位置是否rp(x)≥l,其中l=max{s(x)}。如果受体更新的位置小于长度l,则该测试数据是正常的,否则判定为异常入侵。

网络安全入侵检测中正常数据的数量远远大于异常数据的数量,大多数正常数据由于属性相似,会符合特定的密度分布,映射到相对集中的区域,即通过训练样本得到的正常数据的t细胞受体密度分布状态。而异常数据则会由于属性的差异落在该区域之外。因此,根据评估训练数据概率密度的阈值α给出入侵检测的分类函数:

如果阈值α小于正常系统轮廓下的概率密度分布值,则说明被检测数据分布在正常系统轮廓内,是正常数据;否则,数据分布在正常系统轮廓之外,数据属于异常数据,算法给出入侵报警。

当新的测试数据分类完成后,受体状态需要根据公式(6)实时更新,做出动态调整以便分类新的数据。整个测试阶段不断根据回馈和受体位置判断新的测试数据,直到处理完所有的数据为止。

最后,以上所述仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1