正在加载图片...
图1WM算法搜索示意图 分析WM算法发现,存在缺点:(1)如果最短模式串非常 短,那么m的值就会非常小,算法最多只能跳跃m,此时算法 表示在折线图中,如下图3所示 的效率就变得非常低。(2) Shift表为0时,需要进行精确匹配 而在WM算法中使用的精确匹配算法是效率较低的蛮力算法 3改进 对于这两个缺点,可以改进:(1)将特征集合分为长短两个 特征集合来处理。通过分析发现,找到合适的分割长度,从而 以取得较好的匹配性能。(2)为每个模式串建立一个sub-shit表, 图3各算法内存对比 其大小与模式串相同。相应的sub-shit表项中存放当与本模式串 匹配失败时,搜索窗口向右移动字符数。搜索过程中在精确匹配如下图4所示。 规则数目为2800,模式串最小长度不同下,算法的运行时间 全部完成时,我们根据各字符串 subshift表值的综合情况,找到如下图4所示 文本可以安全地向右跳跃的字符数 WM-NEW算法 4实验 4.1数据源 据源采用的是国际认可的麻省理工学院林肯实验室提供 盏45000 的 DARPA2000入侵检测数据集。该数据集包括DoS、R2L U2R、 Probe和Data5大类58种攻击方式 4.2实验环境 最式长度(字箐) 实验环境为win7操作系统、2G内存、 snort-2.9.1、C in Pcap 412, snortrules-snapshot-2.9.1.tar.gz. 4算法最短模式串长度下时间对比 yawn提供编译 Snort所需要的应用程序 bison、flex、sed。 通过实验结果可以看出,改进后的算法匹配效率能有了很大 WinPcap是数据包捕获器,为 Snort捕获数据包 提高,规则数目越多,优势越明显。且算法平稳增长时间性能受 4.3实验方法 影响较小。模式串长度增大时,新算法匹配效率提高较大。新算 以补丁的形式将算法加入到 Snort中,在配置文件中将匹配 法的内存占用量虽然比WM算法大,但仍小于AC算法,在可接 方法设置为WM算法 算法 WM-NEW及默认算法受范围,模式串越多约明显 AC- SPLIT算法。 Snort扫描入侵检测数据集,比较wM算法 5结束语 改进算法、 AC- SPLIT算法在规则数目不同时的时间,以及在规 本文研究了 Snort中两个经典后缀搜索算法,并对WM算法 则数目不同的占用内存。规则数目为2800,模式串最小长度不同进行了改进,并将其AC- SPLIT算法、WM算法进行了对比,结 下,算法的运行时间对比。规则数目是除去对数据集的解码规则果表明改进后的算法检测效率提高。同时,改进后的算法在内存 和预处理规则后的数目 占用方面仍有改进的空间,更加有效地为 Snort所使用 4实验结果 在规则数目不同情况下,各算法匹配时间,以1000ms为单 参考文献 表1算法匹配时间(×1000ms) 6001000140018002200 [1]刘积芬网络入侵检测关键技术研究[D]上海:东华大 AC-SPLIT422974379644949460(1505631 学,2013 WM416124327544564537047562|4842l [2]刘鑫网络入侵检测系统中模式匹配算法的应用研究 [D]大连海事大学,2013 WM-NEW412104285343810441854581047312 3]王友钊,黄冬一种提高系统搜索效率的BM改进算法 表示在折线图中,如下图2所 计算机工程,2014 [4张宏莉,徐东亮,梁敏,刘宇峰海量模式高效匹配方 法研究U电子学报,2014 [5]王正才,许道云,王晓峰基于自动机并操作的多目标 AC-BM算法[计算机科学,2013. [6]陆琳琳,田野基于确定有限状态自动机的改进多模式 匹配算法研究[计算机应用与软件,2013 刁蒋晓鸽,武小年,张昭基于后缀WM匹配算法的改进 图2各算法规则数目下时间对比 算法计算机与数字工程,2013. 规则数目不同情况下,各算法占用内存测试结果,以MB为 8]Laboratory Lincoln. MIT Lincoln Laboratory Int 单位。 ormation Systems Technolo gy[eb/ol].httP://www mit. edu/deval /data/2000d ata. html 规则数目200600100140180012001 AC-SPLIT图 1 WM 算法搜索示意图 分析 WM 算法发现,存在缺点:(1)如果最短模式串非常 短,那么 m 的值就会非常小,算法最多只能跳跃 m,此时算法 的效率就变得非常低。(2)Shift 表为 0 时,需要进行精确匹配, 而在 WM 算法中使用的精确匹配算法是效率较低的蛮力算法。 3.3 改进 对于这两个缺点,可以改进:(1)将特征集合分为长短两个 特征集合来处理。通过分析发现,找到合适的分割长度,从而可 以取得较好的匹配性能。(2)为每个模式串建立一个 sub-shift 表, 其大小与模式串相同。相应的 sub-shift 表项中存放当与本模式串 匹配失败时,搜索窗口向右移动字符数。搜索过程中在精确匹配 全部完成时,我们根据各字符串 sub-shift 表值的综合情况,找到 文本可以安全地向右跳跃的字符数。 4 实验 4.1 数据源 数据源采用的是国际认可的麻省理工学院林肯实验室提供 的 DARPA2000[8]入侵检测数据集。该数据集包括 DoS、R2L、 U2R、Probe 和 Data5 大类 58 种攻击方式。 4.2 实验环境 实验环境为 win7 操作系统、2G 内存、snort-2.9.1、Cygwin、 WinPcap_4_1_2、snortrules-snapshot-2.9.1.tar.gz。 Cygwin 提供编译 Snort 所需要的应用程序 bison、flex、sed。 WinPcap 是数据包捕获器,为 Snort 捕获数据包。 4.3 实验方法 以补丁的形式将算法加入到 Snort 中,在配置文件中将匹配 方法设置为 WM 算法、改进算法 WM-NEW 及默认算法 AC-SPLIT 算法。Snort 扫描入侵检测数据集,比较 WM 算法、 改进算法、AC-SPLIT 算法在规则数目不同时的时间,以及在规 则数目不同的占用内存。规则数目为 2800,模式串最小长度不同 下,算法的运行时间对比。规则数目是除去对数据集的解码规则 和预处理规则后的数目。 4.4 实验结果 在规则数目不同情况下,各算法匹配时间,以 1000ms 为单 位。 表 1 算法匹配时间(×1000ms) 规则数目 200 600 1000 1400 1800 2200 AC-SPLIT 42287 43796 44430 44690 49460 50563 WM 41612 43275 44956 45370 47562 48421 WM-NEW 41210 42853 43810 44185 45810 47312 表示在折线图中,如下图 2 所示。 40000 42000 44000 46000 48000 50000 52000 200 600 1000 1400 1800 2200 2600 运行时间(×1000ms) 规则数目 AC-SPLIT算法 WM算法 WM-NEW算法 图 2 各算法规则数目下时间对比 规则数目不同情况下,各算法占用内存测试结果,以 MB 为 单位。 表 2 算法占用内存(MB) 规则数目 200 600 1000 1400 1800 2200 AC-SPLIT 63 72 78 83 86 88 WM 58 69 72 76 79 82 WM-NEW 60 71 76 80 84 88 表示在折线图中,如下图 3 所示。 50 60 70 80 90 100 110 200 600 1000 1400 1800 2200 2600 占用内存(MB) 规则数目 AC-SPLIT算法 WM算法 WM-NEW算法 图 3 各算法内存对比 规则数目为 2800,模式串最小长度不同下,算法的运行时间 如下图 4 所示。 40000 45000 50000 55000 60000 运行时间 2 6 10 14 18 (×1000ms) 最短模式串长度(字符) WM算法 WM-NEW算法 图 4 算法最短模式串长度下时间对比 通过实验结果可以看出,改进后的算法匹配效率能有了很大 提高,规则数目越多,优势越明显。且算法平稳增长时间性能受 影响较小。模式串长度增大时,新算法匹配效率提高较大。新算 法的内存占用量虽然比 WM 算法大,但仍小于 AC 算法,在可接 受范围,模式串越多约明显。 5 结束语 本文研究了 Snort 中两个经典后缀搜索算法,并对 WM 算法 进行了改进,并将其 AC-SPLIT 算法、WM 算法进行了对比,结 果表明改进后的算法检测效率提高。同时,改进后的算法在内存 占用方面仍有改进的空间,更加有效地为 Snort 所使用。 参考文献: [1]刘积芬.网络入侵检测关键技术研究[D].上海:东华大 学,2013. [2]刘鑫.网络入侵检测系统中模式匹配算法的应用研究 [D].大连海事大学,2013. [3]王友钊,黄冬.一种提高系统搜索效率的 BM 改进算法 [J].计算机工程,2014. [4]张宏莉,徐东亮,梁敏,刘宇峰.海量模式高效匹配方 法研究[J].电子学报,2014. [5]王正才,许道云,王晓峰.基于自动机并操作的多目标 AC-BM 算法[J].计算机科学,2013. [6]陆琳琳,田野.基于确定有限状态自动机的改进多模式 匹配算法研究[J].计算机应用与软件,2013. [7]蒋晓鸽,武小年,张昭.基于后缀 WM 匹配算法的改进 算法[J].计算机与数字工程,2013. [8]Laboratory Lincoln.MIT Lincoln Laboratory Inf￾ormation Systems Technology[EB/OL].http://www.ll. mit.edu/ideval/data/2000data.html
<<向上翻页
©2008-现在 cucdc.com 高等教育资讯网 版权所有