基于HMM模型的入侵检测技术研究

时间:2022-10-20 04:44:54

基于HMM模型的入侵检测技术研究

摘 要: 入侵检测技术作为计算机安全技术的一个重要组成部分,已经受到越来越广泛地关注。作为一种新的动态安全防御技术,它是继防火墙之后的第二道安全防线。主要研究当前入侵检测一直无法很好解决的两个问题,即复杂网络攻击的检测和网络在入侵攻击下的风险评估。

关键词: 入侵检测;HMM模型;复杂网络攻击;风险评估

0 前言

自上世纪90年代以来,基于TCP/IP的互联网得到了飞速的发展,信息的传递和处理超越了时间和空间的限制,网络信息化已成为不可阻挡的趋势,但其安全性也受到越来越多的挑战。于是人们针对网络中存在的各种安全患,提出了不同的安全防范措施,如加密传输技术、防火墙技术、入侵检测技术及IP跟踪技术等。

但是计算机网络安全不能只依靠单一的安全技术,只有对网络安全体系及安全技术深入研究的基础上,设立具体的安全策略以及多种安全防线,才能更加有效地检测并阻止来自系统内、外的入侵攻击,达到全面维护网络系统安全的目标。

1 研究意义

入侵检测(Intrusion Detection)是一种动态的监控、预防或抵御系统入侵行为的安全机制。主要通过监控网络、系统的状态、行为以及系统使用情况,来检测系统用户的越权使用以及系统外部的入侵者利用系统安全缺陷对系统进行入侵的企图。

本文主要研究了目前入侵检测难以完全解决的两个安全问题,即复杂网络攻击的检测问题和入侵攻击下的网络风险评估问题。从一个全新的角度对问题进行了剖析,根据问题自身的本质和特点,利用HMM建立了相应的安全检测模型。首先为网络中的每个主机的安全状态建立一个HMM模型,并为不同的安全状态指定一个相关联的权值;然后,根据收到的报警事件来计算主要安全状态的变化并计算主机的风险;最后,对网络中所有主机风险进行迭加,从而得到整个网络风险。该评估方法的优点在于使用了HMM模型。因为HMM模型为安全状态估计、安全状态转移及不同状态下报警事件产生的概率提供了科学的依据。

2 隐马尔可夫模型(Hidden Markov Models)

隐马尔可夫模型(Hidden Markov Models,HMM)是由马尔可夫过程扩充而来的一种随机模型,基本理论是由数学家Baum及其同事在20世纪60年代至70年代建立起来的。HMM模型从提出到现在,已经广泛应用于语音识别、基因分析、文本语义分析、图像识别及入侵检测等领域,并取得非常好的应用效果。

在1999年的IEEE Symposium on Security and Privacy会议上,Warrender等人首次提出将HMM应用于基于系统调用的入侵检测中。同年,Lane将HMM应用于建立用户命令序列模型,在实际检测中亦取得较好的效果。2003年,Cho提出用HMM仅对关键的系统调用序列进行建模,从而一定程度上提高了模型的学习及检测速度。

2.1 HMM模型的基本概念及表示

HMM是一个双重的内含隐藏的从属随机过程的随机过程,即双重随机过程,由以下两个部分组成:

1)马氏链:一个观测不到的有限状态链,用来描述状态的转移,在模型中用转移概率描述。

2)一般随机过程:描述状态与观察序列之间的关系,是与状态链相关的可观测到的随机变量,也称为观测链。

2.2 HMM模型的三个基本问题及应用

在实际应用中,HMM需要解决以下三个基本问题:

2.2.1 评估问题。所谓评估问题,即对于给定HMM模型,求输出给定观察值序列的概率,可以将评估问题理解为衡量给定模型和某个观察值序列之间的匹配情况,从这种角度考虑有助于解决实际的应用问题。

在检测入侵过程中,可以通过评估问题的解决来找到与观察值序列最匹配的HMM模型,从而得到当前系统所处的安全状态。

2.2.2 解码问题。解码问题可以理解为,求一个最佳的状转换途径,沿该路径输出给定观察值序列的概率最大。由于不可能求得与给定观察序列完全正确对应的状态序列,因此只能在所有可能的状态序列中选取一个可能性最大的序列。

入侵检测中利用解码问题来解决实际问题最具代表性的方法是:首先,分别求出给定训练序列和测试序列的状态转移序列;然后,划分状态序列的短序列并分别建立正常数据的序列库和测试数据的序列库,再将测试数据库中的短序列与正常数据库中的短序列进行比较,标示不匹配的短序列;最后,计算不匹配率,若不匹配率超过某一域值,就认为此测试序列为异常,否则为正常。

2.2.3 学习问题。所谓学习问题,就是给定的一个观察值序列,使得观察值出现最大概率。整个学习过程,就是用给定的观察序列去训练HMM模型,优化模型参数。HMM应用到解决实际问题中时,训练问题显得特别重要,因为必需使得不断调整的HMM模型最终可以更好的模拟实际问题。

3 复杂网络攻击的检测问题和风险评估问题

复杂网络攻击的特点是隐蔽性非常强,在黑客或程序的精确控制下,分为几个操作步骤才能完成攻击。这类攻击很难有效地检测,主要是缺乏一种有效地将分布在攻击各个步骤的相关数据进行关联的算法。为了使HMM模型能更好地检测,根据复杂网络攻击特性对来自不同网络监视器报警数据进行了预处理,生成便于HMM模型训练及检测的报警序列。

3.1 复杂网络攻击与HMM模型

要完成某种类型的复杂网络入侵,攻击者可能有多种方式完成目的。在HMM模型中,每种不同的完成方式即对应到不同的状态转换序列。对于入侵中的每个具体攻击步骤,入侵者可能有多种可用的方法来完成该步骤的任务。举个简单的例子,当入侵者要探测某主机的端口是否打开,入侵者通过向该主机发送ICMP报文、建立telnet远连接或发送UDP数据包等方法。不论入侵者采用何种方法达到目的,最终都会有相应的报警事件产生。HMM模型不但可以内在地表示入侵者采取的一系列的攻击步骤,而且还可表示入侵者每个攻击步骤采取的具体方法。HMM模型的可见层很好地展示了入侵者的攻击行为,而隐含层表达了入侵者的真正意图。

为了有效地对复杂网络攻击进行检测,HMM模型从较高的层次出发,对分布在攻击各个步骤的相关数据进行关联后生成报警事件进行有效分析,其检测模型如图1所示。

M1、M2…Mn表示放在网络上入侵检测系统的数据采集器,其主要工作是监视网络中发生的各类异常事件。报警事件库专用于存放各类报警事件,以便对报警事件的后继处理,如分类、关联等操作。一旦数据采集器发现网络异常后,即为该异常事件产生相应的报警事件,之后便将报警事件存入报警事件库。报警事件库可以是关系数据库(Mysql、Sybase或Microso

ft SQL Server)、二进制文件、文本文件等形式存在,具体使用何种形式,由网络中实际使用的入侵检测系统来定。不论以何种形式存在,最终都必需能被后续处理程序方便地访问。

3.2 入侵攻击下网络的风险评估

我们给出了一种新的网络风险评定方法,它是建立在HMM模型基础上,首先为网络中的每个主机的安全状态建立一个HMM模型,并为不同的安全状态指定一个相关联的权值;然后,根据收到的报警事件来计算主要安全状态的变化并计算主机的风险;最后,对网络中所有主机风险进行迭加,从而得到整个网络风险。该评估方法的优点在于使用了HMM模型。因为HMM模型为安全状态估计、安全状态转移及不同状态下报警事件产生的概率提供了科学的依据。它可以对主机及网络所面临的攻击风险进行定量分析。通过主机或网络的风险变化图,安全管理员可以很直观的看到当前主机或网络所处的安全状态,并能及时采取相应的安全措施。

4 进一步工作

随着HMM在入侵检测领域应用研究进一步的深入,越来越多的细节问题需要研究人员着手去解决。细节问题能否合理解决,不但影响到检测的准确性,而且还会限制基于HMM模型在实际中的应用。因此,在随后的深入研究中,基于HMM的检测模型的研究主要集中在以下几方面:实际问题与模型的匹配、训练数据的获取、检测速度的提升和合理阈值的设定。

参考文献:

[1]陶龙明、史志才、彭丹、马武,HMM模型在检测复杂网络攻击中的应用,《计算机工程与应用》,2008,03,01.

[2]Terran L. Machine Learning Techniques for the Computer Security Domain of AnomalyAetection[D]. Purdue Univerisy. 2000,8.

作者简介:

张彦芳(1980—),女,汉族,河北石家庄人,硕士学位,讲师,石家庄职工大学,研究方向:计算机网络;王春艳(1980—),女,汉族,河北石家庄人,学士学位,讲师,石家庄理工职业学院,研究方向:计算机网络。

上一篇:民航气象数据库系统的资料入库 下一篇:硅纳米晶的光致发光研究