垃圾邮件——扰乱我们的生活,浪费我们的时间,带来更多恶意软件——让我们遭受更大的破坏。根据Ferris研究中心统计预测,在2008年将有近40万亿的垃圾邮件被发送,从而进一步导致近140亿美元的利益受损。而在2007年,这一数字分别为18万亿垃圾邮件和30亿美元,增长之快,令人吃惊。
图1:垃圾邮件对企业的影响
图2:垃圾邮件对个人的影响
理论上,垃圾邮件过滤器可以拦截垃圾邮件,允许“良好”或者“真实”邮件进入邮件系统。但是过滤器也有出错的时候,垃圾邮件过滤器不可避免的一个副作用就是误报(false positive)和漏报(false negative)。
一般而言,当垃圾邮件过滤器检测出某个邮件为垃圾邮件时,要么阻止其进入邮件系统,要么对其进行隔离,放置在一个专门的文件夹里,以供用户手动识别并删除。对于后一种方法,它需要人工的参与,会消耗用户一定的精力。实际情况是,有一些用户从来都不会去检查这些隔离区。
网管论坛bbs_bitsCN_com
另外,Ferris研究指出,用户删掉垃圾邮件所承担的成本大约在0.04美元每封。但是该研究所分析师Richi Jennings 也指出,查找丢失的有用邮件所承担的成本远远大于删除所花费的成本,大约每封为3.5美元。更糟糕的是,过滤器漏报、误报给用户带来的损失则会更大。下面,我们将先浅述有关垃圾邮件过滤器方面的技术。
为了尽量减少过滤器导致的误报,我们需要先了解它们的工作原理。
图3:垃圾邮件过滤体系结构中的邮箱过滤
●基于关键字和 Bayesian 过滤器
最早的过滤器,主要是检索邮件主题和正文中的关键字,更高级些的过滤器,则采用了Bayesian算法,可以针对邮件提高过滤准确率。
图4:贝叶斯垃圾邮件过滤
●Captcha技术
CAPTCHA 是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机和人的公共全自动程序。在一个CAPTCHA测试中,作为服务器的计算机会自动生成一个问题由用户来解答。这个问题可以由计算机生成并评判,但是必须只有人类才能解答。由于计算机无法解答CAPTCHA的问题,所以回答出问题的用户就可以被认为是人类。此种技术可以防止通过软件自动发送垃圾邮件的产生。
网管有家bitscn.net
图5: CAPTCHA验证码
●建立垃圾邮件黑白名单
与刚才讲的技术不同,这个是根据邮件服务而不是根据信息进行评估筛选,尤其是根据发件人以往行为记录进行分类管理:
黑名单是由世界各地数据库搜集来的,过滤器会根据这些黑名单检查每个进入的邮件,如果符合,那么就会拒绝接收邮件。
白名单同样也是来源于各地IP汇总。邮件过滤器一般既拥有黑名单又拥有白名单,以提高过滤效率。
在某些情况下,过滤器厂商会使用“信誉服务”或者“声誉名单”来区别他们的名单。
图6:先进的黑、白名单机制