劍橋大學AI“偷聽”算法:按屏幕聽聲音,手機密碼不保


劍橋大學AI“偷聽”算法:按屏幕聽聲音,手機密碼不保

【新智元導讀】獲取用戶在虛擬屏幕上的文本輸入,需要克服兩個難題:首先是通過聲音判斷敲擊的位置;其次是消除噪音干擾。劍橋大學的研究人員設計了一個AI“偷聽”算法,可以通過監聽手指敲擊屏幕的聲音竊取手機密碼。

盜取密碼,只要聽聽你敲鍵盤的聲音就夠了。

曾經,通過鍵盤記錄程序來盜取密碼就已經非常可怕了;然而,現在更駭人聽聞的黑科技誕生了!

劍橋大學的研究人員設計了一個AI“偷聽”算法,只需要通過監聽手指敲擊屏幕的聲音,就能夠竊取到手機密碼:

劍橋大學AI“偷聽”算法:按屏幕聽聲音,手機密碼不保

論文地址:

https://arxiv.org/pdf/1903.11137.pdf

這個新穎的攻擊方法的原理是將手指敲擊屏幕所產生的聲音,在虛擬鍵盤上恢復成對應的輸入字符。

論文作者表示:

敲擊屏幕的聲波可以通過設備的麥克風進行恢復,就像“聽到”了手指的觸摸一樣,虛擬屏幕上聲波的失真的這一特徵便是敲擊鍵盤的位置。因此,只需要通過內置麥克風錄下聲音,惡意程序就可以在用戶輸入時推斷出對應的字符。

實驗原理

針對鍵盤的聲學攻擊並不新鮮。

利用麥克風,根據鍵盤獨特的物理特性或缺陷來識別物理按鍵的方法已經很成熟了,但是在虛擬鍵盤的識別上存在著很大的困難。因為虛擬鍵盤上的點擊發生在同一個表面上,需要通過一些特殊的方法來確定手指敲擊的位置。

劍橋大學的研究團隊開發了一款app,可以復原敲擊的聲音,並將其與擊鍵聯繫起來。該程序使用的機器學習算法是離線訓練的,並針對特定的智能手機或平板電腦模型進行調整。

這個算法需要克服一個重大的工程挑戰在於:如何解釋敲擊時,指尖所產生的干擾振動。事實上,當用手指敲擊屏幕的時候,聲波不僅在空氣中傳播,更重要的是在設備本身之間傳播。敲擊會導致屏幕震動,而這種震動模式,可以被多麥克風捕獲並進行區分。

實際應用場景中,噪聲會極大的影響麥克風對敲擊聲的探測。為了解決這一問題,研究人員將反饋聲音與振動反饋進行交叉關聯,消除振動反饋的歧義,同時除去了振動數據。

結果顯示,對於平板電腦,在20次嘗試中回收了200個4位pin碼中的61%,即使模型沒有使用受害者的數據進行訓練;對於智能手機,恢復了9個大小為7-13個字母的單詞,在一個常見的側通道攻擊基準中嘗試了50次。

實驗設計

實驗設置

劍橋研究團隊開發了一個 Android 應用程序,參與者分別使用全鍵盤和9宮格數字鍵盤輸入單詞、任意數字或4位數字(PIN碼),橫屏或者豎屏都可以。該app應用程序通過內置麥克風收集音頻。

9宮格數字鍵盤的尺寸和形態是固定的,因此只需要在智能手機上測試豎屏狀態下的數字輸入即可。而全鍵盤則需要在手機和平板上,對橫屏和豎屏狀態分別進行測試。

參與測試的志願者在三個不同的地方完成了這項任務,分別是

  1. 公共休息室。背景中有人在聊天,偶爾會有一臺咖啡機做咖啡的吵聲
  2. 閱覽室。背景中人們要麼在電腦上打字,要麼用很輕的聲音說話
  3. 圖書館。都很安靜,但是附近的筆記本電腦持續發出咔噠咔噠的聲音

這三個地方都開著窗戶,因此室外的噪音也摻雜其中。

空氣中聲音的速度取決於溫度,因此數據只在白天室內收集,溫度在22-25攝氏度之間。實驗設備關閉了所有運行中的其他app,只打開實驗用的app。

實驗使用的設備Nexus 5和Nexus 9,尺寸分別為137.84mm×69.17mm×8.59mm和228.2mm×153.7mm×8mm。兩款設備都有兩個麥克風,擁有標準的採樣率。Nexus 5的主麥克風位於設備底部,副麥克風位於頂部。Nexus 9一個在底部,另一個在右側。兩臺設備均基於Android 5.1.1 Lollipop系統,該系統目前市場佔有率約20%。

劍橋大學AI“偷聽”算法:按屏幕聽聲音,手機密碼不保

Nexus 5

劍橋大學AI“偷聽”算法:按屏幕聽聲音,手機密碼不保

Nexus 9

由於Android 5.1.1禁止對PIN輸入使用反饋機制,所以只對文本輸入進行了測試。值得注意的是:由於該方式比較新穎,缺乏標準的基準測試,讀者可以自行評估以下兩個結論:

  1. 對小型虛擬鍵盤的攻擊與對大型物理鍵盤的攻擊效果差不多
  2. 儘管面對噪音這一強幹擾項,該方式仍然能夠獲得同使用其他探測器類似的效果

數據收集

實驗共有45名參與者,其中21位女性、24位男性;實驗共獲得30個小時的音頻數據。實驗分為4個部分:

  1. 第一組測試者每人隨機敲擊9宮格數字鍵盤10次,每次1個數字
  2. 第二組測試者每人敲擊9宮格鍵盤200次,每次4個數字
  3. 第三組測試者隨機敲擊全鍵盤上的字母
  4. 第四組測試者敲擊全鍵盤,輸入NPS聊天語料庫中的5個字母的單詞
劍橋大學AI“偷聽”算法:按屏幕聽聲音,手機密碼不保

表1 所有字母和單詞輸入實驗的摘要

單個數字推斷

第一次嘗試進行單一數字分類時的訓練、測試和與主題無關(即LOSO)的準確性如表2所示。

劍橋大學AI“偷聽”算法:按屏幕聽聲音,手機密碼不保

表2 Nexus 5智能手機的個位數分類精度

對於與主題無關的情況(LOSO),標準偏差更高。

在最壞的情況下,僅使用底部麥克風,預測數字會比隨機猜測略好;但在最好的情況下,幾乎一半的數字在第一次嘗試時被正確預測。 頂部麥克風的結果仍然較高,在最差情況下為兩倍,在最佳情況下為85%。 使用兩個麥克風,正確預測在最壞情況下比隨機猜測好3倍;和100%的數字在最好的情況下。

劍橋大學AI“偷聽”算法:按屏幕聽聲音,手機密碼不保

當一個數字預測不正確時,分類器會快速糾正它(根據分類器生成的預測的置信值對猜測進行排序)。例如,使用兩個麥克風(如上圖所示),30%的錯誤預測在第一次嘗試後被修正,另外20%在第二次嘗試時被修正。固定的速度然後變得平緩。這意味著,在三次嘗試中,分類器正確地預測了80%以上的數字。

4位數字推斷

4位PIN的預測結果如下圖所示。

劍橋大學AI“偷聽”算法:按屏幕聽聲音,手機密碼不保

使用單個麥克風,10次嘗試後可以恢復54%的PIN。通和先前工作進行了比較發現,在很多情況下往往表現的更好,在其他方面也不輸給先前工作。例如,使用兩個麥克風,只需20次嘗試就可以恢復91/150個PIN碼,並不需要知道PIN碼的分佈情況,也不需要知道後續點擊之間的時間間隔。

字母和單詞推斷

全鍵盤的預測結果,如表3所示。

劍橋大學AI“偷聽”算法:按屏幕聽聲音,手機密碼不保

表3 單字符分類精度為26類

如果同時使用一個麥克風進行LOSO和測試,要比隨機猜測高出三倍。頂部麥克風捕獲的聲音,比來底部麥克風產生更好的效果。

實驗還發現,在手機上豎屏要比橫屏效果更好;而平板上則沒有太大區別。

實驗結果表明,依靠TrustZone等隔離機制來保護用戶輸入並不總是足夠的。

移動設備可能需要更豐富的功能模型,更加用戶友好的傳感器使用通知系統以及對底層硬件洩漏的信息的更全面評估。

論文地址:

https://arxiv.org/pdf/1903.11137.pdf


分享到:


相關文章: