最近结束的USENIX W00T ’17安全会议上,来自一所以色列大学的专家们展示了他们的新研究,他们可以通过替换部件来对智能手机或者其他智能设备进行攻击。
研究人员把这种攻击取名为“chip-in-the-middle”(中间芯片),这种攻击方法的条件是攻击者能够大量生产内置额外芯片的手机零件备件,而芯片可以对设备的内部通信进行截获,也可以执行恶意代码。
一种可能的攻击方法是,用户把手机送到了维修点,而维修人员使用这些带有恶意芯片替换来了原来的手机组件。研究人员刻意制造一些苛刻的攻击条件,他们假定那些技术员没有恶意,只是替换了相关的组件。
“手机触摸屏,或者其他硬件组件比如方向传感器、无线充电控制器、NFC读取器往往是由第三方厂商而非手机厂商生产的。要让这些组件运行,第三方厂商驱动源码会被整合到手机厂商源码中。与可插拔驱动(USB或者网络驱动)不同,组件驱动代码默认认为大家的设备都是可信的。因此,对于组件与处理器间的通信很少会做检查。”
成果演示
为了展示成果,研究人员制作了恶意备件,然后劫持一台测试手机。研究人员在两台Android设备上进行了实验:华为Nexus 6P和LG G Pad 7.0平板,前者使用了Synaptics的触摸屏控制器,后者使用了Atmel。研究人员认为还有很多其他设备也存在这类问题,包括苹果的设备。
测试中,研究人员使用热风机从主板分离了触摸屏控制器,这样就可以接触到铜垫。接着他们将铜垫链接到恶意的集成芯片上,集成芯片负责对通讯总线进行操控。
虽然攻击看起来复杂,但研究人员称他们只是使用了一些现成的器件,如STM32L432和Arduino单片机,成本大概是10美元。尽管实际过程中还要涉及到焊接等操作,但攻击没那么复杂。
除了上文的视频,研究人员公布了五个视频,对应五种不同的攻击,包括安装恶意软件、拍照并发送邮件、把URL替换成钓鱼网站、记录屏幕解锁图案、彻底攻陷手机,而实验表明彻底攻陷手机只需要65秒,而其他诸如替换网址的攻击则是即时的。
执行攻击的两种方式
研究人员称他们找到两种可行的攻击方式。
第一种是在手机和安装上的恶意备件的通讯中插入代码。这种攻击方式最好的应用场景是插入恶意的触摸屏幕,因为攻击者可以模仿用户的触摸动作,从而获取数据。
第二种方法是缓冲区溢出攻击。这种攻击方式会针对触摸设备中操作系统嵌入的驱动。攻击者可以利用漏洞提升权限,进一步对操作系统进行攻击。相比之下,这种攻击不需要模仿触摸操作。不过缺点是这种攻击只对部分设备有效,并不保证通用。
防范方式
研究人员来自班古里昂大学,今年2月,他们向Google报告了Synaptics驱动中的漏洞,这个问题在7月的Android安全更新中被修复,同样,他们也通知了Armel驱动的开发人员。
在报告中,研究人员描述了如何通过硬件方法防止这类攻击。
研究人员提议使用一种低成本、基于硬件的I²C接口代理防火墙形式的解决方案。厂商需要在主板上安装设备,它可以防范恶意部件或者修改固件后的攻击。
“由于这种方案不需要对cpu或者其他组件进行修改,因此方案的实施应该要比使用I²C加密或者设备认证的方法来的更快。”
不过让厂商特地加上部件可能不太现实。