教你如何化解語音助手的「重大安全漏洞」——「海豚攻擊」
- 近期,幾篇名為「語音助手存在重大漏洞,黑客可以這樣攻擊你的手機」以及「海豚攻擊,攻破你的語音助手」等類似文章廣泛傳播,文章中提到已攻陷了包括Siri、Alexa、Cortana、Google Assistant等知名語音助手,讓大家對語音交互的安全性不免又增添疑慮。
今天,我們特意邀請了科大訊飛資深科學家、研究院副院長王海坤來給大家解析一下什麼是「海豚攻擊」,它的產生原因和潛在威脅,以及如何化解這個所謂的「重大安全漏洞」。
一、什麼是「海豚攻擊」
這個名詞源於論文「 DolphinAttack: Inaudible Voice Commands」,該文章已經被網路安全領域四大學術會議之一的ACM CCS(Conference on Computer and Communications Security)接收,目前已經可以在arxiv上下載到。
這裡面的關鍵詞「DolphinAttack」,即「海豚攻擊」源於一種現象,即海豚能發出超聲波來攻擊目標魚群進行覓食,而這種攻擊也正是藉助了超聲波。
提到超聲,這裡先科普一下聲音信號的頻帶分布、相應的名稱和性質。
當物體振動時會發出聲音。每秒鐘振動的次數稱為聲音的頻率,它的單位是Hz。我們人類耳朵能聽到的聲波頻率為20Hz~20KHz。當聲波的振動頻率大於20KHz小於20Hz時,我們就聽不見了。
我們把頻率高於20kHz的聲波稱為「超聲波」。超聲波具有方向性好,穿透能力強,易於獲得較集中的聲能,在水中傳播距離遠等特點,通常用於醫學診斷的超聲波頻率為1MHz~5MHz。
頻率低於20Hz的聲音稱為次聲。次聲特點是來源廣、傳播遠、穿透力強,不容易衰減,不易被水和空氣吸收。某些頻率的次聲波由於和人體器官的振動頻率相近,容易和人體器官產生共振,對人體有很強的傷害性,危險時可致人死亡。
這篇文章里提到的「海豚攻擊」就是用到了超聲的基本原理,其技術實現思路是:
步驟1:把正常的頻率範圍的語音信號(用於語音識別的語音一般是16KHz採樣,由奈奎斯特率可知其信號的最高頻率是8KHz,這裡稱為Baseband信號),利用幅度調製的方法把Baseband信號調製到超聲範圍,該超聲信號稱為載波(Carrier)。
這麼做主要目的是把信號調製到被攻擊的用戶無法聽到的超聲波範圍。下面就是幅度調製的原理圖。
步驟2:利用超聲發射器來發射調製後的超聲信號,衝擊被測設備。通過設備端自身的錄音系統實現對Baseband信號的解調,從而實現對設備的控制。
搭建一套這樣的超聲衝擊測試系統,需要以下幾個設備:
信號源:用來產生Baseband測試信號,用普通手機就可以。
信號發生器:用來產生超聲信號,並把Baseband信號調製相應的中心頻率。
功率放大器:用來對超聲載波信號進行功率放大。
超聲揚聲器:用來播放超聲載波信號。
文章中還提到可以做成一個簡化裝置,成本在3美元以下:
根據文章作者的介紹,該系統成功實現了對於Siri、Alexa、Cortana、Google Assistant的控制,甚至奧迪Q3的語音功能也能操控,進行了打開飛行模式,撥打特定號碼等操作。
基於此,文中觀點認為「基於該漏洞,黑客可以實現利用它上一些惡意網站,利用它打一些亂七八糟的電話。甚至,如果有些系統里的語音購物、支付功能夠便捷,分分鐘你的錢就沒了」。
二、「海豚攻擊」為什麼能實現
這裡我們來分析一下我們常見支持語音控制的系統,包括手機、汽車、智能硬體有什麼缺陷,導致讓黑客可以有機可乘。
首先看一下我們的語音控制系統的錄音(Voice Capture)有哪些環節:
從上圖種可以看到,錄音系統包括了:
a) 麥克風:Microphone,用於把聲壓信號轉換為模擬電信號。
b) 放大器:Amplifier,用於模擬信號的增益放大。
c) 低通濾波器:Low pass
Filter,用於過濾高頻無用的信號。d) 模數轉換器:ADC,用於把模擬信號採樣為數字信號。
在錄音系統的各個環節中,「海豚攻擊」有幾處風險可以利用:
a) 該文章作者的觀點是,麥克風本身的非線性會對載波信號實現部分解調。
b) 實際上更為重要的原因在於目前主流的設備的錄音系統一般採用的是一階低通濾波器,過渡帶太寬,從而導致高頻信號不能有效的過濾;再加上市面上大部分的錄音設備的ADC的抗混疊濾波效果有限,導致帶外信號被混疊到Baseband裡面,從而客觀上實現了信號的解調。
三、「海豚攻擊」的局限性分析
上面談到了「海豚攻擊」實現的基本原理。但是經過我們的分析,這種「漏洞」雖然理論上存在風險,但是實現代價較大,且整體可行性較低,大家不必過於恐懼。下面我們再來分析一下它能實現的效果的局限性:
局限性1: 測試設備發射要求高,不易隱藏作案。
首先,該系統需要一個大功率且大尺寸的信號發生器來生成高質量的超聲信號;同時,目前的普通麥克風對20KHz以上的信號頻響衰減非常大,這就要求超聲信號的發射功率有相當大的發射功率。
這篇文章中使用的超聲發射器可以支持到300MHz的頻率範圍,超聲播放的聲壓級達到了125dBL,這種情況下普通的簡化裝置的放大器和喇叭是實現不了的。
局限性2: 攻擊距離很短,智能家居產品不受影響。
同樣是由於目前普通麥克風對20KHz以上的信號頻響衰減非常大,在聲壓級是125dBL的播放的超聲信號下(這個音量已經需要非常專業播放設備了),實驗的最遠衝擊距離只有1.75m,對於大部分設備超過0.5m就沒有響應了,再加上超聲信號沒有穿牆能力,因此對於放在家中的智能硬體設備是沒有任何影響的。對於攜帶到公共場所的手機和可穿戴設備則有一定的「風險」。
局限性3: 攻擊語音質量很低,效果和單個硬體相關。
如前面我們的分析,由於解調後的信號畢竟是經過低通濾波器,導致各頻帶都是有不同程度衰減的,且大部分ADC都有抗混疊濾波,因此最終設備端解調進來的Baseband信號失真很嚴重,信噪比也不會很高。
攻擊效果也跟硬體本身相關,比如麥克風型號、低通濾波器的實現方式和效果、ADC抗混疊效果和採樣頻率都是相關的。想要達到好的效果必須根據實際的硬體來調節載波頻率,信號強度等參數,這對於公共場所遊走作案,且不知道被攻擊者使用的什麼設備的情況下是比較難以實現的。
四、聲紋+語音喚醒,完美解決「海豚攻擊」
通過上面的分析,我們知道「海豚攻擊」只是在理論上存在風險,但是有沒有辦法來從根本上解決該問題,做到萬無一失呢?這裡就從硬體設計和軟體實現上談一下解決方案。
硬體解決方案:
a) 再增加一個低通濾波器,進一步減少高頻成分的泄露。
b) 採用抗混疊更好的ADC,進行更嚴格的抗混疊測試。
c) 採用更高的採樣頻率,比如採樣率是16K的話,16~24K的信號就能混疊進來。如果採樣率是48Khz的話,要24Khz以上的信號才有可能混疊進來。實際上24Khz信號要發射和採集都要困難很多。
d) 採用動態的採樣頻率,讓攻擊者無法及時調整。
聲紋+喚醒解決方案:
從硬體解決方案上可以看出來需要對整體硬體進行重新的設計開發,難度相對較大,且周期長,對於存量用戶無法保證絕對安全。我們這裡引入一種思路——通過聲紋+喚醒的思路來保證個人或家用設備不被陌生的語音攻擊。
聲紋識別是一種通過語音信號提取代表說話人身份的相關特徵(如反映聲門開合頻率的基頻特徵、反映口腔大小形狀及聲道長度的頻譜特徵等),進而識別出說話人身份等方面的技術。它廣泛應用於信息安全、電話銀行、智能門禁以及娛樂等領域。
聲紋識別所提供的安全性可與其他生物識別技術(指紋、掌形和虹膜)相媲美,且只需或麥克風即可,無需特殊的設備,數據採集極為方便,造價低廉,是最為經濟、可靠、簡便和安全的身份識別方式,並且是唯一可用於遠程控制的非接觸式生物識別技術。
科大訊飛在聲紋識別方面一直處於技術領先的地位。 在2008年6月,訊飛參加NIST(美國標準技術研究院)舉辦的說話人識別聲紋識別大賽(SRE)中,在3項關鍵指標中,獲得兩項第一,一項第三,綜合評比第一的好成績。
目前科大訊飛推出的聲紋+喚醒的方案用戶只需要對著自己的硬體設備說出3~4遍喚醒詞即可完成聲紋註冊。使用的時候,用戶也只需要對設備說出語音喚醒詞即可,和目前的語音喚醒方式保持一致,不會帶來用戶的使用成本。
聲紋識別正確率達到98%,目前基於訊飛的數字密碼聲紋引擎,已經成功用於中國移動飛雲業務。
目前我們的遠場聲紋喚醒技術已經成熟,相關產品方案也在研發之中,將喚醒詞作為聲紋識別的文本,實現喚醒後對喚醒人身份的鑒別。此方案很快就會與大家見面,屆時還會有專家為大家解讀聲紋喚醒的奧秘,敬請期待。
推薦閱讀:
※現在的黑客應該懂得哪些技術,求高質量書單?
※匿名操作系統推薦
※一通電話損失100萬!你敢接?
※那些網路安全的書籍到底寫給誰看的?
※用這 5 個網站,假裝自己是主宰網路世界的黑客