邊信道攻擊(side channel attack 簡稱SCA),,又稱側(cè)信道攻擊:針對加密電子設(shè)備在運行過程中的時間消耗、功率消耗或電磁輻射之類的側(cè)信道信息泄露而對加密設(shè)備進行攻擊的方法被稱為邊信道攻擊,。這類新型攻擊的有效性遠(yuǎn)高于密碼分析的數(shù)學(xué)方法,,因此給密碼設(shè)備帶來了嚴(yán)重的威脅。
對邊信道攻擊的學(xué)術(shù)研究起于1996-1999年,。傳統(tǒng)的分組密碼分析技術(shù)局限于算法的數(shù)學(xué)結(jié)構(gòu),,其攻擊效果往往不佳。國內(nèi)外密碼學(xué)界都在加強及預(yù)算法實現(xiàn)的分析方法研究,,邊信道分析技術(shù)作為一種新的密碼分析方法迅速成為研究熱點,。邊信道攻擊方法 主要集中在功耗攻擊、電磁場攻擊和時間攻擊。其中功耗攻擊是最強有力的手段之一,,包括簡單功耗分析攻擊(SimplePower Analysis attacks,SPA)和差分功耗分析攻擊(Differential Power Analysis attacks,DPA),,與傳統(tǒng)密碼分析學(xué)相比,這些攻擊手段攻擊效果顯著,。
幾種已實現(xiàn)的邊信道攻擊
1.通過CPU緩存來監(jiān)視用戶在瀏覽器中進行的快捷鍵及鼠標(biāo)操作
對最新型號的英特爾CPU有效,,如Core i7;還需運行在支持HTML5的瀏覽器上,。帶有惡意JS的網(wǎng)頁在受害者電腦上執(zhí)行后,,會收集與之并行的其它進程的信息,有了這個信息,,攻擊者可以繪制內(nèi)存對按下按鍵和鼠標(biāo)移動的反應(yīng)情況,,進而重塑用戶使用情景。
2.“聽譯”電子郵件密鑰
通過智能手機從運行PGP程序的計算機中“聽譯”密鑰,。這項最新的密鑰提取攻擊技術(shù),,能夠準(zhǔn)確地捕捉計算機CPU解碼加密信息時的高頻聲音,并提取密鑰,。
3.非智能手機+惡意軟件+目標(biāo)PC
從采購供應(yīng)鏈下手,,將特制小體量難以檢測的惡意軟件植入電腦,該軟件會強制計算機的內(nèi)存總線成為天線,,通過蜂窩頻率將數(shù)據(jù)無線傳輸?shù)绞謾C上,。攻擊者將接受和處理信號的軟件嵌入在手機的固件基帶中,這種軟件可以通過社會工程攻擊,、惡意App或者直接物理接觸目標(biāo)電話來安裝,。
4.用手觸碰電腦即可破解密碼
電腦CPU運算時造成“地”電勢的波動,用手觸碰筆記本電腦的外殼,,接著再測量釋放到皮膚上的電勢,,然后用復(fù)雜的軟件進行分析,最終得到計算機正在處理的數(shù)據(jù),。例如:當(dāng)加密軟件使用密鑰解密時,,監(jiān)測這種波動就可得到密鑰。
5.智能手機上的FM無線電功能來拾取電腦顯卡發(fā)出的無線電波
6.利用KVM入侵物理隔離設(shè)備
使用連接到互聯(lián)網(wǎng)的設(shè)備下載惡意軟件,,然后將其傳遞給設(shè)備的內(nèi)存,。之后透過KVM漏洞傳播給使用KVM操控的其它多臺設(shè)備,實現(xiàn)入侵物理隔離的系統(tǒng),,并感染更敏感的設(shè)備,。最后惡意程序再經(jīng)KVM反向?qū)⒏`取到的數(shù)據(jù)傳遞到互聯(lián)網(wǎng)。
7.利用一個面包(皮塔餅)偷取計算機密鑰
無屏蔽銅線圈,、電容
8.通過熱量竊取電腦信息
9.其它方法
分析設(shè)備在解密過程中的內(nèi)存利用率或放射的無線電信號,,竊取密鑰,。
信息安全專家表示,有可能利用英特爾聯(lián)網(wǎng)技術(shù)中一個有趣的邊信道漏洞,,在用戶通過網(wǎng)絡(luò)輸入終端時嗅探其 SSH 密碼,。
簡言之,,英特爾芯片集有漏洞,,偷聽者可巧妙接入采用該芯片集的服務(wù)器,觀測連接同一服務(wù)器的受害者單獨發(fā)送的數(shù)據(jù)包時序,,比如交互式終端會話中的按鍵動作,。
由于人類手指在鍵盤上移動遵循特定模式,每次按鍵間都有明顯的停頓,,隨所敲字符不同而異,,該時序即可泄露受害者所按特定鍵位。這些停頓經(jīng)分析后可實時揭示經(jīng)網(wǎng)絡(luò)傳輸?shù)奶囟ò存I,,包括密碼和其他機密信息,。
通過向服務(wù)器反復(fù)發(fā)送一連串網(wǎng)絡(luò)包,直接填充一塊處理器內(nèi)存緩存,,偷聽者可完美實現(xiàn)監(jiān)視功能,。受害者發(fā)送數(shù)據(jù)包時,偷窺者的數(shù)據(jù)會被新進入的流量從該緩存中逐出,。由于一直在快速反復(fù)填充該緩存,,偷聽者可感知自身數(shù)據(jù)是仍存在于該緩存中,還是被已被逐出,,由而泄露其受害者已發(fā)送某些數(shù)據(jù)的事實,。這一事實最終可用于確定受害者入站數(shù)據(jù)包之間的時間間隔,揭示受害者傳輸?shù)陌存I信息,。
該安全疏漏沒那么容易利用,,英特爾也不認(rèn)為這是個大問題,但這無損于其身為有趣漏洞的事實,,令人想一探究竟,。值得注意的是,偷窺者必須使用英特爾的數(shù)據(jù)直接 I/O (DDIO) 技術(shù)直接連接服務(wù)器,。而且,,這既不是中間人攔截,也不是密碼破解,,而是緩存觀察邊信道泄露,。另外,有大量入站交互式數(shù)據(jù)的繁忙系統(tǒng)也不適用該攻擊方式,,不可靠,。
起效機制
DDIO 使網(wǎng)絡(luò)接口能夠繞過系統(tǒng) RAM ,,將數(shù)據(jù)直接寫入主機處理器最后一級緩存,切實降低延遲,,提升信息流入流出計算機的速度,,改善 Web 托管和金融交易等 I/O 成為瓶頸的應(yīng)用性能。
但不幸的是,,據(jù)荷蘭阿姆斯特丹自由大學(xué)系統(tǒng)與網(wǎng)絡(luò)安全小組 VUSec 的科學(xué)家介紹,,直接跳入 CPU 緩存的性能提升卻打開了邊信道漏洞的大門。今年早些時候,,該白帽子團隊發(fā)現(xiàn)并記錄了上述濫用 DDIO 在網(wǎng)絡(luò)上觀察他人的方法,。私下通告英特爾后,該團隊于 9 月 10 日披露了其發(fā)現(xiàn),。
自 2012 年起,,由于其性能提升功能,所有英特爾服務(wù)器級 Xeon 處理器均默認(rèn)啟用 DDIO,。
該昵稱 NetCAT 的技術(shù)如下圖所示,。其漏洞利用方法與 Throwhammer 類似,要求偷聽者已侵入以遠(yuǎn)程直接內(nèi)存訪問 (RDMA) 無線帶寬網(wǎng)絡(luò)連接,,直連監(jiān)視對象在用 DDIO 主機的服務(wù)器,。這就要求網(wǎng)絡(luò)偷窺者要在目標(biāo)公司的基礎(chǔ)設(shè)施中已擁有立足之地。
VUSec 的 NetCAT 安全漏洞圖表(來源:VUSec)
一旦連接,,竊聽者通過網(wǎng)絡(luò)反復(fù)填充處理器最后一級緩存,,以自身數(shù)據(jù)有效淹沒該緩存。竊聽者觀察其連接延時的細(xì)微差別,,檢測其數(shù)據(jù)被另一個網(wǎng)絡(luò)用戶從緩存中驅(qū)逐至 RAM 的時機——該技術(shù)也被稱為“prime+probe”,。這些數(shù)據(jù)被驅(qū)逐的時序即會泄露受害者的按鍵信息。
重要的是,,最后一級緩存有一部分是為直接 IO 保留的,,因而 prime+probe 方法不受流經(jīng) CPU 核心的代碼和應(yīng)用數(shù)據(jù)困擾。
所有這些意味著,,底層硬件可能無法避免地泄露敏感信息或秘密信息,。NetCAT 更多技術(shù)細(xì)節(jié)將于明年 5 月正式發(fā)布。
VUSec 團隊因其發(fā)現(xiàn)而獲得了英特爾安全漏洞獎勵,,該團隊解釋道:一直以來,,緩存攻擊都是用于本地環(huán)境中的敏感數(shù)據(jù)泄露(例如,從攻擊者控制下的虛擬機,,到共享云平臺 CPU 緩存的受害者虛擬機),。
“
而 NetCAT 將此威脅延伸到了網(wǎng)絡(luò)上的非受信客戶端,沒有本地接入的遠(yuǎn)程服務(wù)器 SSH 會話也會泄露按鍵動作之類的敏感數(shù)據(jù)了,。交互式 SSH 會話中,,用戶的每一次按鍵,,都會觸發(fā)網(wǎng)絡(luò)數(shù)據(jù)包直接傳輸。因此,,控制臺加密 SSH 會話中每輸入一個字符,,NetCAT 就會通過泄露相應(yīng)網(wǎng)絡(luò)包的到達(dá)時序而泄露該按鍵事件的時序。
有了網(wǎng)絡(luò)包時序基礎(chǔ),,攻擊者便可通過對比所觀測到的延遲與目標(biāo)鍵入模式模型,,得出這些時間間隔與特定按鍵的匹配。
如果您的平臺 DDIO 可用/啟用,,您即受此漏洞影響,。如果同時啟用了 RDMA,,該漏洞即通過網(wǎng)絡(luò)將您的服務(wù)器暴露在實際邊信道攻擊面前,,如 NetCAT 漏洞利用所演示的一樣。
該芯片設(shè)計缺陷為什么得名 NetCAT 呢,?
這可不是為了制造恐慌,。NetCAT 表示網(wǎng)絡(luò)緩存攻擊 (Network Cache ATtack)?!癗etCAT” 也是黑客和系統(tǒng)管理員用于通過網(wǎng)絡(luò)發(fā)送信息的常用工具,。Cat 是 UNIX 系統(tǒng)用于讀取文件內(nèi)容的工具,NetCAT 則旨在通過網(wǎng)絡(luò)讀取文件內(nèi)容,。NetCAT 這個命名玩了雙關(guān)梗,,指的是不用網(wǎng)絡(luò)另一端的機器協(xié)作就從網(wǎng)絡(luò)上讀取數(shù)據(jù)。如果還覺得不夠雙關(guān)的話,,DDIO 內(nèi)部用的可是緩存分配技術(shù) (Cache Allocation Technology: CAT),。而且,誰不喜歡貓 (Cat) 呢,?
如果上述內(nèi)容聽起來相當(dāng)復(fù)雜,,似乎現(xiàn)實生活中不可行,那確實,。至少,,在英特爾看來,VUSec 描述的場景很大程度上是概念驗證,,而非實際攻擊場景,。
Chipzilla 發(fā)言人向媒體表示:英特爾收到了該研究的通告,確定該漏洞為低嚴(yán)重性漏洞(CVSS 評分 2.6),,主要原因是 DDIO 和 RDMA 慣常使用場景中要求的復(fù)雜度,、用戶互動和罕見訪問級別。
“
額外的緩解措施包括使用抗時序攻擊的軟件模塊,,采用常量時間風(fēng)格的代碼,。感謝學(xué)術(shù)社區(qū)的持續(xù)研究,。
與其他邊信道泄露類似,盡管實際漏洞利用過程可能繁瑣艱難,,但這種漏洞呈現(xiàn)出的是非硬件重構(gòu)難以解決,,甚至無法解決的根本缺陷。
雖然 VUSec 認(rèn)可英特爾關(guān)于增加針對時序攻擊的軟件防護可打擊 NetCAT 類窺探的說法,,但唯一能夠確保清除該漏洞的方法,,是完全禁用 DDIO,然后損失其性能增益,。
VUSec 團隊稱:只要網(wǎng)卡在緩存中創(chuàng)建獨特模式,,無論遠(yuǎn)程服務(wù)器運行何種軟件,NetCAT 都將有效,。
英特爾 DDIO 技術(shù):
https://www.intel.com/content/www/us/en/io/data-direct-i-o-technology-brief.html
NetCAT 技術(shù):
https://www.vusec.net/projects/netcat/
RDMA:
https://itpeernetwork.intel.com/taking-low-io-latency-even-lower-with-rdma