雷锋网按:本文节选自《2016年Android恶意软件专题报告》,作者:360烽火实验室,致力于Android病毒分析、移动黑产研究、移动威胁预警以及Android漏洞挖掘等移动安全领域及Android安全生态的深度研究。
2016年全年,从手机用户感染恶意程序情况看,360互联网安全中心累计监测到Android用户感染恶意程序2.53亿,平均每天恶意程序感染量约为70万人次。钓鱼软件、勒索软件、色情播放器软件、顽固木马成为2016年流行的恶意软件。
从恶意软件开发技术角度看, 2016年恶意软件利用社会工程学、界面劫持、破解接口、开源项目、简易开发工具、碎片化代码、注入系统根进程、篡改系统引导区以及代理反弹技术,成为主要使用的新技术。
一、社会工程学
社会工程学(Social Engineering)是一种通过对受害者心理弱点、本能反应、好奇心、信任、贪婪等心理陷阱进行诸如欺骗、伤害等危害手段,并以此来获取自身利益的手法。
随着Android系统版本升级的同时,Android系统在安全策略方面得到了进一步的增强和优化,像无障碍模式Accessibility和动态权限模型都需要用户主动授权后才可以使用。Android恶意软件借助社会工程学已成迅速上升甚至滥用的趋势,通过诱导性的图标和文字,引导用户授予相应的功能的权限,从而保证恶意软件正常的运行环境。
二、界面劫持
Android为了提高用户体验,对于不同应用程序之间的切换,基本上是无缝切换。他们切换的只是一个Activity,一个切换的到前台显示,另一个应用则被覆盖到后台不可见。每当一个Activity启动,它就压入历史栈顶,并在手机上显示。当用户按下返回键时,顶部Activity弹出,恢复前一个Activity,栈顶指向当前的Activity。
界面劫持技术指在Android 5.0以下的系统中,程序可以枚举当前运行的任务,恶意软件监控目标应用的运行,当检测到当前运行界面为被监控应用某个特定界面(一般为登录或支付界面)时,弹出伪造的钓鱼界面以覆盖原应用正常界面,诱导用户输入信息,回传输入信息,最终窃取用户隐私。
Google官方在Android 5.0系统及以上版本限制了获取栈顶Activity的获取方法getRunningTasks的使用[8],并且说明这一方法不能再能获取第三方应用信息,只能获取自身或一些已知不含有敏感信息的程序。
虽然Android 5.0以上减弱了这种攻击方式,但是根据Google最新的Android系统版本占比统计,Android 5.0以下版本仍然有一定的市场占有率,这些手机仍然可能遭受到这种威胁。
三、被恶意利用的合法程序
(一)破解接口
破解接口是指通过逆向软件某个功能模块的原理机制后,通过修改并加以利用,达到利用的目的。
2016年,从我们截获的带有获取Root功能的恶意软件代码中发现,一些正规的提供手机Root服务的软件,Root功能接口遭到破解,被不法分子利用嵌入到恶意软件中。
(二)开源项目
GitHub是一个面向开源及私有软件项目的托管平台,同样,从我们截获的带有获取Root功能的恶意软件代码中还发现,GitHub中的一些开源项目比如“android-rooting-tools”被嵌入到Android木马中被恶意利用。
四、开发工具
(一) 简易开发工具被广泛应用
AIDE是Android环境下的开发工具,这种开发工具不需要借助电脑,只需要在手机上操作,便可以完成Android样本的代码编写、编译、打包及签名全套开发流程。
2016年,我们发布的《ANDROID勒索软件研究报告》,报告指出国内大量的锁屏软件都使用合法的开发工具AIDE,因为这种工具操作简单方便,开发门槛低,变化速度快,使得其成为不法分子开发勒索软件的首选。
(二) 借助工具碎片化代码
Instant Run是Android官方应用开发工具Android Studio 2.0版本新增的即时运行功能。它允许开发人员通过将更新.zip文件推送到应用程序来快速部署更新到调试应用程序。
Android恶意软件基于Instant Run功能,将恶意代码分散隐藏在zip文件中,规避安全软件检测与查杀。2016年,360互联网安全中心累计截获基于Instant Run功能的恶意软件约1400个,由于Android Studio在4月份才正式推出Instant Run功能,所以一季度新增样本量极少。
五、高级技术手段
(一) 注入系统根进程
Android系统根进程Zygote进程,它是Android系统所有进程的父进程。2016年3月,基于Zygote的攻击“Triada”木马家族曝光,该木马最显著的特点是使用Zygote进程,一旦进入系统,就会成为该应用进程的一部分,并可以在设备上启动的任何应用中预先进行安装,甚至改变应用的运行逻辑。当用户在应用内通过短信购买安卓游戏时,黑客可以利用Triada木马修改发送的短信,非法获取用户的支付费用。
(二) 篡改系统引导区
2016年6月,360互联网安全中心发现首个通过修改系统引导区Boot Image、替换系统核心文件的方式实现自我保护的Android恶意软件“地狱火”。Android系统以正常模式启动后会加载Boot.img分区。Boot.img分区包含Linux内核和Ramdisk。Ramdisk是一个小型文件系统,包括了初始化系统所需要的全部核心文件,例如:初始化init进程以及init.rc等文件。与Oldboot[14]相比该病毒还会绕过SEAndroid、dm_verify等Android系统安全防护
(三) 代理反弹
许多公司越来越重视企业网络安全问题,一般在企业信息系统前端均部署有防火墙,系统管理员根据业务需求将内部必要的服务端口通过端口映射等手段映射到公网中。通过部署防火墙可以将信息系统内部区域与公网逻辑隔离开来,利用相关的策略有效避免或减轻来自外部的攻击。
2016年9月,“DressCode”恶意软件家族使用SOCKS代理反弹技术突破内网防火墙限制,窃取内网数据,这种通过代理穿透内网绕过防火墙的手段在PC上并不新鲜,然而以手机终端为跳板实现对企业内网的渗透还是首见,是Android平台新出现的高级技术手段。