基于人工免疫原理的检测系统模型及其应用
上QQ阅读APP看书,第一时间看更新

1.2 人工免疫系统原理及模型

目前人工免疫系统的主要算法和模型有阴性选择算法、克隆选择算法和免疫网络模型等,它们可以为免疫应答过程中的各种免疫现象和免疫机制提供理论解释。其中,阴性选择算法由于其不需要先验知识,能够利用少量的正常样本检测出无限的异常样本的独特特点,因此已经成为人工免疫系统的核心。

1.2.1 阴性选择理论

阴性选择算法由免疫系统的阴性选择机制启发,最初由Forrest于1994年提出[9]。生物免疫系统具有非常复杂的防御机制,能够检测外来物质,产生抗体,攻击抗原。这种能力主要由免疫系统的B淋巴细胞和T淋巴细胞实现。淋巴细胞的阴性选择描述这样一个过程:淋巴细胞与抗原相互作用导致该淋巴细胞的死亡(或无反应能力),从系统中清除这种T细胞或者B细胞,其目的是提高自体细胞的耐受性。

未成熟的T细胞在胸腺中发展,如果在发展期间被激活,它们通过程序性细胞死亡(programmed cell death)而死亡。而更多的自身蛋白质在胸腺中表达,所以存活的T细胞继续发育成熟并离开胸腺,对所有那些自体蛋白质耐受,该过程称为T细胞阴性选择,因为未激活的T细胞才会存活。在阴性选择过程中,95%的T细胞会被清除,被清除的T细胞会强烈地对自体反应或根本不对自体反应。换句话说,选择机制有效地加速了系统融合新类型的免疫细胞。但阴性选择并不完善,一些自体反应T细胞逃脱并进入胸腺外围成为完全的免疫活性细胞,增加了自身免疫疾病的威胁。

除了淋巴细胞受体结构中大量的随机成分,淋巴细胞抗体和抗原决定基之间的遭遇不可避免地激活淋巴细胞,但可能造成其死亡或者钝化(无反应力)。因此,阴性选择可以防止自身特异淋巴细胞成为攻击细胞。

阴性选择算法可分为3个阶段:定义自体、产生检测器、监测异常的发生。但一般将定义自体与产生检测器作为一个阶段,由此大致可分为产生和检测两个阶段[10]。在产生阶段,给定一个称为自体集合S的已知模式集合,测试T细胞受体识别和结合自体模式的能力。如果T细胞受体识别来自自体集合的字符串,则忽略它;否则,作为一个竞争细胞进入检测器集合。检测器可用于监测系统的异常变化[11]。阴性选择算法的具体步骤(如图1-3所示)如下[12]

图1-3 阴性选择算法示意图

(a)检测器集合产生;(b)新情况检测

①定义一个自体字符串集合S,这些字符串集合需要得到保护和进行变化检测。例如,S可以是一个程序、数据文件(任何软件)或一般的行为模式。

②随机产生一个检测器集合R,其中每一个字符串都不能与集合S中的字符串相匹配。该算法中的匹配不是完全匹配,而是部分匹配。只要有连续R位相同,就称为匹配,此R为一个可选择的参数。

③通过与R集合的匹配不断检测S的变化,一旦发生任何匹配,就说明S集合发生了变化,即有外来元素的侵入。

该算法简便、易于实现,但是其计算复杂度呈指数级增长,难以处理复杂问题[13]。Forrest研究小组和Dasgupta等其他研究人员对该算法进行了大量研究和改进。多年来,基本阴性选择算法已经在许多不同模型中使用。尽管有多种改进措施,但是基本阴性选择算法的主要特征仍然存在,主要集中在自体/非自体匹配机制、检测器产生和表示方法、检测器覆盖性能等方面[14-16]。目前,阴性选择算法广泛应用于模式识别、病毒检测、网络入侵检测、异常检测等方面。该算法并没有直接利用自我信息,而是由自我集合通过阴性选择来生成检测子集,这一算法具备了并行性、健壮性和分布式检测等特点[17]

1.2.2 克隆选择理论

克隆选择算法最早由De Castro提出[18],由遗传编程和免疫理论启发,具有持续学习和记忆的功能,成功地应用于字符识别、多目标优化和旅行商等工程实际问题。克隆选择原理的基本思想是只有那些能够识别抗原的细胞才能进行扩增,只有那些细胞才能被免疫系统选择并保留下来,而那些不能识别抗原的细胞则不被选择,也不进行扩增。克隆选择与达尔文变异和自然选择过程类似,只是应用于细胞群体,克隆竞争结合病原体,亲和力最高的是最适应的,因此复制得最多。

克隆选择的主要特征是免疫细胞在抗原刺激下产生克隆增殖,随后通过遗传变异分化为多样性效应细胞(如抗体细胞)和记忆细胞。克隆选择对应一个亲和度成熟(affinity maturation)的过程,即对抗原亲和度较低的个体在克隆选择机制的作用下,经历增殖复制和变异操作后,其亲和度逐步提高而“成熟”的过程。因此,亲和度成熟本质上是一个达尔文式的选择和变异的过程,克隆选择原理是通过采用交叉、变异等遗传算子和相应的群体控制机制实现的。

根据克隆选择原理,De Castro提出了克隆选择算法模型,并在模式识别、组合优化和多峰值函数优化中得到了验证。Kim将克隆选择原理用于网络入侵检测,其算法的核心在于增殖复制算子和变异算子,前者与个体亲和度成正比,保证群体亲和度逐步增大;后者与个体的亲和度成反比,保留最佳个体并改进较差个体。

1.2.3 人工免疫网络理论

基于细胞选择学说,Jerne于1974年首先提出了免疫网络假说,开创了独特型网络理论[19],在此之后又出现了各种不同种类的人工免疫网络,在Jerne工作的基础上,Perelson提出了独特型网络的概率描述方法[20]。免疫网络理论对免疫细胞活动、抗体生成、免疫耐受、自我与非我识别、免疫记忆和免疫系统的进化过程等作出了系统的假设,并且将免疫系统视为由免疫细胞或者分子组成的调节网络。免疫细胞以抗体间的相互反应和不同种类免疫细胞间的相互通信为基础,抗原识别由抗原相互作用所形成的免疫网络完成。

独特型免疫网络理论[21]认为,免疫系统是识别独特型集合的抗体决定基组成的巨大而复杂的网络。网络中的每一个抗体在识别抗原的同时也被其他抗体识别。淋巴细胞能够对正或负的识别信号作出反应。一个正反应信号将导致细胞扩增、细胞活化和抗体分泌,而负反应信号则导致耐受和抑制。通过对免疫细胞或分子的数学建模,免疫网络理论可以很方便地用于描述免疫系统的突现属性,如学习和记忆等。

基于独特型网络原理[22],De Castro开发了一种基于实数编码的人工免疫网络模型aiNet[23]。与Jerne的网络一样,该网络模型忽略了B细胞与抗体的区别。aiNet具有类似于神经网络的连接性,网络中的节点以一定的强度或权值相互连接;作为一个竞争型网络,节点之间以竞争的方式来学习和表达抗原;该模型具有构造性,可自组织地构造网络的结构,这一性质是以网络可塑性为基础的,通过克隆抑制和网络抑制这两种抑制操作,可对群体规模进行动态调节[23]。aiNet的主要问题是算法中存在较多需要用户定义的参数、计算复杂度较高、算法对于抑制阈值的设定比较敏感等。

受到aiNet的启发,文献[24]提出了一种结构简单、易于实现的免疫网络算法,可以用于解决动态聚类问题。该算法由克隆选择、亲和突变、抑制、抗体组合和吸收新成员等算子组成,其算法原理如图1-4所示[25]

图1-4 人工免疫网络算法原理图

1.2.4 危险理论

近年来,在人工免疫系统领域出现了一种新理论——危险理论(Danger theory),该理论最先由Matzinger[26][27]提出,其认为诱发机体免疫响应的关键因素是入侵者产生的危险信号(danger signal),而不是入侵者的异己性(foreignness)。这种对免疫响应的特性和工作原理的解释与被广泛接受的传统自我非我观点有所不同。但该理论并没有完全否定自我非我的传统观点,因此根据这两种理论建立的免疫模型——SNS模型(self-nonself model)和危险模型(Danger model)——既有相同点,也有不同点。Matzinger[28][29]详细解释了危险模型产生的过程并比较了与SNS模型(SNS model)的相同点和不同点。

根据危险理论,免疫应答是一种对身体受到有害刺激时的反应,而不仅仅是对外来物质的简单应答。Matzinger假设细胞的非自然死亡会发出报警信号,该信号会在死亡细胞周围的小范围内散布,接收到该信号的抗原提呈细胞(Antigen Presentation Cell, APC)被激活,反过来刺激自适应免疫系统中的细胞,从而引起免疫应答[30]

根据上述原理,Matzinger提出的危险模型含有3个信号[31]

·信号1:抗原识别(antigen recognition)信号,当免疫细胞(B细胞或T killer细胞)匹配到抗原或由APC提呈的抗原片断时发出的信号。

·信号2:协同刺激(co-stimulation)信号,由APC提供,用于刺激T helper细胞,从而引起免疫应答。

·信号0:危险或报警信号,由受损或异常死亡的细胞发出,用于刺激APC产生协同刺激信号。

危险模型的基本思想是:免疫应答的最终控制信号是由受损或应激(stressed)细胞发出的危险信号。信号1的出现仅表明免疫系统发现外来物质。在正常情况下,APC不会提供协同刺激信号,因而不会产生免疫应答。即只有信号1而没有信号2的情况不会引起免疫应答。也就是说,外来物质如果不对身体造成伤害,就不会导致免疫应答。只有当细胞非正常死亡或受到损伤出现危险信号(即信号0)后,APC才会被该信号刺激,发出信号2,从而导致免疫系统产生免疫应答。因为信号2是由信号0刺激而得到的,所以可以说在危险模型中,危险信号是启动免疫应答的控制信号。

根据这个原理,可以将危险信号作为系统在难以给出检测结果时的依据信号,即有危险信号就认为是攻击,否则就认为是发生了变化的正常行为。因此,危险信号的设置很重要。Secker等人认为危险信号应该是能够指示系统出现异常但仍有时间修复的信号[32]。Aickelin等人认为危险信号是指系统遭受有限的损害后必须被快速、自动地检测到以将损失减至最低的信号。对于异常检测,危险信号常常包括内存使用量过高或过低、不正常的磁盘活动、文件更改频率过高等[33]

APC不但能提供启动应答的协同刺激信号,Greensmith等人还发现APC具有结合由病原体和身体组织产生的外部和内部信号,并据此作出适当响应的能力[34]。Aickelin等人也认为APC的刺激是根据不同信号间的关联结果产生的,这种刺激将导致免疫响应[35]

基于完整危险理论建立的人工免疫系统应包含对危险信号、危险区域和区域内局部响应的设计[36],但目前这样的系统还不多见。现有的研究成果多是借鉴危险理论中的某种机制来设计应用系统,主要集中在计算机安全和数据挖掘领域。