论文部分内容阅读
作为网络安全系统的核心技术之一,模式匹配算法的效率直接影响,甚至是决定了系统的整体性能,因而一直是学术界和工业界普遍关注的热点问题。目前,模式匹配算法研究所面临的主要挑战是模式集规模的迅速增大。绝大多数经典的模式匹配算法无法直接有效地运用到大规模模式集条件下。而且,随着网络带宽的不断增加,模式匹配算法往往会成为系统的瓶颈所在。所以,研究高性能的适用于大规模模式集的模式匹配算法是当务之急,具有重要的学术意义和广阔的应用前景。本文介绍了一种高效的大规模模式匹配算法MDH。该算法利用多级哈希思想削减了算法在大规模模式集下的内存空间占用,又通过动态切割策略充分挖掘了模式集的启发式信息,提升了算法的匹配性能。实验证明,在模式串个数大于2万的情况下,相比于AC,WM,SBOM等等几种经典的多模式匹配算法,MDH算法的匹配速度要快100%到300%以上,内存消耗却非常小。然后,本文又在MDH算法的基础上,设计了模式长度自适应优化和智能验证优化方案,突破了算法固有的局限性,进一步增强了算法的可扩展性。同时,还设计了多种MDH多核多线程并行算法,充分利用通用多核CPU平台和最新的多核专用网络应用处理器平台的硬件架构优势,大幅提升了算法的匹配性能。最后,本文以实际的病毒扫描系统Clam AntiVirus为依托,提出了一套基于MDH算法的高性能病毒扫描解决方案。系统整体性能的提升证明了MDH算法的实用性和优秀的可移植性。