多层次多特征融合的入侵特征表述方法

时间:2022-06-13 04:27:15

多层次多特征融合的入侵特征表述方法

摘要:该文对入侵特征进行了分析,提出了基于“特征元素特征因子特征基入侵特征”的多层次、多特征融合的入侵特征表述方法;根据入侵特征在各个层次上的特点,设计了数据的存储结构,并基于该结构给出了特征基提呈算法。

关键词:特征;层次;融合;免疫;入侵检测

中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)30-0601-03

A Intrusion Features' Presentation of the Multi-level & Multi-feature Fusion

LU Xiao-ya,LI Gui-bing,WU Bing

(College of Computer Science & Technology,Southwest University for Nationalities,Chengdu 610041, China)

Abstract: In this paper,intrusion features were analysed.A intrusion features' presentation of the multi-level and multi-feature fuzzy with characteristic element, characteristic factor, characteristic base and intrusion pattern was put forward.The data structures of intusion feature based on its characters in responding level were designed.An arithmetic of getting characteristic base based on the structure was proposed.

Key words: feature;level;fusion; immune; intrusion detection

1 引言

在基于免疫的入侵检测(ID)研究中,检测器产生的两种典型算法为否定选择算法和肯定选择算法。否定选择算法的目的是找出一个检测器集合,它在不与集合Self中元素匹配的前提下,能尽可能多地匹配集合Nonself中的元素。肯定选择算法与否定选择算法类似,不同的是被进化的Self测试器,即在检测器成熟期间与自体匹配的必须清除。可疑的Nonself串在正向选择中必须与所有Self测试器比较,才能确定它是nonself;在负向选择中一旦匹配成功,就停止比较。反之,对self串的判定,是正向选择占优势。当测试器不足时在负向选择中会导致漏报;在正向选择中会导致误报。这种研究思路存在的难以克服的问题之一是数据规模问题。随着保护系统越来越大,Self和Nonself也越来越大,在现有的计算效率下,发现一套一定覆盖范围的测试子集,变得越来越困难。如果不能映射整个Self和Nonself域,检测效率下降,这已成为基于免疫的ID研究中的一个瓶颈。

值得注意的是:在生物免疫系统中,在自身免疫细胞数远远小于可能抗原的情况下,能成功应对几乎所有抗原。也就是说,有可能在特征没有完全覆盖的情况下,获取高的检测率。前者的实现主要归功于免疫应答过程中抗体的多样性,而抗体的多样性取决于其独特的形成机制。因此,对于ID来说,关键是特征形成机制和表述方法。如果入侵特征如同抗体般具有多样性,那就无需一味地追求特征的覆盖范围。基于此本文提出“特征元素特征因子特征基特征”的多层次、多特征融合入侵特征表述方法。

2 入侵特征分析

特征是决定相似性与分类的关键,当分类的目的决定之后,如何找到合适的特征就成为认知与识别的核心问题。

2.1 协议分析

主要是报头信息,报头值结构比较简单,易于读懂。如TCP、IP包首部定义中,同入侵相关的参数有:源端口号、目的端口号、报文中第1个字节的序列号、数据的偏移位置、特定的控制信息、发送方的滑动窗口大小等。报头值可通过截获TCP、IP、ICMP包或通过嗅探器捕获。许多入侵都会在报头中做文章,解读数据报头是截获入侵的一种有效措施。入侵的报头值可分为两种:

1) 可疑报头值

报头值的可能情况很多,它随服务的拓展及协议的变化而变化,某一阶段不被常用的报头值,应视为可疑报头值。例:如果存在到端口31337或37374的可疑连接,就可报警为可能有特洛伊木马在活动。

2) 非法报头值

由于大多数操作系统和应用软件都是在假定RFC被严格遵守的情况下编写的,没有添加针对异常数据的错误处理程序,因此,这种数据包被许多入侵软件采用,以向防火墙、路由器以及IDS发起入侵。一个经典的例子是违背RFC793中规定的TCP标准,设置了SYN和FIN标记的数据包。

2.2 运行特征

病毒是入侵的一种,病毒的特点是通过运行自己产生危害。病毒程序为了隐蔽自己及达到自启动的目的,会修改系统文件及发生系统调用,如:修改与系统相关的文件,如win.ini、system.ini、autoexec.bat、注册表等;修改操作系统或BIOS的中断服务程序;修改文件目录区、磁盘引导区等。深入分析程序运行特征,可以尽早捕获入侵信息而终止可疑程序运行。

2.3 行为序列

1) 程序指令序列

对程序进行代码审视,可以发现可疑程序。如除系统程序外,其它程序中不应该存有对引导区的操作、对中断向量表的修改等。从程序中捕获这些操作所对应的指令可以发现可疑程序。许多查毒程序的机制正是基于此。

2) 操作行为序列

目前存在的主要入侵分为:Dos、病毒入侵及窃取。其中第三种,很难从数据报或运行特征中获取,但进行窃取往往需进行多次登陆尝试或口令猜测等,因此,针对这类入侵,比较有效的方法是记载并分析用户在一定的时间段内对系统进行操作的行为序列。

2.4 特征关系

从上述分析中可见入侵行为具有许多共性,找出这些共性及某些特性之间的关系,成为从事IDS研究的首要解决的问题。本文把特征关系归纳如下:1) 一个入侵的特征可从数据报内容中或在其运行中或从程序本身内容中多方面体现;2) 不同手段的入侵会具有部分相同的入侵特征,即某一入侵特征会在多种入侵中体现;3) 入侵特征之间有的有牵连关系,如对win.ini文件的修改与修改注册表某些项;有的没有任何关系,如报头值与修改系统文件。

3 入侵特征成分剖析

从上述分析看出,首先,一个入侵的所有特征可以分解成若干个部分,每一部分反映其在某一方面的特征,具有一定的独立意义,称其为入侵特征基或特征基。一个特征基可能会出现在多种入侵行为中,如“修改注册表项”可以看作是一个特征基,该特征基在硬盘杀手、红色代码Ⅲ和木马入侵等入侵中均会出现;其次,一个入侵的特征是由一个至多个特征基组成,即通过特征基的不同组合,形成不同入侵行为的特征。如表1所示。

由此,本文提出“特征元素特征因子特征基特征”的多层次、多特征融合入侵特征表述方法。把组成特征基的基本数据,抽象为“特征因子”,把组成特征因子的基本数据抽象为“特征元素”,它是系统固有的组成成分。

入侵特征组成关系如图1所示。

4 特征库创建

4.1 特征元素

特征元素是指形成特征因子的基本数据。通常是通过数据采集可直接获取的源数据,如源IP、端口号、CPU%(CPU使用率)等。每个特征元素有两个属性,一是标识,二是值。将特征元素按其值分为数元素、符号元素、真值元素,根据不同的属性值类型,分别对应其值域为数、符号、真值。

::=||

::=||

::=True|False

如表示一个源IP为210.56.126.3;表示新创建了一个文件d:\abc.exe;表示发生了21h号DOS功能调用。

特征元素结构定义如下:

Struct F_element/*特征元素结构定义*/

{ char * ID; /*元素标识,不能重复*/

char *Note; /*元素描述*/

char * Type: /*元素类型*/

char *value: /*字符格式元素值*/

};

4.2 特征因子

特征因子是指组成特征基的成分。特征因子与特征元素之间的关系可表示成:

。A为特征元素全集;α=∑αi,α∈A是一特征元素子集;a为一特征因子;t:αa。

从特征元素形成特征因子,在IDS中,由数据预处理完成,ta复杂时是实现一定功能的函数,简单时也可能是一些运算符。若以a=表示一特征因子,sa为属性标识,va为属性值,其值域同特征元素。如表示CPU使用率为95%,由一个特征元素组成;表示由两个特征元素经比较运算形成;表示SDP由SIP,DIP,Dport三个组成,表示一个连接。三者任一元素不同表示不同的连接。表示连接数多,HIGH(高)是模糊表示,该特征因子需通过一个统计运算的函数才能获得。

特征因子是预处理程序对特征元素处理的结果。每个特征因子设有3个基本属性,与特征元素类似。定义如下:

Struct F_Factor/*特征因子结构定义*/

{ char *ID;/*特征因子标识,不能重复*/

Char *Note: /*特征因子描述*/

Char *Type; /*特征因子值类型*/

Char *Value; /*特征因子值*/

Struct F_Factor NextFactor; /*结点指针*/

};

4.3 特征基

特征基是入侵的某一个具体特征的反映,以CAg1,CAg2,…表示。特征基是特征因子的组合,这里不考虑其排列顺序,即任一特征基CAgi可表示成特征因子序列:

CAgi=a1a2…ann≥1

特征基由若干个特征因子构成,因为组成每一个特征基的特征因子个数不一样,所以用一个链表表示,链表中每一个结点表示一个特征因子,如图2所示。

特征基链表结构定义如下:

Struct F_Base/*特征基结构定义*/

{ char *ID;/*标识存放特征因子标识*/

char *Note: /*特征基描述*/

struct F_Factor *Link; /*特征因子链表*/

int length; /*特征基长度,即特征因子链表长度*/

…/*其它信息*/

};

5 特征基提取算法

特征基提取是指由特征因子获取特征基的过程。设有n个特征因子,特征基库中有m个特征基,每个特征基由Si个特征因子组成,过程的输入、输出如图3所示。

解决思路:用已知的特征因子去标识特征基链征因子结点,如果特征基链中各特征因子结点均得到标识,则该特征基被选中。

算法分成两步:

步骤1用现有的特征因子ai(i=1,…,n)去匹配特征基库中每一个链表中的特征因子结点,如果匹配成功,标志该结点。因为每一个特征基链有Si个特征因子结点,整个特征基库共有S1+S2+…+Sm个特征因子结点,现有n个特征因子,上述操作进行n次,所以,步骤1的时间复杂度为:

步骤2扫描各特征基链中各结点的标志,如果某特征基中的各特征因子结点均被标记,则该特征基被选中。所以,步骤2的时间复杂度为:

整个算法的时间复杂度为:

T(m)= T(步骤1)+ T(步骤2)= O((n+1)・m・max(Si))

6 结束语

“多层次、多特征融合的特征表述方法”使特征表述具有多样性。一组特征因子通过不同的组合,产生多样特征基;一组特征基通过不同的组合,形成不同的入侵模式。入侵手段与途径多种多样,但通常是殊途同归,所以该特征表述方法能较好的反映出入侵行为的该特点。

“多层次、多特征融合的特征表述方法”使特征表述具有开放性。因为新的特征基可能是已有特征因子的新组合。特征库中现有的特征基数量,表示曾经出现过的特征基,不表示IDS可识别的特征基总量,实际可识别空间,取决于特征因子的可组合数,这个数目远远大于现有的特征基数。特征库具有良好的可扩性使得IDS的识别能力不再局限于现有的已知入侵。

参考文献:

[1] 陈文颉,窦丽华.融合多特征信息的模式识别方法[J].北京理工大学学报,2002,22(2):173-176.

[2] 张杰,戴英侠.入侵检测系统技术现状及其发展趋势[J].计算机与通信,2002.6:28-32.

[3] 马传香,李庆华等.入侵检测研究综述[J].计算机工程,2005,31(3):4-6.

[4] 扬孔雨,王秀峰.入侵检测免疫模型中抗体基因库的生成和进化[J].计算机应用,2003,7:26-28.

[5] 张琨,许满武等.基于一种Hamming距离的入侵检测方法―RHDID[J].计算机学报,2003,26(1):65-69.

[6] 韩东海,王超等.入侵检测系统实例剖析[M].北京:清华大学出版社,2003.

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文

上一篇:VB.NET与EXCEL进行数据处理的实现 下一篇:SCO UnixWare系统设置PPP呼入的方法简介