MACTANS: INJECTING MALWARE INTO IOS DEVICES VIA MALICIOUS CHARGERS

作者BILLY LAU, YEONGJIN JANG, CHENGYU SONG

主要内容

利用假冒的充电器获取iOS设备UDID,获取授权文件provisioning profile,然后注入恶意应用。

根本原因

iOS(版本<=iOS 6)的物理缺陷

(1)任何和client建立会话的host都被client隐式地信任。
host可以在不需要用户允许的情况下查询或者修改client的状态。
(2)对于更改设备状态的行为,client不请求用户同意;设备状态被查询时,也不给用户提供任何提示。
(3)client上安装的应用可以被隐藏,方式与苹果隐藏自己的IOS系统应用一样。
(4)host可以在client上执行应用(如debugserver)而不需要用户同意。
(5)苹果Provisioning Portal的使用可自动获取授权文件(provisioning profile),通过提交目标设备的UDID可以自动获得授权文件。
(6)统一的数据、控制和电源接口。
主要问题:当iOS设备插入一个修改设备状态的host时,屏幕上没有可见提示。

iOS恶意软件注入攻击

  • 概念性证明目标:将iOS设备插入一个假的USB充电器,攻击不需要越狱或用户交互。
  • 攻击条件:
    苹果30-pin或是闪电USB线
    激活的iOS个人开发者许可证
    iOS设备(攻击目标)
    网络连接
  • Mactans充电器,包括:
    一个充电的USB端口
    小规模微处理器/微控制器
    Linux操作系统
    iOS RPC通信库(如libmobiledevice)
攻击步骤
  • 获取UDID
    简单地通过标准工具如lsusb查询设备的USB标识符获取UDID,甚至可以在设备有口令锁定的情况下获取UDID。

  • 获取和安装授权文件
    将UDID提交到developer.apple.com用于生成授权文件,这里有两种方式联网:通过SIM卡模块配备3G/3G移动网络;安装WiFi模块,通过扫描未保护的访问点、破解弱的访问点、暴力破解无线口令或是通过DNS隧道上网。
    有了授权文件后,Mactans可以通过与com.apple.misagent通信将授权文件安装到目标设备上。

  • 注入恶意应用
    通过与com.apple.mobile.installation_proxy注入任意应用到iOS设备。

  • payload
    注入的应用和其他普通应用拥有一样的权限,但Mactans应用绕过了苹果应用商店的检查。攻击者可以利用iOS私有API,创建一些在检查过程中会被拒绝的应用,比如:
    (1)后台程序可以通过私有API调用截取当前屏幕的内容;
    (2)注入的应用可以在通过与com.apple.mobile_image_mounter通信挂载DeveloperDisk.dmg,利用其私有库生成触屏事件并模拟硬件按钮按下。

缓解对策

在设备状态被通过USB连接的host查询或者修改时,操作系统应该通知用户。主要的措施是需要用户同意,以便host启动client上的应用或是像debugserver一样的特殊应用。对于iOS而言,苹果还应该阻止第三方开发者在应用的Info.plist中设置SBAppTags的值为hidden。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值