iBackDoor:疑似后门,影响iOS应用的高风险代码
近期,FireEye的移动安全研究人员发现了嵌入到iOS应用中的疑似“后门”行为的mobiSage广告库,并且这些应用都是由App Store发布的。研究人员将该潜在的后门称为iBackDoor,允许黑客访问敏感的用户数据和设备功能。
iBackDoor可以被远程服务器的JavaScript代码控制,在iOS设备上执行以下操作:
1、录音和截屏 2、监控和上传位置信息 3、读取/删除/创建/修改app数据文件 4、读写/重置app的钥匙链 5、发送加密数据到服务器 6、利用URL schemes打开其他app或者网页 7、安装企业应用
研究发现17个mobiSage SDK版本(5.3.3版本至6.4.4版本)中存在该后门,而最新发布的mobiSage SDK 7.0.5版本则不受该后门影响。尚不清楚iBackDoor是存在于mobiSage SDK本身,还是由第三方创建。
截止目前,已经发现2,846款iOS应用受到影响,检测到900次使用JavaScript代码控制后门的尝试。幸运的是,目前还没有发现广告服务器发送任何恶意的命令(例如录音或窃取敏感数据)。
技术细节
mobiSage库中包含两个密钥组件msageCore和msageJS,分别在Objective-C和JavaScript中实现。 msageCore用于实现后门的基本功能并通过WebView向恶意的JavaScript暴露接口;msageJS用于提供高级执行逻辑,并通过调用 msageCore暴露的接口触发潜在的后门。
图一 mobiSage库的密钥组件msageCore和msageJS
msageCore
msageCore通过将命令和参数发送到Objective-C类来执行这些命令。在其中的MSageCoreUIManagerPlugin类中,的确存在各种控制功能。其中包括非常高危的获取录音、截屏功能以及读取修改字符串的函数。
图二 msageCore使用的类和接口
iBackDoor后门通过以上的接口暴露了多个关键功能,其中包括录音和截屏、识别并启动设备上的其他应用、获取位置信息和读写文件等。另外,这些接口收集的数据会被加密并上传到远程服务器。
广告库中潜在的后门还可以在目标设备中安装enpublic应用,它通过使用私有API增加iOS设备的安全风险,恶意操作有后台监控短信和电话、破坏沙箱保护机制、窃取电子邮件和破坏任意应用安装。
msageJS
msageJS中包含与远程服务器通信的JavaScript代码并向msageCore提交命令。sdkjs.js文件中包含封装类adsage,并且负责存放用于命令执行的JavaScript接口。
图三 msageJS中的文件结构
一般情况下,单纯列出受影响应用的IPA是不能发现包含msageJS的文件的。这类文件都是经过压缩和编码的,当受影响应用程序启动 时,msageCore会首先解码并提取msageJS,然后再执行一系列恶意操作。并且msageJS会不断向 hxxp://entry.adsage.com/d/发送POST请求检查更新,以保持最新版本。
总结
虽然iBackDoor还尚未造成恶劣的影响,但是仍应该引起苹果iOS用户的注意,用户可以使用安全软件检测自己的设备上是否安装了受影响的应 用程序,尽量不要越狱或从第三方渠道下载应用,要从官网的Apple Store下载应用程序,并及时根据提示对设备中的应用进行更新。
参考
https://www.fireeye.com/blog/threat-research/2015/08/ios_masque_attackwe.html
http://drops.wooyun.org/papers/10209?utm_source=tuicool&utm_medium=referral
*原文链接: FireEye 编译/洛竹渲,内容有所修改,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)