垃圾邮件快速检测
AI技术用于垃圾邮件过滤的关键技巧

AI技术用于垃圾邮件过滤的关键技巧一、引言随着互联网的快速发展,垃圾邮件问题越来越严重。
传统的人工过滤方式效率低下且易受到攻击,因此采用人工智能(Artificial Intelligence,AI)技术进行垃圾邮件过滤成为了不可或缺的方式。
本文将介绍AI技术在垃圾邮件过滤中的关键技巧。
二、机器学习算法在垃圾邮件识别中的应用1. 基于规则的过滤方法:这种方法通过设定一系列规则来判断是否为垃圾邮件。
例如,检查发件人地址是否可信、邮件内容中是否包含明显的广告语等。
然而,由于规则数量庞大且容易被攻击者绕过,这种方法已经逐渐被淘汰。
2. 基于特征提取与分类模型的方法:通过机器学习算法对邮件进行特征提取和分类模型训练。
常用的特征包括发件人地址、邮件内容中出现频率较高的词语等。
其中比较流行的分类模型有朴素贝叶斯算法、支持向量机算法和深度学习等。
这些算法可以根据已有的邮件数据进行训练,不断优化模型以提高分类准确率。
三、深度学习在垃圾邮件识别中的应用1. 卷积神经网络(Convolutional Neural Networks,CNN):CNN是一种应用广泛的深度学习算法,在图像识别领域表现出色。
在垃圾邮件过滤中,可以将邮件内容看作一种文本数据,并将其转化为矩阵形式输入到CNN模型进行特征提取和分类。
通过多层卷积与池化操作,网络能够有效地捕捉到邮件中隐藏的有关垃圾邮件的特征。
2. 循环神经网络(Recurrent Neural Networks,RNN):RNN是一类适用于序列数据处理的神经网络模型。
由于垃圾邮件内容可能包含时序信息,如时间、日期等,因此采用RNN可以更好地捕捉这些信息。
例如,长短期记忆网络(LongShort-Term Memory,LSTM)是一种常用的RNN变体,在短文本处理中具有较好的效果。
四、数据预处理对垃圾邮件过滤的重要性1. 数据清洗:在进行模型训练之前,需要对原始数据进行清洗。
这包括去除重复邮件、拼写纠错、删除特殊字符和HTML标签等。
基于DNS垃圾邮件检测技术的研究

基于DNS垃圾邮件检测技术的研究随着互联网的快速发展,垃圾邮件对于用户的骚扰和网络环境的干扰已成为一个严重的问题。
为了解决这个问题,研究人员提出了各种各样的垃圾邮件检测技术。
其中,基于DNS(Domain Name System)的垃圾邮件检测技术受到了广泛的关注和研究。
DNS是互联网中用于域名解析的系统,它将域名转换为IP地址,并提供了一种分布式的数据库查询服务。
基于DNS的垃圾邮件检测技术利用了其分布式的特点,通过对DNS查询结果进行分析和比较,从而识别出垃圾邮件。
1.DNS黑名单技术:DNS黑名单(DNSBL)是一种基于DNS的过滤技术,它通过查询DNSBL服务器的IP地址列表,判断发送者的IP地址是否存在于垃圾邮件发送者的列表中。
如果存在,则将其判定为垃圾邮件。
通过使用多个DNSBL服务器和对查询结果进行综合分析,可以提高垃圾邮件的检测准确率。
2.域名分析技术:域名在垃圾邮件中发挥着重要的作用,研究人员通过分析域名的组成结构、长度、频率等特征,可以判断其是否为垃圾邮件。
比如,垃圾邮件通常使用一些非常长的域名,或者使用特殊字符进行伪装。
通过对域名进行分析和比较,可以有效地检测出垃圾邮件。
3.DNS反向解析技术:DNS反向解析是一种可以将IP地址转换为域名的技术,它通过查询DNS服务器,获取与IP地址相关联的域名信息。
基于DNS反向解析的垃圾邮件检测技术可以通过分析反向解析的结果,判断发送者的IP地址是否存在于垃圾邮件发送者的列表中。
如果存在,则将其判定为垃圾邮件。
4.域名服务器性能分析技术:域名服务器的性能对于垃圾邮件检测技术的有效性和准确率至关重要。
研究人员通过对域名服务器的性能进行分析和评估,包括查询响应时间、DNSBL服务器的可用性等指标,可以提高垃圾邮件检测技术的性能和效果。
基于DNS的垃圾邮件检测技术具有一定的优势和局限性。
优势在于它可以利用现有的DNS系统,不需要额外的软硬件开销;同时,通过利用分布式的特点,可以提高垃圾邮件检测的准确性和效率。
文本数据中的异常检测方法与应用

文本数据中的异常检测方法与应用在大数据时代,大量的文本数据被不断产生和积累。
这些文本数据中潜藏着各种有用的信息和知识,但同时也可能存在异常值或离群点,对数据分析和挖掘工作造成困扰。
因此,文本数据中的异常检测方法与应用变得尤为重要。
一、异常检测的概念及重要性异常检测是指通过分析数据中的异常值并识别其特征,来发现与正常行为不符合的数据点。
异常值通常是指与大多数数据点有明显差异的观测结果。
异常检测在各个领域都有广泛的应用,如金融风控、网络安全、医疗诊断等。
在文本数据分析中,异常检测可帮助发现错误的数据、检测潜在的欺骗行为,以及识别重要的信息和洞察。
二、文本数据中的异常检测方法1. 基于统计学的方法基于统计学的方法是最常见和经典的异常检测方法之一。
通过对文本数据进行统计分析,建立合适的概率模型,比较实际观测值与理论模型之间的偏离程度来判断是否为异常。
常用的统计学方法包括离群值检测、箱线图、正态分布等。
2. 基于机器学习的方法随着机器学习的发展,越来越多的方法被应用于文本数据的异常检测中。
通过构建特征向量,采用监督学习或无监督学习算法来训练模型,进而对新的文本数据进行异常检测。
常用的机器学习方法包括支持向量机、深度学习、聚类算法等。
3. 基于网络分析的方法文本数据通常可以表示为网络结构,其中文本之间的关系可以用网络的边表示。
基于网络分析的异常检测方法可以通过分析网络拓扑结构和节点之间的关系,来发现异常节点或异常边。
这种方法对于社交媒体文本数据的异常检测非常有效。
三、文本数据中异常检测的应用1. 垃圾邮件检测在大量的邮件中,存在着很多垃圾邮件(spam),这些邮件内容通常与正常邮件有很大差异。
通过对邮件主题、正文、发送者等信息进行异常检测,可以准确区分垃圾邮件和正常邮件,并提高邮件过滤效果。
2. 情感分析情感分析是指对文本进行情感倾向性的判断,如判断一段文字是正面还是负面的情感。
在情感分析的过程中,通过对文本数据进行异常检测,可以快速发现情感表达的异常点,从而提高情感分析结果的准确性。
四种方法教你如何处理垃圾邮件问题

4.当 双 方 建 立 好 了 通 过 Itr e n en t
的 V N 连 接 后 , 相 当 于 又 在 It - P 即 ne r
n t上 建 立 好 了 一 个 双 方 专 用 的 虚 e
V N 建 立 成 功 之 后 , 双 方 便 可 P 以通过 I P地 址 或 “ 上 邻 居 ” 来 达 网 到 互 访 的 目 的 。 当 然 也 就 可 以 使 用 对 方 所 共 享 出 来 的软 硬 件 资源 了1
殊 的 软 件 来 扫 描 万 维 网 上 的 电子 邮 件
地 址 .然 后 将 这 些 地 址 存 储 到 数 据 库 ,
用 垃 圾 邮件 来进 行 轰 炸 。 如 果 你 使 用 一 些方 法 . 你 的 电 子 将 邮 件 地 址 显 示 出来 , 以让 人们 很 容 易 可 地联系到你 , 但如 果 垃 圾 邮 件 僵 尸 机 无 法 获得 你 的 邮 件 地 址 的话 。 就 可 以 防 你 止 你 自 己 被 卷 入 到 大 片 的 电子 邮 件 的 数据库 中。
你 就 可 以 知 道 是 否 有 网 站 将 你 的 的 电
子 邮 件 地 址 以 非 编 码 的形 式 显 示 出 来 ,
并 且 允 许 垃 圾 邮 件 发 送 者 像 采 摘 成 熟 的樱 桃 一 样 使 用 它 。如 果发 生 这 样 的 事 的话 。你 就 需要 联 系 网站 的所 有 者 . 要
有 一 些 网 站 是 专 门 处 理 这 一 问 题
圾 邮 件 发 送 者 所 操 控 的 , 们 可 以检 测 他
到 哪 些 UIL请 求查 看 图 片 。 L 简 单 来 说就 是 , 管 你 是 什 么 时 候 不 打 开 垃 圾 邮 件 的 . 都 是 告 诉 了垃 圾 邮 你 件 发送者 。 他发 送 的 废 物 已 经 达 到 了 目
电子邮件安全漏洞的检测与修复方法

电子邮件安全漏洞的检测与修复方法随着互联网的普及和信息技术的快速发展,电子邮件成为了人们日常生活和工作中不可或缺的通信工具。
然而,电子邮件也面临着安全漏洞的威胁,这些漏洞可能会导致个人隐私泄露、恶意软件传播以及网络攻击等问题。
本文将探讨电子邮件安全漏洞的检测与修复方法,以帮助用户更好地保护自己的电子邮件安全。
一、电子邮件安全漏洞的类型在了解如何检测和修复电子邮件安全漏洞之前,首先需要了解不同类型的漏洞。
常见的电子邮件安全漏洞包括以下几种:1. 垃圾邮件和钓鱼邮件:垃圾邮件是指未经用户许可发送的大量广告或垃圾信息,而钓鱼邮件则是冒充合法机构发送的欺诈邮件,目的是骗取用户的个人信息。
这些邮件可能包含恶意链接或附件,一旦用户点击或下载,就可能导致安全问题。
2. 恶意软件附件:电子邮件中的恶意软件附件是一种常见的安全漏洞,攻击者通过发送包含病毒、木马或间谍软件的附件来感染用户的计算机。
一旦用户打开或下载这些附件,恶意软件就会在用户的设备上执行,从而导致数据泄露或系统崩溃等问题。
3. 身份验证漏洞:身份验证漏洞是指攻击者通过伪造电子邮件的发送者身份来欺骗接收者。
这种漏洞可能导致用户误以为邮件来自可信的机构或个人,从而泄露敏感信息或遭受其他形式的攻击。
二、电子邮件安全漏洞的检测方法为了保护电子邮件的安全,用户可以采取以下方法来检测潜在的安全漏洞:1. 注意邮件的来源:在收到邮件时,要仔细检查发件人的电子邮件地址和名称,尤其是来自不熟悉的发件人。
如果发现任何可疑之处,最好不要点击邮件中的链接或下载附件。
2. 使用反垃圾邮件软件:反垃圾邮件软件可以帮助用户过滤和阻止垃圾邮件的发送。
用户可以根据自己的需求选择合适的反垃圾邮件软件,并及时更新以确保其有效性。
3. 定期更新安全软件:安全软件包括防病毒软件、防间谍软件和防火墙等,可以帮助用户检测和阻止恶意软件的传播。
用户应定期更新这些安全软件,以确保其具备最新的病毒库和安全补丁。
电子邮件系统的反垃圾邮件技术解析

电子邮件系统的反垃圾邮件技术解析随着互联网的快速发展,电子邮件已经成为了人们日常生活和工作中不可或缺的一部分。
然而,随之而来的问题是垃圾邮件泛滥,给人们的日常使用带来了很大的困扰。
为了解决这个问题,电子邮件系统开发了一系列反垃圾邮件技术,旨在过滤和阻止垃圾邮件的传递。
本文将对电子邮件系统的反垃圾邮件技术进行解析。
一、内容过滤技术内容过滤技术是最常见和有效的反垃圾邮件技术之一。
它通过分析邮件内容中的关键词、短语、图片等特征,将邮件分为正常邮件和垃圾邮件。
常见的内容过滤技术包括关键词过滤、白名单过滤、黑名单过滤和内容分析等。
1. 关键词过滤关键词过滤是最基础的反垃圾邮件内容过滤技术之一。
系统根据设定的关键词列表,对邮件中的内容进行扫描和匹配。
如果邮件中的关键词与列表中的匹配度超过设定的阈值,就将该邮件视为垃圾邮件。
关键词过滤虽然简单,但是在实际应用中存在一定的限制,因为垃圾邮件发送者可以通过拼写错误、音似替代等方式绕过关键词过滤的检测。
2. 白名单过滤白名单过滤是一种将白名单中的信任用户或邮件服务器作为正常邮件的过滤方式。
只有在白名单中的发件人才能够将邮件正常发送到收件人的邮箱中。
这种过滤方式有效减少了误伤和误判的情况,但是对新的发件人或邮件服务器可能会出现漏检的情况。
3. 黑名单过滤与白名单过滤相反,黑名单过滤将黑名单中的垃圾邮件发送者或邮件服务器视为垃圾邮件,并将其过滤。
这种方式可以过滤掉某些已知的垃圾邮件,但是对于新出现的垃圾邮件发送者会无法有效过滤。
4. 内容分析内容分析技术是目前比较高级的反垃圾邮件技术之一。
它利用机器学习、自然语言处理等技术,对邮件内容进行深入的分析和判断。
通过学习正常邮件和垃圾邮件样本,系统可以自动识别垃圾邮件的特征,并根据特征对新的邮件进行判断。
内容分析技术准确率较高,但是对系统资源消耗较多,需要大量的样本数据进行训练。
二、发件人认证技术为了进一步增强反垃圾邮件的效果,电子邮件系统还开发了发件人认证技术,目的是防止垃圾邮件发送者伪造发件人的身份,提高邮件的真实性和可信度。
智能邮件处理系统中的自动检测与识别

智能邮件处理系统中的自动检测与识别随着科技的快速发展,智能邮件处理系统在现代社会变得越来越重要。
邮件作为传统的沟通工具,在网络时代仍然扮演着重要的角色。
然而,随着垃圾邮件和欺诈邮件的不断增多,如何提高智能邮件处理系统的自动检测与识别能力成为了一个迫切的问题。
在智能邮件处理系统中,自动检测与识别是核心功能之一。
系统通过使用各种模型和算法,自动分析和评估邮件的内容和属性,以确定邮件的真伪、安全性和可信度。
这项技术的目标是提高邮件的处理效率和准确性,从而节省用户的时间和精力,避免他们被垃圾邮件和欺诈行为所困扰。
自动检测与识别的关键是数据分析和机器学习算法。
智能邮件处理系统通过大数据分析邮件的内容和属性的模式和规律,为后续的邮件处理提供依据。
同时,系统通过不断学习和调整算法,提高对邮件的自动检测和识别能力。
这种自动化的处理方式大大提高了处理邮件的效率和准确性。
一种常见的自动检测与识别技术是垃圾邮件过滤。
垃圾邮件是指发送给大量用户的未经请求的邮件,往往包含各种广告内容或是欺诈信息。
智能邮件处理系统通过分析邮件的收件人列表、发件人信息、邮件内容和附件等特征,进行垃圾邮件的识别和过滤。
这项技术能够大大减少用户接收到的垃圾邮件数量,提高邮件的可信度和有效性。
另一种自动检测与识别技术是欺诈邮件检测。
欺诈邮件是指冒充他人身份或机构发送的具有欺骗性的邮件,旨在获取用户的个人信息或进行诈骗活动。
智能邮件处理系统通过分析邮件的发件人身份、邮件内容、链接域名等特征,辨识出潜在的欺诈邮件,并及时提醒用户进行警惕。
这项技术的应用可以保护用户的个人信息安全,预防经济损失和个人隐私泄露。
除了垃圾邮件和欺诈邮件的自动检测与识别,智能邮件处理系统还可以通过机器学习算法进行内容分类和优化。
系统可以根据用户的邮件历史、邮件内容和用户行为等信息,对邮件进行分类和标记,为用户提供更加个性化和高效的邮件服务。
例如,系统可以根据用户的兴趣爱好,自动将邮件分类为工作、社交、广告等类型,用户可以更加方便地管理和查看邮件,提高工作和生活的效率。
基于深度学习的垃圾邮件检测

Computer Science and Application 计算机科学与应用, 2023, 13(4), 764-772 Published Online April 2023 in Hans. https:///journal/csa https:///10.12677/csa.2023.134075基于深度学习的垃圾邮件检测俞荧妹,禹素萍,许武军,范 红东华大学信息科学与技术学院,上海收稿日期:2023年3月17日;录用日期:2023年4月14日;发布日期:2023年4月21日摘要邮件是日常生活中的一种通讯工具,但垃圾邮件对用户造成严重困扰,因此改进垃圾邮件识别技术、提升其准确率和效率具有重要现实意义。
在文本分类领域,深度学习有很好的应用效果。
故文章提出了一种基于CNN 的BiGRU-Attention 模型,旨在充分利用CNN 的特征提取能力和BiGRU 的全局特征提取能力。
引入注意力机制能够突出显示重要文本,前后共经过两层双向门控循环单元,从而更全面地提取邮件文本特征。
实验数据选取Trec06c 数据集,并与其他分类模型对比,结果表明,检测准确率达到91.56%。
关键词垃圾邮件,文本分类,深度学习,双向门控循环单元,注意力机制Spam Detection Based on Deep LearningYingmei Yu, Suping Yu, Wujun Xu, Hong FanCollege of Information Science and Technology, Donghua University, ShanghaiReceived: Mar. 17th , 2023; accepted: Apr. 14th , 2023; published: Apr. 21st, 2023AbstractEmail is a communication tool in daily life, but spam has caused serious problems for users, As a re-sult, it is crucial to improve spam identification technology and improve its accuracy and efficien-cy. In the field of text classification, deep learning has a good application effect. In order to fully util-ize CNN’s feature extraction capabilities and BiGRU’s global feature extraction capabilities, this ar-ticle suggests a CNN-based BiGRU-Attention model. The introduction of the attention mechanism can highlight important text, which passes through two layers of two-way gated loop units before and after, so as to extract more comprehensive features of email text. The experimental data is selected from Trec06c dataset and compared with other classification models. The results show that the de-tection accuracy reaches 91.56%.俞荧妹等KeywordsSpam, Text Classification, Deep Learning, BiGRU, Attention MechanismCopyright © 2023 by author(s) and Hans Publishers Inc.This work is licensed under the Creative Commons Attribution International License (CC BY 4.0)./licenses/by/4.0/1. 引言当今社会,互联网的快速发展使得电子邮件在人们的日常生活中发挥了很大的功能,既可以提高工作效率、节约成本,又可以促进人们之间的交流和沟通。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
垃圾邮件快速检测技术摘要:提出了高速网络环境下一种实时检测垃圾邮件的方法,将正文抽取一部分做指纹散列,散列后的指纹值可以发现重复的正文内容。
不需要解码也不需要处理全部邮件内容,并且散列内容数量和邮件大小无关尤其对于普通文本分类方法无法处理的二进制类型的垃圾邮件有较好的处理效果,适合在高速骨干网络环境下作为一种快速垃圾邮件检测的手段。
初步实验证明,该方法具有较高的处理速度,重复内容判定准确。
关键词: 垃圾邮件高速网络环境快速检测目前通常采用文本分类来识别垃圾邮件。
例如贝叶斯分.类算法.决策树.支持向量机等,这些方法通过一定的训练分类可以达到较高的识别率,但它们都需要对邮件进行解码分词和做大量概率运算,处理过程非常复杂,需要很多的处理时间,且不适合在高速网络环境下应用。
本文所指的高速网络环境是指在一些骨干网络中稳定的网络流量可以达到每秒几百兆几千兆比特,对信息进行任何处理都需要极高的性能,而在低速百兆位网中适用的方法会因为无法达到对数据的线性处理而失效。
另外,垃圾邮件的内容特征变化很大,这导致了基于内容过滤的方法需要不断地训练和更新,在对新类型的垃圾邮件的判定方面往往有一定的滞后。
目前有很多邮件蠕虫病毒或者新型的垃圾邮件为了逃避文本分类方法的过滤,将垃圾内容或者病毒以二进制附件的形式大量发送。
这是文本分类所无法处理的。
而本文所提出的基于数字指纹检测的垃圾邮件判定方法不仅可以处理这种二进制类型的垃圾邮件也适应了高速网络中快速检测要求。
1 垃圾邮件定义现有的垃圾邮件通常利用程序通过群发的方式生成。
其中发信人.主题等邮件头部都可能是虚构或者随机生成的,但正文部分或者附件部分对同一封垃圾邮件来说是固定的。
本系统垃圾邮件的定义范围是邮件内容(正文或者附件)重复率超过一定阈值的邮件。
阈值可以经过具体环境的训练后调整。
更谨慎的做法是在这一步判定后再使用一些常规的方法进一步确认是否垃圾邮件,事实上经过这一步判定后需要进一步判定邮件的范围会被大大缩小,后续的操作也不会过多的影响效率为了适应一些小型网络环境,本系统可以以分布式的结构散布在若干个小型网络上共用一个Hash 表。
2 重复邮件发现2.1 基于数字指纹的重复内容识别如何高效地识别邮件正文内容是否重复是本系统的核心,为了产生包含邮件正文数据包中的内容的特征值,采用了Manber [1] 提出的在文件系统中查找相似文件的方法。
将所有邮件正文抽取出一部分来计算Rabin 指纹[2]。
设字符集有s个元素,q为大于s的最小质数,{0,1…, q}构成一个有限域Zq。
则字符集是Zq 的一个子集,对于字符串a = a 1 a 2 .... a m ∈ ∑ 多项式f(t)将字符串映射到一个特征为q 的多项式域 F q [ t ] / g 中其中g 为一个度数为k 的不可约多项式(k 为质数) 则有f ( t ) = a 1 t + a 2 t + .... + a m ∈ F q [ t ]则这个字符串的Rabin 指纹值为f = f mod g。
实际系统中设定t 为一个质数,给定一个度数为k 的不可约多项式g M=g(t) (实现时通常直接给定M 是一个大质数)将M 设为Hash 的表大小,则可利用指纹函数计算字符串指纹值并存储到Hash 表中指纹函数和一般Hash 函数的区别在于普通Hash 函数只是将字符串均匀散列到Hash 表中它关心的是冲突时所需要跳跃的步长,而指纹函数希望总是能够避免冲突,原字符串不同而指纹相同的概率是很小。
下面定理在理论上表明了这一点定理a = a 1 a 2 .... a m ∈ ∑ |a|=m,假定为计算指纹随机选取一个度数为k 的不可约多项式g 作为域 F q [ t ] / g 的生成多项式P 表示原字符串不同而指纹值相同的概率即出现冲突的概率,那么P ≤ m k 定理的证明参见文献[2]。
图1 是本系统中随机生成200B 的邮件正文,用Rabin指纹散列后的冲突情况。
图1 的横轴表示散列后插入Hash表的邮件数目,纵轴表示产生冲突的百分比。
冲突率=产生冲突的指纹数目/指纹总数,可以发现Rabin 指纹产生的冲突是很小的。
2.2 压缩后的Hash 表存储为了防止可能出现的散列冲突,我们为每个散列后的指纹值保留了一定的原始数据,但为了避免太多的拷贝操作,我们保留的是经过压缩后的原始数据。
在本系统中,将一定字节的原始数据做散列后按一定顺序取10%的原始数据和散列后的指纹值一起存进Hash 表中在插入Hash 表的时候只有当字节的散列值和10%的压缩数据都相同时才认为其是重复正文。
本系统在上述的冲突测试中已经发现在150 万封的邮件数据中,原始数据不同,但压缩数据和散列指纹都相同的概率是0 这样已经可以保证经过指纹值和压缩数据都相同的邮件,它的邮件正文一定是相同的。
2.3 重复邮件发现算法(1)解析POP3(SMTP)协议定位到邮件正文(2)对数据调用Hash 函数计算指纹值同时读出压缩后的原始数据(3)插入Hash 表检测相应位置的元素1)如果发现相同的Hash 元素元素重复计数指针加1,判断是否达到阈值若达到阈值则报告。
2)如果指纹值和压缩数据是新发现内容,新增加一个元素,项链入散列表,重复设指针为1 插入时间为当前时间。
(4)计算Hash 表内元素是否达到需要一个临界值,如果是,调用函数来清除时间上已经过期的Hash表元素。
2.4带权值的判定手段为了判定一些明显的垃圾邮件,但重复率目前还比较低的邮件,在判定时采用一些常规的分析邮件头的手段来分析邮件头分析结果为一个权值W 如果目前邮件重复数目为Q 重新定义邮件重复值C=W*Q 这样就给具有明显垃圾邮件特征的邮件头设定一个比较高的权值这时邮件的重复值会比较大,而对一些邮件头看起来比较正规的邮件且很可能是用户群发产生的重复邮件,我们给定一个比较低的的权值。
这时邮件重复值就会比较低具体实现中我们通过判定邮件头是否伪造,重复邮件的邮件头是否固定来区分垃圾邮件。
这些判定都在发现重复内容后进行,例如从发现第2封重复邮件后才开始分析计算其后具有重复内容的邮件头,根据结果来调整这封邮件的权值。
3底层队Libnids函数的改进目前的libnids中应用层数据被拷贝的过程如下:(1)每个合法tep连接建立时为每个连接分配一个应用层缓冲区以后每个该连接的数据包来到时解析各层包头,定位到应用层数据。
(2)拷贝数据包中应用层数据到应用层缓冲区。
(3)调用应用层处理模块,将应用层缓冲区的指针提交给处理模块,上层处理完毕后返回。
(1)对每次来到的数据包定位到应用层数据后判断当前是否有残余数据(2)如果没有则直接提交给上层处理否则拷贝到应用层缓冲区后再提交给上层处理(3)上层处理完毕后判断是否有残余数据尚未处理如果有则拷贝到应用层缓冲区中再返回否则直接返回对改进的分析如下这种改进实际上延迟了数据包拷贝的时间由每次应用层数据到来就需要拷贝推迟为当发现应用层缓冲区中尚有上次未处理完的残余数据时再拷贝。
当应用层能够每次处理完所有本次提交上来的包的情况下,这种方法比原有系统完全减少了一次拷贝应用层数据的操作,当应用层需要保留一些数据和下次操作一起处理的情况下这种方法推迟了应用层数据拷贝时间也减少了一定量的数据拷贝,同时仍然保证下次提交上来的数据和本次数据在物理位置上是连续的在系统中应用层关心的只是具体数据以及数据是否连续不关心每次调用之间数据的具体位置这种方法对应用层来说改变了数据的物理位置但仍然保证了数据在物理上的连续性。
4 系统结构本系统的底层采用libnids 的结构来捕包并还原为应用层数据流如图 4 底层经过诸如零拷贝等技术的优化改进可以在高速网络环境下捕捉几百兆每字节的数据包而上层应用层的协议解析模块用于定位需要散列的邮件正文定位后即时散列每一位数据并取出压缩的原始数据散列后的散列值和原始数据插入到Hash 表中Hash 表元素会在一定时间后过期它的插入和删除都由一个Hash 表类来管理,邮件散列后在插入时判断是否达到阈值达到阈值就报告,并作后续截断处理。
5 模拟实验和性能分析我们在主机中模拟一个小型网络环境来测试系统对垃圾邮件的识别率和处理性能,采用垃圾邮件语料库中的Ling-Spam 语料。
其中包括正常邮件2 412 封和垃圾邮件481 封我们将正常邮件和垃圾邮件混合起来在模拟网络中发送和接收。
模拟网络中节点主机数目为100 个其中包括1 台邮件服务器和99 个邮件客户端邮件客户端互相在高速发送邮件。
其中有几个是垃圾邮件节点专门重复发送垃圾邮件。
发送对象为模拟网络中随机的一些节点发送的邮件数据都是真实采集下来的邮件数据,由于是在一台主机内存中做模拟因此这个模拟网络中流动的smtp 和pop3 的协议数据量可以达到高速网络环境的数据量。
所有发送和接收的邮件都由邮件服务器节点中转我们检测这个网络中流动的pop3 协议数据当发现用户在收取某封垃圾邮件后截断用户收取该邮件的操作。
我们在模拟网络中发送了2 412 封合法邮件和481 封垃圾邮件其中垃圾邮件随机向50 个100 个节点发送合法邮件随机向 1 个10 个节点发送设定阈值为10 在CPU 主频为赛扬800MHz 的主机上实验最后测试结果如表1从结果中可以看出本系统能够在高速环境下很好地进行垃圾邮件检测和封堵,对于达到阈值的垃圾邮件判定率达到100%封堵率和系统阈值以及垃圾邮件发送总数相关。
系统处理的时间性能由于CPU 等硬件的不同而会有所差异,在此先做理论上的分析本系统只需要分析邮件的前几个包,时间开销主要在固定长度n 字节的数据做Hash 散列的运算和Hash 表插入上这些时间都是一定的不受整个邮件长度的影响。
所以我们的算法的时间复杂度是O(1) 不需要训练时间,而目前其他分类算法的都需要训练和分类其时间复杂度一般是O ( n ) ~ O ( n 2 ) 之间,并且需要训练和动态调整训练集本算法的主要优势是不需要训练并且对每封邮件处理的时间复杂度是O(1)。
另外我们发现系统能适应的高速网络环境系统流量的多少取决于系统平均处理每封邮件所需要的时间。
假定在一段时间t 内并发传输n 封邮件令P 表示平均每封邮件在传输中的数据量,当时网络环境为Q bps 如果本系统处理每封邮件需要m 秒则当P/Q >m 时系统就可以在当前网络环境中做到实时快速检测。
在每封邮件传输的数据量是80kB 高速网络环境中邮件数据的流量是500Mbps 的情况下,为达到线速处理本系统处理每封邮件必须在0.16s 之内。
这种性能在通常的邮件分析算法上是达不到的。
我们在CPU 主频为赛扬800MHz 的主机上实验后,测得的每封邮件处理时间不到0.1s 这说明在硬件要求不太高的情况下,本系统就可以做到在高速网络环境中对重复邮件的完全检测。