防范海豚音攻击 提升语音控制器安全
说起“海豚音”,第一印象可能是歌手空灵的海豚音演唱,但事实上人耳是听不到海豚音的。在语音识别领域,有一种攻击手段被称为“海豚音攻击”,即将人类发布的语音指令搭载于高频载波上,人耳无法听到这些高于20000Hz的声音,但这些高频载波可以被麦克风识别到,通过这种手段,可以在用户不知不觉间唤醒搭载了语音模块的设备。
通过这种手段攻击者可以控制设备实现以下几种目的:
- 访问恶意网站,发起驱动下载攻击
- 间谍活动。通过让受害者设备打开视频或通话获取周边信息。
- 注入虚假信息
- 拒绝服务,打开飞行模式,断开网络等。
以下让我们来看看海豚音攻击是怎么实现的
该图是大部分语音控制系统的体系结构。可以将语音作为输入和执行命令。其由三个主要子系统组成:语音捕获、语音识别和命令执行。语音捕获子系统记录环境的语音,在被传递到语音识别子系统之前被放大、过滤和数字化。然后,首先对原始捕获的数字信号进行预处理,以去除超出可听声音范围的频率,并丢弃声音太弱而无法识别的声音的信号段。接下来,被处理后的信号进入语音识别系统。
海豚音攻击的基本思想是(a)在超声波载波之前对低频语音信号(即基带)进行调制,(b)通过接收机的语音捕获硬件对调制后的语音信号进行解调。若语音命令的频率范围为w,载波频率fc必须满足fc-w>20 kHz。
因为麦克风的本身非线性导致会对载波信号实现部分调解,此外,由于麦克风使用的低通滤波器的过渡带太宽也会导致高频信号不能被有效过滤。
由于语音捕获子系统不受我们控制,所以为了实现海豚音攻击,我们必须在麦克风LPF(低通滤波器)抑制高频信号之前解调语音信号。如下图所示,音频信号经过低通滤波器后被抑制。
实际上,实现海豚音攻击的设备并不复杂,该攻击的发现者浙大的徐文渊团队使用智能手机、超声波换能器、放大器等组件实现了便携的海豚音攻击。
防御海豚音主要有硬件方法和软件方法:
硬件方法:
- 增加低通滤波器,过滤高频信号
- 提升麦克风质量,即更高的采样率,使攻击者需要用更高的载波频率。
软件方法:
- 使用声纹识别,攻击者需要收集被攻击者的声音信息合成唤醒词,极大增加攻击成本。
- 直接关闭语音模块。
参考文献:Guoming Zhang, Chen Yan, Xiaoyu Ji, Tianchen Zhang, Taimin Zhang, and Wenyuan Xu. 2017. DolphinAttack: Inaudible Voice Commands. In Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security (CCS ’17). Association for Computing Machinery, New York, NY, USA, 103–117. https://doi.org/10.1145/3133956.3134052