-1-
基于意图识别的入侵检测系统1
罗俊杰,刘志杰,王崇骏
南京大学计算机科学与技术系,南京 (210093)
摘 要:入侵检测系统作为保护计算机系统安全的重要手段应用越来越广泛,然而随之产生
的大量原始报警事件也带来了报警数量巨大、误报警多和重复报警多等诸多问题,影响了对
入侵者真实入侵意图的识别。在入侵检测中引入意图识别的目的正是为了揭示隐藏在大量独
立攻击事件背后的真实入侵意图。本文提出一种基于意图识别方法的入侵检测系统架构,使
得入侵检测系统可以在海量报警数据中对复合攻击进行关联,并对入侵者的意图进行有效地
识别,然后将分析识别结果提供给 IDS,以采取主动防御措施。
关键词:入侵检测;意图识别;复合攻击;agent;数据融合
中图分类号:
1.引言
入侵检测是指在不影响网络性能的情况下对计算机网络或计算机系统中的若干关键点
收集信息并进行分析,从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象,
同时收集入侵证据,为数据恢复和事故处理提供依据。
然而随着计算机网络技术的发展,网络攻击变得越来越复杂。很多攻击往往都是由一系
列相互之间存在联系的攻击动作以多阶段、分布协同方式进行攻击,具体表现为:
1) 入侵可能同时从分布在网络中的多台机器上发起[1];
2) 一次入侵动作可能只是一个更大规模入侵行动的一部分,入侵者以当前被控制的网
络或主机作为跳板去攻击其它主机[2];
3) 多个简单入侵行为组合而成一次复杂的分布式协同入侵[3],这些单个攻击往往都是
由多个攻击者采用不同的攻击技术,通过多种攻击途径而完成的。
相对于入侵技术的发展,目前传统的 IDS 无论从检测的准确性还是可用性、灵活性上
仍然存在一些问题,如误报漏报严重、海量报警数据、大量重复报警等,影响了对入侵检测
系统充分、有效地利用。究其原因在于传统的 IDS无法正确理解攻击事件之间的逻辑关系。
入侵意图识别技术的目的正是希望能够有效地识别隐藏在单独的攻击事件背后的逻辑
关系,将组成一次复合攻击的所有单个攻击步骤都关联起来,从而识别出入侵的真实意图,
并提高入侵检测系统的准确性。另外,通过重现该攻击场景序列,使得入侵检测系统有可能
在攻击完成之前就识别出该攻击,使得 IDS 从被动检测转向主动防御,提高对入侵检测系
统的有效利用。因此入侵意图识别技术在入侵检测领域有着良好的应用前景。
本文提出了一个基于意图识别的入侵检测原型系统。在检测入侵行为的同时,通过关联
入侵警报识别分析入侵者的入侵意图。从而可以将分析识别结果提供给 IDS,以采取主动防
御措施。
2.入侵意图识别
入侵意图识别技术试图从入侵者的行为中推断其后续动作和最终目的。它是传统模式识
别技术在入侵检测领域上的扩展,融合了模式识别、入侵检测、机器学习等多种技术,是一
1本课题得到国家自然科学基金(项目编号:60503021)、国家自然科学基金(60807538)、教育部重点项
目基金(108151)和江苏省高技术研究计划(项目编号:BG20006027)的资助。
-2-
个新的交叉研究领域。入侵意图识别方法包括基于关联的入侵意图识别和基于推理的入侵识
别两类。
基于关联的入侵意图识别方法
基于关联的入侵识别方法是指对 IDS 报送的警报进行关联分析以发现警报之间的逻辑
关系的过程,其目的在于识别出入侵意图,由于通常情况下 IDS 报送的底层警报数量非常
多,而且存在漏报和误报等情况。当前的警报关联技术趋向于先将 IDS 报送的底层警报聚
类,然后对经过聚类的警报进行关联。按照不同的关联方法,大致可分为基于属性相似度概
率[4]、基于综合数据源分析[5]、基于已知攻击(场景)图[6]和基于因果关联[7]四类关联方
法。
基于推理的入侵意图识别方法
基于推理的入侵意图识别方法是指对 IDS 产生的攻击警报进行建模分析,并利用各种
模型来推理出入侵者的入侵意图。Geib和 Goldman在文献[8]中认为,入侵者的入侵动作是
无法准确观察到的,入侵意图也是会受各种条件的影响而发生变化,而且入侵目标也不是单
一的,入侵意图识别也即为对入侵者意图的推理问题,因此可以将计划识别应用于入侵意图
识别的研究,运用概率推理的方法来识别入侵意图。按照不同的推理方法,主要可分为基于
Petri网的方法[9]、基于贝叶斯网络的方法[10]以及基于隐马尔可夫模型的方法[11]。
3.基于意图识别的入侵检测系统介绍
系统结构
基于意图识别的入侵检测系统应用多级信息融合与决策技术,通过 Agent机制,实现对
分布式网络的全局、实时、动态的网络安全态势检测与响应,具有动态性、自适应、智能性、
自学习性的特点。
基于意图识别的入侵检测系统体系结构可抽象为数据采集、检测报警、意图识别、决策、
响应等模块,分别负责入侵检测系统数据的采集、异常的检测、入侵意图的识别、决策以及
响应等功能。
系统模块介绍
数据采集模块负责收集检测所需的各种数据,并将数据发送往检测报警模块。检测报警
模块对收集来的数据进行过滤、分类并进行检测报警,将警报信息发送给意图识别模块进行
入侵意图的识别。意图识别模块对警报进行预处理后采取关联分析方法,并在此基础上推断
入侵者的入侵意图,将分析出的入侵意图提交给决策模块,由决策模块进行决策分析,以决
定下一步动作,最后响应模块根据决策进行实时响应,报送系统管理员或防火墙作具体处理。
-3-
图 1 基于意图识别的入侵检测系统结构图
数据采集块
数据采集是入侵检测的第一步,其采集的数据质量直接影响到入侵检测系统的检测率。
因此我们将数据采集模块单独作为一部分,既要保证所采集数据的完整性和准确性,又不能
影响主机和网络的正常运行。
数据采集模块负责采集主机和网络相关的各种信息,主要采用基于主机和基于网络两种
机制。
基于主机的数据采集模块负责采集和主机相关的数据,如主机的网络访问数据、操作系
统内核调用序列、系统资源占用、系统存在的服务等,另外基于主机的数据还包括系统中的
日志文件,如操作系统日志、安全软件日志和应用软件日志等审计数据。
基于网络的数据采集模块负责抓取网络上传输的数据包,模块可以安放在网络的任何节
点上或安放在路由器交换机等的镜像接口上,负责监控网络上流过的数据报。由于可能存在
TCP协议的分段以及 UDP协议的无序的报文,为了从数据包语义的角度更好地进行分析,
数据采集模块还要负责分段的重组,报文的排序等工作。
此外入侵检测系统还可以和其它网络安全设施进行联动,接收来自如防火墙等安全部件
的数据源,以便所采集的数据能够更好地覆盖整个网络环境。
检测报警模块
检测报警模块也就是检测引擎,是入侵检测的核心,入侵检测系统的检测能力很大程度
上取决于检测技术。检测报警模块所做的工作是首先对采集来的数据过滤、分类,然后识别
已知特征的攻击和异常行为,最后将分析结果形成报警消息,发送给意图识别模块。
数据采集模块采集的数据存在不同的来源,由于不同系统所提供的数据的不相关性,冗
余性、异构性以及可能存在的海量无意义信息,使得采集所得的初步数据很难直接被检测模
块使用,而且还可能会导致检测结果的偏差,影响系统的检测准确率。因此,需要在检测分
析之前,对数据进行预处理,也就是对各种数据进行归纳、过滤、格式转换以及属性提取等
处理。通过降低数据维数,来改善数据质量。
响应模块
检测模块
意图识别模块
检测报警
数据采集
主机数据
检测报警
数据采集
网络数据
检测报警
数据采集
其他数据
-4-
数据预处理后,接下来就要进行检测,从中找到入侵的痕迹。基于入侵检测技术的不同,
可以分别采用滥用检测模型和异常检测模型。
意图识别模块
图 2 意图识别模块功能结构图
意图识别模块是本系统的核心模块,其功能结构如图 2所示。入侵者无法只进行一次攻
击就能达到目的,因此通常采用复合入侵方式。检测报警模块只检测对应入侵步骤的基本攻
击,即低级警报。意图识别模块的目的是将低级警报关联起来,从而识别出入侵者的真实入
侵意图。按照意图识别模块的功能,划分为五个基本部分:警报预处理、聚类分析、警报关
联、入侵意图分析和知识库。
1) 警报预处理
警报预处理部分负责将 IDS 产生的原始警报进行精简,只提取需要的属性,包括:警
报 ID、警报类型、开始时间、结束时间、源 IP 地址、源端口号、目的 IP 地址、目的端口
号。然后根据知识库里的知识生成每个警报所代表的攻击行为的前提条件和结果。
2) 聚类分析
由于 IDS 产品并不是十分完善,各种 IDS 都有各自的优缺点,为了取长补短更好的监
控一段网络,通常会同时使用几种不同的 IDS。但是,这样一来会造成警报数量庞大、冗余
警报重复出现等问题。例如,一次攻击可能会同时触发多个 IDS或多次触发一个 IDS。为了
解决这一问题,采用聚类的思想,将同种类型的警报归类并去除冗余警报。
处理过程主要考虑两个因素,一个是时间阈值,另一个是根据警报类型不同对想要比较
的参数的选取。有研究表明,根据一般黑客的攻击习惯,他会在某个时间段内频繁使用同种
类型的攻击方法,因此,使用时间阈值的方法降低冗余警报是有效的。但是时间阈值的选取
至关重要,阈值过大会造成漏报,阈值过小冗余降低效果不明显。聚类过程除了考虑时间因
素外,还要对警报的参数进行比较,想要比较的参数根据警报类型不同而有所不同。例如,
对一般的攻击,要求源 IP和目的 IP都相同,而对于分布式拒绝服务攻击则要求源地址相同
且此攻击的源地址要与前一阶段攻击的目的地址相同。
3) 警报关联
检测报警模块只检测对应入侵步骤的基本攻击,即低级警报。警报关联部分的目的是通
过发现警报之间的因果关系,将具有关联性的警报关联,无法关联的警报则为误报,被认为
预测分析
警报关联
聚类分析
警报预处理
知识库
-5-
是误报的警报不进行报警,从而达到降低误报率的目的。
4) 预测分析
根据警报关联的结果,在对入侵者已经实施的攻击行为进行分析后,推断出入侵者可能
会采取的进一步攻击意图,并发送到决策模块进行决策分析。
5) 知识库
意图识别模块的各个部分在运行过程中均要和知识库进行交互。知识库是用来储存和管
理意图识别中所需的各种知识。如已知的攻击方法、系统安全漏洞和入侵关联规则以及已知
的入侵意图等。同时在识别中关联得到的新的入侵场景也可以更新到知识库中。
决策模块
对于入侵检测系统来说,决策模块非常重要。一个优秀的入侵检测系统不仅仅是将入侵
检测出的结果简单的呈现在控制台上,而是能够对识别出的入侵意图进行评估,根据当前网
络安全态势感知结果,判断威胁程度,并做出合理的决策方案。
响应模块
响应模块对于入侵检测系统的主动防护性至关重要。当一个入侵被检测到之后,入侵检
测系统应该根据攻击的类型或性质,做出相应的响应动作。
响应模块的工作是根据系统做出的全局决策,负责具体实施警报记录,信息备份、恢复、
入侵跟踪取证以及反攻击行为。根据所采取的响应措施分为:主动响应和被动响应。
主动响应是当系统检测到入侵行为后主动阻止入侵者的行为,主动响应措施通常包括:
自动终止攻击,如阻隔可疑网络流量、阻塞系统调用、杀死可疑进程等;与防火墙联动,通
知防火墙对某些连接进行阻断,甚至是重新设置防火墙;对入侵进行跟踪取证,对入侵源实
施攻击等。
被动响应是仅仅对检测出的入侵行为进行记录或者上报给系统管理员,系统本身并不试
图减少攻击所造成的破坏或者采取反击行动。记录警报可以以本地文件格式存放,也可以显
示在系统控制台上,或通过短信、电子邮件等形势进行上报。另外,也可以通过发出 SNMP
消息向管理员报警。
4.Agent分类及功能
Agent 为基于意图识别的入侵检测系统的基本实现机制。Agent 指网络环境中的软件实
体,能通过多 Agent技术自主地、协同地完成特定的功能;多 Agent技术是一组自治的 Agent
在分布式开放的动态环境下通过相互的交互、协商等智能行为完成复杂的控制或任务求解。
在本架构中 Agent是基于意图识别的 IDS体系的最小功能单元。
基于意图识别的入侵检测系统由多个 Agent组成。从逻辑层次上看,Agent可以分为数
据采集 Agent、检测报警 Agent、意图识别 Agent、决策 Agent、响应 Agent等。表 1给出了
基于意图识别的入侵检测系统中各个层次 Agent分类。
基于意图识别的入侵检测系统中各层次 Agent的具体功能说明如下:
-6-
表 1 基于意图识别的入侵检测系统中各层次 Agent分类
类名 对应层次 功能描述
主机型 对主机的访问数据、系统资源占用、系统调用
序列、系统日志文件等主机信息进行收集。 采集 Agent 数据采集层
网络型 获取网络上的数据流、路由信息等
检测型 采用异常检测和滥用检测。
检测 Agent 检测报警层 学习型 将数据挖掘、机器学习方法应用于 Agent。提
高系统的学习能力。
识别 Agent 意图识别层 对入侵者的意图进行识别推理。
决策 Agent 决策层 根据入侵意图制定全局决策
主动响应型 主动断开连接,阻塞可疑系统调用,反攻击 响应 Agent 响应层
被动响应型 记录警报信息,通知管理员
1) 检测 Agent
传统的检测型 Agent可以用来基于异常检测和滥用检测。学习型 Agent则将数据挖掘的
方法应用于 Agent,从而提高系统的学习能力。
2) 识别 Agent
运用意图识别技术,通过相互协商的方式进行意图识别的 Agent。可以采用针对检测方
建模的意图识别 Agent和针对入侵者建模的决策 Agent,将两者分析结果综合考虑进行识别。
3) 决策 Agent
决策 Agent处于 IDS的上层,是对整个网络进行管理和采用决策的核心单元。根据意图
识别 Agent推断出入侵意图,来决定系统下一步动作。
4) 响应 Agent
响应 Agent根据全局决策,以文件格式记录警报或者将警报上报给系统管理员。此外还
可以采用主动防护措施,如断开连接、阻塞系统调用、杀死可疑进程等,甚至对入侵源进行
追踪,实施反控制。
5.关键技术
数据融合
为了能够有效地识别出分布式、协同入侵意图,我们希望入侵检测系统能够集成入侵检
测的多种技术,能够在不同级别(主机信息、系统调用、网络数据以及应用程序等)对入侵
意图进行分析。
基于意图识别的入侵检测系统中的数据收集自不同的系统中,包括主机系统、网络、数
据及用户活动的状态和行为等信息。入侵检测不仅可以利用模式匹配和异常检测技术来分析
某个数据采集 Agent所采集的数据,以发现一些简单的入侵行为,还可以在此基础上利用数
据挖掘技术,分析多个数据采集 Agent提交的审计数据以发现更为复杂的入侵行为。
当检测 Agent面对并非单一的数据时,综合使用各种检测技术就显得十分重要。数据分
析协同需要在两个层面上进行,一是对一个检测 Agent采集的数据进行协同分析,综合使用
检测技术,以发现较为常见的、典型的攻击行为;二是对来自多个检测 Agent的审计数据,
利用数据挖掘技术进行分析,以发现较为复杂的攻击行为。
-7-
意图识别
在当前的网络攻击中,入侵者无法只进行一次攻击就能实现自己的目的,因此通常采用
复合入侵方式,采用不同的攻击技术,通过多个攻击步骤以最终达到目的。传统的入侵检测
系统只检测对应入侵步骤的基本攻击,即低级警报。基于意图识别的入侵检测系统可以将低
级警报关联起来,从而识别出入侵者的真实入侵意图。在系统中,从检测方的角度将意图识
别建模为模式识别问题,使用基于入侵意图的警报关联技术来识别入侵者的意图;从入侵方
的角度,将意图识别问题建模为决策问题,即入侵方如何选择每一步攻击动作使自己的利益
最大化。鉴于入侵中存在的不确定性问题,提出了入侵意图识别模型。从而可以从海量的入
侵警报中识别出入侵者真正的入侵意图,为下一步的决策分析提供参考。
系统安全联动机制
在基于意图识别的入侵检测系统中,入侵检测系统和防火墙、漏洞扫描系统等其它安全
部件构成了一个有机整体。入侵检测系统采集的数据可以从防火墙和漏洞扫描系统等安全部
件中获取,而当入侵检测系统中的响应模块根据系统决策采取相应动作时,又可以通知防火
墙联动,阻断可疑网络连接,甚至重新对防火墙进行配置。并且通知系统打上相应的漏洞补
丁。各安全部件之间可以相互通信和共享数据,来共同抵御入侵。
6.结束语
本文提出了一个基于意图识别的入侵检测系统原型,该系统与以往系统最大的区别就是
在传统 IDS 的基础上,将 IDS 发出的警报通过其因果逻辑关联起来,从而识别出隐藏在大
量单个攻击事件背后的真实入侵意图。文章对系统中各个部分功能模块进行了详细的描述。
参考文献
[1] Northcutt S. Network Intrusion Detection: An Analyst’s handbook. New Riders. 1999
[2] , , NetSTAT: A network-based intrusion detection system. In Proc. Of the 14th Annual
Computer Security Applications Conference. Scottsdale, , Dec, 1998
[3] Tseng C Y, Balasubramanyam P Ko C, Limprasittiporn R, Rowe J, and Levit K. A specification-based
intrusion detection system for AODV[C]. In: Proceedings of the 2003 ACM Workshop on Security of Ad Hoc
and Sensor Networks (SASN '03).Farirfax Virginia, 2003:125-134.
[4] Valdes A., Skinner K. Probabilistic alert correlation. In: Lee W, Me L, Wespi A. eds. Proceedings of the 4th
International Symposium on Recent Advances in Intrusion Detection (RAID 2001).Lecture Notes in
Computer Science. Spring-Verlag, 2001: 54-68
[5] Michel C,Me L Adele: an Attack Description Language for knowledge-based Intrusion Detection. In:
Proceedings of the 16th International Conference on Information Security ,2001
[6] Dain O., Cunningham R. K. Building scenarios from a heterogeneous alert stream. In: Proceedings of the
IEEE SMC Information Assurance Workshop, West Point, NY, 2001.
[7] , . A Requires/Provides Model for Computer Attacks. In: Proceedings of New Security
Paradigms Workshop, Ballycotton, Ireland, 2000:31-38.
[8] C. W. Geib, R. P. Goldman. Plan Recognition in Intrusion Detection Systems. In DARPA Information
Survivability Conference and Exposition (DISCEX), June 2001.
[9] 严芬,黄皓,殷新春.基于CTPN的复合攻击检测方法研究[J],计算机学报,2006,29(8):1383-1391.
[10] Qin Xinzhou, Lee Wenke. Attack Plan Recognition and prediction Using Causal Network. In: Proceedings of
the 20th Annual Computer Security Applications Conference (ACSAC 2004), Tucson, Arizona, December
2004.
[11] Ourston D, Matzner S, Stump W, et al. Applications of Hidden Markov Models to Detecting Multi-Stage
Network Attacks[A].Proceedings of 36th Annual Hawaii Int’1 Conference on System .
-8-
An Intrusion Detection System based on Plan Recognition
Luo Junjie,Liu Zhijie,Wang Chongjun
Department of Computer Science && Technology, Nanjing University, Nanjing, PRC, (210093)
Abstract
With the dramatically increase in network attack during the last several years, Intrusion Detection Systems(IDS)
have become a major element for network security. However, by detecting simple attack steps, IDS usually
generate huge volumes of low-level alerts, in which the information on multi-steps attack scenarios is missing. The
analysts and secure administrators can’t know how to associate the attack actions detected by IDS to a whole
attack behavior. The intrusion plan recognition’s goal is to reveal intrusion plan hiding behind the massive
intrusion event. Intrusion plan recognition can also indicate relevant steps of a multi-step attack scenario and
provides the security analyst with the necessary information to make time-critical decisions instead of
overwhelming by the volumes of alerts. In this paper, an intrusion detection system is proposed which is based on
intrusion plan recognition. This intrusion detection system can identify the intrusion plan effectively, provide IDS
with analysis result and take active defense measure.
Keywords: intrusion detection; plan recognition; compound attack; agent; data fusion
作者简介:
罗俊杰,男,1983年生,硕士研究生,主要研究方向是数据挖掘和入侵检测;
刘志杰,男,1980年生,硕士研究生,主要研究方向是入侵检测和模式识别;
王崇骏,男,1975 年生,博士,副教授,主要研究方向是机器学习、数据挖掘和智能信息
处理。