一种基于混合特征的Android恶意软件检测方法及系统技术方案

技术编号:16233487 阅读:22 留言:0更新日期:2017-09-19 14:52
本发明专利技术公开了一种基于混合特征的Android恶意软件检测方法及系统,其中,该方法包括:获取Dalvik特征数据、API特征数据、权限特征数据;利用Dalvik指令分类器、API分类器、权限分类器,分别对Dalvik特征数据、API特征数据、权限特征数据采用极限学习机的算法进行分类,建立分类模型,并根据该分类模型计算获得预测标签;基于预测标签及Dalvik指令分类器、API分类器、权限分类器的分类精度,利用线性组合方式进行融合,计算获得预测值,根据该预测值进行恶意软件的判断。利用上述方法及系统可以提高恶意软件的鉴别精度,降低误报率。

Android malware detection method and system based on hybrid feature

The invention discloses a Android malware detection method and system based on mixed characteristics, the method includes: obtaining the Dalvik data, API data, access feature data; using Dalvik classifier, API classifier, command authority classifier, respectively to classify Dalvik data, API data, characteristic data by authority extreme learning machine algorithm to build a classification model, and the predicted labels were calculated according to the classification model; classification accuracy prediction tag and Dalvik classifier, API classifier, command authority classifier based on using linear combination fusion, calculated according to the predictive value, the predictive value of malware judgment. Using these methods and systems can improve the discrimination accuracy of malicious software and reduce the false positive rate.

【技术实现步骤摘要】
一种基于混合特征的Android恶意软件检测方法及系统
本专利技术涉及软件检测领域,尤指一种基于混合特征的Android恶意软件检测方法及系统。
技术介绍
智能终端和云计算运用加速推进信息技术和通信技术的融合,促进了移动互联网高速发展。随着移动互联网的发展,移动终端用户群体日益庞大。在经济利益的驱使下,近几年移动恶意软件的数量呈爆炸式增长,各种移动恶意软件家族更是千变万化,严重威胁着移动互联网的健康发展,给用户和智能终端带来了不可忽视的危害。然而,由于我国目前尚无针对移动应用商店安全的要求准则出台,这使得一些应用程序商店安全门槛过低,大量的恶意应用软件可以很轻易进驻应用商店并提供下载,移动互联网安全已经成为制约移动互联网发展的瓶颈。移动恶意软件是指所有能够在智能手机或者平板计算机上执行恶意操作的应用程序,会导致系统崩溃、用户机密信息的损失或泄漏。目前,很多安全公司都已经开发出移动恶意软件鉴别的技术。例如,Kaspersky,McAfee,奇虎360、腾讯等都在推出安全软件。Kaspersky实验室推出了卡巴斯基手机安全软件,该软件结合了传统的特征码技术和主动的启发式分析技术,并提供云安全扫描的实时保护,确保智能手机不受恶意软件的的侵害。McAfee通过扫描文件、内存卡、应用程序、Internet下载项、文本消息和附件并清除其中的恶意软件来保护移动设备。360手机卫士采用本地和云查杀的方法,本地查杀调用手机卫士内置的杀毒功能,本地扫描已安装软件的信息(包括包名、UID、版本号以及软件证书等),根据软件的包名,UID,版本号和证书,以及特征码,与病毒库进行比对,判断软件的安全性,以便完成查杀。腾讯手机管家采用多引擎查杀,具备双引擎的本地查杀功能和云查杀功能。本地查杀引擎使用QQ手机管家查杀病毒引擎和卡巴斯基查杀病毒引擎,在无需联网的情况下,可以快速的对本地已安装软件和即将安装软件进行病毒查杀。云查杀引擎在用户允许的前提下,终端会联网将本地的软件信息及行为特征上传到云端服务器,服务器根据所上传的信息进行精准的病毒扫描,将最终精确的查杀结果返回给终端。另外,有很多学者提出了Android恶意软件检测的技术,包括动态分析和静态分析。动态分析是指在安装程序执行的过程中,对软件行为进行分析,静态分析是指在安装程序执行之前,抽取程序的特征,如API和权限特征。静态行为检测通过逆向工程手段,与动态行为检测相比,因无须使用沙盒、虚拟机,静态行为检测能耗更低,风险更小,对实时性要求更低。但是,目前Android恶意软件的静态分析主要对API与权限特征的分类,分类精度不高。综上来看,由于移动恶意软件的数量呈爆炸式增长,变种层出不穷,给用户和智能终端带来了不可忽视的危害,Android平台由于其开放性成为了攻击者首选的攻击对象,需要一种有效的技术以检测恶意软件。
技术实现思路
针对分类精度问题,本专利技术采用静态分析技术,通过混合特征对Android恶意软件进行鉴别。具体来讲,是通过Android恶意软件的多种特征,包括Dalvik,API与权限特征,分别采用极限学习机进行分类,然后使用线性组合方法鉴别恶意软件,相较现有技术可以提高鉴别精度,降低误报率。为达到上述目的,本专利技术提出了一种基于混合特征的Android恶意软件检测方法,包括:获取Dalvik特征数据、API特征数据、权限特征数据;利用Dalvik指令分类器、API分类器、权限分类器,分别对Dalvik特征数据、API特征数据、权限特征数据采用极限学习机的算法进行分类,建立分类模型,并根据该分类模型计算获得预测标签;基于预测标签及Dalvik指令分类器、API分类器、权限分类器的分类精度,利用线性组合方式进行融合,计算获得预测值,根据该预测值进行恶意软件的判断。为达到上述目的,本专利技术还提出了一种基于混合特征的Android恶意软件检测系统,包括:数据提取模块,用于获取Dalvik特征数据、API特征数据、权限特征数据;分类模块,用于通过Dalvik指令分类器、API分类器、权限分类器,分别对Dalvik特征数据、API特征数据、权限特征数据采用极限学习机的算法进行分类,建立分类模型,并根据该分类模型计算获得预测标签;预测值计算模块,用于基于预测标签及Dalvik指令分类器、API分类器、权限分类器的分类精度,利用线性组合方式进行融合,计算获得预测值,根据该预测值进行恶意软件的判断。本专利技术提出的基于混合特征的Android恶意软件检测方法及系统,采用包括Dalvik指令、API与权限的混合特征进行Android恶意软件鉴别,可以有效提高分类精度,降低误报率。并且还采用了极限学习机算法进行分类,该方法无需进行迭代,训练速度快,可以快速建立分类模型。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,并不构成对本专利技术的限定。在附图中:图1为本专利技术一实施例的基于混合特征的Android恶意软件检测方法流程图。图2为本专利技术一实施例的基于混合特征的Android恶意软件检测系统结构示意图。图3为本专利技术一实施例的数据提取模块结构示意图。图4为本专利技术一实施例的分类模块结构示意图。图5为为本专利技术一实施例的预测值计算模块结构示意图。具体实施方式以下配合图示及本专利技术的较佳实施例,进一步阐述本专利技术为达成预定专利技术目的所采取的技术手段。图1为本专利技术一实施例的基于混合特征的Android恶意软件检测方法流程图。如图1所示,该方法包括:步骤S101,获取Dalvik特征数据、API特征数据、权限特征数据。具体的,提取Dalvik特征数据是利用baksmali工具,通过反编译dex文件,输出Dalvik汇编文件,提取Dalvik特征数据,使用特征向量表示Android应用软件;如果出现了Dalvik特征数据,设置为1,否则设置为0。提取API特征数据是利用Dedexer工具,通过操作指令“java-jarDedexer.jar-d<directory><dexfile>”将classes.dex文件反编译成smali文件,在smali文件中提取该应用软件的API特征数据;如果smali中出现了该API特征,设置为1,否则设置为0。权限特征数据是通过解析AndroidManifest.xml文件提取,并通过权限特征向量来表示;若该软件申请了权限,设置为1;未申请该权限,则设置为0。步骤S102,利用Dalvik指令分类器、API分类器、权限分类器,分别对Dalvik特征数据、API特征数据、权限特征数据采用极限学习机的算法进行分类,建立分类模型,并根据该分类模型计算获得预测标签。其中,具体步骤如下:步骤S1021,在训练阶段,随机给已知样本分配输入权值与偏差,计算隐藏层节点的输出,方法如下:hij=g(wjxi+bj);i=1,2,…,N;j=1,2,…,k;(1)其中,hij是第j个隐藏层节点的输出,wj是连接第j个隐藏节点与输入数据的权值,wj=[wj1,wj2,…,wjn]T,n为样本的特征维度,T为在利用Dalvik指令分类器对Dalvik特征数据训练时、利用API分类器对API特征数据训练时或利用权限分类器对权限特征数据训练时对应的已知样本的分类本文档来自技高网
...
一种基于混合特征的Android恶意软件检测方法及系统

【技术保护点】
一种基于混合特征的Android恶意软件检测方法,其特征在于,包括:获取Dalvik特征数据、API特征数据、权限特征数据;利用Dalvik指令分类器、API分类器、权限分类器,分别对Dalvik特征数据、API特征数据、权限特征数据采用极限学习机的算法进行分类,建立分类模型,并根据该分类模型计算获得预测标签;基于预测标签及Dalvik指令分类器、API分类器、权限分类器的分类精度,利用线性组合方式进行融合,计算获得预测值,根据该预测值进行恶意软件的判断。

【技术特征摘要】
1.一种基于混合特征的Android恶意软件检测方法,其特征在于,包括:获取Dalvik特征数据、API特征数据、权限特征数据;利用Dalvik指令分类器、API分类器、权限分类器,分别对Dalvik特征数据、API特征数据、权限特征数据采用极限学习机的算法进行分类,建立分类模型,并根据该分类模型计算获得预测标签;基于预测标签及Dalvik指令分类器、API分类器、权限分类器的分类精度,利用线性组合方式进行融合,计算获得预测值,根据该预测值进行恶意软件的判断。2.根据权利要求1所述的基于混合特征的Android恶意软件检测方法,其特征在于,获取Dalvik特征数据、API特征数据、权限特征数据,包括:利用baksmali工具获取Android应用软件的Dalvik特征数据,通过反编译dex文件,输出Dalvik汇编文件,提取Dalvik特征数据,并使用特征向量表示该应用软件;利用Dedexer工具获取API特征数据,通过操作指令将classes.dex文件反编译成smali文件,在smali文件中提取该应用软件的API特征数据;通过解析AndroidManifest.xml文件获取所述权限特征数据,并通过权限特征向量来表示该应用软件。3.根据权利要求1所述的基于混合特征的Android恶意软件检测方法,其特征在于,利用Dalvik指令分类器、API分类器、权限分类器,分别对Dalvik特征数据、API特征数据、权限特征数据采用极限学习机的算法进行分类,建立分类模型,并根据该分类模型计算获得预测标签,包括:在训练阶段,随机给已知样本分配输入权值与偏差,计算隐藏层节点的输出,方法如下:hij=g(wjxi+bj);i=1,2,…,N;j=1,2,…,k;(1)其中,hij是第j个隐藏层节点的输出,wj是连接第j个隐藏节点与输入数据的权值,wj=[wj1,wj2,…,wjn]T,n为样本的特征维度,T为在利用Dalvik指令分类器对Dalvik特征数据训练时、利用API分类器对API特征数据训练时或利用权限分类器对权限特征数据训练时对应的已知样本的分类标签,xi为第i个输入样本,bj是第j个隐藏层节点偏差,N是样本数量,k是隐藏层节点数量,g是激活函数;根据隐藏层节点的输出,隐藏层输出矩阵记为H={hij};连接隐藏层与输出层节点的权值向量记为计算方法为:其中,是H的Moore-Penrose的广义逆矩阵;在测试阶段,对于未知样本,利用公式1计算未知样本的隐藏层节点输出H',然后分别计算获得未知样本的预测标签,计算方法为:其中,T'为在利用Dalvik指令分类器、API分类器或权限分类器测试时对应的未知样本的预测标签。4.根据权利要求3所述的基于混合特征的Android恶意软件检测方法,其特征在于,基于预测标签及Dalvik指令分类器、API分类器、权限分类器的分类精度,利用线性组合方式进行融合,计算获得预测值,根据该预测值进行恶意软件的判断,包括:基于预测标签及Dalvik指令分类器、API分类器、权限分类器的分类精度计算获得对应的权重w1、w1、w1,方法如下:其中,w1分别为Dalvik指令分类器的分类精度、权重,w2分别为API分类器的分类精度、权重,w3分别为权限分类器的分类精度、权重;利用线性组合方式进行融合,计算获得预测值,方法如下:f(x)=w1T'1+w2T'2+w3T'3;(7)其中,f(x)为预测值,T'1为在利用Dalvik指令分类器测试时对应的未知样本的预测标签,T'2为在利用API分类器测试时对应的未知样本的预测标签,T'3为在利用权限分类器测试时对应的未知样本的预测标签;根据该预测值进行恶意软件的判断,当f(x)≥0.5时,判定为恶意软件,否则为正常软件。5.根据权利要求4所述的基于混合特征的Android恶意软件检测方法,其特征在于,Dalvik指令分类器、API分类器、权限分类器的分类精度获得方法包括:将训练数据输入至Dalvik指令分类器、API分类器或权限分类器,获得训练数据中每一样本的样本预测标签、样本实际标签;对样本预测标签、样本实际标签进行对比后获得正确分类的恶意软件的数量TP、正确分类的正常软件的数量TN、将正常软件误认为恶意软件的数量FP、将恶意软件误认为正常软件的数量FN;计算获得分类精度6.一...

【专利技术属性】
技术研发人员:张巍任环姜青山
申请(专利权)人:深圳先进技术研究院
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1