网络安全风险检测系统及方法技术领域
本发明涉及一种网络安全风险检测技术,属于信息安全领域。
背景技术
传统的网络安全技术(如防火墙等)主要基于被动防御,对系统正在遭受的攻击缺乏实
时的网络安全风险评估,因而也就不能有针对性地主动依据当前网络遭受攻击的强度和风险
等级等情况实时调整自己的防御策略。实时的网络安全风险检测对积极的网络安全技术具有
重要的意义。传统的网络安全评估手段主要包括对IDS取样分析、人工评估及其安全审计等
方法,这些方法缺乏实时性,不能定量计算,具有很大的局限性。
中国专利公开号为CN1412714A的申请案,通过模拟黑客攻击的方法,对被检系统进行
安全漏洞和隐患扫描,提交风险评估报告,并提出相应调整措施。该方法只能在黑客攻击之
前对网络安全进行风险评估,不能在黑客攻击的时候进行实时的网络安全风险评估,并且不
能检测已有攻击的变种,适应能力较差。
发明内容
本发明提出一种实时的网络安全风险检测系统及方法,能够对网络安全进行实时的、定
量的风险评估,并且在对网络检测和监控时,能够自我学习,及时发现新的网络攻击模式。
本发明依据人体免疫系统中抗体浓度的变化与病原体入侵强度的对应关系提出的。
本发明所述的网络安全风险检测系统由入侵检测模块,对主机的风险评估模块,对网络
的风险评估模块组成。与人体免疫系统相对应,系统中定义抗原为要检测的网络活动,自体
为正常网络活动,非自体为异常网络活动。系统中还定义了免疫细胞,免疫细胞为对网络活
动进行实时检测的功能模块,抗体(用来检测抗原的检测器)存在于免疫细胞中,用于检测抗
原。免疫细胞分为记忆免疫细胞和成熟免疫细胞,成熟免疫细胞是还没被抗原激活的免疫细
胞(在一定的时间内未匹配到指定数目的抗原),记忆免疫细胞是由被激活的成熟免疫细胞进
化而来的。系统运行过程中,免疫细胞对由抗原提呈(对网络活动进行特征提取)得到的抗原
(网络活动特征)进行检测。免疫细胞受抗原刺激(与抗原匹配)且累计足够的亲和力(匹配数超
过给定的阈值),该细胞将会被克隆(产生更多类似的免疫细胞以对付更猛烈的攻击),同时该
细胞相应的抗体浓度将会提高,免疫细胞持续被激活(遭到连续的攻击),则其抗体浓度将会
持续地增加。免疫细胞抗体浓度将在一个保持周期内保持,若在抗体浓度保持周期内未被激
活,则相应抗体浓度将会衰减至0,这样可根据记忆免疫细胞的抗体浓度对网络安全风险进
行评估。
在详细说明之前,首先定义系统中使用的一些名词、符号以及一些公式:
(1)抗原集合:设抗原集合Ag={<a,b>|a∈D∧b∈ψ∧|a|=l∧a=APCs(b)},其中集合
D={0,1}l,l为常自然数,集合ψ为网上传输的IP包集合,APCs(b)类似免疫系统中的
抗原提呈,对IP包b进行特征提取:提取长度为l的二进制串(主要由源、目的IP地
址、端口号、协议类型、协议状态等网络事务特征的二进制串组成)作为原始IP包的
抗原决定基(特征值)。
(2)自体与非自体集合:自体集合SelfAg,非自体集合NoselfAg。有
self∪Noself=Ag,Self∩Noself=Φ。对任意的元素x∈Ag,定义自体的属于运
算符∈APCs及
如下:
![]()
(3)免疫细胞集合:定义免疫细胞集合
B={<d,p,age,count>|d∈D,p∈R,age,count∈N},其中d为抗体,p为抗体浓
度,age为抗体年龄,count为抗体匹配到的抗原数目,R为实数集,N为自然数集。
免疫细胞又分为成熟免疫细胞Tb和记忆免疫细胞Mb,即B=Mb∪Tb,且Mb∩Tb=Φ。
(4)亲和力(affinity)计算函数fr_con(x,y):建议采用r连续位(r-contiguous bits)匹配函
数,计算公式见公式(2):
![]()
另外,亲和力计算函数也可采用其他函数,例如海明距离、欧拉距离等计算函数。
(5)未成熟免疫细胞集合:定义未成熟免疫细胞集合Ib={<d,age>|d∈D,age∈N)。
(6)抗体基因库:定义抗体基因库AgdD,抗体基因库主要用于骨髓模型中生成新的
未成熟免疫细胞的抗体基因。
(7)定义记忆免疫细胞Mb中的Consanguinity关系:
Consanguinity={<x,y>|x,y∈Mb∧fr_con(x.d,y.d)=1} (3)
(8)血亲类和最大血亲类:设任意的集合XMb,对任意的x,y∈X,都有
<x,y>∈Consanguinity,称X为由Consanguinity产生的血亲类。另外,若X为由
Consanguinity产生的血亲类,且Mb-X中的任何元素均不与X中的元素存在关系
Consanguinity,则称X为最大血亲类。
(9)最大血亲类系:设π={A1,A2,...,An},
M b 1 = M b , ]]>
令Mb′中的所
有最大血亲类集合为
π i = { X 1 i , X 2 i , . . . , X k i } , ]]>则
A i ∈ { x | x ∈ π ′ , | x | = max 1 ≤ t ≤ k ( | X t ′ | ) } , ]]>即Al为
Mb′中具有最多元素的任一最大血亲类,并且
如此称π为Mb中的最大
血亲类系。
为了进一步说明本发明的原理及特征,以下结合附图进行详细的说明。
图1为系统的体系结构图
图1显示了整个系统在网络中的分布(设被保护的网络中共有K台主机):入侵检测模块和
对主机的风险评估模块分布在整个网络中的各个主机上,对网络的风险评估模块分布在风险
评估中心服务器上。入侵检测模块对主机的网络活动进行检测,对主机的风险评估模块根据
主机上记忆免疫细胞的抗体浓度对主机进行风险评估,对网络的风险评估模块根据整个网络
中记忆免疫细胞的抗体浓度对网络进行风险评估。
图2为入侵检测模块的工作流程图
网络入侵检测过程如下:
(1)从实际网络数据流中,获取IP数据包,提取IP包的特征信息(如IP地址、端口号和协
议等信息),构成长度为l的二进制串,作为抗原定期放入集合Ag中。
(2)将抗原集合Ag由记忆免疫细胞集合Mb进行检测,把被记忆免疫细胞检测为非自体的
抗原从Ag中删除,如果记忆免疫细胞检测到自体就从Mb中删除。
(3)将抗原集合Ag由成熟免疫细胞集合Tb进行检测,把被成熟免疫细胞检测为非自体的
抗原从Ag中删除,如果成熟免疫细胞在一定的周期内检测到一定数目的抗原就会被
激活而加入到记忆免疫细胞集合Mb中,如果成熟免疫细胞在一定的周期内没被激活
或检测到自体就从Mb中删除。
(4)对未成熟免疫细胞进行耐受(删除与自体集合匹配的细胞),如果未成熟免疫细胞耐
受成功就会加入到成熟免疫细胞集合Tb中,否则就会死亡。
(5)生成一定数目的未成熟免疫细胞加入到未成熟免疫细胞集合Ib中,新生的未成熟免
疫细胞的抗体一般分为几个部分:一部分完全随机产生(确保抗体的多样性),另一
部分抗体基因由抗体基因库中的基因编码而来,编码的方法可以采用遗传算子等。
(6)返回(2)。
网络入侵检测过程中,抗原集合变化的详细过程由方程(4)-(9)描述。
![]()
Ag Nonself ( t ) = { x | x ∈ Ag ( t ) , ∃ y ∈ ( M clone ( t ) ∪ T clone ( t ) ) ]]>
![]()
![]()
![]()
AgSelf(t)=Ag(t)-AgNonself(t) (7)
![]()
![]()
其中δ为抗原集合Ag的更新周期,即每δ周期Ag全部由新的抗原取代,Agnew为两次抗原更新
之间新收集的抗原,AgNonself(t)为t时刻被检测出来的非自体抗原。QAg(t)为t时刻与某一成熟免
疫细胞匹配、但未能使该免疫细胞累计到足够的亲和力的抗原。fcheck(y,x)(y∈B,x∈Ag)模
拟免疫细胞对抗原的分类作用:若免疫细胞匹配了抗原,且抗原属于Self(t-1),即检测到一
个曾经是自体的抗原则返回2;若匹配但不属于Self(t-1),即检测到一个非自体抗原则返回
1;若未匹配,则该抗原为已知的自体抗原,返回0。fcostimulation模拟免疫系统的协同刺激,指
示当前抗原是否为自体抗原,外部信号可以是系统管理员的应答等。
在真实网络环境中,由于安全漏洞的存在,在网络安全管理员补漏后,过去被认为是正
常的网络活动会被禁止。另外,随着时间的推移,网络管理员为了提供更好的服务,可能会
开放更多的端口,提供更多的服务,这就是说,以前被禁止的网络活动,现在被允许。这里
引入一个网络正常活动(自体)随时间动态演化的问题。一般地,对于t时刻的自体集合,为上
一个时刻的自体集合中去掉发生变异的元素,同时加入t时刻新增的自体元素,自体集合的
动态变化可用方程(10)-(13)来描述。
![]()
![]()
![]()
Selfnew(t)={y|y为t时刻新增加的自体串} (12)
B(t)=Mb(t)∪Tb(t), t≥0 (13)
抗体基因库主要用于生成新的未成熟免疫细胞抗体的基因,抗体基因库的演化情况可用
方程(14)-(16)来描述。
![]()
![]()
![]()
其中di∈D(i=1,...,k)为初始的抗体基因库,Agdnew(t)为t时刻免疫细胞初次应答时细胞克隆
体的基因(首次检测到一种新的攻击),Agddead(t)为t时刻发生错误肯定的记忆免疫细胞(检测到
一个被证实为自体的抗原)基因。Agdnew(t)作为优势遗传基因将其加入抗体基因库,以利于在
生成新的抗体基因时有可能通过遗产算子等进化方法生成更优秀的抗体基因;而Agddead(t)则
是随着时间的推移已不能适应当前网络需要的、错误的、需淘汰的基因。
图3为未成熟免疫细胞的自体耐受过程图
新生成的未成熟免疫细胞在给定的耐受期内没匹配到自体就转变为成熟免疫细胞。如果
未成熟免疫细胞在耐受期中匹配到了自体,就会死亡。
方程(17)-(20)详细描述了未成熟免疫细胞的耐受过程。
![]()
![]()
![]()
Imaturation(t)={x|x∈Itolerance(t)∧x.age>α} (19)
Inew(t)={y1,y2,...,yξ} (20)
其中Itolerance(t)为对Self(t-1)经历一次耐受后剩下的免疫细胞,α≥1(常数)模拟耐受期,
Imaturation(t)为t时刻历经α个耐受期后成熟的免疫细胞。Inew(t)为t时刻产生的新的未成熟免疫细
胞。
图4为成熟免疫细胞检测抗原的过程图
成熟免疫细胞检测抗原的过程如下:
(1)成熟免疫细胞中的抗体和抗原进行匹配,如果不匹配,该抗原进入下一轮的检测,
否则转(2)。
(2)判断匹配到的抗原是否属于自体集合,如果属于则转(3),否则转(4)。
(3)如果经过协同刺激确定该抗原为自体,则该成熟免疫细胞死亡同时该抗原进入下一
轮的检测,否则转(4)。
(4)删除该抗原。
(5)判断该成熟免疫细胞的匹配数是否超过一定的阈值β,如果超过则对该成熟免疫细胞
进行克隆,将其转化为记忆免疫细胞并发送到网络中的其他主机。
方程(21)-(32)详细描述了成熟免疫细胞的检测过程。
![]()
Tb′(t)=Tb″(t)-P(t)∪Tb(t) (22)
Tb″(t)={y|y∈B∧(y.d=x.d,y.p=x.p,y.age=x.age,y.count=x.count+1,x∈P(t))} (23)
![]()
![]()
Tb″(t)={y|y∈B∧(y.d=x.d,y.p=x.p,y.age=x.age+1,
(25)
y.count=x.count,x∈Tb(t-1))}
Tnew(t)={y|y∈B∧(y.d=x.d,y.p=0,y.age=0,y.count=0,x∈Imaturation(t))} (26)
![]()
Tclone(t)={x|x∈Tb(t),x.count≥β} (28)
![]()
![]()
![]()
其中x′∈Tb,xi′.d=fvariation(x),xi′.p=0,xi′.age=0,xi′.count=0
fvariation(x)=d′,其中d′∈D,x.d≠d′,fr_con(x.d,d′)=1 (31)
Family(x)={y|y∈B(t-1)∧x≠y∧fr_con(x.d,y.d)=1} (32)
其中Tnew(t)为t时刻从骨髓中新产生的成熟的免疫细胞,Tclone_new(t)为细胞克隆新产生出的免
疫细胞(历经变异、自体耐受过程,如方程27、30所示),Tclone(t)为t时刻将要进化为记忆免疫
细胞的细胞集合,Tdead(t)为t时刻由于在细胞生命周期内(λ)未累计到足够的亲和力(β)而死亡
的细胞。
图5为记忆免疫细胞检测抗原的过程
记忆免疫细胞检测抗原的过程如下:
(1)记忆免疫细胞和抗原进行匹配,如果不匹配,交给成熟免疫细胞匹配,否则转(2)。
(2)判断匹配到的抗原是否属于自体集合,如果属于则转(3),否则转(4)。
(3)如果经过协同刺激确定该抗原为自体,则该记忆免疫细胞死亡并把该抗原交给成熟
免疫细胞检测,否则转(4)。
(4)删除该抗原,对该记忆免疫细胞进行克隆并增加该记忆免疫细胞的抗体浓度。
方程(33)-(41)详细描述了记忆免疫细胞的检测过程。
![]()
Mb′(t)=Mb″(t)∪Mclone′(t) (34)
![]()
y.age=x.age+1,y.count=x.count,x∈Mb(t-1)-Mclone(t))}
![]()
![]()
Mclone′(t)={x|x∈Mb∧y∈Mclone(t)∧(x.d=y.d,
(37)
x.p=η+y.p,x.age=0,x.count=y.count+1}
![]()
Mnew(t)={x|x∈Mb∧y∈Tclone(t)∧(x.d=y.d,x.p=η,x.age=0,x.count=y.count)} (39)
Tother_machine_clone(t)={x|x∈Mb∧y∈T′other_machine_clone(t)
(40)
∧(x.d=y.d,x.p=0,x.age=0,x.count=0)}
其中K为当前网络中的主机数
(41)
k为本机的编号,Tcloneii(t)为第i台主机的Tclone(t)
其中Mnew(t)为新产生的记忆免疫细胞,Mdead(t)为匹配了一个被证实为自体的抗原的记忆免疫
细胞。T′other_machine_clone(t)为t时刻网络中其他机器的计算机免疫系统中t时刻成熟免疫细胞克隆
体集合(不含记忆免疫细胞的克隆),当成熟免疫细胞遇抗原产生克隆时(检测到一个新的网络
攻击),将该细胞克隆同时发送到网络中所有其他机器上,以迅速使其他机器具备抵御类似
抗原攻击的能力,Tother_machine_clone(t)模拟了从其他机器上接受疫苗的过程(类似种痘)。η(>0)
为常数。λ′为记忆免疫细胞抗体浓度的保持周期,即如果该记忆免疫细胞在λ′周期内未再次
克隆,则其相应的抗体浓度将衰减直至0。
图6为对主机的风险评估模块流程图
对主机k(1≤k≤K)的风险评估过程如下:
(1)计算主机在t时刻记忆免疫细胞集合Mb(t)的最大血亲类系π(t)={A1(t),A2(t),…,An(t)},
即对记忆免疫细胞进行分类。
(2)主机已经遭受了n类攻击,任取Ai(t)中的任一元素的抗体Aigene(t)作为第i类攻击的特
征,i=1,2,...,n。
(3)对每一类攻击计算
attack i = α i · Σ x ∈ A i ( t ) x . p , ]]>其中i=1,2,...,n,αi(0≤αi≤1)表明主机中第
i类攻击Aigene(t)的危险性。
(4)根据attacki的值具体评估主机k在t时刻面临第i类攻击的风险大小。
(5)根据
的值具体评估主机k在t时刻面临所有攻击的风险的大小。
图7为对网络的风险评估模块流程图
对整个网络的风险评估过程如下:
(1)计算整个网络在t时刻的记忆免疫细胞集合
中的最大血亲类系
∏(t)={C1(t),C2(t),...,Cm(t)},即对免疫细胞进行分类,Mbk(t)为主机k在t时刻的记
忆免疫细胞集合,
(2)整个网络已经遭受了m类攻击,任取Ci(t)中的任一元素的抗体Cigene(t)作为第i类攻击
的特征,i=1,2,...,m。
(3)对每一类攻击计算
attack i = α i · Σ x ∈ C i ( t ) ( x . p · Σ β k k ∈ { j | 1 ≤ j ≤ K , x ∈ M b ′ ( t ) } ) , ]]>其中i=1,2,...,m,
αl(0≤αl≤1)表明网络中第i类攻击Gigene(t)的危险性,βk(0≤βk≤1)为主机k在网络中
的重要性。
(4)根据attacki的值具体评估整个网络在t时刻面临第i类攻击的风险的大小。
(5)根据
的值具体评估整个网络在t时刻面临所有攻击的风险的大小。