第6讲 免疫系统与异常检测.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第6讲免疫系统与异常检测
学习目的:了解基于免疫系统机理的异常检测方法基本思想,以及免疫系统在计算机安全中的应用
学习要点:基于阴性选择算法的异常检测算法,阴性选择算法在计算机安全的应用,危险理论在计算机信息系统安全的应用
内容概述:免疫系统的能力之一是区分自己和非己物质。免疫系统的这个核心机制在人工免疫系统中经常用于异常检测。应该注意免疫系统远不是一个简单的基于异常检测和应答的系统,但可看作一般的、分布式的模式学习系统。这里异常检测是一个广义的概念,泛指对偏离各类不同系统所定义的正常状态的现象和行为的监测、发现和处理,包括后面提到的故障与错误检测、故障耐受、故障诊断、异常变化检测(如设备磨损)等。
随着研究不断深入,人工免疫系统在不同领域的应用日益广泛,其中众多的人工免疫系统开发与应用都试图实现免疫系统对病毒等病原体的高超地识别和抵御能力,在各类人工甚至自然系统中实现对异常现象的自动发现、及时处理。典型的有计算机安全[1][2][3][4][5][6]-[20]、基于免疫原理的工业装备、设施的故障诊断[21-31]、故障检测[32-35]、故障耐受[36]、、保安系统[37]等,涉及的行业包括通信[38][39]等不同领域。这些应用所利用的免疫学原理主要是阴性选择、克隆选择、免疫网络等理论也得到一定应用,树突细胞[40][41]、APC[42]等免疫细胞机制也逐渐得到重视和应用。基本的免疫学隐喻思想在一些应用中也很受重视。本章主要介绍比较典型的人工免疫异常检测理论及应用研究,包括阴性选择算法、危险理论、免疫故障诊断、基于免疫的计算机安全系统等。图15.1给出了基于人工免疫系统的异常检测方法实现的基本思路。
图6.1 人工免疫系统异常检测实现思路
6.1 阴性选择算法
6.1.1 基本定义
经常用到的几个概念的定义:
定义6.1 阴性选择算法是基于阴性选择原理开发的免疫算法。
定义6.2 自己在免疫学中是指人体本身具有的各种分子、细胞。在异常检测情况隐喻为被检测系统的正常状态或系统本身的组件。
定义6.3 非己在免疫学中是指不属于人体本身具有的各种病原体。在异常检测情况隐喻为被检测系统的非正常状态或不属于系统本身的组件。
定义6.4 形态空间是免疫算法编码实现的空间。
定义6.5 空洞是指阴性选择算法检测器在形态空间中不能检测到的异常区域。 15.1.2 问题描述[43]
异常检测过程在免疫学中目的是识别问题空间中的一个新元素为自己或非己。问题空间可称为n x x x S ⨯⨯⨯=...21,其中一个n 维数值向量空间,其中i x 是第i 个属性。正常样本或者自己和异常样本或者非己是S 的子集,所以S self ∈,以及S nonself ∈。
一个点S p ∈,其中},{nonself self p ∈是一个n 维数值向量。属于自体的元素表示为
'S ,'S 的互补空间,非己空间定义为N ,实数情况下,每个属性正规化到[0.0,1.0]中,
n n S ℜ⊆∈]1,0[',S N S =⋃',Φ=⋂N S ' 。
给定问题空间,对异常检测,特征函数为
⎩⎨⎧=N 0
1
)(j self e (6.1)
用于区分自己和非己。目标在N 中发现一个检测器集合,尽可能多的匹配非自体字符
串,不匹配任何S 中的自体字符串。
设D 为检测器集合和每个集合元素匹配S 的一个子集。|D |越大在如下约束下产生的覆盖效果越好:
Y D
d d imiz
e ∈⎰max (6.2)
Y D
d S d imiz
e ∈⎰⋂)(min (6.3)
失败概率f P 定义为随机非自体字符串不被任何R 中检测器匹配的概率。 匹配概率m
P 定义为随机选择的字符串和检测器匹配根据特殊匹配规则匹配的概率。
图15.2给出更清楚的例证[43]。
'S p j ∈ N p j ∈
图6.1 字符串及其关系
6.2 阴性选择算法
6.2.1发展与研究概述
自己和非己之间的区别被认为是复杂免疫系统中的主要机制之一。免疫阴性选择机制不仅用于机器学习,更重要的是用于异常检测,尤其是计算机安全。人工阴性选择方法是自己/非己区别的计算模拟之一,首先设计用于变化检测。美国计算机安全专家Forrest最初在与免疫学家的合作研究中,受到该现象启发,首次提出了阴性选择算法[44]。因此,阴性选择算法最初指的是Forrest提出的算法,目前指代一类基于阴性选择机制及模型的算法。为了将多种阴性选择算法及模型区分开,本章将Forrest提出的阴性选择算法称为基本阴性选择算法。
Forrest的研究小组和Dausgupt等其他研究人员对该算法进行了大量研究和改进。多年以来,基本阴性选择算法已经在许多不同中模型使用。尽管有多种改进措施,但基本阴性选择算法的主要特征仍然存在。主要集中在自己非己匹配机制、检测器产生和表示方法、检测器覆盖性能等方面,并用于异常检测、故障诊断等问题[45-50],成为人工免疫系统的一个重要研究方向。
阴性选择算法的组成包括数据空间表示、检测器表示、匹配规则、检测器产生/清除机制。与不同策略的结合(包括与阳性选择等其他方法的结合)也是阴性选择算法发展的重要内容。数据表示是多数此类模型和算法之间的基本区别,它决定和限制可能的匹配规则、检测器的产生机制以及检测过程。匹配规则是阴性选择算法中的重要部分,它针对一个数据如何被认为发生匹配或者被检测器识别的问题给出定义,反过来使用何种匹配规则又依靠数据项和检测器的表示法。大量免疫启发的异常检测系统的研究成果表明免疫方法在某种程度上是有益的,比如对已知和未知网络入侵的检测。但是,由于表示法(二进制等)及相应匹配规则等的缺陷,导致该类方法计算效率问题比较突出。为此,多种不同的表示法及匹配规则开发出来,如R-块规则,以及由海明形态空间改进到更有效的实数形态空间等等,使算法计算效率得到提高。
阴性选择算法的关键问题是要能够产生足够多的覆盖非己空间的检测器,相当于免疫系