近期,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通过将命令和参数发送到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
https://www.fireeye.com/blog/threat-research/2014/11/masque-attack-all-your-ios-apps-belong-to-us.html
http://drops.wooyun.org/papers/10209?utm_source=tuicool&utm_medium=referral
*原文链接: FireEye 编译/洛竹渲,内容有所修改,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)