背景介紹

目前智能手機上的運動傳感器對振動敏感,已經被用于竊聽音頻。然而,存在兩個公認的局限性,第一個限制是與麥克風不同,運動傳感器只能接收通過固體介質傳播的音頻信號,因此之前唯一可行的設置是將運動傳感器和揚聲器放置在同一張桌子上;第二個限制是由于傳感器的采樣率上限是200Hz,而成年人的整個語音頻段是85-255Hz,使用傳感器只能采集到一部分的聲音信息。

在NDSS 2020會議上,Zhongjie Ba等人重新審視了運動傳感器對音頻的威脅,提出了AccelEve方法,該方法利用運動傳感器中的加速度計竊聽同一智能手機中的揚聲器,設計了一個基于深度學習的系統來識別和重建僅來自加速度計測量信號,得到對應的音頻信號[1]

實驗模型

1.實驗模型

對于以上提到的兩個公認限制,作者提出了對應的解決方法。針對第一個限制,作者考慮一種更加糟糕的情況,使用智能手機的加速度計來竊聽同一智能手機中的揚聲器。同一設備的加速度計和揚聲器將始終與同一電路板保持物理接觸,并且彼此非常接近,從而使語音信號在加速度計測量中始終產生顯著的影響。

針對第二個限制,隨著智能手機型號的發展,加速度計的實際采樣率迅速提高。下圖為2016年至2019年各品牌手機內加速度計的采樣率,對于2017年以后發布的高端智能手機,它們的加速度計采樣率已經達到了400Hz以上的采樣頻率,因此能夠得到相當大范圍的人類語音。

不同品牌手機內加速度計的采樣率


在此基礎上,作者提出了針對智能手機揚聲器的側信道攻擊模型,該模型主要包括三個部分:預處理模塊、語音識別模塊和語音重建模塊,在采集到加速度計信號后,使用預處理模塊對信號進行處理,得到可以用于語音識別和語音重建的頻譜圖;頻譜圖進入語音識別模塊,可以得到識別出的文字信息;頻譜圖進入語音重建模塊,可以得到音頻信息。

2.預處理模塊

原始加速度信號存在三個主要問題:①由于手機系統為盡可能快地將加速度計測量值發送到應用程序,因此原始加速度計測量值不是按固定間隔采樣的,②原始加速度計的測量結果會因人體運動而嚴重失真,③原始加速度計信號捕獲了多個語音信息,需要進行分割。為了解決這些問題,作者使用以下步驟將原始加速度信號轉換為頻譜圖。

  • 線性插值
  • 作者使用線性插值方法來處理加速度計測量的不穩定問題。由于傳感器測量的時間戳是毫秒級的精度,解決不穩定間隔的方法是將加速度計測量的采樣率提高到1000Hz。因此,作者使用時間戳來定位沒有加速度計測量的所有時間點,并使用線性插值來填充缺失的數據,所得到的信號具有1000Hz的固定采樣率。這種插值方法不會增加加速度計信號中的語音信息,其主要目的是產生具有固定采樣率的加速度計信號。
  • 高通濾波
  • 使用高通濾波來消除由重力、硬件失真(偏移誤差)和人類活動引起的顯著失真。具體來說,首先使用短時傅里葉變換(STFT)將加速度信號沿每個軸轉換到頻域。它將長信號分成等長的片段,并分別計算每個片段的傅里葉變換。然后,將低于截止頻率的所有頻率分量的系數設置為零,并使用逆STFT將信號轉換回時域。由于成年男性和女性的基頻通常高于85Hz,而人類活動很少影響80Hz以上的頻率分量,因此將語音識別的截止頻率設置為80Hz,以盡量減少噪聲分量的影響。
  • 分割
  • 由于沿三軸的加速度信號是完全同步的,作者使用z軸定位切割點,然后使用獲得的切割點對濾波后的加速度信號沿三軸進行分割。具體來說,作者計算經過處理的信號的絕對值,經過兩輪移動平均,窗口大小分別是200和30,得到一個平滑的序列,找到序列中的最大值max和最小值min,遍歷序列,高于0.8min+0.2max的區域即為語音信號。為了保證分割后的信號覆蓋整個語音信號,每個定位區域的起始點和結束點分別向前和向后移動100和200個樣本。
  • 將手機放置在桌子上和手中兩種方式,分別獲取對應的加速度信息,針對這兩種場景計算出的切割點如下圖所示。作者使用得到的截斷點將濾波后的加速度信號分割成多個短信號,每個短信號對應一個單詞。

針對手機放置在桌面和手握兩種場景

獲取到的加速計信號的處理

  • 轉為頻譜圖
  • 為了生成單字信號的頻譜圖,首先將信號分成多個固定重疊的短段,段的長度和重疊部分的長度分別設置為128和120。然后,用漢明窗口對每個片段進行窗口化,并通過STFT計算其頻譜,沿著每個軸的信號轉換成一個STFT矩陣,記錄每個時間和頻率的幅度和相位。

3.語音識別和重建模塊

經過預處理模塊的操作后,得到加速度計信號的頻譜圖在調整大小后可以輸入到各種標準化的神經網絡內,語音識別模塊選擇的是DenseNet網絡。相較于其他傳統深度網絡,DenseNet引入了每一層與前一層的連接,如圖(a)所示,第一至四層都與第五層有直接連接,即將第一至四層的特征映射拼接為第五層的輸入。因此,DenseNet可以使用更少的節點來實現VGG和ResNet相當的性能。經過語音識別模塊,可以得到對應音頻的文字信息。

DenseNet網絡結構


此外,除了識別模塊外,作者從相應的加速度計信號中重建了音頻信息,這個模塊可以用于重復檢查識別結果。為了實現語音信號的重構,作者首先以加速度信號的頻譜圖作為輸入,利用如下圖的重構網絡對加速度計頻譜圖進行重構,得到語音頻譜圖,然后利用論文[2]中提出的Griffin-Lim算法從重構的語音頻譜圖中估計語音信號。接下來,將詳細介紹重建網絡。

語音重構網絡


重構網絡由三個子網絡組成,即編碼器、殘差塊和解碼器。重建網絡的輸入是一張覆蓋20-500Hz頻率分量的128*128*3的頻譜圖圖像。每個通道對應于加速度信號的一個軸。編碼器從32個9*9*3大小的卷積核開始學習大規模特征,然后分別有64個3*3*32和128個3*3*64大小的卷積核學習小規模特征。考慮到加速計信號頻譜圖和語音頻譜圖之間的相似性,恒等映射很可能是建立某些特征連接的最優映射。因此,在重構網絡的中間添加一些殘差塊。最后,對語音頻譜圖進行解碼,解碼器由3個反卷積層組成,分別有64個大小為3*3*128的核,32個大小為3*3*64的核和3個大小為9*9*32的核。解碼器的初始輸出是一個128*128*3的矩陣,該矩陣將進一步調整為384*128的灰度圖像,即相應的語音頻譜圖。

實驗結果

1.語音識別模塊

作者主要在從三星S8智能手機上收集加速度計信號來評估提出的系統。在智能手機上播放一系列語音信號,并通過后臺運行的第三方Android應用程序AccDataRec收集加速度計信號。

語音信號主要來自兩個數據集。第一個數據集是AudioMNIST數據集,包含來自20個說話者發出的10k個單獨數字的語音組成。把數據集中的語音連接成間隔為0.1秒的長音頻,來模擬受害者告訴別人他/她的密碼的場景。第二個數據集是由36*260個數字和字母組成的語音。錄制音頻的志愿者需要拿著智能手機,以他們告訴別人密碼時的語速讀出一長串數字和字母。共有36個類別,包括10個數字(0-9)和26個字母(A-Z),每個類別包含從10個志愿者處收集到的260個樣本。將數據集隨機分為80%的訓練數據和20%的測試數據。

目前,針對該問題準確率最高的語音識別模塊是SOTA模塊[3],下表為本文提出的模塊與SOTA的實驗結果對比。本文提出的的模塊在識別10個數字加26個字母時達到了55%的top1準確率和87%的top5準確率。在識別說話者方面,該模塊對20個說話者的分類準確率達到70%,而之前的SOTA模型對10個說話者的分類準確率只有50%。總的來說,本文的模型在所有任務中相較于SOTA模塊都有了較大的提升。

本文的語音識別模塊與SOTA模塊結果對比

2.語音重建模塊

在本次實驗中主要對熱詞進行識別,首先從句子中識別預訓練的熱詞,再利用重建模型恢復音頻信號,通過人耳對識別出的熱詞進行復核。該實驗共收集到4名志愿者的200個短句。實驗結果如下表所示,可以看出所有熱詞的誤判率均在1%以下。

熱詞重建結果

總結

在本文中,作者重新審視了零權限運動傳感器對語音信息的威脅,并提出了一種針對智能手機揚聲器的側信道攻擊。作者首先提出了智能手機揚聲器發出的語音信號總是會對同一智能手機的加速度計產生重大影響。其次,近幾年的Android智能手機上的加速計幾乎可以覆蓋成人語音的整個基本頻段。在這些基礎上,作者提出了AccelEve方法,這是一種基于深度學習的智能手機竊聽攻擊,無論智能手機放在哪里和如何放置,都可以識別和重建智能手機揚聲器發出的語音信號。

參考資料

[1] BA Z, ZHENG T, ZHANG X, 等. Learning-based Practical Smartphone Eavesdropping with Built-in Accelerometer[J]. Proceedings 2020 Network and Distributed System Security Symposium, 2020.

[2] ZHU X, BEAUREGARD G T, WYSE L L. Real-Time Signal Estimation From Modified Short-Time Fourier Transform Magnitude Spectra[J]. IEEE Transactions on Audio, Speech and Language Processing, 2007, 15(5): 1645-1653.

[3] MICHALEVSKY Y, BONEH D, GABI NAKIBLY. Gyrophone: Recognizing speech from gyroscope signals[C]//23rd USENIX Security Symposium (USENIX Security 14). USENIX Association, 2014: 1053-1067.