论文部分内容阅读
随着网络服务的快速发展,亟需要一款可以高效处理海量数据包的工具。伯克利数据包过滤器BPF(Berkeley Packet Filter,简称BPF)在Unix/Linux系统中具有巨大的应用价值。BPF首先在操作系统的内核中对来自链路层的数据进行过滤,然后将匹配到的数据复制到应用层。近两年,扩展的伯克利数据包过滤器(extend Berkeley Packet Filter,简称e BPF)在BPF的基础上,针对BPF在指令集系统、系统架构、工具链套件等方面做了进一步的扩展,从而使e BPF可以应用到更多的网络场景中。目前,e BPF技术仍在Linux内核中持续不断地发展,其在网络应用中的重要性也逐渐被互联网巨头企业所关注,同时也推动了许多相关开源项目的发展。尽管e BPF在网络领域中具有广阔的施展空间,但是与其相关的中文文献中还是非常少。本文以探究将e BPF技术应用于网络安全应用中为目标,所作的工作如下:(1)e BPF还在不停的发展,新的特性不断添加。通过追踪e BPF发展历程,总结e BPF的技术特性,并在大量研究与e BPF相关项目的基础上,从而得到e BPF在网络应用中的思路;通过对隐马尔可夫模型、DDo S攻击的原理学习,分别为e BPF在各自的应用中奠定理论基础。(2)入侵检测系统作为保证网络安全的一种重要手段,其作用对象更加宽泛和复杂。传统的入侵检测系统有iptables、Snort和suricata,其系统构成一般分为检测部分和流量清洗部分,目前来讲,受限于传统的网络设备,这类入侵防御系统对于云平台的支持效果并不是特别好。现在利用e BPF快速过滤数据包的优势并配合一定的检测模式,从而可以构成一个高效的虚拟网络入侵检测防御系统EX-v IPS。EX-v IPS的检测模块使用隐马尔可夫链模型,首先通过选取访问流量中的9个特征值,利用Baum-Welch算法对隐马尔可夫模型进行参数优化;接着使用维特比算法判断实时流量是否为有害访问。流量清洗模块则利用e BPF及其相应的组件,将检测模块给出的异常流量进行清洗,从而保证系统的安全。(3)传统的防火墙软件iptables由于基于内核网络栈实现机制的原因,在执行由管理员发出阻止相应访问的命令时,会调用大量的系统函数、中断处理等对系统性能产生消极影响的服务,导致其整体性能严重下降。针对防火墙软件iptables在阻止DDo S攻击时具有很大的性能开销这一问题,设计了一款基于e BPF阻止某些DDo S攻击的系统。该系统针对三次握手原理中第三次握手时客户端故意丢弃对服务器端的ACK确认报文产生的DDo S攻击,设计了一套检测此种类型的DDo S攻击的算法,并通过监控程序实时监控网络访问的情况,将可疑的ip访问地址添加到黑名单数据库中。然后利用e BPF及其组件,使来自黑名单中的ip地址的数据包不需要进入传统的网络协议栈从而减轻系统丢弃访问连接的压力。经与传统的防火墙软件iptables做实验对比,该方案在网络传输、CPU使用率、内存使用率等系统性能上具有明显的优势。