基于多特征的SMS僵尸网络检测模型

2018-09-13 05:04胡渊博
中国电子科学研究院学报 2018年4期
关键词:垃圾邮件僵尸短信

胡渊博,程 静,陈 渤

(1.中国电子科学研究院,北京 100041;2.西安电子科技大学电子工程学院,西安 710071)

0 引 言

在过去的十年,个人需求的变化和无线网络的发展引领了计算机形态的移动化,移动设备拥有了更广泛的利用。然而攻击者们同样也把攻击目标逐渐转移到移动设备上。

僵尸网络是指利用一种或几种传播方式,使大量的主机感染僵尸程序,从而在控制者和被控者之间形成了一种一对多的控制网络。攻击者利用这这个网络达到非法的目的,如垃圾邮件、网络钓鱼、点击欺诈、密钥登录、密钥破解、版权侵犯和拒绝服务等[1]。

移动僵尸网络将传统的计算机攻击手段与移动端的通信手段进行有效的结合,利用移动网络将恶意程序传播并控制被感染的设备,从而形成的一对多的控制与命令网络[2]。

SMS(Short Message Service,短消息服务)作为移动网络的基本服务得到了广泛的应用。SMS消息既可以用手机发出也可以由互联网发出[3]。SMS的可靠性和灵活性使其受到了攻击者的关注,很多移动僵尸网络都将其作为控制信道或者传播渠道[4-5]。我们将这种僵尸网络称为SMS僵尸网络。僵尸短信是SMS僵尸网络传播与控制的主要载体,因此本文通过识别僵尸短信达到检测SMS僵尸网络的目的。

本文的提出一种基于多特征的SMS僵尸网络检测模型。该模型将短信的特征分为两类,不同类型的特征采取不同的处理方法,以此达到较高的准确率。

1 相关工作

虽然移动恶意软件的威胁一直在上升,但目前为止,有关这些威胁的研究工作有限,现有移动恶意软件的主要目标之一就是SMS。被控制的设备被控制者操纵进行恶意活动,如发送垃圾短信、发动DDOS攻击等等。

Nguyen等人[6]通过监测Android日志来检测SMS C&C僵尸网络。通过短信和彩信检测恶意软件传播载体,Wang等人[7]提出了一种用于移动设备的恶意软件检测系统。Dini等人[8]目前监视内核和用户级别的基于异常的恶意软件检测系统,他们的方法可以检测由Android恶意软件发送出去的SMS消息。上面的几类检测方式需要较高的系统权限,高的系统权限同样会带来新的安全问题,取得高权限终端更容易感染病毒和其他恶意软件。例如取得ROOT权限的Android设备和越狱后的iOS设备更容易受到攻击。

为了克服SMS僵尸网络相关的问题,已经有了与过滤SMS垃圾邮件相关的重要研究工作来打击邮件垃圾邮件,基于内容的机器学习方法是有不错的效果。一些研究小组使用SMS内容过滤器来识别垃圾邮件[9]。其他一些研究利用非内容过滤器[10]来检测SMS垃圾邮件。Yadav等人[11]提出了基于贝叶斯学习和黑名单机制的SMS垃圾邮件过滤方法。Nuruzzaman等人[12]建议使用在手机上运行的独立的SMS垃圾邮件过滤器。Rafique等人[13]提供实时短信垃圾检测。Coskun等人提出[14]基于网络的在线检测,能够识别移动网络上移动设备的短消息和传播向量。Rafique等人[15]利用SMS的内容和模式构建有向权重图对SMS垃圾信息进行实时分类。上面的方法识别SMS僵尸网络主要是利用文本特征来检测SMS僵尸网络,这种方法实现原理是跟传统的垃圾邮件过滤系统比较类似。针对性不强,检测的效果也比较一般。

综上所述,目前针对SMS僵尸网络检测方法主要集中在两个方面,第一类是需要高权限系统监测,这会给终端带来一定的安全风险。第二类则是利用识别垃圾邮件或垃圾短信的方式识别SMS僵尸网络,针对性不强。本文提出的检测模型主要是对第二类检测方法的改进,针对SMS僵尸网络的特点,提取出相应的特征并对特征分类,对不同类型的特征采取不同的处理方法,并综合两种特征的检测结果,区分出正常信息和恶意信息,达到检测僵尸网络的目的。

图1 检测模型

2 SMS僵尸网络探测模型

针对收入和发出的SMS信息,我们设计出一种特征检测算法来识别僵尸网络信息。如图1所示,我们将SMS信息特征分为两类,第一类特征是信息收发时间和信息大小,第二类特征信息则是文本内容中的一些特征。综合两类特征来设计我们的检测模型。

检测模型分为两个部分。第一部分是利用信息收发时间间隔和信息大小这两个特征,计算出它们的熵值,并设置阈值,以此来对信息做一次快速的筛选。将筛选的信息标记为可疑或正常,对于可疑的信息直接标记为可疑并进行输出,而对检测正常的信息进行下一部分的检测。第二部分则是基于文本内容本身的一些特征,利用贝叶斯分类算法对其进行分类,可疑和正常,正常的信息直接输送给用户,而可疑的信息打标记后传递给用户。

2.1 特征提取

如图1所示,有效识别恶意消息的第一步是提取出能够区分SMS文本消息行为的SMS特征,所有选定的特征有两个显著特点:1)能有效的区分短消息的有效或者正常2)使我们的检测方法简单快速。根据这两点要求,本文将特征和使用的算法分为两种,第一类特征较少,匹配其使用的算法速度比较快,能迅速检测到可疑的信息,但只是对被测样本做一个初步的筛选,筛掉普通用户发出的信息。从而减少第二步筛选的工作量。第二类特征稍多,相应的处理速度稍慢一些,但检测结果更为准确。

被测样本按组来分,第一类特征需要采集每一组的每一条,第二类特征则每组采集一部分。

2.2 第一类特征检测

第一类特征包含两个,分别为信息收发时间间隔和信息大小。我们采集到的第一类特征格式为需要转化,表1展示了采集到的数据示例,表2展示了处理后的数据示例。

表1 采集的数据示例

表2 处理后的数据示例

表1中的信息时间是以年月日时分来表示每一条信息收到或者发送的时间,我们需要把此类信息按时间的先后排列并依此计算当前时间与前一个时间的差值 ,然后计算出该差值出现的概率,就得到时间间隔概率。表1中的文本大小则是短息文本的大小,单位是比特,我们需要计算该同样大小文本出现的次数与总文本的比值,就得到了文本大小的概率。

定义HT为收发时间间隔的熵值,HS为信息大小的熵值。计算公式如下:

H(X)=-P(X)log2P(X)

(1)

式中:P(X)是P(X1=x1,…,Xm=xm)的联合概率。

通过转化后的数据和熵值计算公式得到HT和HS。利用熵值进行分类,如果HT和HS都比较低,则证明该信息规律性比较强,很有可能是由僵尸网络发出的信息;如果HT和HS都比较高,则很有可能是普通用户发出的信息。

HT和HS高低的判断标准是通过和阈值进行比较,如果高于阈值则说明是普通用户,否则就可能是僵尸用户。指定的阈值是一个很重要的参数,直接影响到僵尸网络检测效果的准确率。如果分数阈值定的太高,则会有很多普通用户被错分为僵尸用户;如果阈值定的太低,则会有很多僵尸网络被错分为普通用户。本文设置的阈值是中程光博士[16]通过大量数据样本训练后的阈值。

2.3 第二类特征检测

第二类特征主要是短信文本本身的特征,本文主要关注以下特征:嵌入的电话号码、嵌入的链接、嵌入字符串、嵌入的钓鱼词汇、特殊符号的数量、空格的数量。

我们用朴素贝叶斯方法[17-18]对第二类特征分类,首先将第二类特征利用一个n维的特征向量X表示,X=(X1,X2,…,Xn)

其中X1,X2,…,Xn分别表示n个属性的度量。本文将短信分为C1、C2两类,代表正常短信和垃圾短信。给定一个未知的数据样本,分类算法将预测该样本具有最高后验概率的类,朴素贝叶斯分类将未知的样本分配给类Cr,当且仅当满足下式

P(Cr|X)>P(Cj|X), 1≤j≤m

(2)

根据贝叶斯公式,样本属于Cr的概率为:

由于P(X)对于所有的类是常数,只需保证P(X|Cr)P(Cr)最大。如果类的先验概率未知,则通常假设这些类的概率相等,即P(C1)=P(C2),所以保证P(X|Cr)即可。否则要最大化P(X|Cr)P(Cr)。

由于特征多的时候,P(X|Cr)的计算很复杂。为了减轻运算压力,需要将各个特征条件进行独立假定,即各个特征不存在依赖关系。因此:

当P(X|Cr)P(Cr)>P(X|Cj)P(Cj)

(4)

1≤j≤2,j≠r时,将未知的样本X分类到Cr。

分类的结果有两种,正常信息和可疑信息。分类的结果也会存在两种错误,第一种是误报,即将正常信息判为可疑信息。第二种是漏报,即将可疑信息判为正常信息。从本文的出发点来看,在检测可疑信息的条件下,第二种错误的危害更大。因此,可以在判断的时候加入一个常量阈值Y,当变量

即X为正常信息的概率显著地大于其为可疑信息的概率时,将其判断为正常信息,随着Y的增大,漏报会变少,误报会变多。

3 实验和结论

3.1 实验数据设置

为了评估我们提出的方法的准确性,数据的选择是非常重要的。我们选取了三个比较知名的数据集。The DIT SMS Spam Dataset[19],the SMS Spam Collection Dataset[20],NUS SMS Corpus Dataset[21]这三个数据库中的SMS信息都是标记后的,我们可以把检测的结果与标记结果做对比来得到我们检测的准确率。我们实验需要的真实数据集从以上三个数据库中抽取。

3.2 实验过程与结果

本文检测所用的平台是Android虚拟机,系统版本4.4.4,并利用J2SE技术实现检测程序的核心功能。

我们从[19-21]三个数据库中抽取100组正常短信和50组僵尸短信,每组100条信息。每组的第一类特征需要逐条采取。而第二类特征则抽取每组信息中30%的短信作为训练样本,10%的作为测试样本。由2.3节可知,随着Y值的变化,检测的准确率也会发生变化。检测结果表3。

表3 检测结果

Y值是第二类特征检测时的常量阈值

NR是普通信息的检测准确率

TR是僵尸信息的检测准确率

图2 检测准确率

如图2所示,我们将表3中的检测率用曲线表示。可以发现随着阈值的增大,僵尸短信的检测准确率逐渐变高,而普通短信的准确率却在逐渐下降,在阈值1.6以后普通短信的检测率急剧下降,我们要在保证僵尸网络检测准确率较高的情况下,普通短信的检测率也需要在可接受的范围内,因此选取阈值Y为1.8,此时僵尸短信检测率达到96%,此时普通信息检测率为81%。

4 结 语

在本文中,我们提出了一个基于多特征的SMS僵尸网络检测模型,首先我们将SMS信息特征分为两类,接下来用两个核心模块分别利用这两种特征检测,第一个模块利用信息大小和收发时间这两种特征的熵值对被检测短信进行快速筛选。第二个模块在第一次筛选的基础上利用基于多文本内容特征朴素贝叶斯分类方法再次对短信进行检测。如果被检测样本能顺利的通过两道检测模块则将其标记为普通信息,否则将其标记为僵尸信息。从检测结果来看该检测模型能有效检测僵尸短信。但该检测模型还存在一些一些缺点,例如第一个模块中的阈值用的经验常数、文本提取的特征量还不够多。

未来需要改进的主要有两点,一是增加检测样本,不断地修正第一个检测模块中的阈值。二是提取更多的特征从而达到更准确地检测效果。

猜你喜欢
垃圾邮件僵尸短信
从“scientist(科学家)”到“spam(垃圾邮件)”,英语单词的起源出人意料地有趣 精读
一种基于SMOTE和随机森林的垃圾邮件检测算法
笔记本电脑“僵尸”
垃圾邮件会在2020年消失吗
道歉短信
你愿意当吸血鬼还是僵尸?
代发短信
基于支持向量机与人工免疫系统的垃圾邮件过滤模型
在舌尖上筑牢抵御“僵尸肉”的防火墙
“八一”节日短信之一