某公司在IDS/IPS产品中成功地研制和实现了一种高效的自适应模式匹配VAPM方法(Venus Adaptive Pattern Match)。该方法根据网络攻击指纹(模式)特征和协议变量特征自动选择一种能够使其性能最高的模式匹配算法,从而使IDS/IPS性能达到最优。
IDS/IPS作为网络安全防护的重要手段,通常部署在关键网络内部或者网络边界入口处,实时捕获网络内或进出网络的报文数据流并进行综合分析,发现可能的入侵行为并进行实时响应(报警或阻断)。模式匹配算法作为一种快速搜索攻击特征的方法,是实现基于攻击特征误用检测的核心技术,其算法运行效率直接影响到整个产品(系统)的检测性能。
在主流IDS/IPS产品基于攻击特征的误用检测方法中,包括以下两种类型的模式匹配算法:
1) 基于有限状态自动机的字符串匹配方法。例如ACBM算法,它将AC算法中有限状态机字符串匹配思想和BM算法中的文本比较窗口快速跳跃思想相结合。直接影响ACBM算法效率的因素有两个,分别是基于BM算法的比较窗口前进速度和有限状态机树的存储空间。当模式数量增多时,ACBM算法在理论上应该速度下降平缓,但由于ACBM算法需要大量内存来存储有限状态机树,所以使得该算法无法充分利用CPU缓存技术,导致算法实际运行效率较差。
2) 直接快速扫描文本,通过文本子串特征筛选出可能的模式集合(或者排除掉不可能的模式),然后对可能出现的模式进行精确匹配。例如WM算法,它通过快速HASH表和宽字符BM跳跃思想实现快速多模式匹配。直接影响WM算法效率的因素有两个,分别是HASH表检索性能和BM跳跃思想中宽字符大小的选取,其中HASH表检索性能受HASH表平衡度和子链搜索速度的直接影响。当拥有共同前缀的模式数量越多,HASH表平衡度就越差,子链搜索速度也就越慢。当实现BM跳跃时所选取的宽字符较大时,比较窗口前进速度会较快,但所需的存储空间就会成指数增长,从而导致算法实际运行效率较差。
通过对多种主流模式匹配算法进行深入研究,发现各种模式匹配算法的搜索性能非常依赖于模式集合特征,并不存在一种在所有模式集合下都最优的模式匹配算法。因此,若能够根据模式的特点对模式匹配算法进行自适应选择,则能够明显改善IDS/IPS产品中检测引擎的性能。
目前,主流IDS/IPS产品中模式匹配算法的选用存在以下两个问题:
1) 匹配算法的选择没有考虑网络攻击特征;
2) 匹配算法种类比较单一,没有使安全产品的整体性能达到最优。
在对模式匹配算法和网络攻击特征做大量分析、深入研究和全面测试的基础上,VAPM方法利用多个模式匹配算法的特点和优点,系统自动选择适合的模式匹配算法,在保证系统稳定性的同时,使得所选择的模式匹配算法效率最优。该方法可以广泛应用于IDS/IPS等所有需要快速搜索模式(关键字)的网络安全产品中。
VAPM方法包括两个工作阶段,即自适应阶段和模式匹配阶段。其中,自适应阶段对模式的特征进行统计分析,并根据分析结果选择最优的模式匹配算法;模式匹配阶段通过统一调用接口为外部调用模块提供快速模式匹配服务。
VAPM具有以下两方面的优点:
1) VAPM充分利用了多个模式匹配算法的性能优势、根据攻击和协议变量特征灵活选择合适的模式匹配算法、在匹配速度和存储空间上达到最优。
2)在VAPM中,模式特征分析、算法选择和模式匹配算法库具有高度的灵活性和可扩展性强。
目前,VAPM方法已申请了国家专利,并成功应用到启明星辰的天阗IDS/IPS产品中,测试结果表明,采用VAPM方法使现有IDS/IPS引擎的内存占用减少了19.7%,搜索速度提高了23.3%。这样,具有VAPM功能的IDS/IPS系统能够更好满足用户的安全和性能需求。近期,在赛迪评测(CCID)组织的“2006年度中国市场主流IDS产品测试”中,天阗NS2200的性能指标达到了64字节小包2G线速的水平,取得中国市场最领先的地位。(来源:中关村在线)