資安公司Checkmarx揭露,Amazon的語音助理Alexa存在隱私洩漏的漏洞,可讓駭客在用戶不知不覺的情況下監聽使用者的日常對話,不過所幸的是,Amazon已經與Checkmarx合作,Alexa應用程式認證程序現在已經可以偵測並阻擋惡意竊聽程式。

研究人員在Alexa上實現,監聽並記錄使用者的對話功能。Checkmarx提到,其實Alexa啟動並完成任務的流程,遵循了一套嚴謹的腳本,不只動作有限,連收音的時機以及預期收到回應的句子,都需要符合預先定義的結構,但是仍然有些空隙讓駭客有機可乘。

駭客能在使用者未發現的情況下,於使用者啟用Alexa後,偷偷記錄其收到的語音。而駭客要進入這個流程,需從Alexa被喚醒開始,Checkmarx在一款計算機App中加入了惡意程式碼,只要使用這款App就能完成竊聽的任務。

Alexa會在聽到使用者呼叫Alexa後啟動,但隨即會在完成使用者命令後關閉,但是當Alexa預期還會收到來自使用者的指令,則會繼續開啟麥克風。這個情況發生在類似使用者設定鬧鐘的時候,當使用者告知Alexa在9點的時候設定鬧鐘,Alexa則會繼續反問是早上還是下午,但是當使用者給予明確指令,在早上9點設定鬧鐘,Alexa則會在設置完成後關閉。

因此駭客可以讓惡意App於第一次回覆完預期回應後,繼續維持Alexa啟用,因為這屬於正常的程序中,假裝還要繼續接受使用者的指令,但是Alexa的提示功能會要求App開發者,提供一字串變數,告訴使用者還有命令需要完成,不過駭客只要給一個空字串,Alexa便不會發出聲音,而此時系統仍會處於啟動狀態。

而這個方法應用在Checkmarx的計算機App,當該App回答完使用者的數學計算答案後,便能靠著假裝等待使用者的回應,並讓Alexa的語音提示保持靜音,達成讓Alexa竊聽的目的。不過,駭客還需要解決一個問題,Alexa的應用程式所接受的命令都是預先定義好的,過長無法理解的句子無法作為應用程式的輸入。

在設定鬧鐘的例子,設定鬧鐘的插槽語句可能被配置成「{時間}設定鬧鐘」,{時間}便是能接受使用者輸入的插槽,但鬧鐘的應用程式就只能接受數字做為時間命令,當Alexa收到的句子不符合預先定義的結構,就不會被接受。而Checkmarx建立了一個插槽語句列表,其包含的格式能夠符合任何單詞以及任何長度句子。

駭客克服了以上這些困難後,便能讓Alexa開始竊聽使用者的對話,但是有一項功能是駭客無法控制的,那就是Amazon Echo裝置上的指示燈,當使用者查覺到指示燈一直亮著,便能知道有問題發生。Checkmarx提到,現在有不少裝置都有安裝Alexa,但卻不能保證都有明顯的提示燈。

Amazon則在Checkmarx通報此漏洞後,互相合作並修補了該問題,現在應用程式認證程序會適當的處理空提示以及非典型的長對話。


Advertisement

更多 iThome相關內容