中国安全研究人员发明“海豚攻击”,可用超声波激活语音识别系统

下一篇文章

Darkstore:这家创业公司想要成为“隐形零售商”

来自中国的安全研究人员发明了一种巧妙的方法,不用说话就能激活语音识别系统。通过使用人类无法听到却可以被电子麦克风识别的高频声波,研究人员得以向市面上所有主流“智能助手”发送只能被目标设备听到的指令。

这支来自浙江大学的研究团队把他们的技术命名为“ 海豚攻击 ”,因为海豚就是用高频声波进行交流的。你想了解其中的原理吗?来上一堂物理课吧!

科学原理

大多数电子产品中的麦克风使用了一小块薄膜,它可以通过振动来响应由声波引起的气压变化。由于人类通常听不到任何 20 千赫以上的信号,麦克风软件一般不会对那些信号进行处理。不过,从技术上讲,那些信号仍然会被侦测到——这被称为低通滤波器。

完美的麦克风会且仅会在特定的输入频率下以已知的频率振动。但在现实世界中,薄膜会受到谐波的影响——举例来说,400 赫兹的音调也会引起 200 赫兹和 800 赫兹的响应(这里的数字并不精确,但意思就是这样)。你可以在 维基百科 上找到一些非常不错的 GIF 动画,它们对此进行了生动的展示。不过,这通常不会成为一个问题,因为谐波的强度要比原来的振动弱得多。

假如你希望麦克风响应一个 100 赫兹的音调,但出于某种原因不想发出这种声音。如果你发出一个强度足够大的 800 赫兹音调,它的谐波将能产生 100 赫兹的音调,而后者仅会被麦克风识别。其他人将只能听到原来的 800 赫兹音调,却不会知道设备对其他音调进行了响应。

狡猾的调制解调器

这些基本上就是研究人员所做的事情,当然他们采用了更精确的方式。研究人员发现,大多数语音激活设备(包括手机、智能手表和家庭中枢设备)所使用的麦克风都会受到这种谐波影响。

以上图表展示的是:超声波(黑色的“波”)生成,产生红色的谐波,然后被低通滤波器消除。

首先,他们利用高得多的超声频率生成了目标音调,以此进行测试,并获得了成功。接着,他们尝试用 500-1000 赫兹之间的多层音调重建语音片段——这个过程要更加复杂,但本质上并无区别。而且,这个过程并不需要用到很多专门的硬件,你可以在电器商店买到现成的。

经过解调的语音能够很好地激活设备,并且支持所有主流的语音识别平台:

“海豚攻击”的语音指令虽然完全无法被人类听见,但却可以被电子设备的音频硬件接收到,并且可以被语音识别系统正确理解。我们在各大语音识别系统上验证了“海豚攻击”,其中包括 Siri、Google Now、三星 S Voice、华为 HiVoice语音智灵、Cortana 以及 Alexa

它们得以成功执行多种命令,从唤醒短语(“OK Google”)到复杂请求(“把后门打开”)。自然而然,不同的手机和不同的短语会有不同的成功率,而且距离远近也会有影响。不过,实施攻击的有效距离均未超过 5 英尺。

研究人员制作的便携式“海豚攻击”系统。

看不见的指令可以穿过空气,偷偷让你的设备执行它们,这个想法让人感到可怕(当然,WiFi 攻击也是这个样子)。不过,“海豚攻击”的危险性是有限的,这里面有几个原因。

首先,你可以把语音识别系统的唤醒功能关闭,以此杜绝“海豚攻击”。这样一来,如果其他人要想进行攻击,语音识别软件就必须处在打开状态。

其次,即便你打开了唤醒功能,很多设备会禁止语音识别软件访问联系人、打开应用或网站,直至你解锁设备。攻击者或许可以偷偷用你的设备询问天气情况或者寻找附近的泰国菜餐馆,但却无法操纵设备访问恶意网站。

最后,也许是最明显的一个原因,在目前的状态下,攻击必须在数英尺之内才能发动。即便攻击者可以在近距离内发出指令,但如果你的手机被唤醒并重复“好的,汇钱到莫斯科”这样的指令,你很有可能会马上注意到。

即便如此,在某些场景下,“海豚攻击”仍然可能奏效。如果一台配备扬声器的物联网设备遭到入侵,攻击者便可以用它发出超声波,指挥附近的 Echo 音箱打开房门或关闭警报。

这样的威胁或许不是特别现实,但它也说明了攻击者可以采用多种途径入侵我们的设备。要对那些希望被应用于日常生活的技术进行审查,把它们拿出来公开测试并设计好应对攻击的措施,这乃是必不可少的一环。

图片来源:BRYCE DURBIN / TECHCRUNCH

翻译:王灿均(@何无鱼

Hackers send silent commands to speech recognition systems with ultrasound