基于多特征融合的安卓恶意应用程序检测方法和系统技术方案

技术编号:16233490 阅读:47 留言:0更新日期:2017-09-19 14:52
本发明专利技术公开了一种基于多特征融合的安卓恶意应用程序检测方法和系统,该方法对安卓应用样本进行反编译,获得反编译文件;从反编译文件中提取静态特征;通过在安卓模拟器中运行安卓应用样本提取动态特征;对静态特征和动态特征,使用局部敏感哈希算法的文本哈希映射部分进行特征映射,映射到低维特征空间,从而得到融合后的特征向量;基于融合后的特征向量,利用机器学习分类算法训练得到分类器,利用该分类器进行分类检测。使用本发明专利技术能够解决恶意代码稀有样本家族的高维特征分析问题,而且提高了检测准确度。

Android malicious application detection method and system based on multi feature fusion

The invention discloses a multi feature fusion based on Android malicious applications detection method and system, the method of anti compiler for Android application sample, obtain decompile file; static features are extracted from the decompiled file; by running the Android application sample in Android simulator for extracting dynamic characteristics; the static and dynamic features. The text uses hash mapping local sensitive hash algorithm for feature mapping, mapped into lower dimensional feature space so as to obtain the fused feature vectors; fused feature vectors based on the machine learning classification algorithm trained classifier, classify the classifier. The invention can solve the high dimensional feature analysis problem of the rare sample family of the malicious code, and improves the detection accuracy.

【技术实现步骤摘要】
基于多特征融合的安卓恶意应用程序检测方法和系统
本专利技术涉及网络安全
,尤其涉及一种基于多特征融合的安卓恶意应用程序检测方法和系统。
技术介绍
随着智能手机的热销,手机上网越来越流行,移动互联时代的爆发更是带动智能手机趋于全能化,伴随手机用户爆炸增长、手机上网愈加便利而来的是,手机安全隐患越来越多、问题越来越突出,移动智能手机在为用户创造便利的同时也为手机恶意代码攻击带来了新的发展方向。手机中存储的大量用户个人隐私数据以及移动互联网络潜在的巨大经济利益使得黑客和恶意软件制造者将智能手机作为新的攻击目标。但由于Android的系统特性,无法像PC端那样内置功能完善的防病毒软件,且应用市场中没有严格的审查机制,应用程序在正式发布之前不需经过Google公司或任何一方的严格审査,导致应用市场中存在大量恶意应用。如何对恶意应用进行有效的检测与分析不仅是研究热点也是研究难点。目前,各种分析方法主要集中在静态分析和动态分析两个大方向,等人通过解决Juli(Java字节码静态分析工具)不能分析安卓中由XML文件映射生成的类等问题,改进了Julia使其适用于DVM(DalvikVirtual本文档来自技高网...
基于多特征融合的安卓恶意应用程序检测方法和系统

【技术保护点】
一种基于多特征融合的安卓恶意应用程序检测方法,其特征在于,包括:步骤一、对安卓应用样本进行反编译,获得反编译文件;步骤二、从反编译文件中提取静态特征;通过在安卓模拟器中运行安卓应用样本提取动态特征;步骤三、对静态特征和动态特征,使用局部敏感哈希算法的文本哈希映射部分进行特征映射,映射到低维特征空间,从而得到融合后的特征向量;步骤四、基于融合后的特征向量,利用机器学习分类算法训练得到分类器,利用该分类器进行分类检测。

【技术特征摘要】
1.一种基于多特征融合的安卓恶意应用程序检测方法,其特征在于,包括:步骤一、对安卓应用样本进行反编译,获得反编译文件;步骤二、从反编译文件中提取静态特征;通过在安卓模拟器中运行安卓应用样本提取动态特征;步骤三、对静态特征和动态特征,使用局部敏感哈希算法的文本哈希映射部分进行特征映射,映射到低维特征空间,从而得到融合后的特征向量;步骤四、基于融合后的特征向量,利用机器学习分类算法训练得到分类器,利用该分类器进行分类检测。2.如权利要求1所述的方法,其特征在于,所述步骤1为:使用静态分析工具Apktool对作为安卓应用样本的apk文件进行反编译,反编译后的文件包括AndroidManifest.xml、smail文件、res目录、assets目录;所述反编译为:用python的os.walk()函数遍历样本库文件夹,若发现apk文件则将该apk文件路径和输出路径组合,作为Apktool反编译的输出路径;用apk文件路径、Apktool输出路径组合apktool命令,加到命令列表;遍历完成后启用多个进程并行运行命令列表中的命令,输出反编译结果,这些命令将按照样本原来的分类路径输出到一个新的反编译文件夹中。3.如权利要求1所述的方法,其特征在于,所述静态特征包括:权限和组件、函数调用和API调用特征、文件结构特征、脚本信息特征、字符串信息特征;其中,提取权限和组件的方式为:通过解析AndroidManifest.xml文件获得;提取函数调用和API调用特征的提取方式为:提取函数调用时,针对每一个样本,查找出样本里的所有smali文件,然后对于每个smali文件用正则匹配方式匹配出所有函数调用,提取出来的函数调用特征建立N-gram特征序列;提取API调用时,对于每个smali文件匹配每个官网API对应的smali代码,提取出API调用特征;将函数调用和API调用两种特征组合,选取只包含API调用的函数调用序列,组合方法为遍历每种函数调用序列,若发现其中的某个函数调用也是API调用,则选取该特征,否则丢弃该特征;从而提取出所有带有API调用的函数调用序列特征;提取文件结构特征的方式为:提取文件目录结构特征;提取脚本信息特征的方式为:在样本中查找js脚本文件,作为脚本信息特征;提取字符串信息特征的方式为:针对每一个样本,查找出样本里的所有smali文件,然后对于每个smali文件用正则匹配方式匹配出所有字符串信息作为提取字符串信息特征。4.如权利要求2所述的方法,其特征在于,所述动态特征包括:系统调用特征、关键路径和数据访问特征、http请求特征以及恶意吸费特征;所述恶意吸费特征的提取方式为:记录程序的短信发送、电话拨打行为;如果拨打号码或短信发送号码不在移动通信运营商之列,则认为具有疑似恶意吸费行为,将这些行为记录作为恶意吸费特征。5.如权利要求1所述的方法,其特征在于,所述局部敏感哈希算法为Simhash算法;所述机器学习分类算法为梯度优化决策树GBDT算法。6.如权利要求3所述的方...

【专利技术属性】
技术研发人员:薛静锋张继蔡建宇彭图王勇
申请(专利权)人:北京理工大学
类型:发明
国别省市:北京,11

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

1