收稿日期:20190522;修回日期:20190703
作者简介:许逸超(1995),男,江苏常州人,硕士研究生,主要研究方向为 Android安全分析;袁倩婷(1996),女,广东广州人,硕士研究生,主要研
究方向为 Android安全分析;徐建(1979),男,江苏江阴人,教授,硕导,博士,主要研究方向为数据挖掘、软件分析(dolphin.xu@njust.edu.cn).
基于静态行为特征的细粒度 Android恶意软件分类
许逸超,袁倩婷,徐 建
(南京理工大学 计算机科学与工程学院,南京 210094)
摘 要:由于 Android系统的开放性,恶意软件通过实施各种恶意行为对 Android设备用户构成威胁。针对目前
大部分现有工作只研究粗粒度的恶意应用检测,却没有对恶意应用的具体行为类别进行划分的问题,提出了一
种基于静态行为特征的细粒度恶意行为分类方法。该方法提取多维度的行为特征,包括 API调用、权限、意图和
包间依赖关系,并进行了特征优化,而后采用随机森林的方法实现恶意行为分类。在来自于多个应用市场的隶
属于 73个恶意软件家族的 24553个恶意 Android应用程序样本上进行了实验,实验结果表明细粒度恶意应用分
类的准确率达
95.88%,综合性能优于其他对比方法。
关键词:Android;静态特征;细粒度恶意分类
中图分类号:TP301.6 文献标志码:A 文章编号:10013695(2020)10045310106
doi
:10.19734/j.issn.10013695.2019.05.0220
FinegrainedAndroidmalwareclassificationwithbehaviorfeatures
XuYichao,YuanQianting,XuJian
(SchoolofComputerScience&Engineering,NanjingUniversityofScience&Technology,Nanjing210094,China)
Abstract:DuetotheopennessofAndroidsystem,malwareposesathreattousersofAndroiddevicesbyimplementingvarious
maliciousbehaviors.Atpresent,mostoftheexistingresearchesfocusoncoarsegrainedmaliciousdetection,thatis,whether
anAndroidapplicationismaliciousornot.Aimingatthisproblem
,thispaperproposedafinegrainedmaliciousbehaviorclas
sificationmethodbasedonstaticbehaviorfeatures.Thismethodextractedandoptimizedmultidimensionalbehaviorcharacteri
stics,includingAPIcalls,permissions,intentsandpackagedependencies.Andthenusedrandomforesttoclassifymalicious
behaviors.Itconductedtheexperimentson24553maliciousAndroidapplicationsamplesin73malwarefamiliesfrommultiple
applicationmarkets.Theexperimentalresultsshow thattheaccuracyoffinegrainedmalwareclassificationreachedto
95.88%,whichisbetterthanothercomparisonmethods.
Keywords:Android;staticfeature;finegrainedmalwaredetection
近年来,智能手机尤其是搭载 Android系统的手机得到迅
速发展。移动应用在生活、购物、金融等多方面都给人们带来
了诸多便捷。与此同时,由于
Android系统的流行性以及其本
身的开放性,一些不法分子开始将黑手伸向了 Android系统应
用软件,他们将 App(application,手机应用软件)编译后向其中
加入恶意代码,从而涌现出大批的恶意软件。
Symantec公司最
新的互联网安全报告显示,在如今 Android平台的应用中,恶
意软件占比
17%,其恶意行为也多种多样,包括恶意扣费、诱
骗欺诈、隐私获取等,这给
Android手机使用者带来巨大的安
全隐患,所以 Android恶意应用检测也一直是研究热点。
由于恶意代码的数量和种类越来越多,加上代码混淆、加
密等技术的兴起,恶意代码的检测变得越来越困难。目前,典
型的恶意代码检测技术包括基于静态、动态和动静态结合的检
测方法。但是现有的研究
[1~3]
大多只将重心放在较为粗粒度
的恶意检测上,即判断一个 Android应用程序是恶意还是良性
的,这样无法让用户进一步对恶意软件的具体恶意行为有更清
晰的认识,从 而作出 更 有针 对 性 的 决 策。因 此 一 些 研 究 工
作
[4~7]
已经把重心转移到较细粒度的行为分析上,即 Android
恶意家族的检测。Android恶意软件家族是描述了在某一方面
具有共性的 Android应用程序的集合,但是经过本文研究发
现,这种共性不一定体现在其相似的恶意行为上,这是因为恶
意家族的划分与命名没有一个标准的规则,有些恶意家族的名
字可能只是根据其作者的姓氏来命名,有时又会以应用程序的
MainActivity来命名,所以在同一个家族中可能会包含不同种
类的恶意软件,而多个恶意家族中也会包含相同恶意行为的应
用程序。例如:恶意家族 DroidDream中既存在显示出 SpyTro
jan(间谍木马)行为的恶意软件,即窃取用户信息,也有 Ad
ware
(广告软件)恶意行为的软件,即推送对用户有危害的广
告。而恶意家族 OpFake和 Boxer中都包含 SMSTrojan(短信木
马)恶意行为的应用程序。所以本文基于对近 50篇权威现有
工作的分析,将恶意 Android软件具体分成了 10个恶意行为类
别,重点关注细粒度的
Android恶意行为的检测。
为了实现对 Android恶意应用的行为分类,本文介绍了基
于 Web的检测系统原型 AndroiMD,它基于多静态特征进行
Android恶意检测和行为分析,结合随机森林分类算法,以对大
量的安卓应用程序进行快速高效的细粒度检测。
1 恶意行为特征定义和类别描述
本章首先介绍本文提取的四类恶意静态特征,然后对 10
类 Android恶意行为类别进行描述,并对每类恶意行为都简要
介绍其独特的恶意行为对应的恶意特征表现。
11 行为特征
为了准确地应用分类算法来检测恶意应用程序,本文设计
的特征不仅能区分恶意和良性应用程序,还要识别具体的恶意
行为。因此,本文考虑了四种用来描述恶意行为的静态特征,
第 37卷第 10期
2020年 10月
计 算 机 应 用 研 究
ApplicationResearchofComputers
Vol.37No.10
Oct.2020