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