欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

XcodeGhost或重出江湖,Google Play大量APP被植入恶意代码

来源:本站整理 作者:佚名 时间:2017-03-08 TAG: 我要投稿

一、前言
最近,我们发现Google Play应用商店上有132款安卓应用感染了隐藏的小型恶意IFrame,这些IFrame会在应用的本地HTML页面中嵌入到恶意域名的链接,这些被感染的应用最多有超过10,000频次的安装记录。我们的调查表明,此次感染并不能归咎于应用开发人员,他们其实也是受害者,我们认为最有可能的原因应该是应用开发者的开发平台感染了恶意软件,恶意软件会搜寻应用内的HTML页面,在找到的页面末尾插入恶意内容。如果事实的确如此,那么还需要了解这些应用是如何在不引起开发者警觉的前提下经由已感染的开发者平台开发而成。我们已将调查结果提交给Google安全团队,所有受感染的应用已经从Google Play中移除。

图1. Google Play上部分受感染应用
如上图所示,我们观察到受感染的应用程序使用场景涉及芝士蛋糕、园艺以及咖啡桌的设计。这些应用的共同点是它们都使用Android WebView来显示静态HTML页面。从表面上看,每个HTML页面作用只是加载本地存储的图片及显示硬编码的文本信息,然而经过深度分析,我们可以发现HTML页面中包含一个链接到恶意域名的隐藏的小型IFrame。虽然在调查过程中,这些域名已经停止对外服务,但Google Play上有这么多应用受到影响还是应该引起我们的重视。
调查结果中更应该引起重视的一点是,某个被感染的页面会试图在加载网页时下载并安装Windows可执行文件,但由于手机运行系统不兼容,使得此类攻击无法奏效。这种行为与Google Android安全报告中最近提及的非Andorid威胁类别非常契合,非Android威胁指的是应用无法直接对用户或Android设备造成危害,但可能对其他平台造成潜在危害。
二、感染机制分析
所有受感染的应用目前只需要请求INTERNET权限,同时使用两个activity,一个用来加载插页式广告,另一个用来加载主程序,后者包含一个Android WebView组件,显示一个本地HTML页面(如图2所示)。WebView组件启用了JavaScriptInterface功能,我们分析的样本中没有使用该功能,但这个接口的存在使得页面可以通过加载JavaScript代码来访问应用的原生功能。

图2. 受感染应用的界面及内部代码示例
每个HTML页面仅用来显示图片及文本信息,但在每个HTML页面末尾都嵌入了一个小型的隐蔽性IFrame组件。我们观察到了两种对该IFrame进行隐藏的技术,一种是将IFrame的高度和宽度都设为1像素,另一种是将IFrame的display属性设为None。最后,为了规避基于简单文本匹配的检测技术,恶意URL源通过使用HTML编码进行了混淆处理。在图3的示例中,浏览器会对以下混淆编码进行自动转换处理:
‘.’ → ‘.’
‘i’ → ‘i’
‘u’ → ‘u’

图3. 受感染样本中对IFrame进行隐藏的两种技术
最后,所有的IFrame代码都会收敛到以下两个域名:
www.Brenz.pl/rc/
jL.chura.pl/rc/
波兰CERT(cert.pl)于2013年接管了这两个域名并将其直接部署到污水渠服务器(sinkhole server),以避免后续有用户受到攻击影响(如图4所示)。因此,这两个域名在我们调查时已经不再为恶意软件提供托管服务,但它们的黑历史可是臭名昭著[见参考链接1~5]。

图4. 两个恶意域名已指向污水渠服务器
在我们调查中,我们还定位了一个不包含恶意IFrame的样本,但其HTML中却嵌入了一个完整的VBScript脚本(如图5所示)。脚本包含一段Base64编码的Windows可执行文件,在Windows系统上,脚本会对该文件进行解码,写入到文件系统中并加以执行。由于VBScript是Windows专有的脚本语言,该页面无法在Android平台上开展恶意行为,因此无法对Android用户造成危害。这段代码首先会被附加到标签外部,构成一个格式错误的HTML页面,但这并不影响浏览器对它进行渲染。浏览器总是尽量去渲染收到的任何代码,无论其错误与否,以便给普通用户提供一个良好的显示页面。
我们从脚本下载到的PE文件中探测到了多种恶意行为,其中包括:
1、修改系统hosts文件
2、修改Windows防火墙设置
3、向其他进程中注入代码
4、恶意文件自我复制

图5. 受感染样本试图下载一个Windows可执行文件
三、感染来源
我们发现的132个应用属于7个不同的开发者。这7个开发者之间存在着地理位置的联系:都与印度尼西亚有关。最直接的一个线索就来自于应用名。很多样本的应用名中都包含“印度尼西亚”关键词,此外,其中一个开发者页面链接到一个个人博客,博客使用的是印尼语。而最清晰的线索来自于证书信息,其中某个开发者证书明确指出了国别为印度尼西亚。

图6. 受感染样本与印度尼西亚的关系
HTML文件被恶意IFrame感染的一种途径是通过病毒的文件感染,比如之前的Ramnit病毒。感染Windows主机后,这些病毒会查找硬盘上的HTML文档,将IFrame嵌入到每个HTML文档中。如果某个开发者感染了这类病毒,他们应用的HTML文件就可能被感染。鉴于开发者可能都来自于印度尼西亚,也有可能他们从同一个网站中下载了被感染的IDE环境,或者他们使用了同样一款在线应用程序生成平台。

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载