论文部分内容阅读
当前,由于网络速度高、流量大,入侵检测规则库越来越趋向庞大,单个CPU的主频提升遭遇瓶颈,处理能力提高缓慢,传统的网络入侵检测系统正遭到空前的挑战。针对以上问题,本文提出一种基于网络多核处理器Octeon的网络入侵检测方案,该系统充分利用多核优势,通过使用软件控制网络数据处理硬件加速技术、检测引擎和分析器引入多线程编程、同时在多个核上并发执行不同规则库的匹配检测等措施,解决了目前主流单CPU网络入侵检测系统存在的缺陷。本文研究、设计与实现的基于Octeon多核处理的网络入侵检测系统Octeon-NIDS(Octeon Based Network Intrusion Detection System)对于现代高速网络环境下网络的安全防御具有重要意义。论文首先分析了主流的网络入侵检测系统和主要的基于多核的网络高端产品,指出在高速网络环境下入侵检测急需解决的问题;研究了Octeon多核处理技术,包括Octeon软硬件架构,数据包处理流程及交叉开发工具等;论文基于网络多核处理器Octeon,提出HOST+InfiniWay板卡架构、改进的流水线包处理方式、SMP Linux模式运行的Octeon-NIDS系统总体设计方案。论文对Octeon-NIDS系统中的总控与CLI模块、数据源模块、检测引擎模块、报警与日志模块的设计与实现过程进行了详细的阐述。系统采用POSIX多线程编程技术,实现了系统入侵检测主要处理的并发执行,论文对Octeon-NIDS系统研发中采用的多项关键技术,诸如Octeon多核网络处理器硬件加速技术、AC_NFA多模式匹配算法、快速规则匹配链表、Linux下网卡内核零拷贝驱动技术、流处理技术、CLI界面的Lua脚本语言程序设计技术进行了详细的讨论。论文最后搭建交叉编译平台,将系统移植到InfiniWay板卡,使用Ixia负载测试仪,模拟网络高速环境,对系统进行测试,给出相关数据和分析测试结果,验证了系统功能。