《入侵检测技术课件:7-5 基于数据挖掘的入侵检测》由会员分享,可在线阅读,更多相关《入侵检测技术课件:7-5 基于数据挖掘的入侵检测(33页珍藏版)》请在金锄头文库上搜索。
1、数据挖掘技术在入侵检测中的应用1、数据挖掘的基本概念数据挖掘(data mining):也称为数据库中的知识发现(KDD,Knowledge Discovery in Database),是指从大型数据库或数据仓库中提取出人们感兴趣的知识,这些知识是隐含的、事先未知的潜在的有用信息。可以作为决策支持和分析的工具。2、数据挖掘主要技术关联分析序列模式分析分类分析聚类分析关联分析从大量数据的项集之间发现有趣的、频繁出现的模式、关联和相关性。应用于购物篮分析、捆绑销售等。典型案例:“尿布与啤酒”:在美国,一些年轻的父亲下班后经常要到超市购买尿布,超市也因此发现了一个规律,在购买婴儿尿布的年轻父亲们中
2、,有30%40%的人同时要买一些啤酒。超市随后调整了货架的摆放,把尿布和啤酒放在一起,明显增加了销售额。我们还可以根据关联规则在商品销售方面做各种促销活动。规则举例尿布啤酒啤酒、尿布奶酪、巧克力经典算法Apriori 算法关联分析在入侵检测中的应用表表1 telnet命令记录命令记录关联分析在入侵检测中的应用序列模式分析和关联分析相似,但序列模式分析的侧重点在于分析数据间的前后序列关系。发现数据库中形如“在某一段时间内,顾客购买商品A,接着购买商品B,而后购买商品C,即序列A=B =C出现的频度较高”之类的知识。分类分析设有一个数据库和一组具有不同特征的类别标记,该数据库中每一个记录都被赋予一
3、个类别的标记,这个数据库称为示例数据库或训练集,分类分析就是通过分析训练集中的数据,为每个类别做出准确的描述或挖掘出分类规则,然后用这个分类规则对其他数据库中的记录进行分类。例如:信用卡公司的数据库中保持着各持卡人的记录,公司根据信誉程度已将持卡人记录分成3类:高、中、低。并且将类别标记已赋给各个记录,分类分析就是挖掘出分类规则,如“信誉良好的客户指那些年收入在5万以上,年龄在4050岁之间的人士”,然后根据规则对具有相同属性的数据库记录进行分类。分类分析数据集合 ,类别标记集合数据集合: 训练数据 待分类数据已知问题:方法:根据训练数据获得类别划分标准 分类图示训练数据训练数据待分类数据待分
4、类数据分类分析在入侵检测中的应用入侵检测可以看作是一个分类问题:我们希望能把每一个审计记录分类到可能的类别中,正常或某种特定的入侵。分类分析在入侵检测中的应用表 Telnet记录分类分析在入侵检测中的应用RIPPER分类算法提取出的分类规则:分类算法提取出的分类规则:聚类分析与分类分析不同,聚类分析输入的是一组未分类记录,并且这些记录应分成几类事先并不知道。聚类分析就是通过分析记录数据,合理地划分记录集合,确定每个记录所在类别。什么是聚类?聚类就是对大量未知标注的数据集,按数据的内在相似性将数据集划分为多个类别,使类别内的数据相似度较大而类别间的数据相似度较小;聚类图示聚类中没有任何指导信息,
5、完全按照数据的分布进行类别划分聚类中没有任何指导信息,完全按照数据的分布进行类别划分聚类与分类的区别有类别标记和无类别标记;有监督与无监督;(有训练语料与无训练语料)Train And Classification (分类);No Train(聚类);聚类的基本要素定义数据之间的相似度;聚类有效性函数(停止判别条件); 1. 在聚类算法的不同阶段会得到不同的类别划分结果,可以通过聚类有效性函数来判断多个划分结果中哪个是有效的; 2. 使用有效性函数作为算法停止的判别条件,当类别划分结果达到聚类有效性函数时即可停止算法运行;类别划分策略(算法); 通过何种类别划分方式使类别划分结果达到有效性函数
6、; 相似度Euclidean Distance数据表示为向量,向量中某一维对应数据某一特征或属性数据表示为向量,向量中某一维对应数据某一特征或属性仅计算了数据向量中属于同一维度特征的权值差距仅计算了数据向量中属于同一维度特征的权值差距; 聚类有效性函数最小误差( ):最小方差:衡量同一类别内数据的平均误差和衡量同一类别内数据的平均误差和;衡量属于不同类别的数据与类别中心的的误差和衡量属于不同类别的数据与类别中心的的误差和;聚类算法的简单分类基于划分: K-means, K-medoids基于层次: HFC基于密度: DBSCAN基于网格: CLIQUE , STING K-means初始参数-
7、类别数&初始类别中心;聚类有效性函数-最小误差;优点: 聚类时间快;缺点: 对初始参数敏感; 容易陷入局部最优; K-means步骤1 设置初始类别中心和类别数;2 根据类别中心对数据进行类别划分;3 重新计算当前类别划分下每类的中心;4 在得到类别中心下继续进行类别划分;5 如果连续两次的类别划分结果不变则停止算法;否则循环25 ;初始值敏感初始化初始化4个类别中心个类别中心;左侧的全体数据仅与第一个类别中心相似左侧的全体数据仅与第一个类别中心相似;层次聚类分裂或凝聚算法运行到某一阶段,类别划分结果达到聚类标准时算法运行到某一阶段,类别划分结果达到聚类标准时即可停止分裂或凝聚即可停止分裂或凝
8、聚;基于聚类的入侵检测方法由于IDS需要处理的数据量非常大,对建模和检测的准确性、时效性要求高,因此在研究基于聚类的入侵检测方法时重点考虑三个方面的要求:聚类算法时间复杂度低;聚类精度高,能将不同类型的数据聚集在分离的簇中;给簇准确做标记,能得到较准确的分类模型。基于聚类的检测方法主要由两大模块构成:模型建立第一步:对训练集进行聚类;第二步:利用聚类结果得到分类模型;模型评估检测率:被正确检测的攻击记录数占整个攻击记录数的比例。误报率:表示正常记录被检测为攻击的记录数占整个正常记录数的比例。未见攻击类型的检测率:表示测试集中出现而训练集中没有出现的新类型攻击记录被正确检测的比例。基于聚类的入侵检测方法无指导的入侵检测方法是在未标记的数据上训练模型并检测入侵,不需要任何先验知识,可能检测新的、未知的入侵。基于基本的假定:正常行为较入侵行为占绝对的比例;入侵行为偏离正常行为是可以区别的。聚类簇无指导的聚类检测过程1.模型建立第一步:对训练集T1进行聚类,得到聚类结果T1=C1,C2,Ck;第二步:给簇做标记:统计每个簇Ci(1i k)的异常因子或数据量的大小。2.确定模型:确定每个簇的类中心和半径阈值。3.利用最近邻分类方法对测试集中的每个对象进行分类; Thank You!