防火墙阻断具有攻击性的黑客入侵,特别是能阻断拒绝服务等恶性攻击,检控主机的安全状态、数据和配置文件的完整性、防火墙管理员用户的审计跟踪、检控分析系统的活动,一方面它担负了系统受到攻击后的重要配置的自动恢复的任务,同时它担负了防火墙和入侵检测系统之间的相互锁定的防护任务,防火墙和入侵检测系统之间采用了加密的IP 隧道,该通道可以加密、加标签、认证防火墙和入侵检测系统之间的通信,这样,防止了内部网络的入侵行为:防止黑客假冒入侵检测系统对防火墙进行动作。[3]
4.2 目前基于人工免疫的入侵检测中的关键技术 借鉴生物免疫系统的原理和机制, 可以设计出全新的入侵检测系统。该入侵检测系统的构成包括自我集合的定义, 通过否定选择算法产生有效的检测元集合以及用产生的检测元集合进行入侵检测。
4.2.1 定义自我与非我( Self and Non-self) 集合 生物免疫系统将所有细胞分成两类: 自身细胞( Self) 和非自身细胞(Non-self) 。Self细胞是指自身健康、没有被病毒感染、破坏的细胞。Non-Self细胞则是指病毒、细菌等有害物质和自身被感染、破坏的细胞。同样, 对于入侵检测系统而言, 自我集合可以是指计算机系统受保护的内容, 如系统数据、程序文件等,还可以指系统可以接受的操作模式、进程调用序列和正常的网络连接模式等等, 根据入侵检测的不同需要, 可以定义不同的自我集合。
根据自我和非自我的定义, 将计算机所有可能出现的操作模式定义为空间U, 正常的、合法的、可接受的操作模式记为自我集合S, 其他记为非我集合N, 并且约定: ①U是完备的和有限元的; ②S∪N=U且S∩N=⊙。
4.2.2 有效检测器集合的产生 1、 检测器的结构
在入侵检测系统中, 检测器对应于生物免疫系统中的免疫细胞, 它是通过一个长度为L的二进制字符串来表示。规定每个检测器由4个部分组成, 分别是检测字符串、生成时间、激活域以及匹配域。其中, 生成时间用于记录检测器的产生时间, 激活域标识检测器是否被激活; 匹配域记录该检测器检测到异常的数量及时间, 如表1所示:
2、 检测器的生成
检测器的生成主要是通过否定选择算法完成的。该过程为: 在定义了入侵检测系统的自我集合( S) 之后, 对候选检器集合中的每一元素与自我集合中的全部元素逐一进行对比, 那些不发生匹配的侯选检测元素将进入有效检测器集合(R) , 而发生了匹配的候选检测将被丢弃, 即集合R中的元素不会与集合S中的元素发生匹配, 这一过程类似于生物免疫系统中的免疫细胞的自体耐受过程。该过程如图4所示。
3、 检测器的生命周期
未成熟检测器是一个随机产生的二进制串, 然后经历一个容忍期, 这个值是可调节的。若在容忍期里检测器没有因为匹配“自己”串而“死亡”( 即由新的随机产生的检测器代替) , 则变成了成熟检测器, 处于无记忆状态。该检测器或者生存给定的随机时间后, 就会由新的随机产生的检测器代替;或者检测到“非己”成为记忆检测器, 寿命就变成无限长。
4.2.3 匹配规则 目前在计算机免疫系统学的研究中有很多模式匹配的规则, 总的来说它们分为2类:基于距离测量( distance measure) 的Hamming规则和基于相似性函数( similarity function) 的连续r位匹配规则。采用连续r位的匹配规则, 根据连续匹配的位数来确定两个字符串是否匹配。当连续匹配的位数大于等于r值时, 两串匹配, 否则不匹配, 值的大小根据实际情况来定。
4.2.4 入侵检测系统异常 有效检测器集合一旦产生, 即可用来检视系统的运行状态。通过采集系统当前所产生的检测模式, 并将其与检测器集合各元素逐个进行比较, 如果出现匹配, 则证明系统当前产生了不正常的模式, 即遭受到入侵。因为自己集合包括了所有正常的模式, 检测器集合中的元素不与自己集合发生匹配, 而仅与非自我集合发生匹配。当入侵发生时, 必然出现不正常的非自己集合中的模式, 就会与检测器集合发生匹配, 如图5所示。[6] 4.3基于免疫的网络入侵检测技术算法 4.3.1系统原理 入侵检测系统(Intrusion Detection System. IDS)作为系统防御的重要手段,它在计算机安全系统中的作用与免疫系统在生物体中的作用非常类似。入侵检测系统的作用在于检测并阻止系统内外部非法用户的攻击,免疫系统的作用在于保护生物体免受外部病原体的攻击。二者的行为本质上可以归结为对危险“非我”的识别和清除。
4.3.2 AIDS系统的相关定义 定义1 自体 :基于免疫的入侵检测系统、自体可以定义为计算机之间的正常TCP/IP连接集合,可用表征TCP/IP连接特性的多元组(如源IP地址、目的IP地址、服务端口、协议类型)来表示。根据实验需要,还可以对该多元组进行扩充。
定义2 异体 : 异体是计算机间的反常的TCP/IP连接集合。
定义3 Self Non-self 假设基于免疫入侵检测系统作用在一个全集U上,U是一个由m个符号组成的字符串的集合,表示所有的用户行为和事件,且U中所有元素均为长度为L的字符串,用S表示Self 集,N表示Non-self 集,则有S∪N=U,S∩N=⊙;令m=2,即集合U是由0-1二进制串组成,这样所表示的任何串模式均可直接在计算机中存储与处理。Self串和Non-self串由长度为L的二进制串表示,这样字符串空间U中元素的个数为2L个。
4.3.3 系统的工作过程 系统首先通过一个随机过程产生候选的未成熟的检测器。这些未成熟的检测器在释放之前首先要经过负选择过程。如果有检测器与定义的自我匹配则将之丢弃,否则作为成熟的检测器加入成熟检测器集,从事实际的检测工作。在检测过程中,检测器利用适当的字符串匹配算法(如r位连续匹配算法)执行检测任务。如果一个成熟的检测器在其生命期T的时间内能够匹配到足够数量的抗原(启动阈值),检测器就会被启动;反之,认为其无效而被删除。当一个检测器启动后,该检测器就进入克隆选择阶段,并且将这些成熟的检测器添加到检测器库(类似基因库)。借鉴生物免疫记忆细胞机制,引入记忆检测器(Memory Detector)的概念,记忆检测器与普通的检测器相比较具有较小的启动阈值和较长的生命周期,它们的存在可以加速对以前出现过的异常行为的检测。
4.3.4 经典算法 阴性选择算法和克隆选择算法是该模型采用的两个重要的算法,下面对两个算法给予说明。
4.3.4.1阴性选择算法
1994年新墨西哥大学的Stephanie Forrest 领导的研究小组首先提出了免疫阴性选择算法。算法的主要思想是产生大量的对自体耐受的检测器,将非己(未授权用户、病毒等)从自己(合法用户、保护数据文件等)中区分开来。该算法分为两大过程:生成检测器过程和检视过程。该算法流程如下:
步骤1:定义一组长度为L的字符串集合S表示正常的TCP/IP集合来代表自我,用于检测。
步骤2:产生检测器集合R,依据否定选择原理,对每个检测器进行审查。审查采用部分匹配规则,即两个字符串匹配当且仅当至少r个连续位相同,其中r为参数。
步骤3:通过连续地将R中的检测器与S来比较来检测S的改变。如果检测器发生匹配,则有改变发生。
阴性算法的优点是简便、易于实现。主要问题是计算复杂度呈指数级增长,难以处理复杂问题。该算法并没有直接利用自我信息,而是由自我集合通过负选择生成检测子集,具备了并行性,健壮性和分布式检测等特点。
4.3.4.2克隆选择算法
基于克隆选择原理,该模型采用DeCastro提出的一种克隆选择算法,核心是比例复制和比例变异算子。算法流程如下:
步骤1:产生候选方案的集合S(P),基于亲和度度量确定群体P中的rl个最佳个体Pn;
步骤2:对群体中的这N个最佳个体进行克隆(复制)、生成临时克隆群体C、对克隆生成的群体施加变异操作,变异概率反比于抗体的亲和度,从而生成一个成熟的抗体群体(C*);
步骤3:从C*中重新选择改进个体组成记忆集合、P集合的一些成员可以由C的其他改进成员加以替换、将群体中的d个低亲和度的抗体以替换,从而维持抗体的多样性。
克隆算法成功应用到了二进制字符识别、多峰函数优化和组合优化中,取得了良好效果。对比遗传算法,克隆选择算法在编码机制和评价函数的构造上基本一致,但搜索的策略和步骤有所不同;而且通过免疫记忆机制,该算法可以保存各个局部最优解,这对于多峰函数优化十分重要。[8]
4.4基于人工免疫的入侵检测系统模型 4.4.1 一个人工免疫的入侵检测系统模型框架 此模型框架主要分为三个模块,即:未成熟免疫细胞模块、成熟免疫细胞模块和记忆免疫细胞模块。三个模块对应未成熟免疫细胞、成熟免疫细胞和记忆免疫细胞三个免疫细胞结合,并且在每个模块中分别实现相应的免疫功能。系统根据所要处理的信息的不同,可分为两个工作流向:一个是免疫细胞处理流向,另一个是抗原的处理流向。
该模型整体上分为3 个阶段:
1) 耐受阶段:从开始到耐受期结束时刻T。首先初始化自体集合以及未成熟免疫细胞集合,在时间T 内,如果未成熟免疫细胞与自体集合中任何一个自体发生匹配,则将被删除并重新产生一个新的未成熟免疫细胞,并再次进入上述过程。如果未成熟免疫细胞在耐受周期内耐受成功,就变为成熟免疫细胞。
2) 学习阶段:从T+1 时刻开始,成熟的免疫细胞通过克隆选择,生成能识别大量不同非自体抗原的记忆细胞,添加到记忆免疫细胞集合中。那些通过记忆免疫细胞模块和成熟免疫细胞模块检测被分类为自体的抗原最后被送到未成熟免疫细胞集合再进行耐受。成熟免疫细胞与未知的抗原进行匹配,如果在成熟免疫细胞生命周期内,它的累积匹配次数超过了激活阖值,就会激活,最后这个成熟免疫细胞也就变成了一个记忆免疫细胞。
3) 检测阶段:抗原由系统进行获取,然后按照免疫细胞和抗原的工作流程不断循环运行,系统动态运行检视当时网络状况,直到系统结束运行。
未成熟免疫细胞模块、成熟免疫细胞模块和记忆免疫细胞模块具有动态性,保持自动更新,使系统具有良好的自适应性和自学习能力。
1、记忆免疫细胞模块
该模块主要是对输入的抗原进行检测,以达到二次应答的目的, 并将无法检测的抗原提交给成熟免疫细胞模块。该模型中认为记忆免疫细胞具有无限长的生命周期,除非它检测出自体细胞被删除或系统结束运行。因此,记忆免疫细胞模块需要实现以下几个工作步骤:
1) 抗原与记忆免疫细胞模块中的抗体进行匹配。如果匹配成功,则进行第2 步,否则,将抗原提交给成熟免疫细胞模块处理。
2) 判断该抗原是否属于当前自体集合。如果属于当前自体集合,则进行第3 步;否则,认为该抗原是入侵抗原,将其删除。
首页 上一页 1 2 3 下一页 尾页 2/3/3 相关论文
首页 上一页 1 2 3 下一页 尾页 2/3/3