第6讲免疫系统与异常检测Word文件下载.docx
- 文档编号:8100350
- 上传时间:2023-05-10
- 格式:DOCX
- 页数:24
- 大小:275.96KB
第6讲免疫系统与异常检测Word文件下载.docx
《第6讲免疫系统与异常检测Word文件下载.docx》由会员分享,可在线阅读,更多相关《第6讲免疫系统与异常检测Word文件下载.docx(24页珍藏版)》请在冰点文库上搜索。
(6.3)
maximizeminimize(
失败概率Pf定义为随机非自体字符串不被任何R中检测器匹配的概率。
匹配概率Pm
定义为随机选择的字符串和检测器匹配根据特殊匹配规则匹配的概率。
图15.2给出更清楚的例证[43]。
6.2阴性选择算法6.2.1发展与研究概述
自己和非己之间的区别被认为是复杂免疫系统中的主要机制之一。
免疫阴性选择机制不
仅用于机器学习,更重要的是用于异常检测,尤其是计算机安全。
人工阴性选择方法是自己
/非己区别的计算模拟之一,首先设计用于变化检测。
美国计算机安全专家Forrest最初在与
免疫学家的合作研究中,受到该现象启发,首次提出了阴性选择算法[44]。
因此,阴性选择
算法最初指的是Forrest提出的算法,目前指代一类基于阴性选择机制及模型的算法。
为了将多种阴性选择算法及模型区分开,本章将Forrest提出的阴性选择算法称为基本阴性选择
算法。
Forrest的研究小组和Dausgupt等其他研究人员对该算法进行了大量研究和改进。
多年
以来,基本阴性选择算法已经在许多不同中模型使用。
尽管有多种改进措施,但基本阴性选
择算法的主要特征仍然存在。
主要集中在自己非己匹配机制、检测器产生和表示方法、检测
器覆盖性能等方面,并用于异常检测、故障诊断等问题[45-50],成为人工免疫系统的一个重要研究方向。
阴性选择算法的组成包括数据空间表示、检测器表示、匹配规则、检测器产生/清除机
制。
与不同策略的结合(包括与阳性选择等其他方法的结合)也是阴性选择算法发展的重要
内容。
数据表示是多数此类模型和算法之间的基本区别,它决定和限制可能的匹配规则、检
测器的产生机制以及检测过程。
匹配规则是阴性选择算法中的重要部分,它针对一个数据如
何被认为发生匹配或者被检测器识别的问题给出定义,反过来使用何种匹配规则又依靠数据
项和检测器的表示法。
大量免疫启发的异常检测系统的研究成果表明免疫方法在某种程度上是有益的,比如对已知和未知网络入侵的检测。
但是,由于表示法(二进制等)及相应匹配规则等的缺陷,导致该类方法计算效率问题比较突出。
为此,多种不同的表示法及匹配规则
开发出来,如R-块规则,以及由海明形态空间改进到更有效的实数形态空间等等,使算法计算效率得到提高。
相当于免疫系
阴性选择算法的关键问题是要能够产生足够多的覆盖非己空间的检测器,
统产生识别足够多的非己T细胞识别病原体,免疫系统只利用与病原体种类相比很少的免
疫细胞就可以达到目的。
这正是该类方法所期望达到的性质。
但与免疫系统相比,二进制的
阴性选择算法产生的检测器数量与问题是指数级关系[51]。
文献[52]中对实数和海明形态空间
上阴性选择算法理论分析表明,在海明形态空间上的方法不适合实际的异常检测问题。
SankalpBalachandran采用超矩形、超球型和改进超球型等形态空间设计检测器[52]。
Fabio
Gonzdez提出了实数值阴性选择算法[46][53][54],Zhou等[55][56]提出了规模可变向量实数阴性选择算法。
Dasgupta和Gonzalez[57]将阴性选择进一步扩展为模糊分类,将一个点属于自己或非己的程度用成员函数来刻画,自己集合中一个点地成员隶属度越低,引起警报的可能性越大。
Gomez等.[58]也研究了模糊阴性选择分类问题,用模糊规则描述自己成员水平。
Dasgupta等
[59]将阴性选择算法用于飞机故障检测。
文献[60][61]中将阴性选择算法用于时间序列数据异
常检测。
文献[62]讨论了基因库对阴性选择的覆盖率、识别率等方面的效果。
阴性选择算法与其他方法也有结合,Dasgupta等[63]将阳性选择与阴性选择集合,阳性选择初始化“专家”群体,阴性选择用于清除匹配自己的样本。
结合的过程嵌入到遗传算法中。
Ceong等[64]提出
对于两类问题的互补双重检测器集合,包括同时来自自己和非己的样本。
由于它可以检测互
补类别,误否定风险大大降低。
Gonzalez[65].将阴性选择与传统分类算法结合,阴性选择用
于建立非己样本集合,然后将原始自己样本和产生的非己样本输入分类算法以得到检测结果。
文献[66]总结到阴性选择有严重的尺度问题,适合中等任务,比如过滤无效的检测器,代替产生完备检测器。
对网络入侵问题,提出总的免疫系统模型由三个不同的进化阶段组成:
阴性选择、克隆选择、基因库进化。
Kim等[67]将克隆选择与阴性选择结合起来,用阴性选
择产生的检测器实现记忆机制。
国内在该研究方向也作了大量研究工作。
主要集中在阴性选择算法中的自己集合建立
[68][69],检测器生成[70][71][72][73][74]、覆盖问题[75],以及改进阴性选择算法[76][77][78]。
此外,文献[79][80]提出了用于异常检测的淋巴细胞时间语义逻辑模型及演化策略。
本书作者指导研究小组人员提出了变阈值阴性选择算法[81],对如何生成最有效检测器集合达到最好覆盖效
果进行了研究和分析[82]。
图15.3给出了阴性选择算法的发展线索。
主要包括表示法、检测器产生方法等方面。
表15.1给出了阴性选择算法的发展过程以及所采用的数据表示法和匹配规则。
表6.1阴性选择算法的发展阶段
作者与年份
新特征/结论1
1数据表示1
1匹配规则
Forrestetal,1994[44]
阴性选择算法首次提出
字符
rcb
D'
aeseleeretal'
92'
97」
信息损失的分析
Dasguptaetal,1999[6]
滑动窗口时间序列数据
Dasguptaetal,1999[45]
与阳性选择结合,多类
加权位匹配
Hofmeyretal[122,123]
活化阈值,检测器生存期,协同刺激等.
(49-位二进制)
Wierzchon[93]
确定被检测的字符串数并产生检测器的方法
二进制字符串
Kimetal,2001⑺
网络通讯的独特表示
实数值字符
Rcb
Gonzalezetal,2002[57]
与分类器结合
实向量
至冲心点欧氏距离
Balthropetal,2002[87]
R块匹配规则
(449-位二进制)
r-块
Espondaetal[99]
检测模式术语,检测器数分析
rcb,r-块,n-gram,d
Hamming距离
Ayaraetal[84]
NSMutation检测器产生算法
Dasguptaetal,2003[86]
多层,不同组件
部分欧氏距离
Brancoetal,2003[34]
利用进化系统补充检测器或者集合
欧氏距离
Jietal,2004[49]
最大化检测器
Espondaetal,2004[104]
反数据库
字符表示
Jietal,2005[56]
检测器产生中的集成覆盖估计
1实向量
6.2.2基本阴性选择算法
15.2.2.1算法定义与描述
定义15.6基本阴性选择算法是指早期基于免疫阴性选择原理开发的用于计算机安全的免疫算法。
(a)检测器集合产生
(b)新情况检测
图6.3阴性选择算法示意图
早期是指1994年代,Forrest最早提出阴性选择算法。
基本阴性选择算法实际上可分为三个阶段:
定义自己、产生检测器、监测异常的发生。
但一般将定义自己与产生检测器阶段看作一个阶段,因此大致分两个阶段[44]:
产生阶段和
检测阶段。
在产生阶段,给定一个称为自己集合S的已知模式集合,测试T细胞受体识别
和结合自己模式的能力。
如果T细胞受体识别来自自己集合的字符串,则忽略它。
否则作
为一个竞争细胞进入检测器集合。
检测器可用于监测系统的异常变化。
设S为自体集合,为亲合力阈值,N为检测器总数,L为字符串长度。
则基本阴性
选择算法可描述为[83]:
(15.4)
NSA=NSA_censor(S,,N,L)+NSA_monitor(S,R,)
基本阴性选择算法的原理与框图如15.4下:
图15.4(a)中给出检测过程。
1.
R0中。
S中的字符串,由它们之间
初始化:
假设要保护一个自己模式集合S,随机产生属性字符串,放在集合
2.亲合力评价:
测试Ro中产生的字符串是否匹配自己集合的亲合力决定是否发生匹配。
3.产生检测器集合:
如果来自R0的一个字符串与S中至少一个字符串的亲合力大于给
定阈值,则认为该字符串识别一个自己模式,必须被清除(阴性选择);
否则见字符串引入
检测器集合R0。
Procedure[R]=NSA_censor(S,,N,L)
t1
Whilet<
=Ndo//产生N个检测器
Forfrom1toNdo,//
r。
rand(L)//随机产生长度L的字符串
flag0
ForeverysofSdo//对每个S的元素,affaffinity(r0,s)/决定亲合力
Ifaff>
=then
flag1;
break
EndIf
EndFor
Ifflag==0
Radd(R,ro)〃加入r。
到检测器R集合
tt+1
EndWhile
EndProcedure
(a)产生检测器
Procedure[flag]=NSA_monitor(S,R,)
ForeverysofS*do//产生N个检测器
ForeveryrofRdo,//affaffinity(r,s)/决定亲合力Ifaff>
flagnonselfdetected//flag
EndFor
(b)检测阶段算法
图6.4阴性选择算法
在产生一组检测器集合后,算法可用于监测自体集合中的变化或者跟踪异常情况。
在监
测阶段,一个受保护的字符串S*集合与检测器集合的元素相匹配,集合S*可以是没有变化
的集合S,也可以是一个全新的集合,由噪声干扰或者加入新元素的S组成。
如果发生匹配
识别,则检测到非己。
图6.3(b)是检测阶段。
阴性选择的检测阶段用图6.5算法(a)实现。
检测器集合产生后,系统可以监测异常。
这个过程在图6.5算法(b)给出。
基本阴性选择算法是基于二进制表示法的。
二进制阴性选择算法目前有一些理论支持[43][51]。
基本阴性选择算法的关键是决定两个模式之间的相似性的匹配规则的选择,可以在自己
/非己(正常/异常)样本之间区分。
该算法产生检测器的时间复杂性与自己数据规模成线性关系。
算法中设置匹配阈值,估计检测器的规模需要确保一定程度的整体可靠性。
如果阈值
太小,不太可能产生合理规模的检测器集合,因此需要调节阈值,提高检测器可靠性,降低
误肯定风险。
15.2.2.2二进制表示
理论上,二进制表示可以概括其他任何表示,因为任何数据项都是以二进制形式在计算
机中实现的。
但是,在高层表示定义的匹配规则一般不能直接翻译成二进制匹配规则或者规则。
通常需要处理包括数值型数据、类别数据、布尔数据、文本数据等。
处理这些数据类型
的多数表示模式可分为两个基本类型:
字符串表示和实数值向量表示。
在字符串表示中,每个数据项或者一个检测器表示为在一个有限字母表上定义的字符串。
字符串的长度通常固定。
以上四个数据类型都可以用这个表示法处理。
多数研究中使用
的二进制表示是字符串表示的特殊情况。
一般的数据表示包括:
二进制表示、高级字母表上的字符串、实数值向量及上述表示的
混合。
另一个方面,数据空间的表示不同时定义检测器表示。
换句话说,数据空间表示和检测
器表示一般不需要一样。
通常在同样数据空间描述检测器,但是可以更详细,除非检测器是
一个点。
比如,如果一个检测器是一个n维实数空间中的超球体,它可以用一个n维点和半径表示。
字符串表示包括二进制表示。
阴性选择算法首先用于检测字符串中的变化[44],字符串
表示是自然地选择。
同时,阴性选择算法早期版本有一个唯一的特征,也就是要处理的字符串实际上是任意长的。
它们被分割成更短的片段或者在进一步处理前,预先定义长度的一些子字符串。
这个过程类似APC处理和提呈抗原片段的作用。
作为预处理步骤,它与后面的算法没有很强的联系,所以以后多数工作都利用长度固定的字符串。
将其分割成固
然而我们需要知道的是直接处理任意长度字符串在许多情况下是有用的。
定长度的方式可能丢掉比我们选择的长度更长的、有用的模式。
文献[51]分析和比较了不同阴性选择算法的二进制表示规则:
r邻近匹配、r块匹配、海
明距离匹配以及R&
T匹配。
这样为任何阴性选择算法提供了选择不同匹配规则的参考。
文献[84]综述了比较了二进制阴性选择算法的五种检测器产生模式:
穷尽算法、线性算法、贪婪算法、二进制模版和NSMutation。
最后一个方法是穷尽算法的改进版,引入体细胞超变异和清除冗余,以穷尽NS算法,更好的性能。
6.3基于人工免疫系统的计算机安全
6.3.1概述
随着计算机及网络的迅速发展,由于计算机操作系统及应用软件漏洞及固有缺陷造成的计算机系统破坏也日益严重,就象人类每天都受到外部毒素、细菌等病原体的威胁和入侵一样,计算机系统也受到病毒和黑客入侵的困扰,所造成的信息安全问题也十分严重。
由于免疫系统与计算机系统在面对外部危险或威胁方面表现出的相似性,人工免疫系统的应用在最初就很自然的扩展到计算机安全领域。
免疫系统的学习、记忆、识别能力以及其对抗原病原体的灵活性、有效性使人们自然而然的将其与计算机安全系统联系起来。
这里的计算机安全包括单机、主机、计算机网络及相应的文件、信息安全。
Forrest
人工免疫系统概念在计算机安全领域应用比机器学习等领域更为广泛。
最初由
率领的研究小组提出了基于阴性选择的人工免疫系统模型ARTIS,并基于此模型设计了最
早的人工免疫计算机安全系统[123][124]。
此后,人工免疫系统在计算机病毒[11][15][16][125][126][127]、电子邮件[128][129][130]、入侵检测[5]-[10][12][13][17]-[19][57][60][66][68]-[84][90][132]-[135]、计算机文件[136]、
风险评估[137]等计算机安全方面都得到了应用。
IBM公司最早利用免疫系统隐喻设计了商业化计算机安全系统,但没有实现任何免疫系统机制[138]。
文献[4]、[6]、[124]、[139]、[140]、[141]对人工免疫系统计算机安全应用进行了一般性研究。
采用的免疫机制主要有阴性选择、克隆选择、危险理论、树突细胞、APC、淋巴细胞
以及免疫组成隐喻等,有一些系统结合多主体[134][142]、模糊[143]等概念。
目前,在计算机安全领域的应用已经成为人工免疫系统的代表性应用领域[1]。
本节主要分几个方面:
计算机病毒、电子邮件、入侵检测等进行介绍。
国内外大量关于人工免疫系统的文献集中在这个领域。
本节主要介绍一些基本思想和方法,能够体现人工免疫系统异常检测的效果和特性。
具体的应用可参见参考文献和有关书籍。
6.3.2基于免疫的计算机安全系统
6.3.2.1基于免疫的计算机安全系统基本设计思想
所有这些模型仍然处于发展阶段,没有真正有效解决实际问题的模型。
多数已经建立的人工免疫系统方法都只实现人类免疫系统的众多机制中的一小部分。
因为人类免疫系统的本
质是非常复杂和精细的,从免疫学角度看到的免疫反应是细胞、化学信号、生化酶等多种因
素协调的结果,很难在一台计算机上实现完美的免疫过程。
为了开发简单、适用的计算机安
全系统而将免疫系统简化可能有损人工免疫系统的性能。
人们希望建立一个类似人类免疫系
统的计算安全系统,具有与人类免疫系统一样的性能,如错误耐受、适应性和自己监测。
如
果人类免疫系统的重要组分的作用都能被正确地理解并实现,则表明基于人工免疫方法改进
计算机安全系统是有希望的。
一个计算机安全系统的重要属性是可信性、整体性和有效性[140]。
文献[140]最先提出了计算机免疫学的概念,将计算机安全系统与免疫系统进行了对比研究,指出了可用于计算机安全系统的免疫系统特性。
表6.2免疫系统与人工免疫系统的计算机安全属性对比
计算机安全属性
免疫系统
人工免疫系统
整体性
免疫系统通过多种机制确保机体及自身不受破坏
通过多种方式保护数据信息不受破坏。
可用性
在受到病原体袭击情况下仍能工作
确保计算机及信息在需要的时候可以使用
准确性
防止自身免疫疾病
防止误警
有效性
免疫细胞采用多样方式发现危险信号,清除病原体
确保计算机系统信息不受破坏
可信性
免疫系统没有可信属性
确保系统只对授权用户工作
表6.2给出了免疫系统与人工免疫系统在计算机安全属性方面的比较。
如果所设计的人
工免疫系统能够具有这五个属性,则可表明它的优越性,但由于计算机安全问题的复杂性,目前的研究水平还很难做到。
表15.15给出免疫系统与计算机系统在安全方面的相似性比较。
表6.3免疫系统与计算机系统在安全方面的相似性
计算机系统
免疫系统高度复杂性、高度连接性,多种组分之间的相互作用
计算机网络高度复杂性、高度连接,网络节点之间的相互作用
对于有意或无意地引入的外部微组织的脆弱性,可能导致系统感染,使性能下降甚至崩溃。
系统中被引入的敌意代码(包括计算机病毒)造成系统脆弱性,导致对信息和服务未授权连接或者服务拒绝
外部微组织以及生物系统细胞由建筑块一缩氨酸组
成
敌意代码以及计算机网络的运行软件由同样的建筑块组成一基本宏命令
外部微组织和健康细胞之间的区域在于建筑块基因序列中
敌意代码和计算机网络的运行软件之间区别在于建筑块序列中
免疫系统能检测、识别和中和多数外部微组织
信息安全系统能检测、识别多数计算机网络上的袭击
表6.3给出了目前多数人工免疫系统应用到的部分免疫系统机制。
文献[]提出了利用生
物多样性设计计算机安全系统的思想,指出由于目前计算机及网络在操作系统、应用软件、硬件设计方面的标准化、规范化恰恰造成了计算机安全系统的脆弱性。
免疫系统的多样性保
护机制为设计计算机安全系统多样化保护措施提供了思路。
但这样将会造成生产和使用成本
上升。
表6.4免疫系统机制在计算机安全的应用
用于计算机/网络系统
阴性选择
入侵检测、病毒
免疫应答
病毒
危险理论
固有或非特异
入侵检测
体液免疫、细胞介导
免疫耐受、独特型网络
垃圾邮件、风险评估
基因库
否
自己非己识别
入侵检测、垃圾邮件、病毒、风险评估、文
件
克隆选择
入侵检测、病毒、风险评估
免疫记忆
树突细胞、APC
异常检测、垃圾邮件
许多利用统计学方法、离散数学、形式语言和数字仿真方法用于人工免疫计算机安全系统设计。
建立一个人工免疫计算机安全系统的数学模型是必要的,国内一些学者在这方面进
行了非常有意义的工作[79][137]。
6.323基于免疫机制的计算机安全系统基本步骤
建立基于免疫机制的计算机安全系统基本步骤可以归纳如下:
1.免疫系统的分析和量化描述。
一方面可利用多种数学、计算及仿真方法结合安全外问题描述免疫系统机制,另一方面可借鉴计算免疫学以及最近的生物学研究成果分析免疫系统性能,用于有关计算机安全问题。
2.
3.软件实现。
检查是必要的。
描述算法。
利用建立的方法和模型开发免疫细胞的个体及集体行为算法,可以用多主体系统理论分析它们的合作行为。
建立基于上述数学模型、规则和算法的软件,实现对这些模型的测试和
4.
设计一个仿真环境证实模型。
对仿真结果统计学分析,应该包括其对网络脆弱性的影响的评估,结果
仿真环境。
5.系统分析。
反馈并改进所设计的系统。
人工免疫计算机安全系统设计同样需要多学科合作,包括:
先进的控制理论、数学、计
算机科学、计算机工程、生物学、信息学、计算机程序等。
将计算机免疫系统
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 免疫系统 异常 检测