决策树(彭展).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
决策树(彭展).doc

《Using Decision Trees to Improve Signature-Based Intrusion Detection》 在入侵检测系统中,数据包与规则集之间的匹配过程是最耗时的,目前许多算法都是将每一个输入的数据包依次和所有的规则进行比较,从而确定匹配上的规则,或无任何匹配,但在该过程中存在大量冗余比较,所以这种方法远远没有达到最优。这里给出了一种方法,将机器学习中的聚类算法应用到规则匹配过程中,以提高匹配效率。该方法依据给定的规则集来构造一棵决策树,使匹配过程中的比较次数尽可能少,从而提高了整体效率。 基本思想: 该方法可以分为两,首先依据给定的规则建立一棵决策树,接着利用该决策树对网络上的数据包进行匹配,具体过程如下: 建立“决策树”:该方法将最初的包含所有规则的集合作为决策树的根节点,然后运用ID3算法,在根节点所包含的规则集合中选取最具有区分度的规则属性,作为根节点的属性标签,再按照规则集在该属性上的不同取值,对其进行分组,分组后的每一个子集都作为根节点的孩子节点并入决策树,在由根节点到孩子节点的分支上,标注该孩子节点所代表的规则集在根节点属性上的取值。当决策树中,存在一个节点包含多于一个规则时,继续使用ID3算法和上述步骤对该节点进行分组,但在选取属性时不能选择前面已经标注过的属性。在决策树中,每一个叶子节点,都只包含一条规则,或者一些规则,这些规则不能被任何属性区分开(即这些规则在所有未标注属性上的取值相同)。依照上述过程,可以确保建立起一棵最优“决策树”,即决策树的高度最短,从而将其用于数据包与规则集的匹配时,能够使平均比较次数最少。 利用“决策树”进行规则匹配:当IDS接受到一个数据包时,匹配过程将从决策树的根结点开始,根据当前节点的属性标签,来检测数据包中该属性的实际取值,依据该属性值选择相应的孩子节点,作为下一步进行检测的节点。如果匹配过程持续,直到在检测某节点时,无法找到与数据包在该节点属性值一致的孩子节点,这说明没有任何规则与该数据包匹配,匹配过程立即结束。如果该过程持续进行,直到终止于某个叶子节点,则该叶节点所包含的所有规则就是与数据包“潜在”匹配的规则,接着要将数据包与这些规则的剩余属性(即在匹配过程中没有检测过的属性)进行比较,以确定最终匹配上的规则,或者没有任何规则与之匹配。 算法: 假设4条snort规则: Source Address -- Destination Address(DA) : Destination Port(DP) (1) 192.168.0.1 -- 192.168.0.2 : 23(content:…) (2) 192.168.0.1 -- 192.168.0.3 : 23(content:…) (3) 192.168.0.1 -- 192.168.0.3 : 25(content:…) (4) 192.168.0.4 -- 192.168.0.5 : 80(content:…)在建立决策树的过程中,对每一个节点的属性选取是至关重要的,它所建成决策树的形状和深度,会直接影响决策树的效率。为了说明属性的选择对决策树的影响,考虑下面的情形: 如果我们简单地按“Source Address”—“Destination Address(DA)”—“Destination Port(DP)”的顺序来选取属性,则建成的决策树图所示: 图1. 按照SA-DA-DP的顺序建立的决策树 该决策树的高度为3,就是说在最差情况,数据包需要进行3次属性检测才能确定与之匹配的规则,但这并不是最优情况。为了建成最优决策树(即树高最短),我们采用了ID3算法的变种,具体建树的流程如下: Step1:初始化决策树,建立根节点,其内容包括:R(规则集) = 所有规则;A(属性集) = 规则的所有属性。 Step2: 如果决策树的所有叶节点满足:其规则集R在属性集A每个属性的所有取值均相同,则结束;否则,转Step3: Step3: 对所有不满足Step2中条件的叶节点,对计算其信息增益: G(R, a) = 其中,Val(a)为规则集中的所有规则在属性a上的所有可能的取值。 Step4:选择具有最大信息增益的属性,将R中在上具有相同值的规则分成一组,建立叶节点,其规则集且,转Step2。 为了说明如何采用上述步骤来建立决策树,我们同样考虑前面的例子。 首先,在根节点时,我们有R={1,2,3,4},A={ SA, DA, DP},我们分别对A中的3个属性值,计算其信息增益: 1.23 1.59 1.59 由于DP和DA的信息增益一样,且均大于SA因此我们选择DP(Destination )该节点的属性标签,根据R中规则在该属性上的不同取值,可将R划分为3个子集,如图2所示:

文档评论(0)

ziyouzizai + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档