基于树突状细胞算法的垃圾邮件群发检测*

2015-04-01 12:18:44李子怡
传感器与微系统 2015年10期
关键词:群发垃圾邮件邮件

杨 超,李子怡

(湖北大学 计算机与信息工程学院,湖北 武汉430062)

0 引 言

随着网络技术的发展,电子邮件是因特网上最为流行的应用之一,具有重要的商业和社会价值。各种各样的商业广告、色情信息、邮件炸弹和很多来历不明的邮件大量涌进邮箱,侵害了电子邮件用户的通信利益,影响了电子邮件服务的正常运营秩序,危害互联网安全和社会的稳定,成为互联网的一大公害。

传统的反垃圾邮件技术主要是通过黑白名单垃圾邮件过滤[1]、智能分析的贝叶斯算法[2]、深度的内容检测[3]。然而,这些技术也存在着一些不可忽视的问题[4]:实时黑名单(RBL)存在部分IP 地址(段)错误列入实时黑名单的情况。智能分析的贝叶斯算法对如何适应图片、PDF 等附件、内嵌HTML 链接的垃圾邮件尚待进一步研究。基于规则的评分系统、数字指纹/签名等深度内容分析技术,依赖于不断更新的垃圾邮件特征数据库来拦截垃圾邮件。因此,传统的垃圾邮件检测方法不能有效快速识别出垃圾邮件群发现象。

由于具有良好的多样性、免疫记忆、自学习、自适应和鲁棒性的特点[5],人工免疫系统已经广泛应用于各类入侵检测系统中。本文将人工免疫系统中危险理论的思想应用到垃圾邮件群发的检测中,将危险理论中的“危险”与“不危险”和垃圾邮件的判断相对应,搜集多种垃圾邮件特征,并将其定义为危险信号,通过这些危险信号综合判定其是否为垃圾邮件。该方法可快速检测出垃圾邮件,并具有较低的误报率和漏报率。

1 相关研究

1.1 黑白名单垃圾邮件过滤

黑白名单技术是最早的反垃圾邮件技术,其主要是通过收集邮件中的发信地址和收信地址与黑白名单中的地址进行比较来判断邮件属于垃圾邮件的可能性[6]。黑白名单技术分为:用户黑白名单技术、网络黑白名单技术。用户黑白名单技术使用的是用户自定义的黑白名单。使用用户黑白名单机制可以快速准确地过滤掉垃圾邮件,而且可以把经常错误过滤为垃圾邮件的用户邮件快速分辨出来,减少误判率;网络黑白名单技术使用的是有互联网用户共同维护的黑白名单。目前在网络黑名单技术上最流行的是实时黑名单技术。

黑白名单技术的缺点在于需要时间和精力来维护管理黑白名单列表,因为垃圾邮件发送者在不断更换它的域名和地址。为了让该技术实时有效,黑白名单列表必须不断地更新升级,这会对一些合法的服务器造成误伤。

1.2 基于内容的垃圾邮件检测

基于内容的垃圾邮件过滤技术是通过分析邮件的内容来过滤垃圾邮件的一种技术。目前基于内容的垃圾邮件过滤主要包括基于规则的方法和基于概率统计的方法[7]。

所谓规则,是通过训练得到显示规则(通常是用产生式表示,如,如果邮件包含Advertisement,那么,该邮件为垃圾邮件)的判断方法。优点是可以生成人类理解的规则;缺点是在规律性不明显的应用领域效果较差[8]。

基于贝叶斯的过滤[9],是先通过统计获得特征项在垃圾邮件中出现的先验概率(prior probability),再利用数学统计中的贝叶斯公式求得含有这些特征项的邮件是垃圾邮件的后验概率(posterior probability)。该方法在进行过滤之前,需要学习统计大量的邮件[10]。

也有学者基于数字指纹/签名等内容分析技术对垃圾邮件进行检测。通过对垃圾邮件内容进行潜在的语义分析,获取垃圾邮件的消息摘要,经加密算法生成“邮件指纹”,并进行入库。但是它依赖于不断更新的垃圾邮件特征数据库,对于音频、视频、加密邮件的过滤情况并不如人意。

以上方法中,黑白名单需要实时更新名单库;基于内容过滤的算法需要对邮件内容进行分析和字符串的比对,且都是需要一定的学习和训练时间,因此,虽然检测效率较好,但是检测速度较慢,本文利用危险理论的方法,从垃圾邮件群发的行为特征入手,实现垃圾邮件的快速检测。

2 树突状细胞算法概述

在生物免疫系统中,树突状细胞(dendritic cells,DC)是机体功能最强的专职抗原递呈细胞,未成熟DC 具有较强的迁移能力,成熟DC 能有效激活初始型T 细胞。未成熟的DC 从淋巴系统迁移到机体组织,在机体组织中摄取抗原并采集抗原所处环境中的分子信号,受到刺激即分化为成熟的DC,DC 在成熟的过程中由组织返回到淋巴结,并将抗原提呈给T 细胞识别[11]。

DC 算法(DCA)是Greensmith 根据固有免疫系统中DC的机理设计实现的一种人工免疫系统算法[12],已成功运用于端口扫描检测和异常检测领域[13~15],DCA 具有效率高、负载小、低误报率的特点。DCA 是基于DC 群体的算法,群体中每个DC 收集组织中的抗原,同时摄取四种环境信号:病原体相关分子模式(pathogen-associated molecular pattern,PAMP)、危险信号(danger signal,DS)、安全信号(safe signal,SS)和致炎信号(inflammation signal,IS)。DC 把摄取到的四种环境信号作为输入信号,通过权值矩阵和相关函数进行融合处理后,产生三种输出信号:协同刺激分子(costimulatory molecules,CSM)、半(semi)成 熟 信 号 和 成 熟(mat)信号,并对这三种输出信号分别进行累加,当CSM 达到迁移阈值时,DC 发生迁移。此时,通过对结果进行分析,semi 和mat 中的浓度较大者决定当前的细胞环境。同时,根据当前细胞环境状态,对该DC 采集的所有抗原进行标记,标记为semi 或mat。当抗原达到判别次数后,计算代表该抗原异常程度的成熟环境抗原值(mature context antigen value,MCAV),并与预先设定的异常阈值进行比较,从而判断抗原是否异常。DC 分化的过程如图1 所示。

图1 DC 分化过程图Fig 1 Processing of DC differentiation

本文涉及到的生物学中的七种信号及其抽象信号与含义如表1 所示。

表1 DCA 相关信号及其含义Tab 1 Relative signal of DCA and its meaning

3 垃圾邮件检测方法

3.1 垃圾邮件特征和抗原信号

垃圾邮件发送者在发送垃圾邮件时,主要有以下几种特征:1)大量发送,即同一IP 同时的SMTP 连接数非常大,超过正常数量的请求。2)发送频率频繁,即短时间内不断地进行联机投递。3)信头发件人地址伪造。垃圾邮件一般采用群发软件发送,发信人的地址是可以任意伪造的。4)垃圾邮件要么不会对服务器返回的错误做出任何重试,要么在短时间内会进行疯狂的重试。5)一般的邮件客户端会对发送的邮件在传输过程中进行加密处理,而垃圾邮件群发不会。基于上述特点,分析其一定时间段内垃圾邮件的发送情况,采取该时间段内的下列各指标的平均值作为抗原信号:

1)SMTP 创建数目(记为SN):在进行快速创建时,SMTP 连接创建数目会明显高于正常情况。

2)SMTP 连接频率(记为SF):发送垃圾邮件用户的SMTP 连接频率一般要高于合法用户。

3)接收服务器错误提示的重传记录(记为WM)。对于服务器会对不能正常传输的邮件返回错误提示。因此,该指标的出现有可能是垃圾邮件导致的。

4)邮件在传输过程中数据包是否加密(记为DE):在垃圾邮件群发时,发送邮件的数据包一般不会经过加密处理,而正常发送的邮件的数据包会经过加密处理后传输,因此,该指标可以作为垃圾邮件判断的一种方式。

3.2 数据预处理和算法实现

3.2.1 信号映射

针对前文提到的各项指标,对其进行预处理,通过映射函数统一将其规格化到1 ~10 之间。定义规格化函数f(x)如式(1)

其中,x 为原始信号值,当x∈[m,n]时,进行线性映射;当x∈[0,∞)时,信号取最大值10。

现将检测垃圾邮件相关指标进行如下映射:

1)PAMP:病原体相关分子模式,表明系统非健康,存在异常行为的特征,不能正常响应用户的处理请求。定义PAMP={〈WM〉}。

2)DS:危险信号,表明系统亚健康,异常的可能性较高,系统仍然可以工作,但存在不可用的可能。定义DS={〈SN,SF,WM〉}。

3)SS:安全信号,表示正常的可能性较高,系统处于健康状态。定义SS={〈SN,SF,DE〉}。

4)IS:致炎因子,表明组织总体上存在异常,起到放大PAMP,DS,SS 信号的作用。定义IS={〈DE〉},其中,IS 为1 表示邮件服务器无法正常连接,IS 为0 表示正常服务。

3.2.2 权值矩阵

DC 收集组织中的抗原,并对四类输入信号(PAMP,DS,SS,IS)进行处理,计算出三个输出信号:协同刺激(CSM)信号、半成熟(semi)信号与成熟(mat)信号。由输入信号值到输出信号值的转换权值矩阵如表2 所示。

表2 DCA 信号转换权值矩阵Tab 2 Weight matrix of DCA signal conversion

表2 中的权值矩阵表明:PAMP 信号和DS 对CSM 信号和MAT 信号具有正影响,起促进作用,而对SEMI 信号则没有影响。SS 对CSM 信号和SEMI 信号值的累加具有正影响,而对MAT 信号则具有负影响。值的大小表示各输入信号对输出信号的影响程度,值越大,表明其相应的影响程度越大。由输入信号值转换为输出信号值的计算如式(2)所示

其中,CP,CD,CS分别为输入信号PAMP,DS,SS 的值,WP,WD,WS为相应的权值。

3.2.3 算法流程描述

应用到垃圾邮件检测中的DCA 流程图如图2 所示。

图2 DCA 流程图Fig 2 Flow chart of DCA

具体描述如下:

输入:四个抗原信号值,PAMP,DS,SS,IS;

输出:CSM,smDC 或mDC;

说明:DC 迁移阈值:Z;DC 生命周期:T;抗原判别阈值:M;抗原异常阈值:N

Begin

初始化抗原池采集数目;

初始化DC 细胞种群;

For 每个DC

If CSM <迁移阈值Z then

Begin

在抗原池中随机采集未被标记的抗原,并计算PAMP,DS,SS 及IS 信号值and 依据权值矩阵计算CSM,semiMature,Mature 并累加;

End;

If CSM≥迁移阈值Z then

Begin

比较semiMature,Mature 大小,并标记该DC 的状态AND 标记该DC 采集的抗原状态,DC 发生迁移;

If 抗原判定总次数 =抗原判别阈值M then

Begin

计算MCAV = 抗原被判为异常次数/抗原判定总次数,比较MCAV 与异常阈值N 的大小,

If MCAV ≥N then

抗原标记为异常;

Else

抗原标记为正常;

End

End

If DC 采集抗原次数≥DC 生命周期T then

抛弃该DC;

End

4 实验与结果分析

本文选用一种垃圾邮件群发器模拟群发垃圾邮件,与foxmail 邮件客户端模拟正常邮件发送进行对比。

该垃圾邮件群发器具有如下特点:

1)选择邮件发送模式:特快专递(MX)、正常模式(SMTP);

2)使用HELO 域名设置自动创建虚拟邮箱(仅限于特快专递);

3)发送失败自动更换邮箱发送一次;

4)检测封IP 后重新拨号或换IP。

通过使用wireshark 工具捕获正常邮件和垃圾邮件的群发行为和数据包情况。

实验情景设置如下:

1)分别用垃圾邮件发送器和foxmail 邮件客户端发送给100 个邮箱,垃圾邮件发送器采用特快专递方式中的HELO 域名设置自动创建虚拟邮箱。

2)分别用垃圾邮件发送器和foxmail 邮件客户端发送给200 个邮箱,垃圾邮件发送器采用特快专递方式,发送50 封后检测封IP 后重新拨号或换IP。

3)分别用垃圾邮件发送器和foxmail 邮件客户端发送给300 个邮箱,垃圾邮件发送器发送失败采用相同模式重发5 次。

4)分别用垃圾邮件发送器和foxmail 邮件客户端发送给400 个邮箱,垃圾邮件发送器采用正常模式发送。

该四种情景,列举了垃圾邮件群发器的不同设置,调整每次发送的个数,比较它们与正常邮件群发的不同,使实验结果更具有一般性。实验结果记录如表3 所示。

表3 实验结果记录Tab 3 Record of experimental result

分析结果如表4 所示。

表4 实验结果分析Tab 4 Analysis on experimental result

大量实验显示,运用DCA 进行垃圾邮件检测,准确率可以达到93.255%,漏报率和误报率均比较低,垃圾邮件群发具有SMTP 创建数目多、频率快、失败后重传次数多、传输过程不加密的特点,具有较低的误报率和漏报率。因此,DCA 可以有效地识别垃圾邮件群发现象。

5 结束语

DCA 在垃圾邮件的检测上能得到很好的结果,对垃圾邮件的检测准确率上高于其他一些检测算法,算法在实现上方便简洁,只需抓住垃圾邮件的特点,将信号与信号转换权值矩阵定义合理,即可获得比较理想的结果。该检测可以应用于邮件客户端上,对用户发送邮件过程中进行主动型垃圾邮件行为模式的识别,从而做到主动对垃圾邮件行为进行防御和阻断,可最大程度地提高垃圾邮件识别率、拦截率,降低资源消耗。由于实验的局限性,该算法有待于进一步的改进。

[1] 甘棠仪.基于属性论方法的垃圾邮件过滤系统设计与研究[D].上海:上海海事大学,2005:2-3.

[2] 张舰波.基于内容的垃圾邮件智能过滤系统的研究[D].贵阳:贵州大学,2008:19-23.

[3] 桑 寅,孟少卿,鹿凯宁.基于DPI 和机器学习方法传输层检测的P2P 流量识别模型[J].电子测量技术,2011,34(10):45-48.

[4] 李智明.Websense 安全专家解读当前垃圾邮件形式.[EB/OL].[2008—11—01].http:∥www.cioage.com/art/200807/72741.htm.

[5] Cooper K D,Hall M W,Kennedy K.Procedure cloning[C]∥Proceedings of the 1992 International Conference on Computer Languages,1992:96-105.

[6] 林丹宁.反垃圾邮件关键技术研究与实现[D].杭州:浙江大学,2007:16-17.

[7] 王 斌,潘文锋.基于内容的垃圾邮件过滤技术综述[J].中文信息学报,2005,19(5):4-6.

[8] 郑 梅.基于规则的垃圾邮件过滤系统设计与实现[D].成都:电子科技大学,2008:19-39.

[9] 詹 川.反垃圾邮件技术的研究[D].成都:电子科技大学,2005:36-37.

[10]曾志中.基于贝叶斯算法的垃圾邮件过滤系统的分析与实现[D].北京:北京邮电大学,2009:5-60.

[11]Wang Hui.Research on instruction detection algorithm based on dendritic cell algorithm[J].Journal of Guangxi University for Nationalitiest:Natural Science Edition,2011(2):42-44.

[12]Julie Greensmith.Introducing dendritic cells as a novel immuneinspired algorithm for anomaly detection[C]∥Proceedings of 4th International Conference,ICARIS 2005,Banff,Alberta,Canada,2005:153-167.

[13]陈岳兵,冯 超.树突状细胞算法原理及其应用[J].计算机工程,2010,36(8):173-175.

[14]Dasgupta D,Yu Senhua,Majumdar N S.MILA-multilevel immune learning algorithm[C]∥Proceedings of GECCO,Chicago,2003:183-194.

[15]Al-Hammadi Y,Uwe Aickelin,Julie Greensmith.DCA for bot detection[C]∥Proceedings of the IEEE World Congress on Computational Intelligence(WCCI 2008),Hong Kong,2008:1807-1816.

猜你喜欢
群发垃圾邮件邮件
基于James的院内邮件管理系统的实现
从“scientist(科学家)”到“spam(垃圾邮件)”,英语单词的起源出人意料地有趣 精读
英语文摘(2021年10期)2021-11-22 08:02:36
一种基于SMOTE和随机森林的垃圾邮件检测算法
一封邮件引发的梅赛德斯反弹
车迷(2018年12期)2018-07-26 00:42:32
丁酉中秋登楼时家人远离 闻多地无月乃拍照群发(外三首)
岷峨诗稿(2017年4期)2017-04-20 06:26:41
一例群发性山羊痘的诊断与防治
基于支持向量机与人工免疫系统的垃圾邮件过滤模型
医护一体化在群发伤救治中的实践与体会
石器部落
将当前邮件快速转发到QQ群
电脑迷(2012年21期)2012-04-29 22:16:01