990 likes | 1.15k Vues
入侵检测. 易 卫 E-mail: hnyiwei@126.com 2008.2.10. 第五章 入侵检测方法与应用. 对于 入侵检测系统 ( IDS ) 来说,入侵的 检测、分析模块 是系统的核心。 现在的入侵检测技术一般都是进行入侵特征的 提取、合并 和 推理 。其中有一些是传统的方法,比如 模式匹配 、 统计模型 等,有一些是从其他领域移植过来的方法,如 模糊系统、神经网络、遗传算法、免疫系统、数据挖掘、数据融合、协议分析 等。. 5.1 入侵检测的基本原理和主要方法.
E N D
入侵检测 易 卫 E-mail: hnyiwei@126.com 2008.2.10 湖南大学 07-08学年第二学期
第五章 入侵检测方法与应用 • 对于入侵检测系统(IDS)来说,入侵的检测、分析模块是系统的核心。 • 现在的入侵检测技术一般都是进行入侵特征的提取、合并和推理。其中有一些是传统的方法,比如模式匹配、统计模型等,有一些是从其他领域移植过来的方法,如模糊系统、神经网络、遗传算法、免疫系统、数据挖掘、数据融合、协议分析等。 湖南大学 07-08学年第二学期
5.1 入侵检测的基本原理和主要方法 • 为了介绍入侵检测的基本原理,我们首先介绍入侵检测系统的数据流程。入侵检测系统的数据流程图如下图所示。共分为以下五个模块:数据采集模块;数据预处理模块;分析模块模块;关联模块;管理模块。 • <1>. 数据采集模块:为了进行入侵检测,首先要获取数据。数据的来源主要有:网络数据包、系统日志、操作系统审计迹、应用程序的日志等。 • <2>. 数据预处理模块:从各种数据源采集上来的数据,需要经过预处理才能够加以分析。预处理的过程首先是去除一些明显无用的信息,其次是进行数据的分类,将同种类型的数据分在一起,然后,再将相关的数据进行合并,合并的过程中也可以再去除一些冗余、无用的信息。最后,预处理模块将这些数据进行格式转换,使得这些数据可以被分析模块识别和处理。 湖南大学 07-08学年第二学期
5.1 入侵检测的基本原理和主要方法(2) • <3>. 分析模块模块:分析模块是入侵检测系统的核心模块,它完成对事件的分析和处理。分析模块可以采用现有的各种方法对事件进行分析,在对事件进行分析后,确定该事件是否是攻击,如果是就产生报警,如果不能够确定,也要给出一个怀疑值。分析模块根据分析的结果,决定自己怀疑的数据是否要送给关联模块进行数据融合。 • <4>. 关联模块:关联模块进行数据融合的主要目的就是综合不同分析模块送报上来的已给出怀疑值的事件,判断是否存在分布式攻击。 • <5>. 管理模块:管理模块接到报警等信息后,决定是否采取响应,采取何种响应。 湖南大学 07-08学年第二学期
5.1 入侵检测的基本原理和主要方法(3) • 入侵检测方法:IDS通常使用两种基本的分析方法来分析事件,检测入侵行为,这两种分析方法即误用检测(misuse detection)和异常检测(anomaly detection)。 • 误用检测的目标是发现已知的入侵模式,它是大部分商业IDS产品采用的分析方法。异常分析方法则试图检测出系统行为的异常模式,在实际IDS中应用较少。两种分析方法各有自己的长处和缺点,最有效的IDS应该是主体技术使用误用检测,结合使用异常检测技术。 湖南大学 07-08学年第二学期
5.1 入侵检测的基本原理和主要方法(4) • 误用检测: 是对不正常的行为进行建模,这些行为就是以前记录下来的确认了的误用或攻击。误用检测器分析系统的活动,发现那些与被预先定义好了的攻击特征相匹配的事件或事件集。由于与攻击相对应的模式叫特征,误用检测往往也被叫做基于特征的检测。 • 异常检测: 是对正常行为建模,所有不符合这个模型的事件就被怀疑为攻击。异常检测首先收集一段时期正常操作活动的历史数据,再建立代表用户、主机或网络连接的正常行为轮廓,然后收集事件数据并使用各种方法来决定所检测到的事件活动是否偏离了正常行为模式。这些方法主要有阈值检测、统计方法等。 湖南大学 07-08学年第二学期
5.1 入侵检测的基本原理和主要方法(5) • 常用的入侵检测方法:10个 • 1.模式匹配 • 模式匹配的方法用于误用检测。它建立一个攻击特征库,然后检查发过来的数据是否包含这些攻击特征,如特定的命令等,然后判断它是不是攻击。这是最传统、最简单的入侵检测方法。它的算法简单,准确率高,缺点是只能检测已知攻击,模式库需要不断更新。另外对于高速大规模网络,由于要处理分析大量的数据包,这种方法的速度成问题。 • 我们可以举一个很简单的例子来说明模式匹配的方法。比如,下面的语句: • Port 25:{“WIZ”|“DEBUG”} • 就表示检查25号端口传送的数据中是否有“WIZ”或“DEBUG”关键字。 湖南大学 07-08学年第二学期
5.1 入侵检测的基本原理和主要方法(6) 常用的入侵检测方法:2.统计分析 • 统计分析用于异常检测。它通过设置极限阈值等方法,将检测数据与已有的正常行为比较,如果超出极限值,就认为是入侵行为。常用的入侵检测统计分析模型有: • (1).操作模型: 该模型假设异常可通过测量结果与一些固定指标相比较得到,固定指标可以根据经验值或一段时间内的统计平均得到,举例来说,在短时间内的多次失败的登录很有可能是口令尝试攻击; • (2).方差: 计算参数的方差,设定其置信区间,当测量值超过置信区间的范围时表明有可能是异常; • (3).多元模型: 操作模型的扩展,通过同时分析多个参数实现检测; • (4).马尔柯夫过程模型: 将每种类型的事件定义为系统状态,用状态转移矩阵来表示状态的变化,当一个事件发生时,如果状态矩阵该转移的概率较小则可能是异常事件; • (5).时间序列分析: 将事件计数与资源耗用根据时间排成序列,如果一个新事件在该时间发生的概率较低,则该事件可能是入侵。 • 统计分析的最大优点是它可以“学习”用户的使用习惯,从而具有较高检出率与可用性。但是它的“学习”能力也给入侵者以机会通过逐步“训练”使入侵事件符合正常操作的统计规律,从而透过入侵检测系统。 • 如何选择要监视的衡量特征,以及如何在所有可能的衡量特征中选择合适的特征子集,才能够准确预测入侵活动,是统计方法的关键问题。 湖南大学 07-08学年第二学期
5.1 入侵检测的基本原理和主要方法(8) 常用的入侵检测方法:3. 专家系统 专家系统主要针对误用检测。用专家系统对入侵进行检测,经常是针对有特征入侵行为。专家系统的建立依赖于知识库的完备性,知识库的完备性又取决于审计记录的完备性与实时性。审计事件被表述成有语义的事实,推理引擎根据这些规则和事实进行判定。入侵的特征提取与表达,是入侵检测系统的关键。该方法用基于规则的语言为已知攻击建模,增加了审计数据的抽象性。 • 在系统实现中,将有关入侵的知识转化为if-then结构(也可以是复合结构),条件部分为入侵特征,then部分是系统防范措施。运用专家系统防范有特征入侵行为的有效性完全取决于专家系统知识库的完备性。 • 专家系统的主要不足主要有:攻击特征的提取有较大难度,速度难于满足实时性要求等。因此,专家系统多用于原型系统的开发,而商业产品中则采用其他更有效的方法。 湖南大学 07-08学年第二学期
5.1 入侵检测的基本原理和主要方法(9) 常用的入侵检测方法: 4.神经网络 神经网络具有自适应、自组织、自学习的能力,可以处理一些环境信息复杂、背景知识不清楚的问题。有学者把神经网络技术也应用于入侵检测系统,以检测未知攻击。来自审计日志或正常的网络访问行为的信息,经数据信息预处理模块的处理后即产生输入向量。使用神经网络对输入向量进行处理,从中提取用户正常行为的模式特征,并以此创建用户的行为特征轮廓。这就要求系统事先对大量实例进行训练,具有每一个用户行为模式特征的知识,从而找出偏离这些轮廓的用户行为。 湖南大学 07-08学年第二学期
5.1 入侵检测的基本原理和主要方法(10) 常用的入侵检测方法: 5.模糊系统 模糊理论在知识和规则获取中具有重要作用。人类思维、语言具有模糊性。模糊思维形式和语言表达具有广泛、完美和高效的特征。人们的许多知识是模糊的,模糊知识在控制和决策中有巨大作用。 • 于是有学者将模糊系统的理论方法用于入侵检测系统中,以实现对入侵行为的判别。 6.遗传算法 遗传算法能在搜索过程中自动获取和积累有关搜索空间的知识,并自适应地控制搜索过程,从而得到最优解或次最优解。遗传算法的主要特点是简单、通用、鲁棒性强,适用于并行分布处理,应用范围比较广。 • 将遗传算法应用到入侵检测系统中,无疑是一个好的思路,但还有很多工作要做。 湖南大学 07-08学年第二学期
5.1 入侵检测的基本原理和主要方法(11) 常用的入侵检测方法: 7.免疫系统 有学者在研究过程中注意到:计算机系统的保护机制与生物的生理免疫系统之间具有显著的相似性,即两个系统运行的关键是执行“自己”和“异己”识别的能力,也就是说,一个组织的免疫系统能够决定哪些东西是无害的,哪些是有害的。依据免疫系统方法,我们利用程序运行过程中产生的系统调用短序列定义正常行为模式,以此来区分和识别攻击行为。 • 系统调用短序列是系统调用序列中一定长度的、表现相当固定的片断。系统调用序列是一个程序在计算机上执行时产生的,其中所涉及的系统调用是依据一定的次序排列的,这个次序取决于计算机所执行的程序。 湖南大学 07-08学年第二学期
5.1 入侵检测的基本原理和主要方法(12) 常用的入侵检测方法: 8.数据挖掘 数据挖掘是数据库中的一项技术,它的作用就是从大型数据集中抽取知识。对于入侵检测系统来说,也需要从大量的数据中提取出入侵的特征。因此就有学者将数据挖掘技术引入到入侵检测系统中,通过数据挖掘程序处理搜集到的审计数据,为各种入侵行为和正常操作建立精确的行为模式,这是一个自动的过程。数据挖掘方法的关键点在于算法的选取和建立一个正确的体系结构。 湖南大学 07-08学年第二学期
5.1 入侵检测的基本原理和主要方法(13) 常用的入侵检测方法: 9.数据融合 数据融合技术通过综合来自多个不同的传感器或数据源的数据,对有关事件、行为以及状态进行分析和推论。这类似于人们的认知过程:我们的大脑综合来自各个感官的信息,根据这些信息作出决策并采取相应的行动。根据这个原理,在网络中我们可以配置各种功能的探测器,从不同的角度、不同的位置,收集反映网络系统状态的数据信息:网络数据包、系统日志文件、网管信息、用户行为特征轮廓数据、系统消息、已知攻击的知识和系统操作者发出的命令等。然后,在对这些信息进行相应分析和结果融合的基础上,给出检测系统的判断结果和响应措施:对系统威胁源、恶意行为以及威胁的类型进行识别,并给出威胁程度的评估。 • 数据融合技术中的算法有不少,应用到入侵检测系统中的主要有贝叶斯算法等。 湖南大学 07-08学年第二学期
5.1 入侵检测的基本原理和主要方法(14) 常用的入侵检测方法: 10.协议分析 协议分析是新一代IDS系统探测攻击的主要技术,它利用网络协议的高度规则性快速探测攻击的存在。协议分析技术的提出弥补了模式匹配技术的一些不足,比如计算量大,探测准确性低等。协议分析技术对协议进行解码,减少了入侵检测系统需要分析的数据量,从而提高了解析的速度,由于协议比较规范,因此协议分析的准确率比较高,另外,协议分析技术还可以探测碎片攻击。 • 目前一些产品已经实现了或部分实现了协议分析技术。可以说,与传统的模式匹配技术相比,协议分析技术是新一代入侵检测技术。 湖南大学 07-08学年第二学期
5.2 基本的入侵检测方法 (1) 基本的入侵检测方法: • 在入侵检测系统中,主要的分析方法分为两大类,一类是以系统的正常行为建模,称为异常检测技术,另一类是以系统的不正常行为建模,称为误用检测技术。误用检测对于检测已知攻击比较有效,异常检测可以在一定程度上检测未知攻击。 • 对于这两种入侵检测的分析方法,各有一种有代表性的检测方法。它们分别是模式匹配和统计分析。 湖南大学 07-08学年第二学期
5.2 基本的入侵检测方法 (2) 模式匹配:下面详细介绍模式匹配算法。 我们可以做如下定义:设P为匹配的模式,T为数据包中的净荷,也就是进行匹配的文本,模式P的长度为m,文本T的长度为n。P从第一个字符到最后一个依次记为P1,P2,P3,……,Pm,T从第一个字符到最后一个依次记为T1,T2,……,Tn。如果对于给定的偏移量s,每个字符Pi∈P1……Pm,匹配相应的字符Ti+s∈T1……Tn,则P位于T中偏移量为s的位置,记作:Ti+s…Tm+s= Pi…Pm。这就是模式匹配的基本原理, 下面具体介绍3种算法: Brute Force算法 ; Boyer Moore 算法 ; Aho-Corasick算法 湖南大学 07-08学年第二学期
5.2 基本的入侵检测方法 (4) 模式匹配: (1) Brute Force算法 ; 描述如下: (1)将P与T左端对齐,使得P1与T1对齐; P1 Pm BOOK THIS IS A BOOK。 T1 Tm Tn (2)从左到右匹配P与T的字符,直到出现不匹配的情况或是P已被完全匹配。上图中BOOK对应THIS,P1=B,T1=T,P1≠T1,因此匹配失败; (3)如果出现不匹配的情况,则将P右移一个字符,重新开始匹配。这时P1=B,T2=H,P1≠T2,匹配失败。这样,再将P右移一个字符。如果出现P1=T2的情况,那么就匹配P2和T3,看是否匹配,如此下去,如果匹配失败,则需将P右移一个字符重新匹配。 (4)重复上述过程,直到P被完全匹配,或Pm移到Tn的右端。 Brute Force算法是一种比较老的算法,在早期的入侵检测系统中使用,它无需预处理阶段,除了模式和文本,需要一个额外的常量空间。在匹配过程中,文本字符的比较可以以任意顺序进行。查找阶段的时间复杂度是O(mn),比较次数是2n。 湖南大学 07-08学年第二学期
5.2 基本的入侵检测方法 (5) 模式匹配: (2). Boyer Moore 算法 : 相比Brute Force算法,Boyer Moore算法有三个增强的特性使它具有更高的效率,这三个特性如下: (1)从右向左匹配。将P和T从左端对齐,使得P1与T1对齐,匹配先从P的最右端字符开始,判断Pm是否等于Tm,如果匹配成功,则向左移动,判断Pm-1是否等于Tm-1。这样继续下去,直到P全部匹配成功或是有不匹配的情况出现; (2)坏字符移动。Boyer Moore算法对模式进行了预处理,得到了一些启发式的信息。它使用这些信息计算P向右的移动量。算法可以决定P的最右端的字符能够匹配T的位置。 (3)好后缀移动。匹配先从Pm开始,由于经过了模式的预处理,算法可以发现T中包含一个字符串“BOOK”,它将在T中查找这个字符串的下一个出现的位置。将P向右移动到P中的字符串“BOOK”与T中的下一个“BOOK”字符串右对齐。这样就可以减少匹配次数。 Boyer Moore算法经过预处理,可以大大减少匹配次数,比Brute Force算法有明显的改进。算法的预处理阶段的时间复杂度是O(m+σ),σ是与P、T相关的有限字符集的长度。查找阶段的时间复杂度是O(mn),查找非周期性模式时的最坏情况下比较次数是3n,最好情况下的性能是O(n/m)。 湖南大学 07-08学年第二学期
5.2 基本的入侵检测方法 (6) 模式匹配: (3).Aho-Corasick算法 Aho-Corasick算法是同时搜索多个模式的经典算法。简单地说,该算法使用了有限自动机地结构来接收集合中所有地字符串。自动机是机构化的,这样每个前缀都可用唯一的状态来标识,甚至是那些多个模式的前缀。当文本中下一个字符不是模式中预期的下个字符中的一个时,会有一条失败链指向那个状态,代表最长的模式前缀,同时也是当前状态的相应后缀。该算法的复杂度是O(n),预处理阶段的复杂度是O(m)。 湖南大学 07-08学年第二学期
5.2 基本的入侵检测方法 (7) 模式匹配方法在入侵检测中的应用: 比如要在数据包中检查“debug”字符串,如果该字符串存在,则认为是某种攻击。描述如下: get(data); if(str ==”debug”) { 进行入侵处理;} 如果要想缩小搜索范围,如只检测23端口的数据,则可以描述为: get(data); if(str ==”debug” && port ==23) { 进行入侵处理; } 如果想继续缩小搜索范围,如只检查客户端发送的数据,则可以描述为: get(data); if(str ==”debug” && port ==23 && attribute==”client-send”) { 进行入侵处理;} 湖南大学 07-08学年第二学期
5.2 基本的入侵检测方法 (8) 统计分析方法在入侵检测中的应用(1): 假如对于一般的员工来说,正常使用某台计算机的时间是8:00-23:00,如果在系统日志中发现在凌晨2:00有人使用此机器,那么就可认为是异常情况,有可能是入侵行为或非授权访问。此情况可以描述如下: set normal-time =8:00-23:00; set state =normal; get(login-time); if(login-time != normal-time) { set state= abnormal; 进行异常处理; } 湖南大学 07-08学年第二学期
5.2 基本的入侵检测方法 (9) 统计分析方法在入侵检测中的应用(2): 对于网络流量,也可以使用统计分析的方法进行监控,这样可以防止拒绝服务攻击等攻击的发生。如果设定某个端口处每秒钟允许的最大尝试连接次数是1000次,那么如果检测发现某个时间段内的连接此次超过此限,就视为异常,需要进行异常处理,以判断是否存在攻击。描述如下: set max-connect-number = 1000/s; set state =normal; connect-number = count(connect); if(connect-number> max-connect-number) { set state= abnormal; 进行异常处理; } 湖南大学 07-08学年第二学期
5.3 基于数据挖掘技术的入侵检测模型 (1) 本节首先对现有的异常检测技术进行了系统的分析研究,然后着重对数据挖掘技术从其概念本身和它在异常检测中的应用两个方面进行了分析和探讨。继而综合关联规则算法、击键韵律以及其他检测技术,提出了一个检测模型。本模型的一个出发点就是,认为用户的击键韵律是一种生物特征,用户与用户之间的这种特征是有差别的,可以作为入侵检测中的行为模式。模型具体是利用一系列数据挖掘算法建立用户的键盘行为模式库和鼠标行为模式库,然后用分类算法和漏桶算法相结合进行实时检测。 湖南大学 07-08学年第二学期
5.3 基于数据挖掘技术的入侵检测模型 (2) 5.3.1概述 目前入侵检测产品大多采用误用检测,这种入侵检测技术的主要局限在于: 1.它只能根据已知的入侵序列和系统缺陷的模式来检测系统中的可疑行为,而面对新的入侵攻击行为以及那些利用系统中未知或潜在缺陷的越权行为则无能为力。 2.检测系统知识库中的入侵攻击知识与系统的运行环境有关。 3.对于系统内部攻击者的越权行为,由于他们没有利用系统的缺陷,因而很难检测出来。 异常检测技术是一种在不需要操作系统及其安全性缺陷专门知识的情况下检测入侵的方法,同时它也是检测冒充合法用户入侵的有效方法。(如数据挖掘技术,免疫技术、遗传算法GA。) 湖南大学 07-08学年第二学期
5.3 基于数据挖掘技术的入侵检测模型 (3) 5.3.1概述(2) 数据挖掘技术本身发展迅速,它在入侵检测中也得到了广泛的应用,取得了不少成果。其中比较常用的有关联规则、序列规则、联结分析和分类算法等方法,对于发现新的攻击和更好的描述用户正常行为取得了很好的效果。同时也出现了几个比较成熟的应用数据挖掘的入侵检测系统。 击键韵律最先是由Rick Joyce和Gopal Gupta作为认证手段提出的,并取得了一定的成果。实验数据表明,不同用户之间击键韵律存在可以进行鉴别的差别,同理,不同用户对鼠标的使用也有各自的特征。本文着眼于用户键盘和鼠标的行为特征,将其作为分析对象,应用数据挖掘技术进行异常检测。 湖南大学 07-08学年第二学期
5.3 基于数据挖掘技术的入侵检测模型 (4) 5.3.2数据挖掘技术及其在入侵检测中的应用。<1>.基本概念. • 数据挖掘 (Data Mining) ,也称数据库中的知识发现 (KDD: Knowledge Discovery in Database),KDD一词首次出现在1989年8月举行的第11届国际联合人工智能学术会议上。 • 数据挖掘: 是指从大型数据库或数据仓库中提取人们感兴趣的知识,这些知识是隐含的、事先未知的潜在有用信息,提取的知识一般可表示为概念 (Concepts)、规则(Rules)、规律 (Regularities)、模式 (Patterns)等形式。其过程如下图所示: 湖南大学 07-08学年第二学期
5.3 基于数据挖掘技术的入侵检测模型 (6) 5.3.2数据挖掘技术及其在入侵检测中的应用。 <3>.数据挖掘与入侵检测的结合 . • 数据挖掘技术在入侵检测中主要是两个方向,一是发现入侵的规则、模式,与模式匹配检测方法相结合。二是用于异常检测,找出用户正常行为,创建用户的正常行为库。提出这个技术的目的之一是为了弥补模式匹配技术对未知攻击无能为力的弱点。 • 目前将数据挖掘技术应用于入侵检测领域具有代表性的成果就是美国哥伦比亚大学的wenke lee研究小组所创建的入侵检测系统。所用的主要技术是分类、关联规则和序列规则分析。 • 这些系统中大多应用关联规则、序列规则、分类算法等。下面,以wenkee lee小组的研究为例,分析一下这几项技术如何用于检测。 • (1). 关联规则 • (2). 序列规则 • (3). 分类算法 • (4).聚类算法 湖南大学 07-08学年第二学期
关 联 基 本 概 念 • 自然界中某种事物发生时其他事物也会发生的这样一种联系称之为关联。 • 反映事件之间依赖或关联的知识称为关联型知识(又称依赖关系)。 (?) • 定义1:关联是两个或多个变量取值之间存在的一类重要的可被发现的某种规律性。 • 关联可分为简单关联、时序关联、因果关联。 湖南大学 07-08学年第二学期
关 联 分 析 • 关联分析目的是寻找给定数据记录集中数据项之间隐藏的关联关系,描述数据之间的密切度。 • 关联分析的结果常有两种: 关联规则和序列模式。 • 关联规则用于寻找在同一个事件中出现的不同项的相关性; • 序列模式与此类似,但它寻找的是事件之间时间上的相关性。 湖南大学 07-08学年第二学期
关 联 规 则 • 关联规则发现的主要对象是交易型数据库,一个交易一般由交易处理时间,一组顾客购买的物品,有时也有顾客标识号(如信用卡号)组成。 • 定义:关联规则是描述在一个交易中物品之间同时出现的规律的知识模式,更确切的说,关联规则是通过量化的数字描述物品X的出现对物品Y的出现有多大的影响。 湖南大学 07-08学年第二学期
关 联 规 则 以零售业为例,体育用品商场通过对销售数据进行关联分析通常可以发现这些数据中常常隐含形式如下的规律——“购买篮球的顾客中有70%的人同时购买篮球运动服,所有交易中有40%的人同时购买篮球和篮球运动服” 等等。这些规律即关联规则。 湖南大学 07-08学年第二学期
关联规则形式化定义 • 定义:关联规则挖掘的交易数据集记为D(一般为交易数据库),D={T1,T2,…,Tk,…,Tn},Tk(k=1,2,…,n)称为交易,对应每一个交易有唯一的标识,记作TID。 • 元素im(m=1,2,…,p)称为项。设I={i1,i2,…,im}是D中全体项组成的集合,且TkI。 湖南大学 07-08学年第二学期
序 列 • 序列是不同项集的有序排列。 • 定义1(序列):I={i1i2…im}是项集,ik(1<=k<=m)是一个项,序列S记为S=<s1s2…sn>,其中sj(1<=j<=n)为项集(也称序列S的元素),即sjI。每个元素由不同项组成。序列的元素可表示为(i1i2…ik),若一个序列只有一个项,则括号可以省略。 • 序列包含的所有项的个数称为序列的长度。长度为l 的序列记为l -序列。
子 序 列 • 定义2(子序列):序列T=<ti1ti2…tim>是另一个序列S=<s1s2…sn>的子序列,满足下面条件:对于每一个j,1<=j<=m-1,有ij<ij+1且 对于每一个j,1<=j<=m,存在1<=k<=n,使得tijsk。即序列S包含序列T。用符号“”表示“被包含于”,序列T是序列S的子序列可记为TS。称T为S的子序列,S为T的超序列。 • 若一个序列S不包含在任何其他的序列之中,则称序列S是最大的。
序列支持度 定义3(支持度):序列数据库D是元组<sid,S>的集合,sid为序列标识号,如果序列T是S的子序列(即TS)称元组<sid,S>包含序列T;则序列T在序列数据库D中的支持度是数据库中包含T的元组数,即supportD(T)=|{<sid,S>|<sid,S>DTS }|记作support(T)。
序列关联规则 定义4: (序列关联规则)对于给定的项集I={i1i2…im}以及序列S,T,形如ST的表达式称为序列关联规则。
分 类 • 分类的目的是构造一个分类函数或分类模型(分类器),该模型能把数据库中的数据项映射到某一个给定类别。 • 定义1(分类):给定数据库D={t1,t2,…,tn},元组tiD,类的集合C={C1,……,Cm},分类问题定义为从数据库到类集合的映射f:DC,即数据库中的元组ti分配到某个类Cj中,有Cj ={ti|f(ti) = Cj,1≤i≤n,且ti∈D}。 湖南大学 07-08学年第二学期
训练集与测试集 • 训练集:数据库中为建立模型而被分析的数据元组形成训练集。 • 训练集中的单个元组称为训练样本,每个训练样本有一个类别标记。一个具体样本的形式可为:( v1, v2, ..., vn; c );其中vi表示属性值,c表示类别。 • 测试集:用于评估分类模型的准确率。 湖南大学 07-08学年第二学期
分类的两个阶段 a.模型训练阶段 训练集 b.使用模型 分类阶段 评估准确率(测试集) 对类标号未知的新 数据分类 湖南大学 07-08学年第二学期
分类模型的构造方法 机器学习方法: 决策树法知识表示是决策树 规则归纳知识表示是产生式规则 统计方法:知识表示是判别函数和原型事例 贝叶斯法 非参数法(近邻学习或基于事例的学习) 神经网络方法: BP算法,模型表示是前向反馈神经网络模型 粗糙集(rough set)知识表示是产生式规则 湖南大学 07-08学年第二学期
基于决策树 • 决策树 内部节点上选用一个属性进行分割 每个分支代表一个测试输出 叶子节点表示一个类分布 湖南大学 07-08学年第二学期
判定树分类算法 output input 决策树 训练集 使用决策树进行分类 • 1 建立决策树,利用训练样本生成决策树模型。 • 开始,数据都在根节点 • 递归的进行数据分片 • 2 修剪决策树 去掉一些可能是噪音或者异常的数据 • 3 使用决策树对未知数据进行分类 按照决策树上采用的分割属性逐层往下,直 到一个叶子节点 湖南大学 07-08学年第二学期
基本算法 • 自上而下分而治之的方法 • 开始时,所有的数据都在根节点 • 所有记录用所选属性递归的进行分割 • 属性的选择是基于一个启发式规则或者一个统计的度量 (如, information gain) • 停止分割的条件 • 一个节点上的数据都是属于同一个类别 • 没有属性可以再用于对数据进行分割 湖南大学 07-08学年第二学期
定 义 • 定义(聚类):给定一数据样本集X{X1,X2,…,Xn},根据数据点间的相似程度将数据集合分成k簇:{C1,C2,…,Ck}的过程称为聚类,∪i=1kCi=X,Ci∪Cj=ф,i≠j。相似样本在同一簇中,相异样本在不同簇中。 • 关于同一簇中的样本比来自不同簇的样本更为相似的判断问题主要涉及以下两个独立的子问题: a.怎样度量样本之间的相似性; b.怎样衡量对样本集的一种划分的好坏。 湖南大学 07-08学年第二学期
聚类算法即是先定义一个合适的度量,然后计算任意两个样本之间的距离。当两个样本之间的欧几里德距离小于某个阈值d0时,这两个样本就属于同一类。距离阈值d0影响簇的数量和大小,d0越小,每个簇就越小,簇的数目就越多。如果d0太大,则所有样本将会被分为同一簇;如果d0太小,每个样本又会单成一类。聚类算法即是先定义一个合适的度量,然后计算任意两个样本之间的距离。当两个样本之间的欧几里德距离小于某个阈值d0时,这两个样本就属于同一类。距离阈值d0影响簇的数量和大小,d0越小,每个簇就越小,簇的数目就越多。如果d0太大,则所有样本将会被分为同一簇;如果d0太小,每个样本又会单成一类。 湖南大学 07-08学年第二学期
5.3 基于数据挖掘技术的入侵检测模型 (5) 5.3.2数据挖掘技术及其在入侵检测中的应用。 <2>.数据挖掘主要技术 . • 数据挖掘的方法繁多,从应用到入侵检测领域的角度来讲,以下几种方法非常常用: • (1).关联分析 • 程序的执行和用户活动展示了系统特征之间的关联。例如,一定权限的程序只能访问特定目录下的某些系统文件,程序员经常编写和编译C文件等等。 • 挖掘关联规则的目的就是从数据库表中获得多个特征的关联。 湖南大学 07-08学年第二学期
(2).序列模式分析 • 序列模式分析和关联规则分析相似,其目的也是为了挖掘数据之间的联系,但序列模式分析的侧重点在于分析数据记录之间的纵向相关性。代表算法有AprioriAll、AprioriSome等。它能发现训练数据库中形如“Dos攻击训练数据集中,网络记录包含关联(Srv=http,Flag=Syn),接着另一条记录仍包含关联(Srv=http,Flag=Syn),则在2秒钟内包含关联(Srv=http,Flag=Syn)的事件发生的概率是95%”之类的知识。在进行序列模式分析时,同样也需要由用户输入最小置信度C和最小支持度S。 • 序列模式能把基于时间的统计测度融入到入侵检测模型,有效地改善特征提取和统计测度选择过程中经验成份的问题。 湖南大学 07-08学年第二学期
(3).分类分析 • 入侵检测可以看作一个分类的问题:希望能把每一个审计记录分类到可能的类别中,正常或某种特定的入侵。 • 一般来讲,分类的关键在于选择正确的系统特征,大多数时候还需要根据经验和实验效果来确定一个合理的门限值。 湖南大学 07-08学年第二学期