计算机免疫学哈尔滨理工大学姚亮2007.6.13GoodEvening主要内容概述生物学免疫系统机理计算机免疫学基本原理计算机免疫学的应用结束与展望第1页计算机免疫学产生的背景自古以来,人们就对生物界有着浓厚的兴趣。生物成为许多发明家创新的灵感源泉,他们从生物现象中得到启示,制造出了从机翼到防弹衣等许多产品,从20世纪中叶开始,人们就已经开始注意对生物系统尤其是人类自身功能及结构的模仿,由此产生了许多研究领域。例如,人工神经网络是对人脑结构的模拟,模糊控制与人类模糊思维有着相似之处,而进化算法则是对生物的生存演化进行了描述。生物免疫系统是一种具有高度分布性的自适应学习系统,具有完善的机制来抵御外来病源的入侵,计算机的安全问题与生物免疫系统遇到的问题惊人的相似,于是就有人提出来:是不是可以把生物免疫系统的这些特性用于计算机领域呢?第2页概述计算机免疫学的研究概况1974年,丹麦学者Jerne提出了免疫系统的第一个数学模型,奠定的免疫计算的基础。1984年,由于在免疫学上的杰出贡献,Jerne因此获得诺贝尔奖。1994年,美国学者Forrest,Perelson等人提出了否定选择算法,用来生成检测器,完成了检测器的耐受过程,提出了计算机免疫系统的概念。在国内,有关计算机免疫的相关研究刚起步不久,2002年,武汉大学的梁意文教授利用免疫原理对大规模网络入侵检测和预警技术进行了研究。第3页计算机免疫学的研究概况(续)2002年6月,IEEETransactiononEvolutionaryComputation出专刊报道了有关人工免疫系统(ArtificialImmuneSystem,AIS)的研究进展,2002-2004年,国际上举办有关人工免疫的学术会议达20多次。2003年,中国科学技术大学研制了一个“基于人工免疫的入侵预警系统”,该系统具有较好的未知入侵检测能力。2004年,四川大学计算机网络安全与研究所提出了基于免疫的大规模网络入侵动态取证,以及网络安全风险检测与控制技术。第4页计算机免疫学的定义计算机免疫学(ComputerImmunology)一词最早由Forrest等人提出,他认为计算机免疫学是一门基于生物免疫学、人工免疫、以及计算机科学等的交叉学科,主要利用最新计算机科学技术,研究有关人工免疫的理论、规则、算法、模型等,并将这些理论应用于具体的应用系统中,解决实际的应用课题。目前国内还没有统一说法。现在,计算机免疫学的同义词有很多。例如,计算机免疫系统、免疫计算、免疫计算机、人工免疫、基于免疫的系统等。总之,计算机免疫学是一门多学科领域的、边缘交叉学科。第5页生物免疫学机理免疫学中一些基本概念免疫(Immunity)指机体识别和排除抗原异物,维持机体生理平衡和稳定的功能。免疫学(Immunology)研究机体免疫系统的组成(免疫器官、免疫细胞和免疫分子),识别(自己、异己)并消除(异己)有害生物(体外入侵,体内产生)及其成分的应答过程及机制的科学。第6页抗原(Antigen)抗原(antigen,Ag)是一类能刺激机体免疫系统使之产生特异性免疫应答、并能与相应免疫应答产物(抗体和致敏淋巴细胞)在体内外发生特异性结合的物质。抗体(Antibody,Ab)能与抗原进行特异性结合的免疫细胞称为抗体。自我和非我(SelfandNon-self)自我对应于机体自身的组织,非我对应于外来有害病原或者体内病变组织。第7页人体天然防线第一道防线主要是皮肤和黏膜。它是机体防御体系中很重要的部分。失去这一屏障,如大面积烧伤,人将由于失液缺失、严重感染使机体面临极大威胁。第二道防线指吞噬细胞和巨噬细胞。特异性免疫一旦病原体突破了前两道防线进入人体,并繁殖,机体就经历了一次与病原体斗争的过程,这种对某一种病原体的识别和杀灭作用称特异性免疫。能进行免疫应答的免疫细胞有很多种,最重要的是淋巴细胞,一种是在骨髓(bonemarrow)内发育成熟的细胞,叫B细胞;另一种是在胸腺内发育成熟,称为T淋巴细胞.第8页人体免疫系统三大功能功能正常表现免疫防御抗感染(immunologicdefense)免疫稳定消除炎症或衰老细胞(immunologichomeostasis)免疫监视控制癌变细胞(immunologicsurveillance)第9页人体的免疫机制人体的免疫机制中有三个阶段:自体耐受、免疫应答、免疫反馈。自体耐受(selftolerance)是对自体抗原不应答的一种免疫耐受,如图是免疫系统区分自体/非自体抗原时的反应状态。非自体抗原自体抗原克隆扩增克隆忽视否定选择克隆删除克隆无能未受影响细胞克隆效应第10页免疫应答抗原进入机体后,免疫细胞对抗原分子的识别和效应过程,称为免疫应答(immumeresponse)。可分为三个阶段。抗原提呈抗原提呈是指能免疫细胞能捕获、加工、处理抗原,并将抗原提呈给抗原特异性淋巴细胞。人体内的B细胞可以利用其表面的免疫球蛋白分子(抗体)直接与抗原结合,诱导产生免疫应答。免疫系统特异识别抗原被提呈后,将发生免疫系统特异识别。免疫细胞表面的受体和抗原表面的抗原决定基产生化学结合。受体和抗原决定基都是复杂的含有电荷的三维结构,二者的结构和电荷越互补,就越有可能结合,结合的强度称为亲和力(affinity)下图为B细胞的模式识别。第11页BCR或抗体B细胞受体抗原决定基B细胞的模式识别第12页体细胞高频变异和免疫记忆人体是部最精密、最复杂的机器,人体内的免疫细胞是怎样繁殖的呢?其核心是克隆选择原理克隆选择原理主要思想:1.免疫系统要产生数十亿种类的有抗体受体的B细胞;2.抗原提呈导致能与抗原结合的抗体克隆扩增和分化;B细胞活化后,可在淋巴结内,也可在骨髓内以极高的频率分裂,同时产生克隆选择,其中一部分分化为浆细胞,它不能继续增殖,其寿命仅为数日,但是浆细胞产生抗体的能力特别强,高峰期一个浆细胞每分钟可分泌数千个抗体分子,另一部分变成记忆细胞,形成免疫记忆,能存活数年,再被激活时,可重复以前的变化,一部分化为效应细胞,一部分仍为记忆细胞。第13页克隆删除(否定选择)克隆扩增选择记忆细胞分化浆细胞克隆删除(否定选择)克隆选择原理第14页形态空间的提出为了定量的描述免疫系统,Perelson和Oster提出所有的免疫事件都在形态空间(shape-space)S中发生,这是一个多维空间,每个轴表示一个物理化学的测量方法,用该方法可以描述一个分子形态。分子结构表示成一个点s∈S,因而在L维空间(形态空间)中,可将一个点定为决定抗体----抗原相互作用的特征集。数学上,这种形态被描述成L维字符串或向量。计算机免疫学基本原理第15页形态空间模型形态空间形态空间的基本模型如图所示,形态空间含有抗体结合簇(表示)和抗原决定基(表示),其中ε是免疫交叉反应阐值,并且假设一个抗体能够识别周围体积Vε范围内的抗原决定基。抗体识别抗原过程就是与抗原匹配的过程,抗原和抗体分子之间的亲和力大于或者等于交叉反应阐值时,分子间的识别事件就会发生,即分子之间存在不完全匹配性。第16页●●εε自体/非自体不同的领域内自体/非自体有着不同形式的定义对于问题域X∈{0,1}(L空间),包括两个子集,自体集合S和非自体集合N,自体集合和非自体集合之间的关系有:S∪N=X,S∩N=Ø。对于计算机病毒检测而言,非自体代表病毒代码,自体为计算机系统内正常的应用程序;对于入侵检测系统,非自体代表来自网络攻击的IP数据包,而自体为正常的网络数据事务。抗体/抗原目前抗体/抗原的编码方式主要有二进制编码、实数编码、字符编码和灰度编码等。将抗体/抗原模拟成长度为L的二进制字符串,例如病毒和抗体间匹配时考虑了互补位,抗体可表示成字符串00010101(L=8),抗原(病毒)表示成11101010,则触发应答的可能性很高。只要抗体/抗原的字符串互补匹配,抗体就能够识别抗原。第17页亲和力计算抗原和抗体之间的亲和力计算基于抗原和抗体之间结构的相似性。常见计算方法包括抗体抗原之间的距离、匹配度等。下面我们介绍一种计算亲和力的方法-------匹配度方法两个等长字符串之间每一个位置上的字符都相同,这种匹配叫完整匹配。1994年Forrest提出了r-连续位匹配规则,即对于两个字符串x和y,如果至少存在连续r位相同,那么它们就是r-连续位匹配的。若r=4,那么对于至少连续4位相同的两个字符串,它们是匹配的,否则就不匹配。0110100101010011010011101111011110111101匹配不匹配第18页免疫细胞模型基本原理免疫细胞主要在骨髓和胸腺中形成,从产生到成熟并进入免疫循环,需要经历一系列复杂的变化。基于生物免疫系统构建的人工免疫细胞模型,主要包括自体耐受、克隆、变异、记忆和死亡的过程。免疫细胞的生命周期如图所示。骨髓模型骨髓模型主要模拟免疫细胞的生成过程。免疫细胞是由基因库中随机选出的不同基因成分串联而成的,这里的免疫细胞被抽象为一个简单的字符串,如图是一个利用基因库产生新的免疫细胞的过程。否定选择1994年,Forrest,Perelson等人提出的否定选择算法成功的模拟了免疫细胞的耐受过程,目前细胞的自体耐受主要由否定选择算法来实现,如图。第19页克隆选择克隆选择原理是免疫系统用来说明对抗原刺激所产生的免疫应答基本特征的算法。只有识别抗原的细胞才能进行繁殖(分裂)。克隆选择用来解释当B细胞识别自体抗原模式时,免疫应答是怎样形成的,以及描述该免疫应答的基本特征。免疫记忆免疫系统必须可识别出许多以前没有遇见过的细胞和抗原分子,并决定如何应答。而且其中有些抗原不能被攻击,例如自体抗原,免疫系统能够记住遭遇过的抗原、再次遇到知道如何在发病前消除它,免疫应答和免疫记忆至今科学界解释的还不是很清楚。第20页计算机免疫系统设计基本思想建立计算机免疫系统的基本问题是确立生物免疫系统和计算机免疫系统之间的基本元素的对应关系,主要模拟生物免疫系统中有关抗原处理的核心思想。包括抗体的产生、自体耐受、克隆的扩增、免疫记忆等。生物免疫系统与计算机免疫系统的映射关系如表第21页免疫系统和计算机免疫系统的映射关系免疫系统计算机免疫系统(CIS)计算机病毒抗原网络入侵其他待检测的目标抗体和抗原的绑定模式匹配自体耐受否定选择算法记忆细胞记忆检测器细胞克隆复制检测器抗原检测/应答对非自体位串的识别/应答第22页免疫算法的基本构架用免疫算法解决具体问题时,首先需要将问题的有关描述与免疫系统的有关概念及免疫原理对应起来,定义免疫系统中元素的数学表达方法,然后根据实际问题的应用再设计相应的免疫算法。如图所示,免疫算法由以下几个步骤组成:开始①定义抗原:将需要解决的问题抽象成符合免疫系统处理的抗原形式,抗原识别则对应为问题的求解。抗原识别②产生初始抗体群体:将抗体的群体定义为问题的解,抗体与抗原之间的亲和力对应为问题的评估:类似遗传算初始抗体群体产生法,首先产生初始抗体群体,对应问题的一个随机解。③计算亲和力:计算抗原和抗体之间的亲和力。亲和力计算④克隆选择:与抗原有较大亲和力的抗体优先得到复制,同时抑制浓度过高的抗体,淘汰亲和力低的抗体,为克隆选择获得多样性,抗体在克隆过程中发生变异,克隆选择中抗体促进和克隆删除对应优化解的促进与非优化解群体更新的删除等。⑤评估新的抗体群体:若不能满足终止条件,则转向否第③步,重新开始;如果满足终止条件,则当前的满足终止条件抗体群体为问题的最佳的求解。是结束第23页计算机免疫学的应用专题网络安全病毒检测人工免疫理论的在病毒检测中的基本原则是,把计算机系统(网络系统)看做“自体”,把病毒(或入侵)看做“非自体”或者“抗原”,与已知病毒相应的可以生成“抗体”,该抗体能够识别“抗原”,“抗体”按照一定的算法进行变异和进化,可以实现免疫应答(即一次应答识别新“抗原”,二次应答识别“旧抗原”),并保持自适应性和自稳定性的特征。所以说,基于人工免疫理论的反病毒方法能够自适应识别新病毒。