CN108280350A - 一种面向Android的移动网络终端恶意软件多特征检测方法 - Google Patents

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

Info

Publication number
CN108280350A
CN108280350A CN201810109044.6A CN201810109044A CN108280350A CN 108280350 A CN108280350 A CN 108280350A CN 201810109044 A CN201810109044 A CN 201810109044A CN 108280350 A CN108280350 A CN 108280350A
Authority
CN
China
Prior art keywords
software
malware
feature
family
sample
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810109044.6A
Other languages
English (en)
Other versions
CN108280350B (zh
Inventor
庄毅
王军
顾晶晶
蒋理
杨帆
孙炳林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Aeronautics and Astronautics
Original Assignee
Nanjing University of Aeronautics and Astronautics
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University of Aeronautics and Astronautics filed Critical Nanjing University of Aeronautics and Astronautics
Priority to CN201810109044.6A priority Critical patent/CN108280350B/zh
Publication of CN108280350A publication Critical patent/CN108280350A/zh
Application granted granted Critical
Publication of CN108280350B publication Critical patent/CN108280350B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/53Decompilation; Disassembly

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Stored Programmes (AREA)

Abstract

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

Description

一种面向Android的移动网络终端恶意软件多特征检测方法
技术领域
本发明属于移动软件分析及信息安全领域,具体涉及一种面向Android的移动网络终端恶意软件多特征检测方法。
背景技术
Android恶意代码多标签检测问题,是在学术界和工业界中具有挑战性的难题。在判定软件恶意性的同时还应给出其所属家族。当前智能手机的应用已经涉及到人们生活的各个方面,而Android***在智能手机中占有大量的份额,因此准确的检测Android恶意代码,对于保护Android用户隐私和财产安全具有重要的意义和应用价值。
现有的Android恶意软件检测技术主要分为2类:分别为基于静态分析和基于动态分析的检测技术。动态分析方法模拟软件的执行,能够绕过静态方法遇到的代码混淆和加密等问题;但是动态测试代码覆盖率低,并且有些恶意程序可以防止自身在模拟器下运行。静态分析方法主要研究使用反编译技术或者在smali中间代码上进行控制流和数据流分析技术,能够对软件进行自动化分析,具有较高的检测效率,代码覆盖率高,适用于对大量软件样本进行分析;缺点是需要解决静态方法难以检测的代码混淆、加密以及在动态执行中才解码恶意代码的问题。为了应对该问题,已有研究者在恶意软件检测中考虑了加密、代码动态加载、Native代码动态加载等技术,如Riskranker和DroidRanger等。
目前已有许多学者针对Android恶意软件的多标签检测方法进行了相关研究。如Daniel Arp等人提出了基于静态分析方法的Android恶意代码多标签检测方法,在软件安装包中提取了大量的静态特征,并使用支持向量机进行分类,实现了高效检测;Yu Feng等人提出了描述Android恶意家族的特征描述语言,并使用特征匹配算法对待测软件进行分类,实现了基于语义的Android恶意软件检测;Chao Yang等人使用两级行为图表示方法描述软件的逻辑行为,结合静态污点分析和组件间的行为图,通过恶意行为模式分析判断软件的恶意性,并实现了对恶意家族的分类。
然而,现有的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值判断库文件是否为root exploit文件;判断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中的方法vn通过ICC直接或间接触发了组件Ct中的方法vd;标记函数μ:Vd→<ID,EntryType,Para>用于标记图中结点包含的内容,即该方法的上下文信息,包括方法ID、入口点类型EntryType和参数Para;
敏感行为集为如下所示的集合:
SBS={S1,…,Si,…,Sm}
其中,Si={v|(vi,v)∈E∧vi∈VN∧v∈VD}为安全敏感方法集,表示敏感行为调用图SBG=(VD,VN,E,μ)中,VN集合的第i个非敏感安全方法直接或间接调用的所有安全敏感方法构成的集合;m=|VN|为集合SBS的长度。
步骤5、对恶意样本中属于同一恶意软件家族的软件特征进行统计分析,获取各特征分量出现的概率,构建Android恶意软件家族多特征模型M,从而构建恶意软件家族特征库;
所述构建的Android恶意软件家族多特征模型为下列六元组:
M=(SBSc,α,Fc,β,Pc,γ)
其中,为恶意软件家族共有的敏感行为集,通过统计分析同一恶意软件家族样本的敏感行为集SBS获得;标记函数用于标记SBSc中敏感方法集在恶意软件家族样本中出现的概率;Fc为通过分析同一恶意软件家族样本的安装包特征向量F,统计得到的恶意软件家族样本具有的共有软件安装包特征;标记函数β:f∈Fc→[0,1]用于标记Fc中各种特征在恶意软件家族样本中出现的概率;Pc为通过分析同一恶意软件家族样本的权限列表P,统计得到的恶意软件家族样本频繁申请的权限列表;标记函数γ:p∈Pc→[0,1]用于标记Pc中各权限在恶意软件家族样本中出现的概率。
步骤6、使用步骤2~4的方法提取待测软件的特征,将待测软件的特征与恶意软件家族特征库进行特征匹配,得到与之相似度最高的恶意软件家族名称,若相似度超过阈值则输出该软件为恶意软件,并输出其所属的恶意软件家族,否则输出该软件为良性软件。
所述待测软件与恶意软件家族的相似度表示为:
其中Sf为软件特征向量的相似度,Sp为权限列表的相似度,Ssbs为敏感行为集的相似度,μi为各相似度在计算时的权重值;
软件特征向量相似度Sf的计算方法为:给定待测软件的特征向量F={f1,f2,f3,...,fm},待匹配的恶意软件家族多特征模型中的特征向量以及对应的标记函数β,则:
按照各特征出现的概率计算相似度,若恶意家族多特征模型中的特征向量中的值均为0,则相似度为0;其中修正因子ωf的计算方法为:向量F中所有使fifi c=1的特征数量除以向量Fc中值为1的特征数量;
软件的权限列表相似度Sp的计算方法为:给定待测软件的权限列表P,待匹配的恶意软件家族多特征模型中的权限列表Pc={p1 c,p2 c,...,pn c},以及对应的标记函数γ,则:
其中修正因子ωp的计算方法为:权限集合P中属于Pc的权限数量除以集合Pc的长度;当权限列表Pc中的元素包含在待测软件的权限列表P中时,值为1,否则为0;
敏感行为集相似度Ssbs的计算方法为:给定软件的敏感行为集SBS,待匹配的恶意软件家族多特征中的敏感行为集以及对应的标记函数α,则:
式中,ωsbs为修正因子,其计算方法为:SBS中所有使的集合Si c的数量除以集合SBSc的长度;其中,函数表示:在SBS中存在某一集合S,与集合中的相似元素占两个集合所有元素的比例大于θ(0<θ≤1)。
由上可知,本发明采用统计分析方法,提取恶意软件家族的特征,构造恶意软件家族特征库,基于该特征库提出了恶意软件多标签检测方法,能够达到较好的恶意性判定精度和恶意家族分类精度。
为了使本领域技术人员更好地理解本发明中的技术问题、技术方案和技术效果,下面结合附图和具体实施例对本发明作进一步详细说明。
实施例
一种面向Android的移动网络终端恶意软件多特征检测方法,使用Drebin数据集和Google Play中获取的非恶意软件样本,构成数据集,恶意代码检测和家族分类具体包括以下步骤:
步骤1:将Drebin中的样本按照其所属的恶意家族进行分割,使用网络爬虫方法,在Google Play上获取非恶意软件,并使用VirusTotal在线检测服务进行验证,从而构建样本数据集,包括24个恶意软件家族的4486个恶意软件样本,和2140个良性软件样本;
步骤2:使用Zip解压缩工具将待分析的软件安装包解压缩,提取软件的安装包特征,包括:是否存在.so文件、是否存在用于root***的文件、是否存在异常文件,以及是否存在子程序,从而构造安装包特征向量F;判断是否存在用于root***的文件时,通过将现有的root exploit库文件的MD5值与软件安装包中的文件进行对比;判断是否存在异常文件,通过Apache Tika工具分析文件内容,获得文件类型,并与文件后缀进行对比;判断是否存在子程序,通过查看程序中是否存在jar文件、dex文件及apk文件实现;
步骤3:使用APKParser处理Android软件样本,解析AndroidManifest.xml文件,根据xml中的标记字段,提取软件申请的权限列表P;
步骤4:使用Soot工具反编译安装包,构建软件函数调用图,定位其中的安全敏感方法,构建软件的敏感行为图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中的方法vn通过ICC直接或间接触发了组件Ct中的方法vd;标记函数μ:Vd→<ID,EntryType,Para>用于标记图中顶点包含的内容,包括方法ID、入口点类型EntryType和参数Para。
敏感行为集为如下所示的集合:
SBS={S1,S2,…,Sm}
其中,Si={v|(vi,v)∈E∧vi∈VN∧v∈VD}为安全敏感方法集,表示敏感行为调用图SBG=(VD,VN,E,μ)中,Vn集合的第i个非敏感安全方法直接或间接调用的所有安全敏感方法构成的集合;m=|VN|为集合SBS的长度;
步骤5、选取24个恶意软件家族样本中的75%(3341个样本)作为特征提取的样本,构建恶意软件家族特征库。对恶意样本中属于同一恶意软件家族的软件特征进行统计分析,获取各特征分量出现的概率,构建Android恶意软件家族多特征模型M,从而构建恶意软件家族特征库;
构建的Android恶意软件家族多特征模型为下列六元组:
M=(SBSc,α,Fc,β,Pc,γ)
其中,为恶意软件家族共有的敏感行为集,通过统计分析同一恶意软件家族样本的敏感行为集SBS获得;标记函数用于标记SBSc中敏感方法集在恶意软件家族样本中出现的概率;Fc为通过分析同一恶意软件家族样本的安装包特征F,统计得到的恶意软件家族样本具有的共有软件安装包特征;标记函数β:f∈Fc→[0,1]用于标记Fc中各个特征在恶意软件家族样本中出现的概率;Pc为通过分析同一恶意软件家族样本的权限列表P,统计得到的恶意软件家族样本频繁申请的权限列表;标记函数γ:p∈Pc→[0,1]用于标记Pc中各权限在恶意软件家族样本中出现的概率;
步骤6、使用步骤2~4的方法提取待测软件的特征,将待测软件的特征与恶意软件家族特征库进行特征匹配,得到与之相似度最高的恶意软件家族名称,若相似度超过0.7则输出该软件为恶意软件,并输出其所属的恶意软件家族,否则输出该软件为良性软件;
待测软件与恶意软件家族的相似度表示为:
其中Sf为特征向量的相似度,Sp为权限列表的相似度,Ssbs为敏感行为集的相似度,μi为各相似度在计算时的权重值,实验中三个权重值均取
软件特征向量的相似度计算方法为,给定待测软件的特征向量F={f1,f2,f3,...,fm},待匹配的恶意软件家族多特征模型中的特征向量Fc={f1 c,f2 c,f3 c,...,fm c},以及对应的标记函数β,其相似度的计算方法如下式所示:
按照各特征出现的概率计算相似度,若恶意家族多特征模型中的特征向量的值均为0,则相似度为0。其中修正因子ωf的计算方法为:向量F中所有使fifi c=1的特征数量除以向量Fc中值为1的特征数量。
软件权限列表相似度的计算方法为,给定待测软件的权限列表P,待匹配的恶意软件家族多特征模型中的权限列表Pc={p1 c,p2 c,...,pn c},以及对应的标记函数γ,其相似度的计算方法如下式所示:
其中修正因子ωp的计算方法为:权限集合P中属于Pc的权限数量除以集合Pc的长度。
敏感行为集相似度的计算方法为,给定软件的敏感行为集SBS,待匹配的恶意软件家族多特征中的敏感行为集以及对应的标记函数α,其相似度的计算方法如下式所示:
为了防止特征较多的恶意软件家族覆盖特征较少的家族,引入修正因子ωsbs,其计算方法为:SBS中所有使的集合的数量除以集合SBSc的长度。其中,函数表示:在SBS中存在某一集合S,与集合中的相似元素占两个集合所有元素的比例大于80%。
使用上述方法对剩余25%(1145个)的恶意软件样本以及2140个良性软件样本进行测试实验,软件恶意性判定及恶意家族分类的结果,与VirusTotal中常见的8个反病毒引擎的检测结果的对比如图2所示。
由上可知,本发明选取软件包特征、权限特征和软件敏感行为调用特征作为恶意软件判定的依据,可提高软件恶意行为检测的准确性,同时具有恶意软件家族分类的能力。

Claims (6)

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值判断库文件是否为root exploit文件;判断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→<ID,EntryType,Para>用于标记图中结点包含的内容,即该方法的上下文信息,包括方法ID、入口点类型EntryType和参数Para;
敏感行为集为如下所示的集合:
SBS={S1,…,Si,…,Sm}
其中,Si={v|(vi,v)∈E∧vi∈VN∧v∈VD}为安全敏感方法集,表示敏感行为调用图SBG=(VD,VN,E,μ)中,VN集合的第i个非敏感安全方法直接或间接调用的所有安全敏感方法构成的集合;m=|VN|为集合SBS的长度。
5.根据权利要求1所述的面向Android的移动网络终端恶意软件多特征检测方法,其特征在于,步骤5中构建的Android恶意软件家族多特征模型为下列六元组:
M=(SBSc,α,Fc,β,Pc,γ)
其中,为恶意软件家族共有的敏感行为集,通过统计分析同一恶意软件家族样本的敏感行为集SBS获得;标记函数α:用于标记SBSc中敏感方法集在恶意软件家族样本中出现的概率;Fc为通过分析同一恶意软件家族样本的安装包特征向量F,统计得到的恶意软件家族样本具有的共有软件安装包特征;标记函数β:f∈Fc→[0,1]用于标记Fc中各种特征在恶意软件家族样本中出现的概率;Pc为通过分析同一恶意软件家族样本的权限列表P,统计得到的恶意软件家族样本频繁申请的权限列表;标记函数γ:p∈Pc→[0,1]用于标记Pc中各权限在恶意软件家族样本中出现的概率。
6.根据权利要求1所述的面向Android的移动网络终端恶意软件多特征检测方法,其特征在于,步骤6中待测软件与恶意软件家族的相似度表示为:
其中Sf为软件特征向量的相似度,Sp为权限列表的相似度,Ssbs为敏感行为集的相似度,μi为各相似度在计算时的权重值;
软件特征向量相似度Sf的计算方法为:给定待测软件的特征向量F={f1,f2,f3,...,fm},待匹配的恶意软件家族多特征模型中的特征向量以及对应的标记函数β,则:
按照各特征出现的概率计算相似度,若恶意家族多特征模型中的特征向量中的值均为0,则相似度为0;其中修正因子ωf的计算方法为:向量F中所有使的特征数量除以向量Fc中值为1的特征数量;
软件的权限列表相似度Sp的计算方法为:给定待测软件的权限列表P,待匹配的恶意软件家族多特征模型中的权限列表Pc={p1 c,p2 c,...,pn c},以及对应的标记函数γ,则:
其中修正因子ωp的计算方法为:权限集合P中属于Pc的权限数量除以集合Pc的长度;当权限列表Pc中的元素包含在待测软件的权限列表P中时,值为1,否则为0;
敏感行为集相似度Ssbs的计算方法为:给定软件的敏感行为集SBS,待匹配的恶意软件家族多特征中的敏感行为集以及对应的标记函数α,则:
式中,ωsbs为修正因子,其计算方法为:SBS中所有使的集合的数量除以集合SBSc的长度;其中,函数表示:在SBS中存在某一集合S,与集合中的相似元素占两个集合所有元素的比例大于θ(0<θ≤1)。
CN201810109044.6A 2018-02-05 2018-02-05 一种面向Android的移动网络终端恶意软件多特征检测方法 Active CN108280350B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810109044.6A CN108280350B (zh) 2018-02-05 2018-02-05 一种面向Android的移动网络终端恶意软件多特征检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810109044.6A CN108280350B (zh) 2018-02-05 2018-02-05 一种面向Android的移动网络终端恶意软件多特征检测方法

Publications (2)

Publication Number Publication Date
CN108280350A true CN108280350A (zh) 2018-07-13
CN108280350B CN108280350B (zh) 2021-09-28

Family

ID=62807459

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810109044.6A Active CN108280350B (zh) 2018-02-05 2018-02-05 一种面向Android的移动网络终端恶意软件多特征检测方法

Country Status (1)

Country Link
CN (1) CN108280350B (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109167753A (zh) * 2018-07-23 2019-01-08 中国科学院计算机网络信息中心 一种网络入侵流量的检测方法及装置
CN110392056A (zh) * 2019-07-24 2019-10-29 成都积微物联集团股份有限公司 一种轻量级的物联网恶意软件检测***及方法
CN110414234A (zh) * 2019-06-28 2019-11-05 奇安信科技集团股份有限公司 恶意代码家族识别方法及装置
CN110457009A (zh) * 2019-07-06 2019-11-15 天津大学 基于数据分析的软件安全需求推荐模型的实现方法
CN110516446A (zh) * 2019-08-26 2019-11-29 南京信息职业技术学院 一种恶意软件家族归属判定方法、***及存储介质
CN110795732A (zh) * 2019-10-10 2020-02-14 南京航空航天大学 基于SVM的Android移动网络终端恶意代码的动静结合检测方法
CN111368297A (zh) * 2020-02-02 2020-07-03 西安电子科技大学 隐私保护移动恶意软件检测方法、***、存储介质及应用
CN111460448A (zh) * 2020-03-09 2020-07-28 北京邮电大学 一种恶意软件家族检测方法及装置
CN112287345A (zh) * 2020-10-29 2021-01-29 中南大学 基于智能风险检测的可信边缘计算***
CN112632539A (zh) * 2020-12-28 2021-04-09 西北工业大学 一种Android***恶意软件检测中动静混合特征提取方法
CN112887328A (zh) * 2021-02-24 2021-06-01 深信服科技股份有限公司 一种样本检测方法、装置、设备及计算机可读存储介质
CN113378163A (zh) * 2020-03-10 2021-09-10 四川大学 基于DEX文件分区特性的Android恶意软件家族分类方法
CN113468532A (zh) * 2021-07-20 2021-10-01 国网湖南省电力有限公司 恶意软件家族推断方法及***
CN113591079A (zh) * 2020-04-30 2021-11-02 中移互联网有限公司 获取异常应用安装包的方法、装置及电子设备
US20220207141A1 (en) * 2020-12-31 2022-06-30 Estsecurity Corp. Apparatus for generating a signature that reflects the similarity of a malware detection and classification system based on deep neural networks, method therefor, and computer-readable recording medium recorded with a program for performing the method
US20230004645A1 (en) * 2019-11-28 2023-01-05 Nippon Telegraph And Telephone Corporation Labeling device and labeling program

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103440459A (zh) * 2013-09-25 2013-12-11 西安交通大学 一种基于函数调用的Android恶意代码检测方法
US20140181973A1 (en) * 2012-12-26 2014-06-26 National Taiwan University Of Science And Technology Method and system for detecting malicious application
CN104794051A (zh) * 2014-01-21 2015-07-22 中国科学院声学研究所 一种Android平台恶意软件自动化检测方法
CN105447388A (zh) * 2015-12-17 2016-03-30 福建六壬网安股份有限公司 一种基于权重的安卓恶意代码检测***及方法
CN107169351A (zh) * 2017-05-11 2017-09-15 北京理工大学 结合动态行为特征的Android未知恶意软件检测方法
CN107180192A (zh) * 2017-05-09 2017-09-19 北京理工大学 基于多特征融合的安卓恶意应用程序检测方法和***
CN107392021A (zh) * 2017-07-20 2017-11-24 中南大学 一种基于多类特征的Android恶意应用检测方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140181973A1 (en) * 2012-12-26 2014-06-26 National Taiwan University Of Science And Technology Method and system for detecting malicious application
CN103440459A (zh) * 2013-09-25 2013-12-11 西安交通大学 一种基于函数调用的Android恶意代码检测方法
CN104794051A (zh) * 2014-01-21 2015-07-22 中国科学院声学研究所 一种Android平台恶意软件自动化检测方法
CN105447388A (zh) * 2015-12-17 2016-03-30 福建六壬网安股份有限公司 一种基于权重的安卓恶意代码检测***及方法
CN107180192A (zh) * 2017-05-09 2017-09-19 北京理工大学 基于多特征融合的安卓恶意应用程序检测方法和***
CN107169351A (zh) * 2017-05-11 2017-09-15 北京理工大学 结合动态行为特征的Android未知恶意软件检测方法
CN107392021A (zh) * 2017-07-20 2017-11-24 中南大学 一种基于多类特征的Android恶意应用检测方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
"APPCONTEXT: DIFFERENTIATING MALICIOUS AND BENIGN MOBILE APP BEH: ""AppContext: Differentiating Malicious and Benign Mobile App Behaviors Using Context",", 《2015 IEEE/ACM 37TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, FLORENCE》 *
STEVEN ARZT等: ""FlowDroid: precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for Android apps"", 《ACM SIGPLAN NOTICES》 *
王军 等: ""一种Android恶意软件多标签检测方法"", 《小型微型计算机***》 *
缪小川: ""基于敏感路径识别的安卓应用安全性分析方法"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109167753A (zh) * 2018-07-23 2019-01-08 中国科学院计算机网络信息中心 一种网络入侵流量的检测方法及装置
CN110414234A (zh) * 2019-06-28 2019-11-05 奇安信科技集团股份有限公司 恶意代码家族识别方法及装置
CN110457009A (zh) * 2019-07-06 2019-11-15 天津大学 基于数据分析的软件安全需求推荐模型的实现方法
CN110457009B (zh) * 2019-07-06 2023-04-14 天津大学 基于数据分析的软件安全需求推荐模型的实现方法
CN110392056A (zh) * 2019-07-24 2019-10-29 成都积微物联集团股份有限公司 一种轻量级的物联网恶意软件检测***及方法
CN110516446A (zh) * 2019-08-26 2019-11-29 南京信息职业技术学院 一种恶意软件家族归属判定方法、***及存储介质
CN110795732A (zh) * 2019-10-10 2020-02-14 南京航空航天大学 基于SVM的Android移动网络终端恶意代码的动静结合检测方法
US20230004645A1 (en) * 2019-11-28 2023-01-05 Nippon Telegraph And Telephone Corporation Labeling device and labeling program
CN111368297A (zh) * 2020-02-02 2020-07-03 西安电子科技大学 隐私保护移动恶意软件检测方法、***、存储介质及应用
CN111368297B (zh) * 2020-02-02 2023-02-28 西安电子科技大学 隐私保护移动恶意软件检测方法、***、存储介质及应用
CN111460448A (zh) * 2020-03-09 2020-07-28 北京邮电大学 一种恶意软件家族检测方法及装置
CN113378163A (zh) * 2020-03-10 2021-09-10 四川大学 基于DEX文件分区特性的Android恶意软件家族分类方法
CN113591079A (zh) * 2020-04-30 2021-11-02 中移互联网有限公司 获取异常应用安装包的方法、装置及电子设备
CN113591079B (zh) * 2020-04-30 2023-08-15 中移互联网有限公司 获取异常应用安装包的方法、装置及电子设备
CN112287345B (zh) * 2020-10-29 2024-04-16 中南大学 基于智能风险检测的可信边缘计算***
CN112287345A (zh) * 2020-10-29 2021-01-29 中南大学 基于智能风险检测的可信边缘计算***
CN112632539A (zh) * 2020-12-28 2021-04-09 西北工业大学 一种Android***恶意软件检测中动静混合特征提取方法
CN112632539B (zh) * 2020-12-28 2024-04-09 西北工业大学 一种Android***恶意软件检测中动静混合特征提取方法
US12013938B2 (en) * 2020-12-31 2024-06-18 Estsecurity Corp. Apparatus for generating a signature that reflects the similarity of a malware detection and classification system based on deep neural networks, method therefor, and computer-readable recording medium recorded with a program for performing the method
US20220207141A1 (en) * 2020-12-31 2022-06-30 Estsecurity Corp. Apparatus for generating a signature that reflects the similarity of a malware detection and classification system based on deep neural networks, method therefor, and computer-readable recording medium recorded with a program for performing the method
CN112887328A (zh) * 2021-02-24 2021-06-01 深信服科技股份有限公司 一种样本检测方法、装置、设备及计算机可读存储介质
CN113468532B (zh) * 2021-07-20 2022-09-23 国网湖南省电力有限公司 恶意软件家族推断方法及***
CN113468532A (zh) * 2021-07-20 2021-10-01 国网湖南省电力有限公司 恶意软件家族推断方法及***

Also Published As

Publication number Publication date
CN108280350B (zh) 2021-09-28

Similar Documents

Publication Publication Date Title
CN108280350A (zh) 一种面向Android的移动网络终端恶意软件多特征检测方法
Chowdhury et al. Malware analysis and detection using data mining and machine learning classification
KR101083311B1 (ko) 악성 스크립트 분석 시스템 및 그를 이용한 악성 스크립트 분석 방법
Narouei et al. DLLMiner: structural mining for malware detection
CN107408176A (zh) 恶意对象的执行剖析检测
CN104376262A (zh) 一种基于Dalvik指令和权限组合的安卓恶意软件检测方法
CN110795732A (zh) 基于SVM的Android移动网络终端恶意代码的动静结合检测方法
Lee et al. Screening smartphone applications using malware family signatures
CN106599688A (zh) 一种基于应用类别的安卓恶意软件检测方法
Sun et al. Malware detection on Android smartphones using keywords vector and SVM
Ravi et al. Android malware detection with classification based on hybrid analysis and N-gram feature extraction
Thakur et al. Android anti-malware techniques and its vulnerabilities: A survey
Alharbi et al. A Systematic Review of Android Malware Detection Techniques.
CN115545091A (zh) 基于集成学习器的恶意程序api调用序列检测方法
Muhammad et al. A systematic evaluation of android anti-malware tools for detection of contemporary malware
CN113343219B (zh) 一种自动高效的高风险移动应用程序检测方法
Bashari Rad et al. Morphed virus family classification based on opcodes statistical feature using decision tree
Ahmad et al. Android mobile malware classification using a tokenization approach
Wang et al. Deep learning-based multi-classification for malware detection in IoT
Deepserish et al. PET-Droid: Android Malware Detection Using Static Analysis
Jalilian et al. Static signature-based malware detection using opcode and binary information
Guo et al. Classification of malware variant based on ensemble learning
Gorment et al. Anti-obfuscation techniques: Recent analysis of malware detection
Kumari et al. Malware and piracy detection in Android applications
Bhakta et al. Android Malware Detection Against String Encryption Based Obfuscation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant