英国兰卡斯特大学和瑞典 Linköping 大学的学者研究出一种新的技术,可将智能手机的内置扬声器和麦克风变成一个简单的声纳系统,窃取安卓设备的解锁图案 ⚠️
来自兰开斯特大学的一组研究人员向 arXiv 发表了一篇论文,演示了他们如何使用智能手机的麦克风和扬声器系统来窃取设备的解锁模式。
虽然普通人不必担心会很快被这种方式攻击,但研究人员首先证明了这种攻击是完全可以实现的。根据研究人员的说法,他们的“SonarSnoop 声纳探听”攻击减少了攻击者必须尝试的 70% 的解锁模式数量,并且可以在受害者完全不知道他们被骇客入侵的情况下执行。
在信息安全世界中,“旁道攻击”是一种剑走偏锋的黑客行为,它不利用程序中最终被定位的弱点或需要直接访问目标信息,而是,例如,在 SonarSnoop 的情况下,骇客正在寻找的信息是手机的解锁密码,SonarSnoop 不会通过尝试所有可能的组合或通过“肩膀冲浪”来强制获取密码,而是利用同样会泄露密码的辅助性信息 — — 在这种情况下,就是声音。
尽管其测试关注的是智能手机,但必须知道,“声纳探听“攻击也可用在众多其他电脑设备和物理环境中 — — 只要有麦克风和扬声器!
声学旁道攻击已在 PC 和各种其他连接互联网的设备上得到广泛应用。例如,研究人员通过探听它的硬盘风扇,从空气密封的计算机上恢复了数据。
他们还能够通过探听连接互联网的打印机,以确定打印在纸上的内容,并根据 3D 打印机的声音重建打印的 3D 对象!
在大多数情况下,这些是被动的旁道攻击,意味着攻击者只是在听设备自然产生的声音。然而,这是第一次,研究人员成功地在移动设备上演示了有源声学旁道攻击,这种方法迫使设备本身发出某些声音。
⚠️ 当用户无意中在手机上安装了恶意应用程序时,攻击就开始了。当用户下载受感染的应用程序时,他们的手机开始广播声音信号,该声音信号恰好高于人类的听觉范围。声音信号被手机周围的每个物体反射,产生回声。然后通过电话的麦克风记录此回声。
通过计算声音的发射和其回声到声源的返回之间的时间,可以确定物体在给定空间中的位置、以及该物体是否在移动 — 这被称为声纳。通过分析设备麦克风录制的回声,研究人员能够利用这一现象来跟踪某人手指在智能手机屏幕上的移动。
在 Android 手机上的 3×3 网格上有近 400,000 种可能的解锁模式,但之前的研究表明,20% 的人使用的是其中 12 种很常见的模式中的一种。在测试 SonarSnoop 时,研究人员只专注于这十几个解锁组合。
为了测试他们的声纳攻击,研究人员使用了三星 Galaxy S4,这是 2013 年首次发布的 Android 手机。虽然这种攻击完全可以适用于任何手机型号,但由于扬声器和麦克风放置的位置不同,信号分析必须根据特定的手机型号进行调整。
“我们预计 iPhone 同样容易受到攻击,但我们只测试了对 Androids 的攻击,”兰卡斯特大学的博士生 Peng Cheng 在一封电子邮件中说。
声纳探针研究组将 FingerIO 作为其灵感源泉。FingerIO 理念是在 2016 年3月发表的,当时学术界制造出了一个类似声纳的系统来改进与智能手表的互动。
有了 FingerIO,用户可以用手在智能手机附近画线和形状,智能手机可以使用高频声波拾取手指运动,并将其译成触屏互动。声纳探针是 FingerIO 的邪恶版,攻击者运用相同的理念,但却盗取了触屏互动。
招募了 10 名志愿者进行研究,并被要求在自定义应用程序上绘制五种不同的“12模式”之一。然后研究人员尝试了各种声纳分析技术,根据手机发出的声学特征重建密码。最好的分析技术导致算法在正确确定模式之前只需要平均尝试 12 种可能模式中的 3.6 种。
尽管 SonarSnoop 攻击目前看来还不完美,但它的确减少了研究人员(攻击者)必须尝试的模式数量的 70%。研究人员写道,在不久的未来,通过减少声纳脉冲之间的时间量以及探索不同的信号分析策略,完全可以改善这一点。
为了防止这些类型的攻击蔓延,研究人员建议可以设计移动设备来防止它们。最明显的做法是将设备扬声器的声学范围限制为只有人类可听到的信号,或者允许用户在他们的设备上使用敏感信息时有选择地关闭他们的声音系统。或者,首先就是要继续改进对恶意应用程序下载的阻止保护。
随着诸如指纹解锁之类的生物识别功能在移动设备上变得越来越普遍,看起来这种攻击对于解锁手机的有用性将显著降低。然而,正如研究人员指出的那样,类似的技术完全可用于收集使用手机触摸屏输入的其他敏感信息,例如网页密码甚至是 Tinder 等约会应用上的滑动模式!
“尽管我们的实验试图仅窃取 Android 解锁模式,但 SonarSnoop 适用于麦克风和扬声器可以互动的任何环境,”兰卡斯特大学安全研究员 Jeff Yan 说。“我们的下一个重要问题是如何帮助日常生活。我们的目标是通过帮助计算机工程师妥善解决下一代设备中的安全威胁来实现这一目标。“