黑客如何通過(guò)側(cè)信道實(shí)現(xiàn)“隔空取物”
譯文【51CTO.com快譯】當(dāng)聽(tīng)到“黑客”一詞時(shí),您可能會(huì)在腦子中浮現(xiàn)出好萊塢大片里電腦專家與頂級(jí)黑客之間進(jìn)行攻防較量的場(chǎng)景。不過(guò),在現(xiàn)實(shí)生活中,黑客們的確會(huì)時(shí)常使用側(cè)信道攻擊(side-channel attack),在神不知鬼不覺(jué)的情況下,“隔空”從設(shè)備中提取信息,而目標(biāo)系統(tǒng)的安全態(tài)勢(shì)絲毫未受影響。
什么是側(cè)信道攻擊?
假設(shè),和您同住一個(gè)屋檐下的室友最近老是神秘兮兮地給某人打電話。好奇心使您迫不及待地想一探究竟。這時(shí),你發(fā)現(xiàn)他使用的是帶有物理按鍵的固定電話。那么,您就可以在無(wú)需走到他身邊的情況下,根據(jù)他每一次按下的數(shù)字鍵的音調(diào),通過(guò)一定的“反向工程”的規(guī)則,推斷出他依次按下的是哪些數(shù)字。
不過(guò),如果所有的按鍵只能發(fā)出同樣聲調(diào)的話,您也許可以通過(guò)估算室友將手指從一個(gè)數(shù)字鍵移到另一個(gè)時(shí)所花費(fèi)的時(shí)間。當(dāng)然,您可能需要事先對(duì)室友的撥號(hào)習(xí)慣,特別是兩次按鍵之間的時(shí)間間隔,具有敏銳的洞察和了解。
如果您觀察到的間隙,恰好等于您事先獲得的測(cè)量值,那么可以判斷出他剛才按下的兩個(gè)數(shù)字鍵是相鄰的;如果有較長(zhǎng)的延遲,則表示下一個(gè)數(shù)字鍵并不相鄰;而如果出現(xiàn)兩次快速的連擊,則表示他按下了相同的數(shù)字。據(jù)此,您可以推斷出適當(dāng)?shù)臅r(shí)序排列,進(jìn)而估算出對(duì)應(yīng)的可能性數(shù)字序列。
這里提到的兩種方法就是典型的“側(cè)信道攻擊”??梢?jiàn),它是一種在無(wú)需直接觸及到設(shè)備的情況下,截獲信息或提取數(shù)據(jù)的攻擊方法。一些看似稀松尋常的狀態(tài)與特征,往往會(huì)被“有心人”用來(lái)“隔山打牛”,得到“意外收獲”。
在了解了側(cè)信道攻擊的基本概念和工作原理之后,我們下面來(lái)看看黑客通常會(huì)具體開(kāi)展哪些類別的攻擊方式:
通過(guò)時(shí)序攻擊(timing attacks)的發(fā)現(xiàn)算法
時(shí)序攻擊主要分析的是完成某個(gè)過(guò)程所需要的時(shí)間。這有點(diǎn)類似于上面提到的估算室友的撥號(hào)時(shí)間,并將其與已掌握的時(shí)間間隔作比較。
黑客事先向已知的算法提供不同的輸入,以觀察該處理過(guò)程所耗費(fèi)時(shí)長(zhǎng)。據(jù)此,他們可以從中整理出目標(biāo)算法在處理一定體量數(shù)據(jù)的用時(shí),進(jìn)而找到對(duì)應(yīng)的破解方案。
在視頻鏈接--https://youtu.be/2-zQp26nbY8中,Joe Grand創(chuàng)建了一個(gè)帶有四個(gè)按鈕的密碼鎖設(shè)備。在輸入首個(gè)代碼后,該設(shè)備會(huì)將用戶的輸入與已知代碼的第一部分進(jìn)行比較。如果相符合,他就可以第二次按下按鈕,并與既定的組合進(jìn)行比較,依此類推。如果出現(xiàn)不相符的情況,該設(shè)備則立即停止后續(xù)的處理。
如果您將所有四個(gè)按鈕都作為第一個(gè)輸入代碼予以測(cè)試,那么可能需要至多重試四次,才能找到正確的那個(gè)按鈕。畢竟一旦出現(xiàn)比較錯(cuò)誤,設(shè)備就會(huì)在首位就立即停止。一旦知道了第一個(gè)按鈕是什么,我們就可以嘗試將其與每一種可能組成前兩位,依此類推。只要允許處理的時(shí)間足夠長(zhǎng),您最終就能夠發(fā)現(xiàn)正確的代碼組合。
其實(shí),時(shí)序攻擊也是熔斷攻擊(Meltdown exploit,
https://www.makeuseof.com/tag/meltdown-spectre-cpu-vulnerable-attack/)的主要組成部分。它分析了讀取緩存的速度,并據(jù)此來(lái)讀取緩存中的數(shù)據(jù)。
通過(guò)功耗分析來(lái)檢查處理器的使用率
黑客也可能會(huì)通過(guò)監(jiān)視組件正在使用的電量,來(lái)查看其對(duì)應(yīng)的操作功能。例如:如果某個(gè)組件消耗的功率比正常值要多一些,那么它可能正在處理某些復(fù)雜的信息;而當(dāng)它的功耗比平時(shí)較少時(shí),則可能表明它正在進(jìn)入下一個(gè)處理階段。
黑客甚至可以使用用電量的特征簽名,來(lái)查看正在發(fā)送的數(shù)據(jù)。例如,在AnySilicon(請(qǐng)參見(jiàn)--
https://anysilicon.com/side-channel-attacks-differential-power-analysis-dpa-simple-power-analysis-spa-works/)上有一張功率表。該表顯示了能夠發(fā)送二進(jìn)制數(shù)據(jù)
(https://www.makeuseof.com/tag/binary-technology-explained/)的各種組件。其中,小電塊(bump of power)為0,而高電塊則為1。
通過(guò)聲學(xué)分析來(lái)偵聽(tīng)線索
聲學(xué)分析是指:黑客偵聽(tīng)來(lái)自設(shè)備的音頻模式,并使用既有的結(jié)果來(lái)組合出對(duì)應(yīng)的信息。在上述的探聽(tīng)室友電話號(hào)碼的示例中,偵聽(tīng)按鍵的撥號(hào)音就是一次聲學(xué)分析的攻擊。
目前,已經(jīng)一些研究已經(jīng)證明了聲學(xué)攻擊的可行性。例如,其中有一項(xiàng)研究是:通過(guò)偵聽(tīng)打印機(jī)發(fā)出的聲音,來(lái)確定其打印的內(nèi)容,而且準(zhǔn)確率竟能達(dá)到72%。此外,如果攻擊者事先已經(jīng)大致了解了該文件的內(nèi)容,那么這一比率可能會(huì)高至95%。
另一項(xiàng)名為SonarSnoop的研究
(https://link.springer.com/article/10.1007/s10207-019-00449-8),是將電話變成了聲納設(shè)備。研究人員讓電話通過(guò)揚(yáng)聲器發(fā)出人耳聽(tīng)不見(jiàn)的聲音,并通過(guò)麥克風(fēng)記錄下對(duì)應(yīng)的回聲。此類聲納回波甚至可以讓攻擊者獲悉到被偵聽(tīng)者在繪制解鎖圖案時(shí),觸碰到手機(jī)屏幕的具體位置,進(jìn)而了解到屏幕是如何被解鎖的。
使用電磁分析來(lái)監(jiān)視背景波
黑客可能采取的第三種攻擊方式是:使用電磁(Electromagnetic,EM)分析,來(lái)監(jiān)視設(shè)備發(fā)出的背景波,進(jìn)而解密設(shè)備的各項(xiàng)行為?;蛘咧辽偎麄兡軌虬l(fā)現(xiàn)周圍的電子設(shè)備。例如:他們可以使用電話,通過(guò)查找附近的EM波源,來(lái)發(fā)現(xiàn)隱藏在周圍的監(jiān)控?cái)z像頭
(請(qǐng)參見(jiàn)--https://www.makeuseof.com/tag/use-smartphone-detect-hidden-surveillance-cameras/)。
另一項(xiàng)研究(請(qǐng)參見(jiàn)--https://arxiv.org/pdf/1903.07703.pdf)是著眼于物聯(lián)網(wǎng)設(shè)備及其電磁輻射的。從理論上講,法證團(tuán)隊(duì)可以監(jiān)視那些可疑的設(shè)備,而無(wú)需真正侵入它們。這在法理和取證環(huán)節(jié)上非常重要。畢竟,執(zhí)法部門既可以監(jiān)視到目標(biāo)的可疑行徑,又不會(huì)留下任何痕跡。
如何保護(hù)自己免受側(cè)信道攻擊
不幸的是,目前并沒(méi)有簡(jiǎn)單的方法可以使您的設(shè)備不受側(cè)通道攻擊??梢哉f(shuō),只要您在操作過(guò)程中使用了電源,設(shè)備就會(huì)產(chǎn)生輻射并發(fā)出聲音,而黑客就能夠針對(duì)這些“信道”上的信息進(jìn)行分析。
當(dāng)然,您可以設(shè)法干擾或預(yù)防黑客采取攻擊性的行為。例如,您可以使用檢測(cè)電話登錄模式的SonarSnoop程序。不過(guò),該程序也是一把“雙刃劍”。它可能會(huì)被用在與其他惡意軟件相似的分發(fā)渠道上。例如,黑客會(huì)將它隱藏在供人下載的惡意應(yīng)用程序或網(wǎng)頁(yè)中。
可見(jiàn),雖然您不能阻止設(shè)備發(fā)出泄密信號(hào),但是可以避免安裝那些被用于監(jiān)視此類信號(hào)的軟件代理。遵照基本的安全運(yùn)維概念:保持您設(shè)備上的防病毒工具為最新,并保持良好的網(wǎng)絡(luò)安全態(tài)勢(shì),是非常必要的。此外,對(duì)數(shù)據(jù)進(jìn)行加密,在信號(hào)傳輸裝置和線路上構(gòu)造法拉第籠,以及發(fā)射白噪聲,也是一些對(duì)抗側(cè)信道攻擊的有效方式。
原標(biāo)題:What Is a Side-Channel Attack? How Hackers Crack Security Without Touching It,
作者:Simon Batt
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】