基于简单规则的电子邮件过滤程序
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关键词:邮件过滤,贝叶斯算法,垃圾邮件。
第二章 绪论
2.1 研究背景和意义
我国开始联入互联网的时间较晚,一九八九年九月我国第一封电子邮件由钱 天白教授发出,信件的内容是“越过长城,通向世界”,揭开了中国人使用互联 网电子邮件的序幕。电子邮件作为互联网技术发展的产物,在给全球网民带来通 讯便利的同时,正不可避免地遭遇有悖初衷的运用。最为突出的例子是未经请求 而强行发送的垃圾邮件肆意进入网络用户的电子邮箱,它们不但给用户带来了额
综合课程设计.doc
基于简单规则的电子邮件过滤程序
作品名称: 基于简单规则的电子邮件过滤程序 指导教师: 组 长: 组 员: 组长电话: 电子邮箱: 提交日期: 2011.5.30
① / 16
综合课程设计.doc
填写说明
1. 所有综合课程项目必须为一个基本完整的设计。作品报告书旨在能够清晰准 确地阐述(或图示)项目方案与实现。 2. 作品报告采用A4纸撰写。除标题外,所有内容必需为宋体、小四号字、1.5 倍行距。 3. 作品报告中各项目说明文字部分仅供参考,作品报告书撰写完毕后,请删除 所有说明文字。(本页不删除) 4. 作品报告模板里已经列的内容仅供参考,也可以适当多加内容。
本课程设计是《基于简单规则的电子邮件过滤程序》,旨在依据贝叶斯算法, 通过对关键字的检索,达到对目的邮件进行过滤。能够通过关键字匹配或者邮件 地址在本地拦截相应邮件,以达到对收到的电子邮件进行过滤的目的。
一个完整的邮件系统要完成的工作十分复杂,要接收本地远程邮件,要投递 本地远程邮件,还要管理邮件队列等等。基于规则的邮件过滤一般是利用包含了 各种约束条件的规则集来作出决策,或者是利用决策树对邮件进行分类,从而对 邮件进行过滤与筛选。
2 / 16
综合课程设计.doc
目录
第一章 摘要 ..............................................................................................................................4 第二章 绪论 ..............................................................................................................................4 第三章 作品介绍.......................................................................................................................8 第四章 实现方案.....................................................................................................................10 第五章 性能测试.....................................................................................................................13 第六章 作品特色.....................................................................................................................15 第七章 总结 ............................................................................................................................15 参考文献 ......................................................................................................................................16
4 / 16
综合课程设计.doc
外的处理工作,还造成了邮件服务提供商的巨额经济损失。 垃圾邮件占用了大量的传输、存储和运算资源,造成网络资源的浪费,还损
害了我国互联网接入商的市场形象,使无形资产流失。此外,垃圾邮件以其数量 多、反复性、强制性、欺骗性、不健康性和传播速度快等特点,严重干扰了用户 的正常生活,浪费人力、物力和财力。
第三章 作品介绍
3.1 基本框架
本程序主要通过对关键词的检索从而对邮件进行过滤,程序基本框架如下:
8 / 16
综合课程设计.doc
图表 2:类视图
3.2 整体结构
整个过滤系统的整体结构如下:
9 / 16
图表 3:整体结构
3.3 过滤:
综合课程设计.doc
2.2 垃圾邮件种类
标准的电子邮件由信头和信体两部分组成。在 RFC822 中,信体只是一系列 的文本行,并没有附加的结构或含义;信头被分成若干几行,每一行都由一个字 段名后跟冒号和一个字段值组成。这些字段给出了邮件的收信人、发信人、发送 时间、邮件主要内容、邮件在传输过程中的路由情况等等信息。
根据中国互联网协会反垃圾邮件中心公布的《2010 年 2 季度中国垃圾邮件 调查报告》数据显示,在用户收到的垃圾邮件中,“零售业推销”、“欺诈类”和 “旅游交通类”三种邮件占用户收到的垃圾邮件前三位。其余几种垃圾邮件收到 比例相差不大。总体来说,带有广告性质的邮件为垃圾邮件的主要组成部分。
6 / 16
综合课程设计.doc
object 等。 (10)信件内容带有取消订阅或者不再接受此类邮件的描述。信件内容带有
取消订阅或者不再接受此类邮件的描述往往是发送者更大的陷阱,一旦点击退定 的连接,就会收到更多的垃圾邮件。
综上所述,垃圾邮件是利用专门的邮件地址搜索软件和邮件群发软件来完成 网上邮址收集和邮件发送的。针对上述方式制造的海量垃圾邮件,仅靠人为删除 显得于事无补,必须借助成熟的技术手段加以应付。目前邮件过滤是反垃圾邮件 领域的主要技术,电子邮件通常具有标准邮件地址、邮件主题和邮件主体内容等 特征字段,它们都已经成为邮件过滤判断、提取、分析和统计的依据。
3 / 16
第一章 摘要
综合课程设计.doc
互联网的发展逐渐改变了人们的生活方式,电子邮件因其方便、快捷的特点 已受到人们的青睐,许多重要信函也会通过电子邮件的方式传送。但是,许多垃 圾邮件同时也在网络中蔓延,占据了邮件服务器的大量存储空间,用户往往需要 花费大量的时间去删除这些垃圾邮件。因此,研究邮件的过滤具有重要意义。
7 / 16
综合课程设计.doc
2.4.2 贝叶斯三元模型(trigram)过滤技术
贝叶斯单词分布过滤技术建立在单词模型上,这种单词模型的缺点之一是电 子邮件选用的“单词”数量实际上是无限制的。 “与单词类似的”字符序列的 数量可能是接近无限,新的文本会不断地产生新的序列。对电子邮件来说,尤其 是这样,电子邮件包括消息标识、内容分隔符、邮件传输编码等任意的字符串。
2.4 基于邮件内容统计的垃圾邮件过滤技术
2.4.1 贝叶斯(Bayesian)单词分布过滤技术
Paul Graham 于二零零二年八月公开发表了一篇极具争议的文章——“A Planfor Spam”,Graham 提议建立垃圾邮件和非垃圾邮件单词的贝叶斯概率模型。 其大体思想是,在已知的垃圾邮件中,一些单词出现的频率较高,而在合法消息 中,另一些单词出现的频率较高。运用一些众所周知的数学知识,对于每个单词, 可以生成一个“垃圾邮件指示性概率”。根据消息中所包含的一组词,可以用另 一个简单的数学公式来确定文本消息的整体“垃圾邮件概率”。
另一方面,对于语言的识别与区分、英文密码唯一长度、模式频率和相关领 域所进行的研究极力推荐选择三元模型作为一个有限的贝叶斯垃圾邮件过滤技 术模型空间。沿着这条思路,最为重要的问题是确定三元模型的具体内容。一般 的三元模型分析选取高差分三元模型作为邮件分类器,同时借助试错法(Trial and Error)达到“垃圾邮件”和“正常邮件”的三元模型所需数目。对于垃圾邮件而 言,应该选用临界概率,而非任意概率。因为在三元模型的“正常邮件”语言资 料库中没有一条词汇的垃圾邮件概率是超过 0.0071 的,而在 0.99 概率范围内, 只会出现两个将正常邮件误判为垃圾邮件的情况。如果将临界概率从最初的 0.9 降到 0.1,可使对应的三元模型在“垃圾邮件”语言资料库中捕获更多的词汇。 同时出于处理速度方面的考虑,只从每封待处理信件中挑选不多于一百个“令人 感兴趣”的三元模型词汇参与最终的分类判断。
Graham 的想法有以下几个值得注意的好处: 1、 可以从已分类消息的语言资料库中自动生成过滤器,而不需要人花
费精力来制订规则。 2、 可以根据个别用户特有的垃圾邮件和合法消息来进行定制。 3、 可以通过少数几行代码来实现这个想法。 4、 运行情况出奇得好。 贝叶斯单词分布过滤技术的精确性取决于很少的几个因素,其中最关键的因 素可能是过滤所使用的词法技术,总之所有决定因素大都用来消除虚假的随机字 符串。
5 / 16
图表 1:用户收到的垃圾邮件内容前十名
综合课程设计.doc
2.3 垃圾邮件的特征
虽然垃圾邮件涉及面广,但是基于发送技术层面,它还是可以相对独立地组 织成以下四种类型。
(1)信件头部包含特定内容的垃圾邮件。 (2)邮件主体包含特定内容的垃圾邮件。 (3)使用开放中继的(Open Relay)邮件服务器所发送的电子邮件。 (4)无论在邮件头部还是主体都无法定位特定内容的垃圾邮件。 由于针对垃圾邮件内容的判定带有明显的主观色彩,因此选择普适的标准描 述垃圾邮件是相当困难的,不过业界还是相对统一地认为通过非标准客户端,在 未经用户同意的情况下所发送大规模电子信件属于垃圾邮件。对比通过 Outlook Express,FOXMAIL 等标准的邮件客户端发出信件,不难发现垃圾邮件存在十大 重要特征。 (1)垃圾邮件或者没有 X-Mailer 信头,或者使用特殊的 X-Mailer 信头。 (2)客套话比较礼貌的垃圾邮件会带有许多客套话,例如“请随手删除”, “不好意思打扰了”,“打搅„„原谅„„”等。 (3)伪造发件人 SMTP 对话中的 Mail From 和信体里的 From 内容不一致, 发件人的 E-mail 不是真实存在的 E-mail。 (4)通过 ADSL 等动态 IP 发送外部用户通过动态 IP 直接连接到 MX 服务 器,而本地没有提供 SMTP 服务(无法 telnet 25 端口),IP 也不可能进行反向 解释。 (5)发送工具签名 一些共享的群发工具会在发出的每一封信里面有自己的 签名。 (6)不使用标准的 MIME 格式邮件格式不标准,但是 Outlook Express 也可 以兼容。 (7)发送时间超过当前时间有些垃圾邮件为了在客户端保持一个排列第一 的位置,会将发送时间强行修改到一个超前的时间,例如 2005 年 1 月 1 日。 (8)经过多次邮件服务器转发信头中含有 3 个以上的 Received。 (9)信体内容带有特殊的 HTML tag。为了嵌入更多的内容和 script,垃圾 邮件往往会使用一些一般邮件不会使用的 HTML tag,例如 iframe, frameset ,
一般来说,垃圾邮件的过滤层次可以分为基于服务器的过滤和基于客户端的 过滤两种。目前,基于服务器反垃圾邮件产品的开发相对比较成熟。然而,对于 部分用户而言,用户更希望能够将定制过滤规则、是否采取过滤手段的决定权掌 握在自己手里。因此,本程序通过设计并实现基于简单规则在客户端过滤的垃圾 邮件解决方案以满足单个用户过滤垃圾邮件的需求。
第二章 绪论
2.1 研究背景和意义
我国开始联入互联网的时间较晚,一九八九年九月我国第一封电子邮件由钱 天白教授发出,信件的内容是“越过长城,通向世界”,揭开了中国人使用互联 网电子邮件的序幕。电子邮件作为互联网技术发展的产物,在给全球网民带来通 讯便利的同时,正不可避免地遭遇有悖初衷的运用。最为突出的例子是未经请求 而强行发送的垃圾邮件肆意进入网络用户的电子邮箱,它们不但给用户带来了额
综合课程设计.doc
基于简单规则的电子邮件过滤程序
作品名称: 基于简单规则的电子邮件过滤程序 指导教师: 组 长: 组 员: 组长电话: 电子邮箱: 提交日期: 2011.5.30
① / 16
综合课程设计.doc
填写说明
1. 所有综合课程项目必须为一个基本完整的设计。作品报告书旨在能够清晰准 确地阐述(或图示)项目方案与实现。 2. 作品报告采用A4纸撰写。除标题外,所有内容必需为宋体、小四号字、1.5 倍行距。 3. 作品报告中各项目说明文字部分仅供参考,作品报告书撰写完毕后,请删除 所有说明文字。(本页不删除) 4. 作品报告模板里已经列的内容仅供参考,也可以适当多加内容。
本课程设计是《基于简单规则的电子邮件过滤程序》,旨在依据贝叶斯算法, 通过对关键字的检索,达到对目的邮件进行过滤。能够通过关键字匹配或者邮件 地址在本地拦截相应邮件,以达到对收到的电子邮件进行过滤的目的。
一个完整的邮件系统要完成的工作十分复杂,要接收本地远程邮件,要投递 本地远程邮件,还要管理邮件队列等等。基于规则的邮件过滤一般是利用包含了 各种约束条件的规则集来作出决策,或者是利用决策树对邮件进行分类,从而对 邮件进行过滤与筛选。
2 / 16
综合课程设计.doc
目录
第一章 摘要 ..............................................................................................................................4 第二章 绪论 ..............................................................................................................................4 第三章 作品介绍.......................................................................................................................8 第四章 实现方案.....................................................................................................................10 第五章 性能测试.....................................................................................................................13 第六章 作品特色.....................................................................................................................15 第七章 总结 ............................................................................................................................15 参考文献 ......................................................................................................................................16
4 / 16
综合课程设计.doc
外的处理工作,还造成了邮件服务提供商的巨额经济损失。 垃圾邮件占用了大量的传输、存储和运算资源,造成网络资源的浪费,还损
害了我国互联网接入商的市场形象,使无形资产流失。此外,垃圾邮件以其数量 多、反复性、强制性、欺骗性、不健康性和传播速度快等特点,严重干扰了用户 的正常生活,浪费人力、物力和财力。
第三章 作品介绍
3.1 基本框架
本程序主要通过对关键词的检索从而对邮件进行过滤,程序基本框架如下:
8 / 16
综合课程设计.doc
图表 2:类视图
3.2 整体结构
整个过滤系统的整体结构如下:
9 / 16
图表 3:整体结构
3.3 过滤:
综合课程设计.doc
2.2 垃圾邮件种类
标准的电子邮件由信头和信体两部分组成。在 RFC822 中,信体只是一系列 的文本行,并没有附加的结构或含义;信头被分成若干几行,每一行都由一个字 段名后跟冒号和一个字段值组成。这些字段给出了邮件的收信人、发信人、发送 时间、邮件主要内容、邮件在传输过程中的路由情况等等信息。
根据中国互联网协会反垃圾邮件中心公布的《2010 年 2 季度中国垃圾邮件 调查报告》数据显示,在用户收到的垃圾邮件中,“零售业推销”、“欺诈类”和 “旅游交通类”三种邮件占用户收到的垃圾邮件前三位。其余几种垃圾邮件收到 比例相差不大。总体来说,带有广告性质的邮件为垃圾邮件的主要组成部分。
6 / 16
综合课程设计.doc
object 等。 (10)信件内容带有取消订阅或者不再接受此类邮件的描述。信件内容带有
取消订阅或者不再接受此类邮件的描述往往是发送者更大的陷阱,一旦点击退定 的连接,就会收到更多的垃圾邮件。
综上所述,垃圾邮件是利用专门的邮件地址搜索软件和邮件群发软件来完成 网上邮址收集和邮件发送的。针对上述方式制造的海量垃圾邮件,仅靠人为删除 显得于事无补,必须借助成熟的技术手段加以应付。目前邮件过滤是反垃圾邮件 领域的主要技术,电子邮件通常具有标准邮件地址、邮件主题和邮件主体内容等 特征字段,它们都已经成为邮件过滤判断、提取、分析和统计的依据。
3 / 16
第一章 摘要
综合课程设计.doc
互联网的发展逐渐改变了人们的生活方式,电子邮件因其方便、快捷的特点 已受到人们的青睐,许多重要信函也会通过电子邮件的方式传送。但是,许多垃 圾邮件同时也在网络中蔓延,占据了邮件服务器的大量存储空间,用户往往需要 花费大量的时间去删除这些垃圾邮件。因此,研究邮件的过滤具有重要意义。
7 / 16
综合课程设计.doc
2.4.2 贝叶斯三元模型(trigram)过滤技术
贝叶斯单词分布过滤技术建立在单词模型上,这种单词模型的缺点之一是电 子邮件选用的“单词”数量实际上是无限制的。 “与单词类似的”字符序列的 数量可能是接近无限,新的文本会不断地产生新的序列。对电子邮件来说,尤其 是这样,电子邮件包括消息标识、内容分隔符、邮件传输编码等任意的字符串。
2.4 基于邮件内容统计的垃圾邮件过滤技术
2.4.1 贝叶斯(Bayesian)单词分布过滤技术
Paul Graham 于二零零二年八月公开发表了一篇极具争议的文章——“A Planfor Spam”,Graham 提议建立垃圾邮件和非垃圾邮件单词的贝叶斯概率模型。 其大体思想是,在已知的垃圾邮件中,一些单词出现的频率较高,而在合法消息 中,另一些单词出现的频率较高。运用一些众所周知的数学知识,对于每个单词, 可以生成一个“垃圾邮件指示性概率”。根据消息中所包含的一组词,可以用另 一个简单的数学公式来确定文本消息的整体“垃圾邮件概率”。
另一方面,对于语言的识别与区分、英文密码唯一长度、模式频率和相关领 域所进行的研究极力推荐选择三元模型作为一个有限的贝叶斯垃圾邮件过滤技 术模型空间。沿着这条思路,最为重要的问题是确定三元模型的具体内容。一般 的三元模型分析选取高差分三元模型作为邮件分类器,同时借助试错法(Trial and Error)达到“垃圾邮件”和“正常邮件”的三元模型所需数目。对于垃圾邮件而 言,应该选用临界概率,而非任意概率。因为在三元模型的“正常邮件”语言资 料库中没有一条词汇的垃圾邮件概率是超过 0.0071 的,而在 0.99 概率范围内, 只会出现两个将正常邮件误判为垃圾邮件的情况。如果将临界概率从最初的 0.9 降到 0.1,可使对应的三元模型在“垃圾邮件”语言资料库中捕获更多的词汇。 同时出于处理速度方面的考虑,只从每封待处理信件中挑选不多于一百个“令人 感兴趣”的三元模型词汇参与最终的分类判断。
Graham 的想法有以下几个值得注意的好处: 1、 可以从已分类消息的语言资料库中自动生成过滤器,而不需要人花
费精力来制订规则。 2、 可以根据个别用户特有的垃圾邮件和合法消息来进行定制。 3、 可以通过少数几行代码来实现这个想法。 4、 运行情况出奇得好。 贝叶斯单词分布过滤技术的精确性取决于很少的几个因素,其中最关键的因 素可能是过滤所使用的词法技术,总之所有决定因素大都用来消除虚假的随机字 符串。
5 / 16
图表 1:用户收到的垃圾邮件内容前十名
综合课程设计.doc
2.3 垃圾邮件的特征
虽然垃圾邮件涉及面广,但是基于发送技术层面,它还是可以相对独立地组 织成以下四种类型。
(1)信件头部包含特定内容的垃圾邮件。 (2)邮件主体包含特定内容的垃圾邮件。 (3)使用开放中继的(Open Relay)邮件服务器所发送的电子邮件。 (4)无论在邮件头部还是主体都无法定位特定内容的垃圾邮件。 由于针对垃圾邮件内容的判定带有明显的主观色彩,因此选择普适的标准描 述垃圾邮件是相当困难的,不过业界还是相对统一地认为通过非标准客户端,在 未经用户同意的情况下所发送大规模电子信件属于垃圾邮件。对比通过 Outlook Express,FOXMAIL 等标准的邮件客户端发出信件,不难发现垃圾邮件存在十大 重要特征。 (1)垃圾邮件或者没有 X-Mailer 信头,或者使用特殊的 X-Mailer 信头。 (2)客套话比较礼貌的垃圾邮件会带有许多客套话,例如“请随手删除”, “不好意思打扰了”,“打搅„„原谅„„”等。 (3)伪造发件人 SMTP 对话中的 Mail From 和信体里的 From 内容不一致, 发件人的 E-mail 不是真实存在的 E-mail。 (4)通过 ADSL 等动态 IP 发送外部用户通过动态 IP 直接连接到 MX 服务 器,而本地没有提供 SMTP 服务(无法 telnet 25 端口),IP 也不可能进行反向 解释。 (5)发送工具签名 一些共享的群发工具会在发出的每一封信里面有自己的 签名。 (6)不使用标准的 MIME 格式邮件格式不标准,但是 Outlook Express 也可 以兼容。 (7)发送时间超过当前时间有些垃圾邮件为了在客户端保持一个排列第一 的位置,会将发送时间强行修改到一个超前的时间,例如 2005 年 1 月 1 日。 (8)经过多次邮件服务器转发信头中含有 3 个以上的 Received。 (9)信体内容带有特殊的 HTML tag。为了嵌入更多的内容和 script,垃圾 邮件往往会使用一些一般邮件不会使用的 HTML tag,例如 iframe, frameset ,
一般来说,垃圾邮件的过滤层次可以分为基于服务器的过滤和基于客户端的 过滤两种。目前,基于服务器反垃圾邮件产品的开发相对比较成熟。然而,对于 部分用户而言,用户更希望能够将定制过滤规则、是否采取过滤手段的决定权掌 握在自己手里。因此,本程序通过设计并实现基于简单规则在客户端过滤的垃圾 邮件解决方案以满足单个用户过滤垃圾邮件的需求。