破解关机的iPhone:漏洞永不休眠
近日,研究人员发现iPhone在关机状态下仍在工作,即使手机断电,也可能会面临黑客攻击和被植入恶意软件的风险。
德国达姆施塔特(Darmstadt)大学安全移动网络实验室的研究人员发表了一篇名为《邪恶永不眠:当无线恶意软件在关闭iPhone后继续运行》(Evil Never Sleeps:When Wireless Malware Stays On After Turning Off iPhones)的论文,描述了一种破解关机状态iPhone的理论方法。该研究检查了无线模块的操作,找到了分析蓝牙固件的方法,从而引入了能够完全独立于设备操作系统iOS运行的恶意软件。
稍微想象一下,不难预见这样一个场景:攻击者将受感染的手机靠近受害者的设备并传输恶意软件,然后窃取支付卡信息甚至虚拟车钥匙。
之所以需要想象是因为该论文的作者只是理论上证明了这一点,距离实际的攻击还差一步。即便如此,研究人员还是做了很多工作来分析手机的未记录功能,对其蓝牙固件进行逆向工程,并对使用无线模块的各种场景进行建模。
首先要声明一个重点:如果设备已关闭,但与它的交互(例如黑客攻击)仍然是可能的,那么你猜怎么着——它并没有完全关闭!
我们是如何做到关闭某些东西却又没完全关闭的呢?让我们从头说起……
苹果的低功耗(LPM)模式
2021年,Apple宣布即使设备关闭,用于定位丢失设备的Find My服务也能正常运行。自iPhone 11以来,所有Apple智能手机都可以使用这项改进功能。
例如,如果用户在某处丢失了手机并且它的电池在一段时间后耗尽,它并不会完全关闭,而是切换到低功耗(Low-Power Mode,LPM)模式,其中只有非常有限的一组模块保持活跃。这些主要是蓝牙和超宽带(UWB)无线模块,以及近场通信(NFC)等。还有所谓的安全元件——一种安全芯片,用于存储您最宝贵的秘密,例如用于非接触式支付的信用卡详细信息或车钥匙(自2020年以来为有限数量的车辆提供的最新功能)。
LPM是iPhone的一种省电模式,该模式打开时,手机状态栏中的电池图标将变为黄色,待iPhone或iPad充电至80%或更高电量后,苹果的LPM会自动关闭。
LPM模式下的蓝牙用于数据传输,而UWB用于确定智能手机的位置。在LPM模式下,智能手机会发送有关自己的信息,路人的iPhone可以获取这些信息。如果丢失手机的所有者在线登录其Apple帐户并将手机标记为丢失,那么来自周围智能手机的信息将用于确定设备的下落。
不可否认,LPM模式为用户提供了便利,但也增加了安全风险,引发了信息安全专家的关注。为此,来自德国的研究团队决定在实践中测试可能的攻击场景。
关机之后的“Find My”功能
首先,研究人员对低功耗模式下的Find My服务进行了详细分析,发现了一些前所未知的特性。断电后,大部分工作由蓝牙模块处理,通过一组iOS命令重新加载和配置。然后它会定期通过无线发送数据包,允许其他设备检测到未真正关闭的iPhone。
事实证明,这种模式的持续时间是有限的:在iOS 15.3版本中,仅设置了96个广播会话,间隔为15分钟。也就是说,丢失且关机的iPhone只能在24小时内找到。如果手机因电池电量不足而关机,则窗口会更短——大约5个小时。这可以被视为该功能的一个“怪癖”,但也暴露了一个真正的错误:有时当手机关闭时,“信标”模式根本没有激活,虽然它应该是激活的。
这里最有趣的是蓝牙模块在断电前被重新编程;也就是说,它的功能发生了根本性的改变。但是,如果它可以重新编程以损害所有者的利益,结果又会怎样?
针对关机手机的攻击
事实上,该研究团队的主要发现是蓝牙模块的固件并非加密,也未受到“安全启动”(Secure Boot)技术的保护。安全启动涉及在启动时对程序代码进行多级验证,以确保只有设备制造商授权的固件才能运行。
缺乏加密允许分析固件和搜索漏洞,这些漏洞以后可用于攻击。但是缺乏安全启动将允许攻击者用他们自己的代码完全替换制造商的代码,然后蓝牙模块会执行这些代码。相较之下,对iPhone UWB模块固件的分析显示它受到Secure Boot的保护,但固件同样未加密。
当然,对于严重的实际攻击来说,这还不够。为此,攻击者需要分析固件,尝试用自己制作的东西替换它,并寻找入侵的方法。该论文的作者详细描述了攻击的理论模型,但并未展示iPhone可以通过蓝牙、NFC或UWB进行实际的黑客攻击。研究结果清楚表明,如果这些模块始终处于打开状态,那么漏洞同样将始终有效。
Apple对这项研究不以为然,并且拒绝提供任何信息。研究人员必须处理封闭的软件代码,且这些代码通常是加密的。智能手机是一个庞大而复杂的系统,很难研究清楚,尤其是在制造商不配合甚至百般阻挠的情况下。
虽然这项研究发现称不上令人惊叹,但它是大量艰苦工作的结果。而且这篇论文对关机手机电源的安全策略提出了质疑,这些质疑也被证实是有道理的。
半断电(half powered-off)设备
该论文得出结论,蓝牙固件没有得到充分保护。理论上,可以在iOS中对其进行修改,或者通过扩展/更改其功能来重新编程相同的低功耗模式。然而,主要问题是这些无线模块(以及NFC)直接与作为安全元件的受保护飞地(enclave)通信。这让我们得出了这篇论文中一些最令人兴奋的结论:
从理论上讲,即使设备处于关机状态,也有可能从iPhone上窃取虚拟车钥匙!显然,如果iPhone是车钥匙,丢失设备可能意味着丢失汽车。但是,在这种情况下,当钥匙被盗时,实际的手机仍然在您手中。想象下述场景:一个恶意行为者在商场接近你,用手机刷你的包,偷走你的虚拟钥匙。
理论上可以修改蓝牙模块发送的数据,例如,为了使用智能手机监视受害者——同样地,即使在手机关机的状态下。
从手机中窃取支付卡信息是另一种理论上的可能性。
但这当然还有待证明。德国团队的研究再次表明,添加新功能会带来一定的安全风险,必须慎重考虑。尤其是当现实与想象大相径庭时:你认为自己的手机完全关机了,而实际上并非如此。
请注意,这并不是一个全新的问题。英特尔管理引擎和AMD安全技术也可以处理系统保护和安全远程管理,只要笔记本电脑或台式电脑的主板连接到电源,它们就会处于活动状态。 与iPhone中的蓝牙/UWB/NFC/安全元件捆绑包一样,这些系统在计算机内部拥有广泛的权限,其中的漏洞可能非常危险。
从好的方面来说,该论文对普通用户没有直接影响,研究中获得的数据不足以进行实际攻击。 但作为一个万无一失的解决方案,研究人员建议Apple应该实施一个硬件开关,完全切断手机的电源。但鉴于Apple的“物理按钮恐惧症”,这一点应该很难实现。