基于FPGA的正则匹配引擎自动生成方法的研究

基于FPGA的正则匹配引擎自动生成方法的研究

论文摘要

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

论文目录

  • 摘要
  • Abstract
  • 第1章 绪论
  • 1.1 本课题的研究目的和意义
  • 1.2 国内外研究现状
  • 1.3 本文的主要工作
  • 1.4 论文组织结构
  • 第2章 背景知识综述
  • 2.1 Snort规则集
  • 2.2 Pcre概述
  • 2.3 正则表达式匹配方法
  • 2.4 FPGA简介
  • 2.5 基于FPGA的正则表达式匹配引擎
  • 2.6 本章小结
  • 第3章 引擎自动化生成方法的研究
  • 3.1 Pcre规则的提取
  • 3.2 正则表达式的模块化处理
  • 3.3 构造正则表达式分析树
  • 3.4 构造NFA控制结构
  • 3.5 NFA结构到FPGA的映射
  • 3.6 正则引擎优化方法
  • 3.7 本章小结
  • 第4章 引擎自动生成系统的实现
  • 4.1 系统架构
  • 4.2 规则分析器的实现
  • 4.3 自动生成系统的实现
  • 4.3.1 自动生成系统概述
  • 4.3.2 预处理模块的实现
  • 4.3.3 转换模块的实现
  • 4.3.4 映射模块的实现
  • 4.3.5 输出模块的实现
  • 4.4 本章小结
  • 第5章 系统的测试与分析
  • 5.1 仿真与验证
  • 5.1.1 测试平台的搭建
  • 5.1.2 功能验证
  • 5.2 性能分析
  • 5.3 今后工作展望
  • 5.4 本章小结
  • 结论
  • 参考文献
  • 攻读硕士学位期间发表的论文及取得的科研成果
  • 致谢
  • 相关论文文献

    标签:;  ;  ;  ;  

    基于FPGA的正则匹配引擎自动生成方法的研究
    下载Doc文档

    猜你喜欢