正则表达式是一种字符串匹配模式,它具有超强的表达能力和紧凑性,因此被广泛应用于文本处理和网络入侵检测等领域。著名的深度包检测系统snort在它的规则集中就采用了正则表达式表示入侵特征。但是传统的入侵检测系统中都使用软件方式进行正则表达式匹配,在网络流量不断增长的情况下,正则表达式匹配成为了系统的瓶颈。提高正则表达式匹配的性能逐渐成为研究热点,许多研究人员提出了基于可重构硬件的正则表达式匹配引擎。硬件引擎作为入侵检测系统的协处理器,提高了正则表达式匹配效率。但是目前的硬件引擎都面临着手动添加规则的问题,规则集的不断更新和扩大,使得手动生成硬件引擎成为了繁琐的任务。本文结合正则表达式匹配技术和编译技术的相关原理,提出了一种基于FPGA的正则匹配引擎自动化生成方法。自动化生成系统包括正则表达式解析、NFA的构建和NFA引擎映射到FPGA逻辑三部分。系统在设计上借鉴了前人的工作方法,采用通用处理模块和NFA控制结构实现正则表达式到FPGA逻辑的转换。本系统可以在短时间内生成匹配数百条正则表达式的FPGA电路,并且避免了繁琐且易出错的电路结构。本文最后通过搭建验证平台对自动生成系统进行功能和性能的测试与分析,实验结果显示本系统生成的硬件正则表达式引擎准确的完成了正则表达式模式匹配并且获得了较高的吞吐率。
本文来源: https://www.lw50.cn/article/21715f6de78f169935c74252.html