2.3 三级模块式自适应检测系统模型结构设计
在设计时主要模拟了危险模型中3个基本信号和抗原提呈细胞的生物学概念及功能,并利用免疫独特型网络和数据融合算法进行实现,构成了基于免疫的三级模块式自适应检测系统(immune-inspired three-level-module adaptive detection system, ITADS)模型,以下简称为三级模块式检测系统。
2.3.1 三级模块式检测系统模型的结构及实现方法
依据危险模型设计并实现的三级模块式检测系统如图2-3所示,主要由三级模块构成:多变异模式独特型网络检测模块、模板可调式APC融合模块和自适应响应模块。
图2-3 基于免疫的三级模块式自适应检测系统结构图
第1级是多变异模式独特型网络检测模块(multi-mutation-pattern idiotypic network detection module,以下简称为MIND模块),由一组检测器构成。该模块的功能模拟了信号1(抗原识别信号)的作用,用于区分正常和异常行为,并给出相应的检测信号。检测器的设计采用的是模式识别方法,即将所有行为视为正常和异常两类,通过对正常和异常行为的学习,利用模式匹配将待测试行为的类别属性确定出来。这种方法结合了异常检测和误用检测两种方法,有助于改善检测性能。
第2级是模板可调式APC融合模块(template-adjustable APC fusion module,以下简称为TAF模块)。该模块的功能模拟了抗原提呈细胞APC的关联功能,借助一种数据融合算法——决策模板算法得以实现。其中,本级模块输出的检测信号模拟的是信号2(协同刺激信号),用于启动下一级模块。系统出现异常时检测到的信号模拟的是信号0(危险信号),当系统不能根据已有知识进行检测时,可以依据此信号作出判断,即有危险信号就认为是异常行为,否则就认为是发生了变化的正常行为。决策模板算法用于关联上一级模块产生的多个检测信号,为了实现对危险信号的关联,对决策模板算法的融合结果重新进行了定义,见2.3.4节。
第3级是自适应响应模块(adaptive response module,以下简称为AR模块),该模块的功能模拟了免疫响应的作用。在免疫学中,免疫响应用于大量产生抗体以杀死入侵的病毒和细菌。对于一般的检测系统,不需要对异常作深入处理,因此本级模块首先要实现的功能就是报警。除此之外,该模块还用于对系统进行在线调整,即学习新的正常和异常行为模式以适应变化的环境,使得本章设计的检测系统不再需要定期更新,而且能够提高对未知异常行为的检测能力。
总之,仿照危险模型提出的三级模块式检测模型的特点在于:第一,对于难以给出检测结果的情况,如已知行为的特征发生变化或出现新的异常行为,本系统将危险信号作为是否报警的依据。这样做的结果是,一方面可以起到减少误报、增加检测准确度的作用,另一方面可以增强检测未知异常行为的能力。第二,系统实现了在线调整,可以实时学习新出现的正常和异常行为特征,能够自动适应环境的变化,不需要定期更新。
为便于表述和理解,下面首先将提出的三级模块式检测系统模型与危险模型中的相关生物免疫学概念进行对照,以便进一步说明本章的设计方法。
2.3.2 三级模块式检测系统模型与危险模型的概念对照
三级模块式检测系统模型与危险模型中的相关免疫学概念对照如表2-1所示,从中可清楚地看出本书所借鉴的免疫学概念和原理。
表2-1 三级模块式检测系统模型与危险模型中的免疫学概念及原理对照表
在表2-1中,危险模型中各信号的概念及功能参见2.2.2节。三级模块式检测系统模型中含有3种信号:初级检测信号、最终检测信号和危险信号,分别与危险模型中的信号1、信号2和信号0相对应,其基本工作原理也是按照相应的免疫学原理进行设计的。
虽然提出的检测系统模型是按照危险模型中的免疫学概念和原理设计的,但是为满足各种检测的应用需求,本章对危险模型中的信号1、免疫响应操作和危险信号的作用重新进行了设计。
第一,本章采用模式识别的方法来实现初步检测,因此初级检测信号有两种:正常和异常。而如果按照危险模型的信号1来定义,则MIND模块的输出结果只有一种信号,即指示出现异常。然而,这种检测方法相当于基于异常的检测方法,误报率高。
第二,本章为正常和异常行为设计了不同的响应操作,ITADS将根据TAF模块发出的最终检测信号来启动适当的响应。而在危险模型中,免疫响应操作总是产生大量抗体以将入侵的抗原消除。
第三,在本章提出的ITADS模型中,危险信号仅仅是启动对未知异常行为进行响应的控制信号。也就是说,对于已知的异常行为,根据其行为特征就可作出准确判断,从而立即启动对异常行为的响应,不需要等待危险信号的刺激。但是对未知异常行为,系统无法作出明确的判断,因此需要依靠危险信号。这与在危险模型中危险信号负责启动免疫响应的作用不同。这样设计的目的在于加快系统对已知异常行为的响应速度,从而降低由异常行为带来的损失。
2.3.3 系统的第一级模块——多变异模式独特型网络检测模块
本级模块包括若干个检测器,用于对待测试数据进行初步测试。本章采用Giacinto [170]给出的方法,将需要检测的特征分组进行测试,让每个检测器负责检测其中的部分特征,这样所有检测器可完成对整个特征空间的检测。由于这里的检测器采用模式识别的方法,从而将检测问题转化为对正常和异常这两类行为模式进行识别的问题。因此,检测器的工作过程可分为两个阶段,第一个是检测器的训练阶段,使检测器学习已知正常和异常行为的特征,具备对这两种行为模式的识别能力。第二个是检测阶段,将待测试的行为特征与已知特征进行比较,得出检测结果。
每个检测器的输入是经过提取并分组的行为特征。检测器会根据检测结果给出初级检测信号:正常或异常,这些信号会被本级模块转换成对应的行向量输出到下一级模块。
由于具有学习和记忆能力,神经网络广泛用于模式识别的应用。但大部分神经网络一旦训练完成并投入使用,除非重新训练,否则很难改变或得到及时调整。因此在用作检测器时,意味着需要定期更新,否则无法完成对新特征尤其是新异常行为的学习。因此,本章经过分析和实验验证,最终选择由人工独特型网络来实现检测器,从而提出了多变异模式独特型网络自适应检测器。由于人工独特型网络除了具有学习和记忆能力之外,自身还具有动态调整能力,可通过在网络中生成对应抗体来实现对新数据特征的实时学习,因而不再需要定期更新,使据此实现的检测器能够适应变化的工作环境。详细说明将在第3章给出。
2.3.4 系统的第二级模块——模板可调式APC融合模块
本级模块模拟APC结合多种信号的能力,用于对初级检测信号以及危险信号进行关联,并据此给出最终的检测信号。本章采用了决策模板算法[171]来实现对初级检测结果的融合。由于本章将危险信号作为识别未知异常行为的依据,因此对决策模板算法的融合结果重新进行了定义,增加了可疑信号,以便能够利用危险信号。
检测前,预先根据已知的正常和异常行为特征建立检测模板。检测时,首先将接收到的来自上一级模块的初级检测信号进行融合以构建当前行为的决策轮廓(decision profile),然后将其与两个检测模板分别进行比较,根据比较结果可得到3种信号:正常、异常和可疑。这里给出了这3种信号的定义,如定义2.1所示。
定义2.1 设正常和异常行为的模板为DT1和DT2,当前数据的决策轮廓与DT1和DT2的相似度分别为S1和S2。
如果S1,S2<St1或者d=|S1-S2|<St2,则Fout=SS;
如果S1,S2>St1,d>St2,且S1>S2,则Fout=SN;
如果S1,S2>St1,d>St2,且S2>S1,则Fout=SA。
其中,Fout为融合结果,SS、SN和SA分别代表可疑信号、正常信号和异常信号。St1与St2为两个相似阈值,根据它们所起的作用,一般St1在0.5以下,St2在0.5左右,具体值可在检测系统投入使用前通过实验选取。它们的值越大,产生的可疑信号就越多。如果检测模板比较准确,则它们可取较小的值。4个参数DT1、DT2、S1和S2的详细计算方法将在第4章给出。
当决策轮廓与两个模板的相似度都比较低,或者与两个模板的相似度值比较接近时,将产生可疑信号。而决策模板算法原来的定义方法总是选择与当前轮廓相似程度最高的模板的类别作为最终结果,因此不会产生可疑信号。对于行为特征经常发生变化的环境,此方法很难保证结果的正确性。
本级模块向下一级模块输出的最终检测信号有两种:正常和异常。当Fout为SN和SA,即融合结果为正常和异常信号时,说明当前行为轮廓与正常或异常模板的近似程度比较高,模块可据此直接给出最终检测信号。而当Fout为SS,即融合结果为可疑信号时,说明行为轮廓与已知模板相比得不到明确的结果,模块需要根据危险信号进一步判断。如果有危险信号,模块将输出异常信号;否则就输出正常信号。
通常在出现未知异常或已知行为发生较大改变时,多数会出现可疑信号,此时危险信号可以帮助系统作出正确判断。理论分析表明这种方法有助于降低误报率和漏报率,增加检测的准确度。
2.3.5 系统的第三级模块——自适应响应模块
本级模块的任务有两个:一是发出报警信号并给出该行为的特征信息;二是用当前数据调整检测系统。系统的在线调整包括两个方面,一个针对检测器;另一个针对检测模板。
在第一级模块中采用人工独特型网络实现检测器,已在检测的同时通过生成抗体完成对新数据的学习,使检测器获得实时调整。检测模板的在线调整是指系统可以将新出现的正常和异常特征加入对应的行为模板中。为实现这个目的,这里对Kuncheva提出的决策模板算法[171]进行了改进,提出了模板可调式自适应决策融合算法,有关该算法的详细说明将在第4章给出。按照该自适应决策融合算法,检测系统可及时根据新的行为特征调整对应检测模板。当该行为再次出现时,由于其特征已知,因此系统会迅速给出检测结果,而不必再依赖危险信号。这种方法的好处是既提高了检测的准确度又加快了系统对异常作出反应的速度。
根据上一级模块发出的最终检测信号,本级模块将启动对应的操作。也就是说,对于异常信号,响应操作包括发出报警信号,并用当前数据调整检测器和异常模板;对于正常信号,响应操作为用当前数据调整检测器和正常模板。