自2013年以来,Android操作系统一直占据着移动操作系统市场的统治地位,这个平台的开源性与开放性使得Android平台成为恶意应用攻击的热门目标。越来越多的恶意应用没有经过正常可靠的安全审核就向用户发布,严重威胁到用户的个人安全甚至国家安全。因此,本文首先分析了Android恶意应用增长情况及其危害,然后对基于Android平台的典型攻击事件进行了回顾,最后总结了检测技术的发展趋势并汇总了当前主流的检测方法。

一、恶意应用危害攻击事件回顾

1.1恶意应用危害

根据G DATA(歌德塔)团队公布的2018年全年报告,新增的Android恶意样本数量约达到了400万个,与2017年同期相比增长了40%。根据360互联网安全中心披露的2018全年移动端新增恶意软件类型,主要为隐私窃取、远程控制、资费消耗、恶意扣费和流氓行为。其中隐私窃取是危害性最大的攻击方式。Android恶意应用程序利用移动智能终端上普遍存在的网络连接和个人信息作为途径,如:信息、通讯录、银行证书和网页浏览历史等,来窃取敏感信息,获取非法利益,创建僵尸网络等,给用户带来巨大的经济损失,甚至导致隐私泄露的问题。在国家安全层面,通过隐蔽植入恶意应用到移动智能终端,可以获取国家经济甚至政治方面的涉密信息,导致国家对敏感信息的监管面临着严峻的挑战。

1.2典型攻击事件

近几年利用Android恶意应用窃取用户隐私信息、获取灰色利益、远程控制达到非法个人目的的攻击事件屡见不鲜,Android恶意应用攻击技术已经日趋成熟,笔者列举了比较典型的案例供大家参考。

事件一:Fake System木马惊现新变种,百万Android设备沦为肉鸡

2018年9月,腾讯反诈骗实验室自研的TRP-AI反病毒引擎捕获到一批大肆传播的Android后门木马病毒样本,此木马在用户设备上存在私自获取设备信息、后台频繁安装应用、后台发送短信等可疑行为。经过安全专家的分析,这批病毒样本属于“Fake System”木马家族的新变种,此木马病毒潜伏周期很长,使用了多种先进的“逃逸”技术来对抗杀软,并集成了三大主要的黑产变现手段以牟取灰色收益。下图是腾讯反诈骗实验室大数据引擎的数据,2018年7月下旬到8月下旬,“Fake System”木马新变种的感染用户增长迅猛,在这一个月的时间里,几个新变种的感染用户都迅速增长到20万左右,与此同时总体“Fake System”木马的感染用户也大幅增长,影响近百万用户。

事件二:FaceBook通过Android应用追踪用户数据

2019年1月,国际隐私组织披露,一些非常流行的Android智能手机应用程序,包括Skyscanner、TripAdvisor和MyFitnessPal,在未经用户同意的情况下,将他们的数据发送给了社交网络Facebook。这种做法可能违反了欧盟的规定。在对34款非常流行的Android应用程序研究后发现,至少有20个应用程序在手机上被打开之后,在未获得用户允许的情况下,就直接将他们的某些数据发送给了Facebook。发送的信息包括应用程序的名称、用户的谷歌ID,以及应用程序自下载安装以来被打开和关闭的次数。有些网站,如旅游网站Kayak,还将人们搜索航班的详细信息也发送给了Facebook,包括旅行日期、用户是否有孩子以及他们搜索的航班和目的地。

二、检测技术发展史

目前国内外许多研究学者和安全公司都对Android平台恶意应用的检测做了大量研究,汇总2010-2019年的上百篇文献总结恶意应用检测的思想路线如下图所示。其中,对特征提取和分类环节所做的研究最多,接下来将分别进行梳理。

2.1特征提取环节

根据“特征提取”步骤中获取应用信息的方式,以是否需要运行应用作为标准,可以将恶意应用检测技术分为静态检测技术和动态检测技术。静态检测不需要运行Android应用程序,动态检测需要在运行时执行,还有一种是混合检测,它结合了二者各自的优点。

静态检测

优点是能耗低、风险小、速度快,对实时性要求低;缺点是准确率较低。现在有许多研究人员运用静态检测的方法。静态检测可以分为基于签名、权限、组件、Dalvik字节码的方法等等,下图汇总了这几种检测方法的研究现状,并对其存在的问题进行了分析。

动态检测

动态检测是指在应用程序运行过程中监控其行为特征,对实时性和运行环境要求较高,耗时更长。动态检测一般分为基于模式和基于行为的方法两种,下图汇总了这两种检测方法的研究现状,并对其存在的问题进行了分析。

混合检测

混合方法是静态和动态检测结合的研究方法,包含了以上二者的优点。下图举例介绍几种混合检测方法,并对其存在的问题进行了分析。

2.2分类环节

根据“分类”步骤中处理应用信息的方式,可以将恶意应用检测技术分为基于特征值、基于规则和基于机器学习算法的检测技术。下图描述了自2009年起Android恶意软件检测在“分类”环节中的发展趋势,2011年之前,基于特征值和规则的检测方法占绝对优势,2011年之后,基于特征和规则的检测方法局限性日益突出,它们无法检测出未知的恶意应用。

随后机器学习算法得到广泛应用,起初研究学者直接采用某种机器学习算法,后来选择几种机器学习算法协同进行,近几年已经开始对已有算法的不足提出改进,以此更好地适应特征,如下图所示。

深度学习作为机器学习的一个分支,强调模型结构的深度,突出特征学习的重要性。自2015年深度学习对图像识别准确度超过人眼,深度学习算法开始被应用于Android恶意软件检测领域,如下图所示。

DroidDetector:对每个Android应用的静态分析和动态分析中提取200多个特性,应用深度学习技术进行分类。结果表明,深度学习技术远比其他机器学习技术更合适,包括:贝叶斯、SVM、C4、逻辑回归和多层感知机。

DeepDroid:在使用相同测试集的情况下,DeepDroid算法的正确率比SVM算法高出3.96个百分点,比朴素贝叶Naive Bayes法高出12.16个百分点,比K最邻近算法高出13.62个百分点。

在相同的实验条件下,基于深度学习的Android恶意应用检测方法往往具有相比于传统机器学习算法更优的性能。

三、建议

在此,笔者对Android手机用户和Android恶意软件的研究人员提出几点建议:

(1)选择官方网站下载Android应用,同时确认网址是否正确。确保应用上传者是官方开发者,而非个人,这样的应用安全隐患较高。

(2)下载前阅读用户评价,即便是官方网站上的应用也会包含广告信息或其他恶意负载,因此通过其他用户的评价可以帮助我们完成初步筛选。

(3)不要下载论坛或博客中的破解软件,这样的应用被植入恶意组件或者恶意指令的可能性较大。

(4)正确配置应用权限开启状态,这将有效避免绝大多数手机的安全