The invention discloses a malware multi feature detection method for Android oriented mobile network terminals. The following steps are included: Step 1, get the Android software data set, including malicious samples and non malicious samples; step 2, analyze the installation package of malware, extract the features of the installation package of the software, construct the feature vector of the installation package; step 3, obtain the authority of the software application, build the list of permissions; step 4, decompile malware Install the package, construct the sensitive behavior graph of the software, extract the sensitive behavior set of the software; step 5, analyze the software features of the same malware family in the malicious sample, construct the feature library of the malware family; step 6, extract the features of the software, and carry out the evil intent and the malicious family classification. This invention selects the features of the software package, the privilege feature and the software sensitive behavior call feature as the basis of the malware determination, which can improve the accuracy of the software malware detection and have the ability to classify the malware family.
【技术实现步骤摘要】
一种面向Android的移动网络终端恶意软件多特征检测方法
本专利技术属于移动软件分析及信息安全领域,具体涉及一种面向Android的移动网络终端恶意软件多特征检测方法。
技术介绍
Android恶意代码多标签检测问题,是在学术界和工业界中具有挑战性的难题。在判定软件恶意性的同时还应给出其所属家族。当前智能手机的应用已经涉及到人们生活的各个方面,而Android系统在智能手机中占有大量的份额,因此准确的检测Android恶意代码,对于保护Android用户隐私和财产安全具有重要的意义和应用价值。现有的Android恶意软件检测技术主要分为2类:分别为基于静态分析和基于动态分析的检测技术。动态分析方法模拟软件的执行,能够绕过静态方法遇到的代码混淆和加密等问题;但是动态测试代码覆盖率低,并且有些恶意程序可以防止自身在模拟器下运行。静态分析方法主要研究使用反编译技术或者在smali中间代码上进行控制流和数据流分析技术,能够对软件进行自动化分析,具有较高的检测效率,代码覆盖率高,适用于对大量软件样本进行分析;缺点是需要解决静态方法难以检测的代码混淆、加密以及在动态执行中才解码恶意代码的问题。为了应对该问题,已有研究者在恶意软件检测中考虑了加密、代码动态加载、Native代码动态加载等技术,如Riskranker和DroidRanger等。目前已有许多学者针对Android恶意软件的多标签检测方法进行了相关研究。如DanielArp等人提出了基于静态分析方法的Android恶意代码多标签检测方法,在软件安装包中提取了大量的静态特征,并使用支持向量机进行分类,实现了高 ...
【技术保护点】
1.一种面向Android的移动网络终端恶意软件多特征检测方法,其特征在于,包括以下步骤:步骤1、获取Android恶意软件样本,并标记各样本所属的Android恶意软件家族,然后获取非恶意软件样本,从而构建恶意和非恶意软件样本数据集;步骤2、提取软件的安装包特征,包括:是否存在.so文件、是否存在用于root系统的文件、是否存在异常文件、以及是否存在子程序,从而构造安装包特征向量F;步骤3、使用反编译工具处理Android软件样本,解析AndroidManifest.xml文件,根据xml中的标记字段,提取软件申请的权限列表P;步骤4、反编译安装包,构建软件函数调用图,定位其中的安全敏感方法,构建软件的敏感行为图SBG,然后采用数据流分析方法获得安全敏感方法的上下文信息,将被直接或间接调用的安全敏感方法构成软件的敏感行为集SBS;步骤5、对恶意样本中属于同一恶意软件家族的软件特征进行统计分析,获取各特征分量出现的概率,构建Android恶意软件家族多特征模型M,从而构建恶意软件家族特征库;步骤6、使用步骤2~4的方法提取待测软件的特征,将待测软件的特征与恶意软件家族特征库进行特征匹配 ...
【技术特征摘要】
1.一种面向Android的移动网络终端恶意软件多特征检测方法,其特征在于,包括以下步骤:步骤1、获取Android恶意软件样本,并标记各样本所属的Android恶意软件家族,然后获取非恶意软件样本,从而构建恶意和非恶意软件样本数据集;步骤2、提取软件的安装包特征,包括:是否存在.so文件、是否存在用于root系统的文件、是否存在异常文件、以及是否存在子程序,从而构造安装包特征向量F;步骤3、使用反编译工具处理Android软件样本,解析AndroidManifest.xml文件,根据xml中的标记字段,提取软件申请的权限列表P;步骤4、反编译安装包,构建软件函数调用图,定位其中的安全敏感方法,构建软件的敏感行为图SBG,然后采用数据流分析方法获得安全敏感方法的上下文信息,将被直接或间接调用的安全敏感方法构成软件的敏感行为集SBS;步骤5、对恶意样本中属于同一恶意软件家族的软件特征进行统计分析,获取各特征分量出现的概率,构建Android恶意软件家族多特征模型M,从而构建恶意软件家族特征库;步骤6、使用步骤2~4的方法提取待测软件的特征,将待测软件的特征与恶意软件家族特征库进行特征匹配,得到与之相似度最高的恶意软件家族名称,若相似度超过阈值则输出该软件为恶意软件,并输出其所属的恶意软件家族,否则输出该软件为良性软件。2.根据权利要求1所述的面向Android的移动网络终端恶意软件多特征检测方法,其特征在于,步骤2中的异常文件指文件的后缀与文件内容本身指定的类型不匹配的文件;判断文件是否存在.so文件,并通过MD5值判断库文件是否为rootexploit文件;判断jar文件、dex文件和apk文件是否存在子程序。3.根据权利要求1所述的面向Android的移动网络终端恶意软件多特征检测方法,其特征在于,步骤4中的安全敏感方法包括:权限保护的方法、信息流Source/Sink方法和其他可疑方法;权限保护方法指Android系统中需要申请权限才能使用的API,信息流Source/Sink方法指可能产生或发送敏感信息的方法,其他可疑方法包括动态加载函数、反射函数、加解密函数、Native代码执行及调用函数。4.根据权利要求1所述的面向Android的移动网络终端恶意软件多特征检测方法,其特征在于,步骤4中构建的软件函数调用图为下列四元组:SBG=(VD,VN,E,μ)其中,VD为软件敏感行为调用图中点集的子集,其中的任一节点vd∈VD为安全敏感方法的一种;VN为软件敏感行为调用图中点集的子集,其中的任一节点vn∈VN为非安全敏感方法,但是直接或间接的调用了安全敏感方法;E∈VN×VD为软件敏感行为调用图边的集合,表示方法之间具有调用关系,其中任一条边e=(vn,vd)∈E表示软件中的非安全敏感方法vn∈VN直接或间接的调用了安全敏感方法vd∈VD,或组件Cs中的方法vn通过ICC直接或间接触发了组件Ct中的方法vd;标记函数μ:Vd→...
【专利技术属性】
技术研发人员:庄毅,王军,顾晶晶,蒋理,杨帆,孙炳林,
申请(专利权)人:南京航空航天大学,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。