垃圾邮件的识别和过滤方法
垃圾邮件识别和过滤的方法
T大炮
北京理工大学计算机学院,北京 100081
(1111111111@bit.edu)
Methods for Identifying and Filtering Junk Mail or Spam
T Biggun
(Class 07111301,School of Computer Science, Beijing Institute of Technology, Beijing 100081)
Abstract Identifying and Filtering Spam is an important research subject in computer network. In this thesis, I have studied the history of spam filtering technology, which mainly includes the first generation of rule-based filtering technology, the second generation of content-based filtering technology and the third generation of behavior-based filtering techn
ology. 1. Rule-based filtering includes IP address based filtering, mail header based filtering. 2. Content-based filtering includes Bayesian filtering, Memory-based method, decision tree, Boosting method, Support Vector Machine (SVM), etc. 3. Behavior-based filtering includes Email data stream based filtering, mail header based filtering, sender reputation based filtering, mail fingerprint based filtering, behavioral characteristics weighted based filtering, etc. The spammers’ common spurious methods are summarized. Through the reference to large amount of anti-spam documents and data from home and broad, an analysis is made on existing anti-spam techniques and in particular the content-based spam filtering methods.
Key words spam filtering; rule; content; text categorization; Naïve Bayes; behavior
摘要  垃圾邮件识别和过滤是计算机网络领域的一个重要研究课题。垃圾邮件识别和过滤目前已经发展出了三代技术,第一代过滤技术是基于规则的,例如:基于IP地址、基于邮件头的过滤技术。第二代过滤技术是基于内容的,例如:贝叶斯分类算法、Memory-Based方法、决策树、Boosting方法、支持向量机等方法。第三代过滤技术是基于行为的,例如:
基于邮件数据流、基于邮件头信息、基于发送方信誉、基于邮件指纹、基于行为特征加权的决策树等过滤方法。本文归纳总结了当前垃圾邮件发送者经常采用的欺骗手段和方法,并参阅国内外大量反垃圾邮件文献和数据,对已有的垃圾邮件技术作出分析和总结,尤其是对基于内容的垃圾邮件过滤方法进行了研究。
关键词 垃圾邮件过滤;规则;内容;文本分类;简单贝叶斯;行为
    随着互联网的发展,垃圾邮件常常让人头痛不已,最新报告称美国为垃圾邮件第一大国,中国排名第三(图1)[1]。垃圾邮件问题如今已经成为一个社会热点,近些年来,研究人员们提出了很多垃圾邮件识别和过滤的方法。这些方法的发展经历了三代,第一代过滤技术是基于规则的,例如:基于IP地址、基于邮件头的过滤技术。第二代过滤技术是基于内容的,例如:贝叶斯分类算法、Memory-Based方法、决策树、Boosting方法、支持向量机等方法。第三代过滤技术是基于行为的,例如:基于邮件数据流、基于邮件头信息、基于发送方信誉、基于邮件指纹、基于行为特征加权的决策树等过滤方法。本文归纳总结了当前垃圾邮件发送者经常采用的欺骗手段和方法,并参阅国内外大量反垃圾邮件文献和数据,对已有的垃圾邮件技术作出分析和总结,尤其是对基于内容的垃圾邮件过滤方法进行了研究。
1 世界垃圾邮件最多国家排名
Fig.1 Country Ranking on Spam
1 基于规则的垃圾邮件过滤
1.1 基于IP地址的垃圾邮件过滤方法
    基于IP地址的过滤技术是目前使用最为广泛的一种过滤技术,包括基于网络的IP地址过
滤技术,如BGP和路由器访问控制列表;基于主机的IP地址过滤技术,如TCP Wrappers和主机路由表的过滤;以及目前最常用的IP地址黑、白名单的过滤[2]。
    黑白名单技术基于这样的界定:白名单中的任何邮件都是合法邮件,而黑名单中的任何邮件都是垃圾邮件。故通常会收集一个黑白名单的列表,这个列表里的内容可以是地址或邮件服务器的域名、IP地址等,收到邮件时进行实时检查,将符合黑名单的邮件放入垃圾文件夹中。黑白名单一般由权威的组织提供,如中国互联网协会等。个人也可以根据需要调整自己的黑白名单。
    基于IP地址的过滤技术实现起来简单方便,可以应用与多个层次。但是缺点是可能会伤及无辜,因为有一些垃圾邮件是通过别人的服务器来转发的,这样就会将别人无辜的服务器给屏蔽掉。所以,黑白名单具有一定的局限性。
1.2 基于邮件头的垃圾邮件过滤方法
    基于邮件头的过滤技术主要是使用正则表达式对邮件头进行关键字的匹配,检查发件人的信息是否符合过滤要求,根据匹配结果决定阻塞或者接收具有特定单词或短语的邮件。注意理解以下几点有助于识别含有伪造内容的信头。
    (1)收件人地址和发件人地址
    一般的MUA是从用户在SMTP的DATA命令后输入的数据中提取From、To等字段的内容的,但是如果发件人的MUA不是按照这个逻辑工作,或者发件人故意让这两个字段的内容与SMTP会话时使用的MAIL FROM和RCPT TO的内容不一致时,就会发生发件人是自己的名字或者收件人不是自己的名字等情况。
    (2)关于Open Relay
    如果发件人使用的不是自己的服务器,而是使用别人的服务器的Open Relay的漏洞,这样就会给追踪邮件的真实来源带来困难。如果一个邮件服务器和发件人、收件人都不属于同一个域,就应该怀疑是否使用了Open Relay。
    (3)Received信息
    邮件头中的Received信息是由SMTP服务器自动加入的,发送者无法干预,因此,通过比较Received域,特别是第一次经过的邮件服务器的Received域,可以识别出伪造的发件人地址。
但是,规则匹配的方法也有不妥之处,其缺点是规则是人工指定的,需要花费时间和精力去收集信息,更新信息,这无疑是一项持久繁琐的工作。
2 基于内容的垃圾邮件过滤
    由于上述基于规则的过滤方法的缺陷,故发展出一套新的方法:基于内容的垃圾邮件过滤方法。对的内容(如正文)进行分析,识别出垃圾邮件。这就将垃圾邮件过滤和文本分类和信息过滤联系起来了,将文本分类和信息过滤中常用的方法引入垃圾邮件过滤任务中。这种内容过滤技术提供了更为准确的邮件过滤方法,可以自动获取垃圾邮件的特征,并即时捕捉到垃圾邮件特征的变化[3]。
2.1 垃圾邮件过滤与文本分类
    文本分类的首要任务是根据预先确定好的类别体系,将待分类文本分到对应的类别中去,具体来说,就是将邮件分为合法邮件和垃圾邮件。我们可以将经过处理获取其正文的文本内容,利用文本分类的算法识别垃圾邮件。但是垃圾邮件分类与一般的文本分类也有很多不同之处。主要有:
(1)对文本分类,每个类别的内容一般不会经常改变。比如说,一个文本属于科技类,将来也还会属于科技类。而垃圾邮件的类别是跟用户的个性化需求相关的,用户对于垃圾邮件的判别可能会随着时间的推移而改变的。同时,垃圾邮件的形式和内容也在不断地变化,因此垃圾邮件过滤中要向用户提供自学习、反馈的机制,以便适应新情况。
(2)无论对于邮件服务器还是对用户客户端,垃圾邮件过滤对时效性的要求比较高,因此要求必须采用高效的分类算法。
(3)在垃圾邮件过滤中我们最不愿看到的就是将合法邮件误判为垃圾邮件,这就要求过滤算法具有较高的准确率。
2.2 垃圾邮件过滤与信息过滤
    信息过滤(Information Filtering)是从动态的信息流中出与用户兴趣需求相关的信息的过程[4]。以文本过滤为例,将新到达的文档与用户的兴趣相匹配,把系统认为与用户相关的文档推送给用户,用户给予反馈,说明被推送的文档中有哪些是他感兴趣的,哪些是不感兴趣的。系统从反馈中自动更新用户的兴趣。文本分类可以看做是一个反馈学习的二值分类问题。信息过滤系统的一般组成为图2所示。
2 信息过滤系统
Fig.2 Information filtering System
可以认为垃圾邮件内容过滤是这样的一个信息过滤问题:初始时,提供一定的垃圾邮件和非垃圾邮件给过滤系统学习,得到过滤模型;过滤的信息源是动态的邮件流;用户可以指定自己的垃圾邮件集和非垃圾邮件,供系统反馈学习,建立新的过滤模型。
2.3 文本分类简介
文本分类的任务是:在给定的类别体系下,根据文本的内容,将其自动映射到指定的类别中去。类别体系一般由人工按照应用需求构造。基于内容的文本分类需要指导,即一定数量的已分类好的训练文本或者实例,分类系统从训练文本中获取必要的信息,构造分类器。
因此文本分类一般都由训练过程和分类过程两阶段构成(图 3)。文本分类技术的应用很广泛,如新闻网页的分类、电子图书的分类等等。
3 文本分类器的一般模型
Fig.3 Model of Text Categorization
在文本处理领域,通常采用向量空间模型(VSM,Vector Space Model)表示文本,一篇文本可以表示为一个维文本向量,其中,表示第个特征项的权重,是特征项的个数,特征项可以是字、词、短语或某种概念,本文中采用词作为特征项。权重有多种计算方法,最简单的是布尔权重,即权重为 1(该特征项在文本中出现)或者 0(该特征项没有在文本中出现)。更通常的情况下,VSM中的权重计算采用词频(TF,Term  Frequency,表示该特征词在文本中出现的次数)和文档频次(DF,Document Frequency,表示出现该特征词的文档数量)的某种组合。
解决了文本表示问题之后,我们可以将文本分类抽象为一般的描述:设类别总数为表示第类,提供给分类器的训练集(训练集中的文本都已经过人工分类)包含篇文本,特征空间为特征数量,每篇文本表示成etc被拉入黑名单了怎么办,。一篇待分类文本泛化表示为,任务是将分到相应的类别中去。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。