基于系统调用序列分析入侵检测的层次化模型

2014-04-29 00:44董玲张宏莉叶麟
智能计算机与应用 2014年4期
关键词:入侵检测

董玲 张宏莉 叶麟

摘要:系统调用是操作系统和用户程序的接口, 任何程序必须通过系统调用才能执行。近年来,网络安全事件频发,基于系统调用序列分析的入侵检测方法成为了网络安全研究的热点技术之一。本文提出了基于枚举序列、隐马尔科夫两种方法建立系统行为的层次化模型,不同于传统意义上的单层次模型。在新墨西哥大学提供的实验数据上,本方法在检测程序异常行为的准确度和响应时间方面都得到了很好的效果,表明该方法更适合基于主机入侵的在线检测方法。

关键词:入侵检测; 系统调用序列; 隐马尔科夫模型

中图分类号:TP393 文献标识码:A文章编号:2095-2163(2014)04-0013-04

Abstract:System calls are the interface between operating system and user programs. Execution of each program must use some system calls. In recent years, network security incidents occur frequently, intrusion detection method based on the system call sequence analysis has become one of the hot network security technology researches. This paper presents a multi-layer model of program behaviours based on both hidden Markov models and enumerating methods, which differs from the conventional single layer approach. On experimental data provided by the University of New Mexico, experimental results have shown that the model is better in detecting anomalous behaviour of programs in terms of accuracy and response time, which indicates that this method is suitable for online host-based intrusion detection systems.

Key words:Intrusion Detection; System Call Sequence; Hidden Markov Model

0引言

计算机产业已经渗透到金融、贸易、军事、科技等诸多关键领域,无论是个人还是政府、或企业,都希望获得一个安全的网络环境,除了能够及时发现潜在的入侵行为,还要能够保证信息安全。而针对当前主流操作系统的研究分析可知,无论要实施何种危害程度的攻击行为,都需要通过用户空间执行系统调用而进入内核空间,以发起各种攻击。因此作为用户空间和内核空间通信的接口,对系统调用的优化实现即能够保证系统的相对安全。对此可具体描述为,通过对进程正常运行时的执行轨迹建模来刻画进程的正常运行状态, 从而建立了执行轨迹的局部模式特征, 以此为基础,与这些模式的偏离即认为是潜在的入侵行为。

1996年,Forrest[1]等人就是由这种思想出发,提出了一种基于定长系统调用子序列构造的特征库来区分UNIX系统的正常和异常行为的检测技术。在此后的研究中,很多学者借鉴了这种思想,提出了大量的模型[2]和方法,包括隐马尔科夫模型[3]、数据挖掘方法[4]、机器学习等。但由于训练数据少,导致正常行为模式库中的短序列并不完整,因此传统的短序列方法会有较高的误报率。

本文的方法扩展了枚举序列的方法,将隐马尔科夫模型引入到该方法中,构建一个层次化的模型,有效克服了传统方法低可靠性的弊端,同时也解决了数据库不完整的问题。该方法的基本过程是:首先建立正常行为模式库,对于检测序列,很容易发生基于短序列库的不匹配行为,将不匹配序列输入到隐马尔科夫模型作进一步的分析判定,再利用forward算法计算其概率P,并根据概率值P最终判定此序列的性质。

1入侵检测的层次化模型

1.1枚举序列法概述

枚举序列法的主要思想是记录每个正常行为的系统调用运行序列,采用一定的算法建立正常行为模式库,再与未知行为的系统调用序列进行比较来判别入侵,而且把区域内不匹配数作为异常行为的一种度量。

假设局部区域的大小选为L,则将长度为K 的窗口通过待检测序列,一次滑动一个系统调用,并将得到的序列与正常行为模式库中的序列作以比较,再记录发生了多少次不匹配,同时将不匹配数M与阈值ρ(1≤ρ≤L)进行比较,若 M>ρ,则认为有异常行为发生。建立这样的正常行为模式库只需要遍历一次序列,而且为了节省存储空间、以及提高匹配效率,可将序列进行树状存储。

此方法简单易行,但主要的缺点是不能从过去观察到的行为中归纳出当前的情况。因此,若正常的程序行为未被充分捕获到,系统会将未见过的行为当作异常,这就使误报率相应地增大。

1.2隐马尔科夫模型

参考文献:

[1]FORREST S, HOFMEYR S A, SOMAYAJI A, et Al. A sense of self for unix processes[J]. Proceedings of the 1996 IEEE symposium on research in security and privacy, 1996:120–128.

[2]WARRENDER C, FORREST S, PEARLMUTTER B. Detecting intrusion using system call: alternative data models[A].1999 IEEE Symposium on Security and Privacy. Oakland.USA,1999.

[3]QIAO Y , XIN X W , BIN Y, et al. Anomaly intrusion detection method based on HMM[J]. Electronics Letters, 2002 , 38 (13) : 663-664.

[4]LEE W, STOLFO S. Data mining approaches for intrusion detection[C]// Proceedings of the 7th USENIX Securiposium. Usenix Association,1998.

[5]RABINER L R. A tutorial on hidden Markov model and selected applications in speech recognition[C]//Proceedings of IEEE,1989,77(2).

[6]新墨西哥大学数据集.http://www.cs.unm.edu/~immsec/systemcalls.htm.

猜你喜欢
入侵检测
多Agent的创新网络入侵检测方法仿真研究
基于入侵检测的数据流挖掘和识别技术应用
艺术类院校高效存储系统的设计
基于关联规则的计算机入侵检测方法
无线传感器网络发展历史及安全需求及技术挑战
无线传感器网络入侵检测系统综述
人工神经网络的改进及其在入侵检测中的应用
基于Φ—OTDR的分布式入侵检测系统的应用综述
一种基于数据融合的新的入侵检测框架