0%

FFS17 论文阅读笔记

前言

星期一一天内算是精读完了一篇,12页图也蛮多,努力保证一周两篇,刷完两篇报告就可以安心搞实验了。搞特征太难了……

本篇题目很简洁,第一眼让人以为是在执行敏感指令时问安全问题来提高安全性,没想到是很多该领域论文都引用了的 VAuth。而这些论文在证明自身优点的时候无一例外都提到 VAuth 需要额外的穿戴设备,不方便。尽管如此,似乎大家并没有在性能或其他方面对 VAuth 做出批判。

1 基本信息

1.1 论文来源

H. Feng, K. Fawaz, and K. G. Shin, “Continuous Authentication for Voice Assistants,” in Proceedings of the 23rd Annual International Conference on Mobile Computing and Networking, Snowbird, Utah, USA, 2017, pp. 343–355, doi: 10.1145/3117811.3117823.

1.2 概述

面对语音的开放性带来的各类攻击,本篇给出了第一种 连续* 的认证方案。VAuth 可以被放在一些日常使用的穿戴设备中,如眼镜、耳机、项链等。VAuth 采集用户身体表面的震动(本文使用的是加速度计),并将其与语音助手麦克风收到的语音信号进行匹配,进而保证语音助手只会执行来自真实所有者所发出的语音。作者对 18 名用户和 30 条命令做了评估,发现 VAuth 可以达到 97% 的准确度,和低于 0.1% 的 FAR,而这些不会因 VAuth 在身体的位置*、用户语言、口音、用户是否在运动而改变。VAuth 可以防御很多实际攻击,如重放攻击、mangled voice attack*、impersonation attack*。最后,VAuth 有着低延时与低能耗,并与大多数的语音助手兼容。

注:

  1. 连续是与其他的认证方案做对比的,如 PIN、Password、图案、指纹。该类认证方案均是一次性认证,认证后通常无需更多次认证使用者即可执行敏感操作。(不会要求用户一直按着指纹传感器进行操作)而本文提出的连续是指 VAuth 可以对连续时间内所有的语音都做认证,确保每一秒的每个声音都是真实的。如果出现真实声音与攻击语音交替或混杂的情况,VAuth 也能做出判断,这是传统方案所不能达到的。
  2. 在身体的位置本文只考虑了眼镜、耳机、项链。事实上也只有面部和胸腔等部分能够较好的捕捉发音带来的震动,其他身体部位能否较好的捕捉信号有待商榷但是可以预见效果应该会差一点。
  3. 关于最后能够防御的攻击类型,本文是 17 年的 MobiCom,还没有出现 Dolphin Attack 或者 Light Commands 之类的注入攻击。此外,在分类上,个人认为前两类都应该算入 Impersonation Attack 或者说 Spoofing Attack。

2 论文要点

2.1 背景

  • 语音在人们不便使用触屏交互时(如驾驶、锻炼等)提供了一个新的接口,但是它开放的本质使得其更容易遭到各类攻击。
  • 现在常用的发声模型 source-filter model 将人类的发声抽象,由声带振动发出的声音,通过口腔鼻腔的调制得到最终的声音。人类的发音存在一个基音 $f_0$ ,决定了发音的高低,这个基音通常是 80-333 Hz。

2.2 价值

设计并实现了 VAuth 的原型,在眼镜、耳机、项链的三个场景做了评估。VAuth 有以下价值:

  • 达到 97% 的准确度,和低于 0.1% 的 FAR。
  • 可以开箱即用,无需额外训练,无论用户的口音、语言(测试了阿拉伯语、汉语、英语、汉语、波斯语),或是用户的移动状态(静止或慢跑)
  • 有效防止重放攻击和欺骗攻击。
  • 低延时(平均 300 ms)*,低能耗(每周充电一次)

注:Void[1] 中提到三星工程师表示在 Portable Solutions 中不会采用超过 100 ms 延时的方案。原文(3.1)如下:

Hence, processing delays should be close to 0 second – typically, engineers do not consider solutions that add 100 or more milliseconds of delay as portable solutions.

[1] M. E. Ahmed, I.-Y. Kwak, J. H. Huh, I. Kim, T. Oh, and H. Kim, “Void: A fast and light voice liveness detection system,” in 29th USENIX Security Symposium (USENIX Security 20), Aug. 2020, pp. 2685–2702, [Online]. Available: https://www.usenix.org/conference/usenixsecurity20/presentation/ahmed-muhammad.

2.3 问题陈述

攻击者会利用语音助手的缺陷(无法准确验证使用者身份)来获取隐私信息或者执行敏感操作。具体而言,本文考虑了 3 个场景。

  1. 隐秘攻击:攻击者使用用户不可察觉的信号,无论是听不到的或者是听不懂的,使得语音助手执行信号中的恶意指令。参考近些年使用超声波、激光信号以及对抗样本的攻击。
  2. 生物特征覆盖攻击:包括之前经常遇到的几类 Spoofing Attack,重放、合成、模仿、转换。
  3. 声音注入攻击(Acoustic Injection Attack):作者单列这一类是指攻击者打算对症下药,针对VAuth 使用高能量的音频,或其他方法使得震动能被加速度计感知,欺骗 VAuth。

2.4 方法

VAuth 由两部分组成:

  1. 可穿戴部分:主要部分是一个加速度计。与 AD 转换器,控制器,蓝牙芯片依次相连。该部分平时处于休眠状态(Idle),在收到语音助手扩展传来的激活命令才会开始收集信息。
  2. 语音助手扩展:负责在语音助手被唤醒时通知加速度计,同时接受语音设备的语音信息与加速度计通过蓝牙传来的加速度信息。然后二者将被送入远程服务器端进行匹配计算并得到匹配结果,我们将得到确保为用户所发出的音频,只有这部分音频会被送入语音转文字模块进行进一步的命令执行等操作(属于语音助手工作)。

两部分之间的通信与匹配等采用 Bluetooth BR/EDR。

关于原型的一些细节这里不再赘述,值得一提的是,原型使用的加速度计有 11kHz 的模拟带宽(analog bandwidth),而商业穿戴设备中使用的加速度计的模拟带宽通常为 200 Hz。在语音设备端,作者团队使用 Google Now 进行实验。

作者通过 Amazon Mechanical Turk 招募了 952 名受试者做了有关可用性的调查(用户是否愿意为了安全性使用 VAuth 等)

而匹配算法(通过匹配加速度计信号与语音信号来确保语音来自真实用户)分为三部分:

  1. 预处理:将 100 Hz 作为边界对加速度信号做高通滤波,然后做重采样统一加速度信号与语音信号的采样频率。接下来对信号做归一化。借着通过最大化互相关(cross correlation),来对齐两个信号。最后通过 SNR 找到加速度信号的包络(其实是找能量较高的时间段),然后对应到语音信号上,保留前面所找到的那些段时间的信号,将剩下的语音信号去除。
  2. 每段分析:这一部分较为复杂,大致是对每段重新做归一化,然后使用算法提取 glottal cycles,得到 glottal pulses,具体方法可以参见论文以及参考文献。只有当段的基础频率落在了人声的区间([80Hz, 333Hz])时才会保留段。最后还会比较加速度信号与麦克风信号的相关系数,如果相关系数较低时也会抛弃段。
  3. 匹配决策:决策使用机器学习,我们通过对加速度信号和语音信号做互相关计算得到的向量作为特征,以人对英语 44 个音素进行发声的数据做训练(44*44的总数据,44条为匹配,其余不匹配),使用 SVM 做二元分类。

最后分别作了音素和普通命令的评估。

2.5 结果

对音素进行测试的准确度如下表:

microphone accelerometer TP (%) FP (%)
consonants consonants 90 0.2
consonants vowels - 1.0
vowels consonants - 0.2
vowels vowels 100 1.7
all all 94 0.7

对于不同移动状态,不同安装位置,不同语言(除了韩语)均达到了 95% 以上,FRR低于 5%。

作者对用户不发声时,攻击者注入命令的情况也做了评估。发现要想使环境音通过空气影响加速度信号需要非常大的能量,即使是 90dB 的声音竖直播放(加速度计只使用 z 轴信号),当距离超过 30 cm后加速度计就不会受到影响。

在耗时上,主要的耗时来自语音设备将加速度信号与语音信号上传到远程服务并做匹配算法。作者对 30 条常用命令做了评估,成功的匹配用时范围在 300-830ms,平均 364ms。不成功的匹配用时 230-760ms,平均 319ms。

在耗电上,假设用户使用频度为 100 条命令每天,对于 500 mAh 的锂电池可使用约 1 周。作者表示主要的耗电都在蓝牙连接和传输上,加速度计其实耗电量很低,所以如果将 VAuth 结合到现有的穿戴设备(已装配蓝牙),带来的额外负载并不会太多。

3 评论

3.1 局限性

原文中并未有 Limitations 或者 Restriction 一节。

本文最明显的局限性,也是其他引用本文的文献总是提及的:需要额外穿戴设备,这一点说强不强说弱不弱,但是的确使得 VAuth 不能被普及到所有的应用。

其二是延时,其他文献与本文均未提及,但是如在前文提到的,很多工程师认为延时超过 100ms 就不再值得采纳。而本文的平均延时约 300 ms。作者提到,服务器端的实现如果进一步优化也能达到更短的时延。

其三是文中提到商用设备中的加速度计一般是 200 Hz,但本文却使用了 11kHz 的加速度计,甚至后文 Matching Algorithm 部分提到的采样频率是 64 kHz,而全文都未做更多解释。那么当加速度计的频率降低后是否会影响 VAuth 的可用性也值得讨论。

其四是方案使用蓝牙沟通,那么会带来一些蓝牙技术的局限性。尽管蓝牙的一个常见局限性是距离,但是思考一下似乎语音能够达到的距离和蓝牙也差不太多,实际使用距离应该不会因为蓝牙受限。

3.2 启示

  1. 本文同样跳出了对语音设备收到的音频做特征提取的限制,另辟蹊径,通过额外从用户身体的震动获取信息,进一步匹配来筛选真正用户发出的声音,抛开前文所说的局限性,准确度和 FRR 均达到了不错的标准。
  2. 在最终分类决策上,本文也使用了 SVM(尽管似乎没有使用核方法),与 Void 类似。在语音设备场景下,为了保证低延时,计算量过于庞大的方法会受到限制。

4 个人笔记

论文的 Introduction 部分提到一段话,原文如下:

Many of the existing biometric-based authentication approaches try to reduce time-domain signals to a set of vocal features. Regardless of how descriptive the features are of the speech signal, they still represent a projection of the signal to a reduced-dimension space. Therefore, collisions are bound to happen; two different signals can result in the same feature vector.

大致是说从时域信号提取发声特征的方法不论能多么好地描述语音信号特征,终究是一个降维投影,就一定会发生碰撞。这句话的确没有错,但是的确现在也出现了 DNN 可以直接送入 Raw Signal,但是巨大的开销使得我们不能使用 Raw Signal,Reduction 是必须的。就像很多场景可以用原数据可我们还是要用哈希,因为快啊。