Gnort:利用图形处理器实现高性能网络入侵检测
1. 引言
网络安全架构,如防火墙和网络入侵检测系统(NIDS),通过监控进出流量中的可疑有效负载来检测入侵企图。大多数现代网络入侵检测和预防系统依赖一组规则与网络数据包进行比较。通常,一条规则包括基于数据包头部字段的过滤规范、必须包含在数据包有效负载中的字符串、该字符串应出现的大致或绝对位置,以及在满足规则所有条件时要采取的相关操作。
签名匹配是一个计算密集型过程,约占现代NIDS总CPU处理时间的75%。这是因为大多数情况下,每个数据包的每个字节都需要作为字符串搜索算法的一部分进行处理,该算法要在适用于特定数据包的所有签名中的大量字符串中搜索匹配项。例如,最广泛使用的开源NIDS之一Snort的规则集包含约10000个字符串。搜索每个数据包中的所有这些字符串需要大量资源,包括处理数据包所需的计算能力以及存储规则所需的内存量。
为提高数据包处理吞吐量,一些研究探索了并行性的应用。专用硬件设备,如ASIC和网络处理器,可同时检查多个数据包,它们效率高且性能好,但修改和编程复杂。基于FPGA的架构灵活性较差,因为大多数方法通常与特定实现相关。
随着图形处理单元(GPU)变得越来越强大和普及,研究人员开始探索将其用于非图形或通用(GPGPU)应用。GPU专门用于计算密集和高度并行的操作,为图形渲染所需,因此其设计使得更多晶体管用于数据处理而非数据缓存和流控制。大型厂商发布的软件开发工具包(SDK),如NVIDIA和ATI的,推动了将GPU用作计算单元以减轻CPU负担的趋势。
也有很多尝试将图形处理器用于安全目的,包括密码学、数据雕刻和入侵检测。特别是,已证明GPU支持可以显著提高依赖二进制字符串
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



