当前位置:文档之家› 06数据分析技术

06数据分析技术

课题名称:入侵检测的数据分析技术课的类型:授新课教学目标:学习入侵检测的数据分析技术。

教学重点:入侵检测的数据分析技术教学难点:入侵检测的数据分析技术课时安排:2课时教学方法:多媒体原理分析、讲授教学过程:一、序言本次课堂主要介绍入侵分析的各项应用技术,包括基于误用检测( misuse detection的模式匹配、专家系统、状态转移,基于异常检测(anomaly detection的量化分析、统计分析、非参量统计分析、随机过程分析、规则分析、神经网络以及其他诸如免疫系统、基因算法、数据挖掘、基于代理、基于内核等检测模型及技术,介绍过程中还会穿插一些作者在研究入侵检测系统时的经验和体会。

二、入侵检测数据分析技术前面我们介绍了入侵分析的定义、目标、需求以及通用的处理模型,本节所要介绍的是入侵分析的各项应用技术。

入侵检测从分析引擎所采用的技术上来说,可以分为误用检测( misuse detection)和异常检测(anomaly detection)两大类。

误用检测搜索审计事件数据,查看其中是否存在预先定义的误用模式;异常检测则提取正常模式审计数据的数学特征,检查事件数据中是否存在与之相违背的异常模式。

下面,我们就从这两个方面来介绍入侵检测的分析技术。

(一)误用检测误用检测对系统事件的检查基于这样一个问题:系统行为是否代表着特定的攻击模式?首先对标识特定入侵的行为模式进行编码,建立误用模式库,然后对实际检测过程中得到的审计事件数据进行过滤,检查是否包含入侵行为的标识。

执行误用检测,需要具备以下几个条件:了解误用行为模式的组成部分;完备的检测规则库;可信的用户行为记录;可靠的行为记录分析技术。

误用检测的缺陷在于只能检测已知的攻击模式,当出现针对新漏洞的攻击手段或针对旧漏洞的新攻击方式时,需要由人工或者其他机器学习系统得出新攻击的特征模式,添加到误用模式库中,才能使系统具备检测新的攻击手段的能力,如同市场上众多的杀毒软件一样,需要不断的、及时的升级,才能保证系统检测能力的完备性。

1.1简单模式匹配简单模式匹配是最为通用的误用检测技术,特点是原理简单、扩展性好、检测效率高、可以实时检测,但只能适用于比较简单的攻击方式,并且误报率高。

简单模式匹配虽然在性能上存在很大问题,但由于系统的实现、配置、维护都非常方便,因此得到了广泛的应用。

著名的Snort就采用了这种检测手段。

Snort是跨平台的轻量级网络入侵检测工具,可以用于监视小型的TCP/IP网络,检测各种可疑的网络行为或已知的攻击手段。

Snort为系统管理员提供了足够的信息,帮助对可疑行为作出正确的判断。

由于具有简单的系统结构和良好的扩展性,Snort可以迅速地用于弥补网络系统存在的安全漏洞,相对于需要较长时间才能提供特征库更新的商业安全产品来说,更能够满足管理员的需求。

Snort最大的优势在于系统的成本,商业化的入侵检测系统动辄需要花费几万到几十万美元,而Snort基于GNU GeneralPublic License,可以免费应用在各种环境中,并且开放全部源代码,又有众多安全研究组织和个人的热心支持,因此完全可以保证规则库的更新。

笔者所在的研究小组曾经对Snort的全部源程序进行了分析,下图是Sn ort系统的流程:从系统流程来看,Snort的检测相对来说是比较简单的,需要说明的是Snort对检测规则所采用的二维链表。

Snort的规则库采用文本方式存储,可读性和可修改性都比较好,缺点是不能作为直接的数据结构给检测引擎进行调用,因此每次在启动时,都需要对规则库文件进行解析,以生成可供检测程序高效检索的数据结构。

Snort采用了一种二维链表的结构。

二维链表横向的节点称为RuleTreeNode,纵向的节点称为OptTreeNodeo规则库中的每条规则分为两个部分:Rule Header和Rule Option。

其中Rule Header决定了该规则处于二维链表横向的哪一个节点上(RuleTreeNode); Rule Option决定了该规则处于二维链表纵向的哪一个节点上(OptTreeNod^。

检测过程同样按照二维链表的顺序进行,将抓取的数据包和根据规则库所生成的二维链表进行逐一的比较,如果找到匹配的规则条目,则根据该规则所规定的响应方式进行响应(Pass Log,Alert),然后再处理下一个数据包;如果没有匹配的规则条目,则直接返回,处理下一个数据包。

1.2专家系统专家系统(expertsystem是最早的误用检测方案之一,被许多经典的检测模型所采用,例如MIDAS,IDES,NextGeneration IDES (NIDES ),DIDS 和CMDS。

在MIDAS,IDES 和NIDES 中,所采用的专家系统是由Alan W hitehurst设计的P-BEST,DIDS和CMDS则使用了由美国国家航空和宇宙航行局(NationalAeronautics and Space Administration 简称NASA )开发的CLIPS 系统。

专家系统的应用方式是:首先使用类似于if-then的规则格式输入已有的知识(攻击模式),2006 年9 月19 日然后输入检测数据(审计事件记录),系统根据知识库中的内容对检测数据进行评估,判断是否存在入侵行为模式。

专家系统的优点在于把系统的推理控制过程和问题的最终解答相分离,即用户不需要理解或干预专家系统内部的推理过程,而只须把专家系统看做是一个自治的黑盒子(black box)。

当然,要达到这一目的,黑盒子的生成是一项困难而费时的工作,用户必须把决策引擎和检测规则以硬编码的方式嵌入到系统中。

专家系统中的攻击知识通常使用if-then的语法规则表示。

用来表示攻击发生的条件排列在规则的左边(if部分),当这些条件满足时,系统采取规则右边(then部分)所给出的动作。

当专家系统应用于入侵检测时,存在以下一些实际的问题:处理海量数据时存在效率问题。

这是由于专家系统的推理和决策模块通常使用解释型语言实现,执行速度比编译型语言要慢;缺乏处理序列数据的能力,即数据前后的相关性问题;专家系统的性能完全取决于设计者的知识和技能;只能检测已知的攻击模式(误用检测的通病);无法处理判断的不确定性;规则库的维护同样是一项艰巨的任务,更改规则时必须考虑到对知识库中其他规则的影响。

1.3状态转移法状态转移法(state transition即proache)采用优化的模式匹配(pattern-matching)技术来处理误用检测问题,由于处理速度的优势和系统的灵活性,状态转移法已成为当今最具竞争力的入侵检测模型之一。

这种方法采用系统状态和状态转移的表达式来描述已知的攻击模式。

目前,实现基于状态转移的入侵检测可以用3种方法:状态转移分析(state transition analysiS、着色Petri网(colored petrinets简称CP-Nets)和基于语言/应用程序接口的方法(Ianguage/APIbased approach)。

下面,我们将对状态转移分析进行介绍,包括如何建立误用模型以及如何使用模型对审计事件数据进行过滤。

状态转移分析(State Tran sition An alysis状态转移分析是使用高层状态转移图(state transition diagrams来表示和检测已知攻击模式的误用检测技术。

这种技术首先在STAT系统及USTAT(基于Unix系统的版本)中实现,STAT 系统由美国加州大学Santa Barbaba分校(University ofCalifornia,Santa Bar-baba 的Phillip Porras 和Richard Kemmerer开发,USTAT则由KoralIlgun和Kemmerer完成。

状态转移图是一种针对入侵或渗透过程的图形化表示方法。

图 4.5以序列的方式给出了状态转移图的各个组成部分。

节点(no des表示系统的状态,弧线代表每一次状态的转变。

所有入侵者的渗透过程都可以看做是从有限的特权开始,利用系统存在的脆弱性(vul nerabilities),逐步提升自身的权限。

正是这种共性使得攻击特征可以使用系统状态转移的形式来表示。

在每个步骤中,攻击者获得的权限或者攻击成功的结果都可以表示为系统的状态。

1^4.5狀态转移图当使用状态转移图提取入侵序列的特征时,系统应该限制为仅表示那些导致状态变化的关键行为。

从初始状态到处于攻击下的系统状态所经过的状态转移路径依赖于主体的实施过程,不同的攻击者即使利用相同的系统脆弱性对目标系统进行攻击,所得到的状态转移图也是不同的。

在每种系统状态下,我们都可以得到相应的、针对该状态的判断结果------ 断言(assertionS。

状态转移分析系统使用有限状态机(finite state machine模型来表示入侵过程。

入侵过程由一系列导致系统从初始状态转移到入侵状态的行为组成。

初始状态表示在入侵发生之前的系统状态,入侵状态则代表入侵完成后系统所处的状态。

系统状态通常使用系统属性(system attributes 或用户权限(userprivileges)来描述。

用户的行为和动作导致系统状态的转变。

用于误用检测的状态转移分析引擎包括一组状态转移图,各自代表一种入侵或渗透模式。

在每个给定的时间点,我们都认为是由于一系列的用户行为使得系统到达了每个状态转移图中的特定状态。

每次当新的行为发生时,分析引擎检查所有的状态转移图,查看是否会导致系统的状态转移。

如果新行为否定了当前状态的断言(assertions,分析引擎就将转移图回溯到断言仍然成立的状态;如果新行为使系统状态转移到了入侵状态,状态转移信息就被发送到决策引擎,并根据预先定义的策略采取相应的响应措施。

STAT系统的优点在于:状态转移图提供了一种针对入侵渗透模式的直观的、高层次的、与审计记录无关的表示方法;利用状态转移法,可以描述出构成特定攻击模式的特征行为序列;状态转移图给出了保证攻击成功的特征行为(sig nature actio ns的最小子集,这使得检测器可以适应相同入侵模式的不同表现形式;基于状态的特征检测可以使攻击行为在尚未到达侵入状态(compromised state之前被检测到,从而及时采取响应措施阻止攻击行为;系统可以检测协同攻击和慢速攻击。

STAT系统同时也包含了以下一些缺陷:当前状态的断言和特征行为需要手工编码;断言和特征行为在用于表示复杂的、细致的入侵模式时可能存在问题;对当前状态下得出的断言进行评估时,可能需要从目标系统获取额外的信息,这个过程通常会导致系统性能的下降;STAT系统是属于研究性质的原型系统,不能检测一些常见的攻击手段,实际应用时必须与其他检测器协同工作;STAT原型系统与其他基于状态转移的方法相比,速度较慢。

相关主题