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,版本号和证书,以及特征码,与病毒库进行比对 ...
【技术保护点】
一种基于混合特征的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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。