论文部分内容阅读
邮件安全网关产品在过滤垃圾邮件、拦截敏感信息和防止核心文件泄漏等方面发挥了至关重要的作用。随着互联网用户的爆炸式增长,对邮件安全网关的处理性能的要求越来越高。将邮件安全网关分解后看,零拷贝和DPDK等高性能收发包技术的出现使得底层对数据包的处理效率有了很大的提高,但是在协议解析和关键字匹配方面的发展并不能与之相适应,而其中尤以匹配技术最为重要。本文从提高邮件安全网关的匹配效率的角度出发,从邮件地址匹配和邮件正文匹配两个方面展开深入研究。在邮件地址匹配方面,邮件地址的长度基本固定在一个范围内,邮件地址过滤是在一个邮件地址集合中查找某个邮件地址是否在集合中。计数布鲁姆过滤器在此类场合中的应用比较广泛,但是计数布鲁姆过滤器的空间复杂度较高,而且假阳率也比较高。为了降低计数布鲁姆过滤器的假阳率并且最大程度上降低空间消耗,本文提出了一种基于指纹的可变长计数布鲁姆过滤器fingerprint variable length counting bloom filter(FPVLCBF),将指纹的思想与可变长计数布鲁姆过滤器相结合。并将其与现存的几种计数布鲁姆过滤器改进型方案相对比,证明了FPVLCBF是一种低假阳率,拥有较低的空间复杂度和时间复杂度的计数布鲁姆过滤器,非常适合用在大流量环境下的邮件地址匹配中。在邮件正文匹配方面,邮件正文中通常会含有Base64编码文本,所以需要对Base64编码文本进行匹配。传统的Base64编码文本匹配方式是先对其进行解码,再对解码后的内容进行匹配。本文对一种Base64编码文本直接匹配算法进行了深入的研究,并在字符集为一些字符个数较少的特定字符集的情况下,对其进行了改进,采用哈希表存储首尾字节组Base64编码块的方法省去了模糊匹配之后的解码操作。实验结果表明改进后的EmailMatch算法与EmailMatch算法相比拥有更高的匹配效率。最后本文在前两种技术的基础上实现了一款高性能邮件安全网关系统。并对系统的实现目标、网络拓扑、模块组成进行了介绍,对系统进行了功能验证和性能测试。验证结果表明本邮件安全网关系统非常适合工作在大流量的网络环境中。