【技术实现步骤摘要】
一种基于深度学习的Android恶意程序检测方法
[0001]本专利技术属于深度学习和恶意程序检测
,涉及一种基于深度学习的Android恶意程序检测方法。
技术介绍
[0002]随着互联网技术的不断发展以及智能手机的更新换代,手机慢慢地从奢侈品变成了人手一部的大众消费品,成为了一个集上网浏览、聊天视讯、拍照听歌、行程健康码等多种功能为一体的便携式智能移动设备,Android操作系统的智能手机更是因其较高的性价比而广受人们的欢迎。在Android操作系统快速增长的同时,恶意应用软件也层出不穷,攻击者利用Android系统的开源性以及应用市场的不规范性等,开发出可以进行盗取隐私、话费扣取、远程控制等的恶意软件,严重损坏用户利益。因此,高效准确的Android恶意程序检测具有重要意义。
[0003]为提升Android恶意软件检测准确率,精确的特征提取和适配的深度学习算法是训练模型的关键。apk特征包含静态特征和动态特征,静态特征可以直接从反编译后的apk文件中提取,它的检测速度较快,但是对于进行了代码混淆以及使用错误格式的数字签名的Android软件来说,它的检测准确率不高;动态特征需要在软件运行过程中提取软件行为特征,它可以提取到多种多样的数据且不受代码混淆等技术的影响,但是检测速度较慢,因此需要选取合适的具有代表性的特征。机器学习作为常用的分类方法,常用于Android恶意程序检测中,如随机森林(Random Forest)、支持向量机(SVM)等,但机器学习在训练和测试模型时需要分析的特征较少,获取 ...
【技术保护点】
【技术特征摘要】
1.一种基于深度学习的Android恶意程序检测方法,其特征在于,具体步骤为:步骤1,收集Android恶意AKP样本和正常AKP样本,通过反编工具输出反编译文件;步骤2,提取反编译文件中的权限特征、API特征和3
‑
Gram特征,并转化为特征向量;步骤3,建立CNN
‑
BiLSTM
‑
Attention模型,采用步骤2得到的特征向量作为样本集对CNN
‑
BiLSTM
‑
Attention模型进行训练;所述CNN
‑
BiLSTM
‑
Attention模型包括输入层、词嵌入层、融合注意力机制的双向长短期记忆(BiLSTM)模块、卷积层、全连接层、Softmax层;在训练模型时首先需要在词嵌入层使用Word2vec进行特征向量化处理,CNN会对特征向量矩阵进行卷积操作,使用max
‑
pooling提取最大值并重新组成特征向量得到局部特征;然后使用BiLSTM捕获双向依赖,对特征向量矩阵提取全局上下文信息,并使用注意力机制Attention突出重要特征;计算最终输出首先要计算出上下文隐状态,再使用它和上一时刻的隐状态得出注意力概率,通过概率对上下文隐状态加权求和并经过变换后得到最终输出;将两个模型中的特征融合,为了使该网络也能表达非线性映射,需要引入激活函数,并使用Softmax实现对应用样本的分类;步骤4,对于待检测的程序,采用步骤2方法得到特征向量并输入至训练好的CNN
‑
BiLSTM
‑
Attention模型中进行检测,得到检测结果。2.如权利要求1所述的一种基于深度学习的Android恶意程序检测方法,其特征在于,所述步骤1具体为反编译命令apktool.bat d
–
f[apk文件路径][输出文件夹路径]生成包括AndroidManifest.xml文件、smali文件的反编译文件。3.如权利要求2所述的一种基于深度学习的Android恶意程序检测方法,其特征在于,所述权限特征的提取方法为:AndroidManifest.xml文件的<uses
‑
permission>标签中提取包含.permission.的语句即为权限特征;所述API特征的提取方法为:所述smali文件中遍历以“invoke
‑”
开头的行进行提取;所述3
‑
Gram特征的提取方法为:所述smali文件中使用Dalvik指令分类规则,去除对分类结果无影响的指令,简化为可以表达出语义的指...
【专利技术属性】
技术研发人员:孙钦东,王艳,王伟,杨志海,许航,
申请(专利权)人:西安理工大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。