我们很偏爱的小众学术安全会议——WiSec正在美国召开2022年的会议,今天就为大家介绍一篇来自本年度WiSec会议上的论文 Evil Never Sleeps: When Wireless Malware Stays On After Turning Off iPhones
作者发现iPhone在关机以后仍然保持了多数无线芯片的基本功能(例如开启定位模块来保证近距离定位手机功能,以及NFC钱包功能等),在这种情况下,iOS已经退出了舞台,转而交给芯片自己来确保安全。作者于是研究了在这种特殊情况下iPhone的安全性,指出其中存在的一些安全威胁。
从用户视角来看,当用户主动关机或者电量低到不足以维持系统运行的时候,iPhone就会进入到Low-Power Mode (LPM),在这个模式下,iPhone还会启用NFC芯片、蓝牙芯片以及Ultra-wideband (UWB) 通信模组。在这种模式下,所有的芯片都是自我管理,和上层的iOS已经没有什么关系了,因此这部分功能的安全性完全依赖于芯片设计(且很难通过软件更新来升级)。在NFC芯片中使用了Secure Element (SE) 模块来保证和payment相关的秘密信息得到妥善处理;在基于蓝牙的”Find My“协议中,使用了端到端加密的匿名广播信息来帮助用户扫描发现iPhone位置;而基于UWB的数字汽车钥匙(Digital Car Key)功能则帮助用户近距离解锁车辆。而从攻击者视角去分析这些功能,则会有更多有意思的发现。
作者首先发现, 在关机后,iPhone只会在24小时内每隔15分钟发送一组advertisement,发送完毕全部96组advertisements后,这个功能就结束历史使命而用户就再也无法找回自己的设备了。尽管用户会以为这个功能是一直有效且防盗的(如上图所示,要关闭这个广播功能也需要输入口令),实际上它只能维持一天时间。
作者进一步分析了三类芯片模组的固件,发现NFC芯片的固件是有加密和签名保护的,UWB固件则只有签名验证没有加密,最惨的是蓝牙芯片固件,既没有签名也没有加密保护,所以后面作者提出了针对蓝牙模组的恶意固件注入攻击。此外,作者发现,尽管固件本身可能无法修改,但是攻击者可以从系统层修改芯片里面的配置参数,进而改变芯片的安全保护措施。
在一台越狱设备上,攻击者可以通过Host Controller Interface (HCI) 指令给(Broadcom)蓝牙芯片发送指令,然后获取ROM和RAM中的内容,作者在这里使用的他们在Mobisys 2019会议论文里面发布的InternalBlue框架(https://github.com/seemoo-lab/internalblue)来进行操作:
作者逆向了蓝牙固件的格式(硬核!!!),同时巧妙利用了Broadcom芯片的Patchram功能(实时内存修改,类似调试器下断点一样),而且最新的iPhone中支持以PCIe的传输方式给RAM一次性传输一个完整的.bin patch文件,这为作者的概念攻击提供了很大便利。
作者还记录了很多他们开展的静态和动态分析,并且指出这些分析适用的iPhone和iOS版本,这真是iOS逆向工程界的良心之作(反观我国iOS逆向工程领域最近的一些不良的现象,诶……)
论文PDF:
https://arxiv.org/pdf/2205.06114.pdf