一种类似生物免疫机制的入侵检测方法

文档序号:7627609阅读:171来源:国知局
专利名称:一种类似生物免疫机制的入侵检测方法
技术领域
本发明是一种类似生物免疫机制的计算机安全解决方案。该方案主要用于解决入侵检测系统中的所采集数据的智能化分析,包括对主机审计数据和网络数据包的分析处理方法,属于计算机软件安全技术与人工智能技术的交叉技术领域。
背景技术
计算机系统安全一直是计算机专家所关注的焦点。传统计算机安全防护体系依赖三个前提(1)、必须有完全正确的系统实现策略;(2)、在此实现策略的指导下正确的实现该系统;(3)、系统在使用的过程中必须被正确的配置。这些前提在理论上是完全正确的,但是在实际应用过程中几乎是不可能的,任何人不能保证其任何一个环节是完全正确的。在现实情况下,无论是主机环境还是网络环境中,首先其系统实现的策略就会包含一定的漏洞,然后安全防护系统在实现此策略的时候又会出现实现上的漏洞,最后这些安全防护系统又经过一些有漏洞的配置和一个几乎完全动态的多用户使用过程。如此反复,致使安全防护系统总存在一些漏洞。
为此,计算机安全专家提出各种实用的安全防护机制,不仅包括加密、数字签名、访问控制、鉴别与授权、安全审计等技术,还包括入侵检测系统、防火墙、诱骗服务器等应用系统。其中的入侵检测系统作为一种积极主动的安全防护技术,提供了对内部攻击、外部攻击和误操作的实时保护,在系统受到入侵之前进行拦截和响应。
通常我们认为一个优秀的入侵检测系统的设计应该满足三个目标分布式、轻量级和自组织。而目前的入侵检测大多采用行为统计、专家系统、神经网络、模式匹配、行为分析等技术,分析事件的审计记录、识别特定的模式、生成报告并最终分析结果。但是由于计算机系统的发展,多操作系统的出现,计算机网络的发展,尤其是分布式系统的应用等等所带来的系统本身的灵活性、多样性、复杂性以及异构性,使得在对行为特征进行提取时,很难提供确定的统计模式,即使专家系统提供的知识也带有模糊性、随即性、不确定等因素。入侵检测系统的发展迫切需要新技术手段的出现,特别是智能信息处理技术,而生物系统给了我们很多关于信息处理的启迪。
生物系统中的信息处理系统部分可分为脑神经系统(神经网络)、遗传系统(进化计算)、免疫系统(人工免疫系统)和内分泌系统。免疫系统与神经系统相似,可以学习并记忆新的知识,同时免疫系统的学习过程还借鉴了遗传系统的进化机制。
生物免疫系统是复杂自适应系统,它能有效的使用多种机制防御外部病原体。生物免疫系统与计算机安全与所遇到的问题有着惊人的相似,两者都需要在不断变化的环境中维持系统的稳定性。生物免疫系统是多层次的,这与目前的计算机安全采用多层次的防护机制完全一致。生物免疫系统主要包括固有免疫(先天的)和获得性免疫(后天的)。固有免疫包括类似于计算机安全中物理连接的皮肤、类似于密码与访问控制的体液(主要是唾液、汗液、眼泪等)、类似于防火墙和杀毒软件的分布于组织和体液中的吞噬细胞(主要是噬菌细胞)。后天免疫包括类似于入侵检测系统的由淋巴细胞(主要是B细胞和T细胞)所构成的适应性免疫系统。而这种后天获得的个体自适应免疫能力正是目前的入侵检测系统所缺少的。
从信息处理角度来看,入侵检测的数据分析部分可看成一个识别自我和非我的过程。而生物免疫系统能够有效检测病菌,并以最小副作用方式清除病菌。免疫活动的本质是自体定义过程,持续不断的检测自己,区分自体与非自体,保持自身信息与特质。这种自体定义并不完全由自身信息所决定,而是反应了对环境的某种开放程度,这也是复杂适应系统的特征之一。
免疫系统具有以下优良特征耐受性、学习和认知、分布性、鲁棒性、适应性和自组织性等。计算机免疫学是基于生物免疫系统的基本原理的一种新兴的智能信息处理方法,在计算机网络安全、模式识别等领域中具有广阔的应用前景。
本发明提出一种类似生物免疫机制的入侵检测方法,将生物免疫系统中的获得性免疫(后天的)的基本原理应用到入侵检测系统中,从而有效解决其极大数据量信息的智能化分类识别处理。

发明内容
技术问题本发明提出一种类似生物免疫机制的入侵检测方法,针对主机数据源或网络数据源,实现数据采集、特征提取、入侵判定以及响应的全过程。依据本方法可以实现一个分布式、轻量级、自组织的入侵检测系统。
技术方案本发明是一种新型入侵检测方法,其核心思想是借鉴生物免疫系统的工作原理来实现入侵检测,其可适用于主机入侵检测和网络入侵检测。本发明的类似生物免疫机制的入侵检测方法首先获取包括主机审计数据和网络数据包数据的检测数据源,并将其特征格式化为长度为L的二进制字符串,接着根据已有的正常情况下的数据源产生用于检测的检测器集合;最后使用检测器集合对实时数据进行异常检测。所采用的字符串长度L依据所采集数据源的来源而确定。检测器集合的生成步骤为1).首先将已有的系统正常情况所采集的数据源格式化为一定数量且长度为L的自我字符串集合S;2).接着采用随机方法产生随机字符串R0;3).然后将随机字符串R0与自我字符串集合S中的每一个自我字符串进行模糊匹配,如果匹配成功,则将该随机字符串R0丢弃,如果匹配失败,则将该随机字符串R0放入检测器集合R中。
自我字符串集合S,随机字符串R0,检测器集合R中的字符串长度均为L。随机字符串R0采用伪随机函数生成,该字符串R0也可以采用与已生成的检测器集合相关联的进化算法,以得到更好的检测效率。模糊匹配规则为一种非精确匹配,其可以是Euclidean距离、或Manhattan距离、或Hamming距离或者r连续匹配等模糊匹配规则,凡可用于衡量两个字符串之间的相似程度的匹配规则均可适用。
异常检测的检测步骤为首先将待检测的数据,包括主机审计数据和网络数据包格式化为长度为L的二进制字符串s;接着将此二进制字符串s与检测器集合R中的每个检测字符串进行模糊匹配,如果匹配成功,则说明出现异常,如果匹配失败,则说明未出现异常。
模糊匹配规则是一种非精确匹配,其可以是Euclidean距离、Manhattan距离、Hamming距离或者r连续匹配等模糊匹配规则,凡可用于衡量两个字符串之间的相似程度的匹配规则均可适用。检测集合中的检测字符串的数量与实际异常检测所需要达到的精度和效率成正比关系。
有益效果本发明提出一种类似生物免疫机制的入侵检测方法,主要用于计算机安全中的异常检测,通过使用本发明所提出的方法可以实现一个轻量级的、分布式的、自治的入侵检测系统。同时,还能获得总多其它优良特性,下面给出具体说明。
轻量级检测器集合的生成和异常检测所采用算法的时间复杂度和空间复杂度低于一些重型入侵检测系统所采用的特征模式对比算法,传统采用特征模式对比来进行检测,其所采用的特征模式差异较大,且随着攻击手段的日益增多和智能化,所需要的特征模式也越来越多,其算法所需要的存储空间和执行时间也日益增加。而本发明所采用简单的二进制字符串进行模式表达和异常检测,其空间时间复杂度远低于传统检测方法。
分布式本发明所提出的方法在网络环境中的各个节点安置检测器集合,分别检测其自身产生的主机审计数据和往来的网络数据。更进一步而言,本发明所采用的分布式结构与传统的分布式入侵检测系统所采用的结构并不完全相同。其各个节点是相对独立的,所使用的检测器集合可以各不相同且其使用的检测器字符串可以互相交流。由于工作负载分布在不同的多个工作节点上,系统的工作效率得到有效的提高。而且系统中并没有传统入侵检测系统中的中心控制节点。
自组织各个检测节点所采用的检测器集合能够自行进化,检测器集合一直处于动态的变化当中。一些长时间未得到匹配的检测字符串将自行死亡,一些频繁被匹配的检测字符串将自动延长生命周期,并且检测器集合还不断的补充新的检测字符串。系统能够在离开平衡状态后,实现从一种序到另一种序的演变,如此可以尽可能的减少外界的管理和维护。
多样性本发明中各个节点所采用的检测器集合是多样的,这点与传统的分布式入侵检测系统中各个节点使用相同的特征库完全不同。如此,可以极大的提高整个相同的多样性,以远低于外部可能攻击种类数量的多个动态检测器集合去实现高效的异常检测。虽然某一时刻只有较少的检测器集合覆盖率,但是从宏观上看,在一段时间内,整个系统具有数目巨大的检测器,均匀分布在整个检测空间中,能够尽可能的完成对异常情况的检测。系统通常不会对某种异常特征出现群体性的检测失效,系统中总会有节点在一段时间后检测出此类异常。
鲁棒性系统没有中心控制节点和单点的失败,个别节点的失败对系统整体的影响很小,一些分类或者应答错误不会构成灾难性的后果,相对于传统的分布式入侵检测的中心控制节点的脆弱性和节点的单点失败而言,本发明具有更强的鲁棒性。
自适应本发明具备一定的学习能力,在进行异常检测时,如果待检测数据源与检测器集合中的某一条检测字符串出现频繁的匹配,则将该检测字符串的生命周期大大延长,即对频繁出现的异常情况会产生有一定的记忆,加快以后再次出现该异常情况下的检测效率,此特征与生物免疫系统中的二次应答类似。另外本发明所提出的系统还具备对未知入侵手段的检测能力,由于进行异常检测时是使用经过自我耐受的检测器集合进行检测,即大概与自己不太相似的异常都能检测出来,此方法与传统的入侵检测系统使用已有的入侵手段的特征库来进行模式匹配有很大的不同。
值得注意的是,本发明所采用的异常检测方法本质上还是一种概率检测方法,有一定的检测漏洞,其根本原因是所需要检测的攻击方法空间远大于检测器集合所能够覆盖的空间。不过通过检测器集合生成的方法设计和异常检测的适当参数设计可以使得检测漏洞尽可能的少。
熟悉入侵检测系统的一般技术人员将能够认识到数据源的模式表达,检测器集合的生成方法,异常检测所采用的匹配方法,检测算法所采用的参数之不同设计等等并不背离本发明。熟悉此项技术者将从先前描述、图式及申请专利范围中认识到一些尚不背离以下申请专利范围中所定义之本发明的范畴而对本发明进行修正或改变。


图1为入侵检测系统的一般体系结构。
图2(a)为入侵检测数据源的二进制格式化示意图,图2(b)为网络数据包的特征二进制格式化示意图,图2(c)为主机审计数据(以系统调用为例)的特征二进制格式化示意图。
图3为检测器集合生成的步骤流程图。
图4为异常检测的步骤流程图。
图5为网络环境下各个主机的检测器集合分布情况。
具体实施例方式
该检测方法是一种智能化方法,如图1所示,其数据分析与底层的数据源采集层和上层的应用系统表示层相对独立,可适用于多种数据源的异常检测,包括主机审计数据源和网络数据包数据源。
本发明包括入侵检测系统的系统架构、各个组成部件的具体功能、入侵检测的工作流程以及所采用检测算法中的数据采集、模式表达、特征提取与匹配规则等等。
入侵检测系统的一般架构如图1所示,大致可分为三层底层的数据源获取,中间层的数据分析和上层的人机界面与响应。底层的数据源获取主要有两种来源网络数据包和主机审计数据。该层主要负责将获取的数据源进行一定的格式化以形成中间层数据分析所需要的数据格式。中间层为入侵检测系统的核心部分,其主要负责将底层获取并已经格式化后的数据进行分析,进行一定的判定,并将入侵与否的判定结果向上层传递。上层的人机界面与响应主要负责将检测结果显示出来并提醒系统管理员进行适当的行为。本发明主要涉及入侵检测中的中间层,也就是数据分析部分,底层数据源的获取和上层的人机界面不再赘述。
如前所述,入侵检测的数据分析部分可看成一个识别自我和非我的过程。在本发明所提出的入侵检测方法的自我和非我都采用二进制字符串表示,如图2(a)所示,自我和非我均采用长度为L的0/1字符串表示。如果底层所采集的数据源是网络数据包,则提取网络数据包的报头信息,并将其格式化为二进制数据。如果底层所采集的数据源是主机审计信息,则同样将其格式化为二进制数据。现分别加以详细说明,如果是网络数据包为例加以详细说明,则将该网络数据包的源IP地址、目的IP地址、目的端口等数据以二进制格式表达出来,其中的数据可以进行某种压缩方式,如图2(b)所示。如果是主机审计数据,以主机系统调用为例,将采集的主机系统调用序列按照N个一组,以二进制格式组织为字符串,如图2(c)所示,其中的65,172,212皆为主机系统调用号,通常此类数据并不进行预先压缩处理。
本发明所提出的入侵检测系统的智能化数据分析方法主要包括两个部分生成检测器部分和检测异常部分,分别参见图3和图4。生成检测器部分主要是根据已有的自我字符串集合生成最终用于进行入侵检测的检测器集合。检测异常部分则使用已生成的检测器集合对待检测的实时数据源进行检测从而判定是否出现异常。
图3为生成检测器部分的结构框图。其大致工作流程如下所述首先将系统正常运行情况下所采集到的数据源进行一定的格式化,生成长度为L的自我字符串集合S,接着采用随机方式产生长度为L的一个随机字符串R0,然后将此随机字符串R0与自我字符串S进行字符串匹配,当然此处的字符串匹配规则不是精确匹配,而是某种模糊匹配规则,其具体方法在下文中描述。进行字符串匹配后,如果发现产生的字符串R0与自我字符串S是匹配的,则将其丢弃,如果发现并不匹配,则将该字符串R0放入检测器集合R中。经过一定时间的训练学习之后,检测器集合中将出现一定数量的检测器字符串,这些字符串将用于后续的实时异常入侵检测中。
图4为检测异常部分的结构框图。其大致工作流程大致如下首先将需要判定是否入侵的数据源格式化为长度同样为L的待检测字符串s,接着将此待检测字符串与当前检测器集合中的各个检测字符串进行字符串匹配。如果匹配成功,则说明此待检测字符串所代表的源数据(可以是网络数据,也可以是主机审计数据)出现异常;如果匹配失败,则取检测器集合中的下一个检测字符串与之进行匹配,直至失败为止,则说明此待检测字符串所代表的源数据(可以是网络数据,也可以是主机审计数据)未出现异常情况。
简而言之,本发明所提出方法之核心思想是使用经过自我耐受的检测器集合去检测入侵数据源从而判定出现异常的非我,就好比是生物免疫系统中经过胸腺否定选择之后的淋巴细胞(主要是T细胞和B细胞)检测外来入侵病原体(主要是各种细菌、病毒等)一样。
在前文所述中的生成检测器集合部分与异常检测部分所使用的匹配规则并非通常的精确字符串匹配规则,通常我们采用Euclidean距离、Manhattan距离Hamming距离以及r连续匹配等规则来衡量两个字符串之间的匹配程度。一般我们也将此匹配程度称作亲和力,类似于生物免疫系统中抗原与抗体之间结构的相似性。下面分别介绍这四种匹配规则假设实数坐标集合M=<m1,m2,m3,…mL,>,M∈SLRL,其中S表示形态空间,L表示维数,即字符串长度。ab∈M,ag∈M。则Euclidean距离为D=Σi=1L(abi-agi)2]]>Manhattan距离为D=Σi=1L|abi-agi|]]>Hamming距离为 r连续匹配规则为 前三种距离均为两个字符串之间距离值,将待匹配的两个字符串按此公式进行计算后,再将此距离与系统中预先设置的匹配距离阈值相比,从而判定这两个字符串是否匹配。而r连续匹配规则认为如果待匹配的两个字符串存在至少连续r位相同,则认为他们是r连续匹配的。
值得注意的是前文所述都是以位于网络环境中的单个主机为例,本发明并不受限与此,其检测机制还可用于网络环境。具体而言,即在网络环境中的各个主机上安装该异常检测系统,各个主机分别使用前文所述方法检测自己本身产生的数据(主机数据源)和进出自身的网络数据(网络数据源),此特征类似于生物免疫系统中的淋巴细胞通过血液系统在身体的各个部位进行外来病原体检测。尤其值得我们注意的是,跟其它分布式的入侵检测系统不同,该系统中各个主机上所使用的检测器集合可以各不相同,如此可以大大增加了系统整体的健壮性。如图5所示,在一个以太网络环境中,计算机A所使用的检测器集合1与计算机E所使用的检测器集合2中的检测器条目可以完全不同,也可以完全相同,也可以部分相同。各个主机之间所使用的检测器集合可以通过网络进行互相交流,以使得最能检测出当前网络环境下的异常行为的检测器集合尽可能的广泛分布。此项特征与生物群体中某个物种的各个个体之间的免疫系统具有一定的特异性类似,可以最大程度的避免物种对某一类外来病原体的群体免疫失效。
另外,本发明以随机生成的字符串作为备选检测器字符串来进行自我免疫耐从而得到检测器集合为例,但是并不限制检测器集合生成所采用的具体方法。为了更快的得到优良覆盖率的检测器集合,可以使用遗传系统中的进化算法等优化算法来实现快速最优化结果生成。此项特征类似与生物系统中物种父代与子代之间的免疫能力遗传。其次,检测器集合中的检测器字符串并不是一成不变的,而是有一定的生命周期的。如果已生成的检测器字符串长时间没有检测到异常,则该检测器字符串将自然死亡,从检测器集合中删除,当然检测器集合的生成过程是持续的,完全可以保证检测器集合中存在适当数量的检测器字符串;如果已生成的检测器字符串频繁检测出异常,则将其转换为记忆检测器,使得其生命周期大大延长。此项特征类似与生物免疫系统中淋巴细胞的生命周期。
现参考图1至图5,说明本发明之具体实施方法。
在分布式网络环境中,在各个需要进行监测的计算机节点上分别安装数据源采集、生成检测器集合部分和异常检测部分。
首先我们进行自我数据正常模式的定义。在主机和网络处于正常工作状态下,将我们所关心的数据源,包括主机审计数据或者网络数据包进行数据采集,提取我们所关心的简单基本数据特征,比如网络数据包的报头信息或者主机系统调用序列等等,将该特征数据转化为长度为L的二进制字符串格式条目,形成自我字符串集合S,如图2所示。
接着进行检测器集合的生成,参见图3,其大致步骤如下1、定义如前文所述的自我字符串集合S;2、随机产生一个长度为L的二进制字符串R0;3、将该二进制字符串R0与自我字符串集合S中的每一个条目进行匹配,匹配所采用的规则如前文所述,a)如果成功匹配,则将该R0丢弃,重新回到步骤2;b)如果匹配失败,则将该R0放入检测器集合R中作为一个可用的检测字符串条目,重新回到步骤2。
其中步骤2和步骤3可以采用遗传算法进行一定的优化以获得最好的执行效率和对检测空间更高的检测器集合覆盖率。
最后进行异常检测,参见图4,其大致步骤如下1、获取实时需要检测的数据源,并将其按照前文所述转化为长度为L的二进制字符串格式,生成待检测的字符串s;
2、将待检测字符串s与检测器集合中的各个条目进行匹配,匹配所采用的规则如前文所述,c)如果成功匹配,则表示出现异常情况,将该结果向系统上层传递,并回到步骤1继续进行检测;d)如果匹配失败,则表示未出现异常情况,重新回到步骤1进行检测。
在异常检测的过程中,检测器集合并非一成不变,其中所包含的检测字符串会随着时间和外部环境的变化而变化。检测器集合中所有的检测字符串条目都是有一定的生命周期的,正常情况下检测字符串条目会在1至3天后自动删除,如果某检测字符串频繁与待检测字符串相匹配,则其生命周期会自动延长。另一方面,检测器集合会从检测器生成部分中不断补充新的检测字符串条目。
在生成检测器集合部分和异常检测部分中所使用的匹配规则可以采用Euclidean距离、Manhattan距离Hamming距离以及r连续匹配等规则,其具体含义如前所述。
应注意的是,系统中的各个节点是基本独立的,并不存在中心控制节点,而且分布在各个节点上的检测器集合也可以各不相同,随着时间的变化各个检测器集合根据该节点的外部环境而发生不同的进化。
权利要求
1.一种类似生物免疫机制的入侵检测方法,其特征在于该检测方法首先获取包括主机审计数据和网络数据包数据的检测数据源,并将其特征格式化为长度为L的二进制字符串,接着根据已有的正常情况下的数据源产生用于检测的检测器集合;最后使用检测器集合对实时数据进行异常检测。
2.根据权利要求1所述的类似生物免疫机制的入侵检测方法,其特征在于所采用的字符串长度L依据所采集数据源的来源而确定。
3.根据权利要求1所述的类似生物免疫机制的入侵检测方法,其特征在于检测器集合的生成步骤为31).首先将已有的系统正常情况所采集的数据源格式化为一定数量且长度为L的自我字符串集合S;32).接着采用随机方法产生随机字符串R0;33).然后将随机字符串R0与自我字符串集合S中的每一个自我字符串进行模糊匹配,如果匹配成功,则将该随机字符串R0丢弃,如果匹配失败,则将该随机字符串R0放入检测器集合R中。
4.根据权利要求3所述的类似生物免疫机制的入侵检测方法,其特征在于自我字符串集合S,随机字符串R0,检测器集合R中的字符串长度均为L。
5.根据权利要求3所述的类似生物免疫机制的入侵检测方法,其特征在于随机字符串R0采用伪随机函数生成,该字符串R0也可以采用与已生成的检测器集合相关联的进化算法,以得到更好的检测效率。
6.根据权利要求3所述的类似生物免疫机制的入侵检测方法,其特征在于模糊匹配规则为一种非精确匹配,其可以是Euclidean距离、或Manhattan距离、或Hamming距离或者r连续匹配等模糊匹配规则,凡可用于衡量两个字符串之间的相似程度的匹配规则均可适用。
7.根据权利要求1所述的类似生物免疫机制的入侵检测方法,其特征在于异常检测的检测步骤为首先将待检测的数据,包括主机审计数据和网络数据包格式化为长度为L的二进制字符串s;接着将此二进制字符串s与检测器集合R中的每个检测字符串进行模糊匹配,如果匹配成功,则说明出现异常,如果匹配失败,则说明未出现异常。
8.根据权利要求7所述的类似生物免疫机制的入侵检测方法,其特征在于模糊匹配规则是一种非精确匹配,其可以是Euclidean距离、Manhattan距离、Hamming距离或者r连续匹配等模糊匹配规则,凡可用于衡量两个字符串之间的相似程度的匹配规则均可适用。
9.根据权利要求7所述的类似生物免疫机制的入侵检测方法,其特征在于检测集合中的检测字符串的数量与实际异常检测所需要达到的精度和效率成正比关系。
全文摘要
一种类似生物免疫机制的入侵检测方法。该方案主要用于解决入侵检测系统中的所采集数据源的智能化分析问题,包括对主机环境下和网络环境下的异常检测方法,属于计算机软件安全技术与人工智能技术的交叉技术领域。该检测方法首先获取包括主机审计数据和网络数据包数据的检测数据源,并将其特征格式化为长度为L的二进制字符串,接着根据已有的正常情况下的数据源产生用于检测的检测器集合;最后使用检测器集合对实时数据进行异常检测。提出了针对主机审计数据和网络数据包,实现数据采集、特征提取、入侵判定的全过程。依据本方法可以实现一个分布式、轻量级、自组织的入侵检测系统,同时还可获取自组织、多样性、自适应等总多生物免疫系统之其它优良特性。
文档编号H04L29/06GK1777119SQ200510122849
公开日2006年5月24日 申请日期2005年12月6日 优先权日2005年12月6日
发明者王汝传, 陈云芳, 杨庚 申请人:南京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1