作者丨Vision NP
譯者丨陳峻
審校丨重樓
最近,網(wǎng)上有研究報告(https://arxiv.org/pdf/2308.01074.pdf)披露了一種潛藏得較為隱蔽的網(wǎng)絡(luò)安全漏洞。該漏洞能夠被用來在人們使用Zoom等視頻會議,進(jìn)行通話過程中,針對鍵盤輸入的聲音發(fā)起攻擊。
根據(jù)薩里大學(xué)、達(dá)勒姆大學(xué)和倫敦大學(xué)皇家霍洛威學(xué)院的專家們所做的研究表明,人工智能系統(tǒng)可以根據(jù)人類打字時發(fā)出的聲音,準(zhǔn)確地識別出其在筆記本電腦鍵盤上具體按下的是哪個鍵。
一、研究發(fā)現(xiàn)
以下是這項研究的一些重要啟示和影響:
1.基于聲音的攻擊:研究發(fā)現(xiàn),人工智能系統(tǒng)可以檢測到按鍵聲音的信號,而且其準(zhǔn)確率高達(dá)、甚至超過90%。例如,在Zoom通話或其他類型的語音通信中,按下了哪些鍵等。據(jù)此,網(wǎng)絡(luò)犯罪分子可以通過分析按鍵打字時所發(fā)出的聲音,來獲取密碼、賬單信息等敏感信息。
2.視頻會議的威脅與日俱增:隨著Zoom等視頻會議工具的廣泛使用,特別是在COVID-19流行期間,與此類平臺相關(guān)的潛在安全風(fēng)險也在持續(xù)增加。而且,設(shè)備內(nèi)置麥克風(fēng)的普及,更進(jìn)一步增加了聲音攻擊的威脅。
3.機(jī)器學(xué)習(xí)和聲學(xué)分析:研究人員使用機(jī)器學(xué)習(xí)算法,可以分析與不同按鍵相關(guān)的聲音信號。同時,人工智能系統(tǒng)也能夠?qū)W習(xí)并識別出聲音記錄中的各種模式和特征。即使是不同手指用不同力量擊鍵,算法也能準(zhǔn)確識別出按鍵特征。這充分證明了機(jī)器學(xué)習(xí)在識別和利用信號方面的強(qiáng)大能力。
4.準(zhǔn)確性的提高:該研究在識別按鍵方面達(dá)到了很高的準(zhǔn)確度,電話通話錄音的成功率高達(dá) 95%,就連Zoom通話錄音的成功率也高達(dá)93%。這樣的準(zhǔn)確率說明了此類攻擊所帶來的安全威脅是不容忽視的。
5.公共辯論的重要性:研究人員認(rèn)為,我們有必要對人工智能技術(shù)進(jìn)行公開討論和管理,尤其是隨著帶有麥克風(fēng)的智能設(shè)備在各個家庭中的使用越來越普及。也就是說,基于聲音的攻擊,勢必會引發(fā)道德和隱私方面的問題,值得公眾認(rèn)真考慮。
6.側(cè)信道攻擊:此類攻擊形式通過結(jié)合非預(yù)期信號(如聲音),來獲取未經(jīng)授權(quán)的訪問權(quán)限或信息。它充分體現(xiàn)了在網(wǎng)絡(luò)安全戰(zhàn)略中,考慮各種攻擊載體的重要性。
7.對用戶行為的影響:即使是細(xì)微的動作和聲音,也有可能被老練的攻擊者所利用。因此建議用戶在視頻會議通話中,特別是在輸入敏感信息(包括密碼)時,請保持謹(jǐn)慎。
8.攻擊的不斷演變:隨著時間的推移,基于人工智能模型的各類攻擊的準(zhǔn)確性將大幅提高。因此,我們必須在網(wǎng)絡(luò)安全實踐中不斷提高認(rèn)識,并按需調(diào)整。
二、多層次防護(hù)組合
以上是該研究報告的主要結(jié)論。那么具體而言,我們應(yīng)該如何才能防止Web應(yīng)用和用戶,受到基于聲音的攻擊呢?
鑒于此類攻擊仍在不斷演變,我們需要通過下文提到的多層次方法的組合,在一定程度上增強(qiáng)Web應(yīng)用、以及用戶行為的安全性和完整性,并將受攻擊的風(fēng)險降至最低:
?實施雙因素身份驗證(2FA):由于用戶需要提供第二類認(rèn)證信息(例如:除密碼外,來自驗證器應(yīng)用或生物識別的登錄代碼),才能訪問其賬戶,因此該方法增加了一個額外的安全層。也就是說,它通常需要向用戶的移動設(shè)備或電子郵件發(fā)送驗證碼,并在驗證器應(yīng)用中生成隨機(jī)碼,從而降低基于單一密碼維度的攻擊。下面是根據(jù)需要,在特定Web應(yīng)用中實施2FA的方法示例。
代碼來源:谷歌云,使用 Firebase 身份驗證庫的 JAVAScript 代碼
上述代碼演示了使用Firebase身份驗證,來實現(xiàn)多因素身份驗證的流程。具體而言,該代碼段主要是將電話號碼的驗證作為第二種因素。當(dāng)然,你可以通過調(diào)整該代碼段,提供其他的多因素身份驗證(MFA)選項,來按需整合基于時間的一次性密碼(TOTP)的MFA,以滿足特定應(yīng)用的實際需求。不過,請注意在實施多因素身份驗證時,不要忽略了其他潛在的安全問題、以及用戶體驗。
?使用生物識別身份驗證:由于此類驗證方法(如:指紋識別或面部識別)比密碼更難以克隆,因此它增加一層額外的保護(hù),可防止攻擊者未經(jīng)授權(quán)的訪問。你可以通過鏈接(https://stackoverflow.blog/2022/11/16/biometric-authentication-for-web-devs),獲取到一份內(nèi)容詳盡的、Web開發(fā)人員針對其應(yīng)用經(jīng)常實施的、生物識別身份驗證指南。
生物識別身份驗證流程圖
?降噪算法:在Web應(yīng)用中實施降噪算法,可以減少那些由按鍵產(chǎn)生的可被檢測到的聲音。雖然這不一定是最行之有效的保護(hù),但是它可以使得攻擊者更難使用人工智能工具,在較短的時間內(nèi)準(zhǔn)確地檢測出聲音模式。
<head>
<title>Noise Reduction Web App</title>
</head>
<body>
<button id="startButton">Start Recording</button>
<button id="stopButton" disabled>Stop Recording</button>
<br>
<audio id="audioElement" controls></audio>
<script>
let audioContext, mediaStream, scriptProcessor;
const bufferSize = 2048, threshold = 0.05;
const startButton = document.getElementById('startButton');
const stopButton = document.getElementById('stopButton');
const audioElement = document.getElementById('audioElement');
startButton.addEventListener('click', startRecording);
stopButton.addEventListener('click', stopRecording);
function startRecording() {
navigator.mediaDevices.getUserMedia({ audio: true }).then(stream => {
audioContext = new (window.AudioContext || window.webkitAudioContext)();
mediaStream = stream;
scriptProcessor = audioContext.createScriptProcessor(bufferSize, 1, 1);
scriptProcessor.onaudioprocess = e => {
const inData = e.inputBuffer.getChannelData(0),
outData = e.outputBuffer.getChannelData(0);
for (let i = 0; i < bufferSize; i++) outData[i] = Math.abs(inData[i]) < threshold ? 0 : inData[i];
};
audioContext.createMediaStreamSource(mediaStream).connect(scriptProcessor);
scriptProcessor.connect(audioContext.destination);
startButton.disabled = true;
stopButton.disabled = false;
}).catch(error => console.error('Error accessing microphone:', error));
}
function stopRecording() {
if (audioContext) {
audioContext.close();
mediaStream.getTracks().forEach(track => track.stop());
scriptProcessor = audioContext = null;
startButton.disabled = false;
stopButton.disabled = true;
}
}
</script>
</body>
</html>
上述代碼段演示了使用Web Audio API來實現(xiàn)降噪的效果。當(dāng)然,你也可以使用其他的音頻處理庫,例如:RNNoise和 SpeexDSP。下面我們來看看具體的工作原理。
首先,請將代碼創(chuàng)建為一個HTML文件,并使用Web瀏覽器打開它。完成后,其界面如下:
使用Web Audio API來降低噪音
接著,請點擊“開始錄音”,并在網(wǎng)頁瀏覽器中授予麥克風(fēng)的訪問權(quán)限。
然后,開始錄入并分析隨機(jī)產(chǎn)生的聲音。
請注意,Web Audio API提供的一系列節(jié)點和方法,可用于更高級的音頻處理任務(wù)。你可以根據(jù)Web應(yīng)用的具體需要,使用不同的音頻庫來進(jìn)行試驗。
?鍵盤布局隨機(jī)化:你可以重新排列虛擬鍵盤上的按鍵順序,使得攻擊者難以僅憑按鍵發(fā)聲的方位,來檢測到鍵入的內(nèi)容。一些金融機(jī)構(gòu)已經(jīng)采用了這種流行的方法,來保護(hù)用戶免受基于聲音的攻擊。
?隨機(jī)化按鍵時間:你可以在按鍵之間引入可變的時間間隔,讓攻擊者更難確定按下的具體按鍵。請參見如下代碼示例:
<head>
<title>Randomized Key Press Timing</title>
</head>
<body>
<input id="textInput" type="text">
<script>
const textInput = document.getElementById('textInput');
textInput.addEventListener('keydown', event => {
setTimeout(() => console.log('Key pressed:', event.key), Math.random() * 500);
});
</script>
</body>
</html>
上述按鍵邏輯隨機(jī)化的應(yīng)用,模擬了按鍵隨機(jī)延時的發(fā)生。你可以將其創(chuàng)建為一個HTML文件,并使用Web瀏覽器打開它。完成后,你可以在出現(xiàn)的文本框中輸入一些單詞。
隨機(jī)按鍵延時的頁面布局
Web瀏覽器的控制臺將展示你按下的按鍵,及其隨機(jī)延時結(jié)果。
你可以自由地修改上述代碼段,將其集成到自己的Web應(yīng)用中。同時,你也可以嘗試不同的按鍵操作,以觀察隨機(jī)計時對于輸入文本的行為的不同影響。
?教育用戶:提高用戶對于聲音攻擊所帶來的潛在風(fēng)險的認(rèn)識,以及在視頻通話、或公共場合中避免鍵入密碼、及個人數(shù)據(jù)等敏感信息的意識。此外,你可以強(qiáng)制要求用戶在輸入Web應(yīng)用的密碼時,混合使用不同的大小寫字母、數(shù)字和符號(如 #、$、%、*)等。
?定期執(zhí)行安全審計:定期對Web應(yīng)用進(jìn)行安全審計和滲透測試,以及時識別和解決潛在的漏洞。據(jù)此,你可以先于攻擊者,更加輕松地實施各種必要的安全措施。此外,在開發(fā)Web應(yīng)用時,我們應(yīng)當(dāng)遵循安全編程實踐,防范包括:SQL注入、跨站腳本(XSS)和跨站請求偽造(CSRF)等可能被攻擊者利用的常見漏洞,被遺留在應(yīng)用中。
?麥克風(fēng)的隱私設(shè)置:如果你的Web應(yīng)用需要獲取麥克風(fēng)的訪問權(quán)限,那么請確保用戶了解他們授權(quán)后可能產(chǎn)生的后果,以及允許他們自由地管控這些權(quán)限,例如:在不必要時,提供禁用麥克風(fēng)訪問的選項。當(dāng)然,你可能需要為此調(diào)整應(yīng)用的部分架構(gòu)。
?多層安全:實施包括:防火墻、入侵檢測系統(tǒng)(IDS)、以及實時安全監(jiān)控在內(nèi)的多層安全控制,以應(yīng)對潛在攻擊。目前,許多一站式安全平臺還能夠提供諸如:惡意軟件掃描、SSL證書、DDoS保護(hù)、以及備份和恢復(fù)等功能。
?加密:使用強(qiáng)大的加密協(xié)議,我們可以確保用戶設(shè)備與Web應(yīng)用之間的通信安全,以應(yīng)對針對數(shù)據(jù)的竊聽和攔截。通常,你需要從可信的證書頒發(fā)機(jī)構(gòu)(CA)處獲得SSL/TLS證書。
?定期更新和打補(bǔ)丁:顯然,我們需要使用最新的安全補(bǔ)丁,來更新Web應(yīng)用和底層基礎(chǔ)架構(gòu)組件,以防止新近發(fā)現(xiàn)的漏洞被利用。
?用戶指南:為用戶提供安全使用指南、以及適當(dāng)?shù)募軜?gòu)信息 (Information Architecture,IA)。例如,告知用戶在其視頻通話中,應(yīng)避免通過鍵盤來鍵入敏感信息,以及會使用背景噪音,來掩蓋鍵盤擊鍵所產(chǎn)生的聲音。
三、小結(jié)
綜上所述,已有研究證明,人工智能可能根據(jù)擊鍵的聲音來識別敏感數(shù)據(jù)。而且隨著視頻會議被廣泛使用,基于聲音的攻擊威脅會迎來爆炸式的激增。
我們通過討論能與Web應(yīng)用相結(jié)合的多層次安全防范方法,來降低基于聲音的攻擊的潛在風(fēng)險。不過請記住,任何安全措施都不是萬無一失的。
除了基于聲音的攻擊,那些精通技術(shù)的攻擊者甚至?xí)捎弥T如:Glupteba等支持區(qū)塊鏈的模塊化惡意軟件,去探查可利用的Web應(yīng)用漏洞。因此,了解最新的威脅動態(tài)、以及增強(qiáng)Web應(yīng)用的安全防范都是至關(guān)重要的。
原文鏈接:https://hackernoon.com/is-AI-eavesdropping-on-you-defend-your-passwords-from-ai-keystroke-pattern-detection
——譯者介紹——
陳峻 (Julian Chen),51CTO社區(qū)編輯,具有十多年的IT項目實施經(jīng)驗,善于對內(nèi)外部資源與風(fēng)險實施管控,專注傳播網(wǎng)絡(luò)與信息安全知識與經(jīng)驗。