一种面向Android的移动网络终端恶意软件多特征检测方法技术

技术编号:18445416 阅读:24 留言:0更新日期:2018-07-14 10:35
本发明专利技术公开了一种面向Android的移动网络终端恶意软件多特征检测方法。包括以下步骤:步骤1,获取Android软件数据集,包括恶意样本和非恶意样本;步骤2,分析恶意软件的安装包,提取软件的安装包特征,构造安装包特征向量;步骤3,获取软件申请的权限,构建权限列表;步骤4,反编译恶意软件的安装包,构建软件的敏感行为图,提取软件的敏感行为集;步骤5,对恶意样本中属于同一恶意软件家族的软件特征进行统计分析,构建恶意软件家族特征库;步骤6,提取软件特征,并进行恶意性判定及恶意家族分类。本发明专利技术选取软件包特征、权限特征和软件敏感行为调用特征作为恶意软件判定的依据,可提高软件恶意行为检测的准确性,同时具有恶意软件家族分类的能力。

A Android oriented multi feature detection method for malware in mobile network terminals

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恶意代码多标签检测方法,在软件安装包中提取了大量的静态特征,并使用支持向量机进行分类,实现了高效检测;YuFeng等人提出了描述Android恶意家族的特征描述语言,并使用特征匹配算法对待测软件进行分类,实现了基于语义的Android恶意软件检测;ChaoYang等人使用两级行为图表示方法描述软件的逻辑行为,结合静态污点分析和组件间的行为图,通过恶意行为模式分析判断软件的恶意性,并实现了对恶意家族的分类。然而,现有的Android恶意软件多标签检测技术的研究,多选取恶意软件的所有样本进行分析,提取恶意软件所具有的特征,并以此作为待测软件恶意性判定的依据。而属于不同家族的恶意软件具有不同的恶意行为,其恶意性所表现出来的特征也具有较大差异。同一恶意软件家族的恶意软件,具有相似的恶意行为。但是,现有的恶意软件检测工具对于恶意软件的多标签检测能力较弱,如McAfee对于Genome数据集中的恶意样本进行检测时,将其中超过90%的样本检测为Trojan或Downloader,而实际上属于多个不同的恶意软件家族(如DroidDream等)。因此,速度和准确性均有待进一步提升,需要研究高效的恶意软件多标签检测方法。
技术实现思路
本专利技术的目的在于提供一种面向Android的移动网络终端恶意软件多特征检测方法,从而有效的提取Android恶意软件的特征,提高Android恶意软件检测的精度,并具有Android恶意家族分类的能力。实现本专利技术的技术解决方案为:一种面向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的移动网络终端恶意软件多特征检测方法,针对不同的恶意软件家族,基于静态分析方法,从软件包特征、申请权限特征和软件的行为调用特征三个方面对软件进行分析;2)本专利技术采用统计分析方法,提取恶意软件家族的特征,构造恶意软件家族特征库,基于该特征库提出了恶意软件多标签检测方法,能够达到较好的恶意性判定精度和恶意家族分类精度。下面结合附图对本专利技术作进一步详细阐述。附图说明图1为本专利技术的一种面向Android的移动网络终端恶意软件多特征检测方法的流程图。图2为运用本专利技术的恶意软件检测精度及恶意家族分类精度与VirusTotal中部分引擎的对比结果。具体实施方式结合附图,本专利技术的一种面向Android的移动网络终端恶意软件多特征检测方法,包括以下步骤:步骤1、获取Android恶意软件样本,并标记各样本所属的Android恶意软件家族,然后获取非恶意软件样本,从而构建恶意和非恶意软件样本数据集;步骤2、提取软件的安装包特征,包括:是否存在.so文件、是否存在用于root系统的文件、是否存在异常文件、以及是否存在子程序,从而构造安装包特征向量F;所述异常文件指文件的后缀与文件内容本身指定的类型不匹配的文件;判断文件是否存在.so文件,并通过MD5值判断库文件是否为rootexploit文件;判断jar文件、dex文件和apk文件是否存在子程序。步骤3、使用反编译工具处理Android软件样本,解析AndroidManifest.xml文件,根据xml中的标记字段,提取软件申请的权限列表P;步骤4、反编译安装包,构建软件函数调用图,定位其中的安全敏感方法,构建软件的敏感行为图SBG,然后采用数据流分析方法获得安全敏感方法的上下文信息,将被直接或间接调用的安全敏感方法构成软件的敏感行为集SBS;所述安全敏感方法包括:权限保护的方法、信息流Source/Sink方法和其他可疑方法;权限保护方法指Android系统中需要申请权限才能使用的API,信息流Source/Sink方法指可能产生或发送敏感信息的方法,其他可疑方法包括动态加载函数、反射函数、加解密函数、Native代码执行及调用函数。构建的软件函数调用图为下列四元组:SBG=(VD,VN,E,μ)其中,VD为软件敏感行为调用图中点集的子集,其中的任一节点vd∈VD为安全敏感方法的一种;VN为软件敏感行为调用图中点集的子集,其中的任一节点vn∈VN为非安全敏感方法,但是直接或间接的调用了安全敏感方法;E∈VN×VD为软件敏感行为调用图边的集合,表示方法之间具有调用关系,其中任一条边e=(vn,vd)∈E表示软件中的非安全敏感方法vn∈VN直接或间接的调用了安全敏感方法vd∈VD,或组件Cs中的方法本文档来自技高网
...

【技术保护点】
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

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

1