基于免疫的入侵检测模型与通信应用研究
扫描二维码
随时随地手机看文章
关键词:人工免疫系统;入侵检测;无线通讯网络
1. 引言
本文提出一种在计算机系统操作中使用的针对网络入侵的安全检测法。算法结合了自然生物免疫系统的原理。论证部分详细描述了怎样提取人类免疫系统的特点来应用于入侵检测系统的程序,同时依靠日志文件来辨别非法入侵。它通过简化邮件日志和存取记录,有效的提高了系统的适应性和鲁棒性。由于减小了日志文件容量,因此算法具备相当大的灵活性,可应用于无线通讯系统,这点在本文也有论述。
2. 生物免疫系统简介
在自然生物体中,免疫系统是一个由器官和细胞组成的复杂网络,主要功能是保护有机体本身免于外来微粒侵害。免疫系统的本质特点是区别自我基因和非我基因。有机体的每个细胞拥有自己的结构, 被辨认为自我基因。另一方面,外来有机体分子被定义为非我基因。这些免疫系统的器官称为淋巴腺器官,他们与淋巴细胞的产生与生长有密切关系。下面我们给出一些术语的定义
淋巴细胞――淋巴细胞是小个体的白色细胞,负责完成各种免疫系统的功能。淋巴细胞可分为两中类型:B细胞, T细胞。
抗体――抗体是一种免疫球蛋白分子结构。主要具体表征了各种防御功能,比如对微生物,对细菌等抗原的反作用。
先天和后天免疫――当生物体感染疾病,B细胞和T细胞被激活同时保留对一些抗原的记忆性。当生物体再次面对同样抗原时,免疫系统将辨别并迅速破坏从而获得后天免疫。初生婴儿拥有从母体继承的先天免疫系统。
在将计算机安全与生物免疫学进行类比的基础上,S. Forrest等人最早提出了计算机免疫学的概念[1],并将其应用在入侵检测的研究领域。迄今为止,国内外越来越多的人研究如何有效地将免疫学的思想应用到入侵检测系统中,并且取得了一定的进展。实际上,免疫系统和计算机安全系统之间有着巨大的相似性。免疫系统保护生物体免受病原生物破坏,而计算机安全系统类似的保护计算机免受用户恶意攻击。基于人工免疫的入侵检测正是借鉴了许多生物免疫系统的显著特性,如分布性,多样性,自动应答和自我维护等。两者之间的关联列举如下图所示
图1 自然生物免疫系统与人工免疫系统对比
3. 入侵检测和人工免疫
入侵类型可被分为:1) 非法入侵,利用系统缺陷进行攻击的行为;2)异常入侵,指背离系统正常使用的行为。入侵检测系统(IDS)正是一种针对这些攻击反应的安全工具 [2] 。早期的入侵检测系统(IDS)注意力集中于日志文件和注册表的分析, 由操作系统或其它一些应用程序执行。在本文中我们选择UNIX系统中程序执行过程的日志文件进行分析。我们将采取由文献[3]所提出的程序结构的变化形式。在人工免疫系统中, 我们认为主机中的每则邮件消息对应于单个细胞。由于在任何时刻,主机都可能有大量不同的邮件信息。因此主机可被定义为一个多“细胞”的“有机体”。在这样一个主机里,存在一种作用类似于“淋巴细胞”的程序来标记各种邮件消息,比如“非我元素”。这种免疫系统是由邮件扫描程序(“淋巴细胞”)和病毒定义文件(“疫苗”)所构成。与生物体相同的是,当某则邮件消息的功能被认为改变以后, 该邮件即被辨认为“已感染”。
计算机免疫系统被划分成固有和衍生免疫系统。固有免疫系统是一个Unix 的根文件的组成部分, 类似于记录文件读取和存取状态的档案,这一档案建立在系统安装期间。但这种消极免疫措施在计算系统内持续仅仅几个小时。因此有必要在操作系统安装之后, 计算机建立一个更健全的补偿免疫系统。补偿免役可由管理员实行操作。在执行了补偿免疫措施后,计算机便开始汇总并发展获得性免疫系统。免疫程度和时限则取决与参数描绘文件。(即, 服务的UNIX 服务器窗口工作站通过POP3 服务也许接受邮件与被传染的文件附有这些电子邮件) 。对某些服务进程的限制访问方法转移为采用TCP Wrapper,以此实现滤波功能,起到类似于“免疫球蛋白”的作用。注意TCP和UDP代表了“人工生物体”的入口,被主机中的各种服务进程所使用。
人工免疫系统通过名为LogCheck [3]的软件来实现这一功能。LogCheck充当一个类似于T细胞角色的软件,完成过滤主机内程序注册,同时生成递交给管理员的日志记录等任务。而具体区分对应于自我或非我程序结构则根据以下四个准则:
logcheck.hacking ――该文件由抗原组I类的关键词组成,它的生成将导致免疫回答系统;
logcheck.violation――该文件包含描绘抗原组II类的关键词,并且实现了辨别抗原的代码;
logcheck.violations.ignore――此文件用来识别上一文件中关键词的反义词;
logcheck.ignore――该文件标识了代表无碍主机安全的关键词。
4. 在无线通讯网络中的应用
在这一节中,我们扩大之前描述的入侵检测系统应用至移动电信领域,并详细列举入侵检测模型的系统范例。在本文里, 我们使用Z规格语言来描述人工电信免疫系统的主体部份, 以及一些图解示例。在设计过程中,基于状态和系统操作的定义,入侵检测模型使用了状态机范例。我们采取标准规范化的数学符号来描述各种模型静态和动态。其中模型静态包括以下特性: (i)可使用的状态(如电话记数器状态), (ii) 当系统进行状态转换时,被维持的程序。我们提议的模型动态方面有: (i) 所有可能的操作, (ii) 发生在系统声明之内的状态变换。在我们的入侵检测和电信免疫系统里,每个通话过程被定义为一个“细胞”单位,同时被监测注册用户电话被视为由多细胞组成的“生物体”。用户模式可以作为固有免疫系统。为了实现获得性免疫系统,我们使用“淋巴细胞”的模型作为电话总机来监测注册用户。初始的“淋巴细胞”辨认合法的电话注册用户,然后当有能力查出新的入侵的其它“淋巴细胞”可替代初始值。在这个模型里, 自我基因组将由注册用户定义,通常是已经输入系统并被使用于辨认正常操作过程, 而非我基因代表用户注册,则被用于辨认恶意入侵者。
给定一个全集U,代表所有的通话。那么U含有两个子集合,S(自我)和N(非我)并满足一下两个关系式:
入侵检测模型的域D可以用来划分任意一个通话c的类型, 是正常通话,或者 属于匿名通话。由于我们对于将来可能发生的入侵事件无法知获,因此利用如下的预测模型:
其中M是电话通话的集合,而f则是区分自我与非我的映射 。
运用笛卡儿乘积后,在任何一个时刻里,我们可以获取用户无电话记录,有效电话的记录, 无效电话的记录,或者所有包括有效和无效电话的记录。因此,我们说如果 是属于类型 里的n个元素,那么排序后的 则是属于类型 里的一个元素。因此我们推论 是自我如果 ,否则为非我。
对以上描述的模型中, 我们只对辨认电话产生兴趣。因而, 我们标识所有电话集合作为基本类型, 同时我们定义一个电话标识符CALL_ID,其Z 语言的图解类型如下:
5. 实验结果
在实验系统的设置中,在使用不同操作系统的二个主机里分别安装了软件LogCheck。主机特征如下:PC1――Sun服务器以及Solaris OS;PC2――IBM PowerPC服务器是, 使用AIX 操作系统。两台服务器均提供以下服务: DNS, SMTP, POP3, FTP。活动在这些服务器里被连续监测了五个月,信息量包含在这个集合里是相当大的。在图1中我们获得了PC1 的结果。图2则显示了PC2的结果。结果表明, 我们的模型帮助服务器极大减少了用户注册输入的数量。这样一个结果将对日志文件的大小有着深刻的影响力,从而也提高了入侵检测的鲁棒性。
在监测系统和收集注册信息期间,管理系统生成了对应于侵害安全和异常的事件的报告。管理员将接受一个电子邮件形式的通知,内容都是针对非我基因的活动的报告,由于日志量减少,因此也减少了管理员的安全管理工作量,从而可以更专心的对入侵事件采取措施。数据见图3和4。
图表 4 PC1上的入侵检测次数 图5 PC2上的入侵检测次数
6. 总结
本文描述了一种新颖的可应用于计算机和无线通讯网络的入侵检测模型。算法的核心思想是先标识出计算机和电信系统中的重要服务进程,然后通过监测其使用状况来寻找异常入侵和非法入侵。在此基础上,我们讨论了一种有效可靠的管理系统的设计与实现,该设计通过精简管理日志文件的内容,使得入侵检测模型的目标范围更加集中,从而提高整个系统的鲁棒性。实验结果表明,本文理论可以很好的应用于网络入侵检测系统之中并提高系统整体功效。