一种改进的自动机压缩算法在深度包检测中的应用_论文

2 j .O 0 0 1  在深度包检测 中的应用  一 锄 A 自 .文 的 大酬 张~ 慷 度法 哒 检榔 董 靴牲捕 则我椒  姗的啪    , 一甜 消坩 托一一 大瓶獬 躯验¨ 蜘 弭  埘检 对舯 文书 。叮 时一 M被 匕 二   正   王 志佳 ,顾 健  ( 公安部 第三研究所 ,上海 2 0 3 ) 0 0 1  0引言  随着网络技术和 网络规模 的不断发展 ,网络遭 到攻击 的风险性越来越 高,网络 安全已经 成为一个全球化 的重要课题 。很多  恶意行为都 隐藏 在数据载荷 中,即使数 据包通过 了包过滤 防火墙网关 的检测,数据 还是可能 对内部 网络造 成危害。因为数据 包  的应 用载荷 中可能充斥着蠕虫病毒 、垃圾 邮件 、漏洞利用等恶意代码。由此 ,深度包检测技术应运而生 。 目 ,正则表达式 、自 前   动机理论 已经在深度包检测技术中得 到广泛应用 … 。其具有灵活 、高效等特点,在模式匹配时比字符 串表现得更加优异 I   ,  。然  而,在实际应 用网络 中,一个典 型的正则表达式 集合往往需要上百个 自动机和数 以万计 的状态 组成。传统的基 于自动机的入侵检  测算 法为了达 到最佳 的p 配速度,将整 个正则表达式集合构造成一 个 自动机 ,以至于需要数百兆 ,甚至上 千兆字节 的运算空间支  1 ; 持。这就极大地影 响了检测算法 的效率,在现实应用中是很难被接 受的。针对这种情况,本文提 出了一种改进 的基于确定 有限自   动机的深度包 检测算法,并且通过实验数 据验证 了本文 提出的算法能在不增加算 法的运算 时间的前提下'极大地减少算 法所 需  的运算空间。   1深度 包检 测技 术  当前 日 复杂的安全威胁 中,很多恶意 行为都 隐藏在 数据包中,可能充斥着蠕虫病毒 、垃圾邮件 、 益 漏洞利用等恶意代码 ,在   各种电子商务程序 的 We 数 据中也可能夹带着后 门和木马程序在 网络中传递。所 以, 网络应用和网络威胁都高速增长的今天 , b 在   仅仅依照数据包 网络层信息的安全检测技术 ,已经无法满足信息安全 的要求。   深度包检测 ( epP ce Ise t n D e  ak t np c o ,简称 D I   i P )是指防火墙深入探查数据包 或数据流的应用程序流量 ,根据数据 包的有效  载荷来做 出某种决 定的能力。深度包检测主要用来确定数据流的影响力,通常典 型的深度包 检测是指包含试探性数据 分析 的特  征 匹配 技 术 。   深度 内容检测功能需求深度包检测技术能够深入分析 T P或 UDP通信流  C   量的内容 ,如 图 1 所示。当 I P数据包 、T P数据流或 UD C P包经过 网关设备时,   将会按照预定 义的策略对应 用内容进行操作。用户可 以使 用一定 的规则或 策略  来 定 义 这 些 变 量 ,使 这 些 策 略符 合基 于应 用 的类 型 或者 数 据 业 务 的最 终 目标 。   链路 蘑   同络蜃  传输蜃   应用删  EmaISMTP. OP   /( P 31 H1I   rF TP ' P  hm t ee   I  P T PU P C /O   Is n M nt t   两  a  P c- o P e   p / ̄in e .- - e rAp l rt - c n  1aa c . ea in ) t . Op rt   bt  ̄ o 2传统算法存在的 问题  图 1 深 度 包 检 测  传统 的基于 自动机的深度包 检测算法,将给定的正则表达式集合 中的所有正 则表 达式构造成一 个 D A F 。理论上,此方 法可  以达到最好的运算时间。然而多个正则表达式对应一 个 D A的状态数要远远 大于一个正则表达式对应一个 D A状态 数的总和。 F F   作者简介: 王志佳 ( 9 2 ,男,硕士,主要研 究方向 :信息安全 ;顾健 ( 9 3 ,男,研 究员,博士,主要研 究方向 :信息安全 、 t8 一) 16 一)   — — _ 7  _ 6   2 l .O 0 01   并且在实际应 用巾,由于正则表达式 成百上千,导致 算法需要  的运算空问往往超 出系统物理 内存大小。在这种情况下,一般  同的状态来 区分歧 义 ,从 而状 态数增 多。图 1 中,RE 、RE   2 3 和 R 4的识 别能 力依 次变 强且 都存在 歧 义匹配 ,其 D A状  E F 态数依次增多。   我们 引用一 个 D A膨胀率 的概 念,用来表 述 N A转化  F F 情况下系统会使用虚拟 内存 作为补充 ,但是虚拟内存是操作系  统在硬盘上 开辟的一块磁盘空间,使用虚拟内存意味着需要增  加读写硬盘的时间,结果反而会导致运算时问的迅速增加。   成 DF A后,状 态数增大率 。其 中,C u t) 于计 算 F o n(用 A的状  态数 。   E p ” R口P Co n( A) C u t A) x 口 d , :— u t DF - o n ( NF C o n( A  u tNF ) — 另一种算法 与传 统算法 完全相反 ,是将 给定的正则 表达  式 集合巾的每一个正则表达式 都构造一 个 DF A。这 样是 最节  省运算空间的办法,但是在这种情况下,对于每一 个要 匹配的  … … f1      1 数据包 ,都 要对经过所有 的 DF A循环匹配,必然导致 运算时  间迅 速 增 加 。   引入了 D A膨胀率之后我们就可 以正式进入我们的算法。 F   本算法 的 目的是在有 限运算空间内尽快 的增 大 DF A的运算速  度。 即,在允许 的 内存 范围 内,尽量 把多个正 则表 达式 组合  针对这种问题 ,本文 提出了一种构造最 优

相关文档

一种改进的XFA在深度包检测中的应用
一种面向深度包检测的DFA压缩算法
因子分解机算法在基于深度数据包检测的手机应用推荐中的应用
深度包检测系统(DPI)在江苏有线网络中的应用
改进的KMP算法在深度包过滤技术中的应用
基于云计算的深度包检测技术研究
一种防火墙新技术——深度包检测
基于粒子群优化算法的层次深度图像压缩算法
深度包检测消息传递技术
基于并行Bloom过滤器组的深度数据包检测算法
电脑版