邊信道攻擊(side channel attack 簡稱SCA),又稱側(cè)信道攻擊:針對加密電子設(shè)備在運行過程中的時間消耗,、功率消耗或電磁輻射之類的側(cè)信道信息泄露而對加密設(shè)備進行攻擊的方法被稱為邊信道攻擊,。這類新型攻擊的有效性遠高于密碼分析的數(shù)學(xué)方法,因此給密碼設(shè)備帶來了嚴重的威脅,。
對邊信道攻擊的學(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)視用戶在瀏覽器中進行的快捷鍵及鼠標操作
對最新型號的英特爾CPU有效,,如Core i7,;還需運行在支持HTML5的瀏覽器上。帶有惡意JS的網(wǎng)頁在受害者電腦上執(zhí)行后,,會收集與之并行的其它進程的信息,,有了這個信息,攻擊者可以繪制內(nèi)存對按下按鍵和鼠標移動的反應(yīng)情況,,進而重塑用戶使用情景,。
2.“聽譯”電子郵件密鑰
通過智能手機從運行PGP程序的計算機中“聽譯”密鑰。這項最新的密鑰提取攻擊技術(shù),,能夠準確地捕捉計算機CPU解碼加密信息時的高頻聲音,,并提取密鑰。
3.非智能手機+惡意軟件+目標PC
從采購供應(yīng)鏈下手,,將特制小體量難以檢測的惡意軟件植入電腦,,該軟件會強制計算機的內(nèi)存總線成為天線,通過蜂窩頻率將數(shù)據(jù)無線傳輸?shù)绞謾C上,。攻擊者將接受和處理信號的軟件嵌入在手機的固件基帶中,,這種軟件可以通過社會工程攻擊、惡意App或者直接物理接觸目標電話來安裝,。
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信息。
該安全疏漏沒那么容易利用,,英特爾也不認為這是個大問題,,但這無損于其身為有趣漏洞的事實,令人想一探究竟,。值得注意的是,,偷窺者必須使用英特爾的數(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 處理器均默認啟用 DDIO。
該昵稱 NetCAT 的技術(shù)如下圖所示,。其漏洞利用方法與 Throwhammer 類似,,要求偷聽者已侵入以遠程直接內(nèi)存訪問 (RDMA) 無線帶寬網(wǎng)絡(luò)連接,直連監(jiān)視對象在用 DDIO 主機的服務(wù)器,。這就要求網(wǎng)絡(luò)偷窺者要在目標公司的基礎(chǔ)設(shè)施中已擁有立足之地,。
VUSec 的 NetCAT 安全漏洞圖表(來源:VUSec)
一旦連接,竊聽者通過網(wǎng)絡(luò)反復(fù)填充處理器最后一級緩存,,以自身數(shù)據(jù)有效淹沒該緩存,。竊聽者觀察其連接延時的細微差別,檢測其數(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ù)細節(jié)將于明年 5 月正式發(fā)布,。
VUSec 團隊因其發(fā)現(xiàn)而獲得了英特爾安全漏洞獎勵,該團隊解釋道:一直以來,,緩存攻擊都是用于本地環(huán)境中的敏感數(shù)據(jù)泄露(例如,,從攻擊者控制下的虛擬機,,到共享云平臺 CPU 緩存的受害者虛擬機)。
“
而 NetCAT 將此威脅延伸到了網(wǎng)絡(luò)上的非受信客戶端,,沒有本地接入的遠程服務(wù)器 SSH 會話也會泄露按鍵動作之類的敏感數(shù)據(jù)了,。交互式 SSH 會話中,用戶的每一次按鍵,,都會觸發(fā)網(wǎng)絡(luò)數(shù)據(jù)包直接傳輸,。因此,控制臺加密 SSH 會話中每輸入一個字符,,NetCAT 就會通過泄露相應(yīng)網(wǎng)絡(luò)包的到達時序而泄露該按鍵事件的時序,。
有了網(wǎng)絡(luò)包時序基礎(chǔ),攻擊者便可通過對比所觀測到的延遲與目標鍵入模式模型,,得出這些時間間隔與特定按鍵的匹配,。
如果您的平臺 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ā)言人向媒體表示:英特爾收到了該研究的通告,確定該漏洞為低嚴重性漏洞(CVSS 評分 2.6),,主要原因是 DDIO 和 RDMA 慣常使用場景中要求的復(fù)雜度,、用戶互動和罕見訪問級別。
“
額外的緩解措施包括使用抗時序攻擊的軟件模塊,,采用常量時間風(fēng)格的代碼,。感謝學(xué)術(shù)社區(qū)的持續(xù)研究。
與其他邊信道泄露類似,,盡管實際漏洞利用過程可能繁瑣艱難,,但這種漏洞呈現(xiàn)出的是非硬件重構(gòu)難以解決,甚至無法解決的根本缺陷,。
雖然 VUSec 認可英特爾關(guān)于增加針對時序攻擊的軟件防護可打擊 NetCAT 類窺探的說法,,但唯一能夠確保清除該漏洞的方法,是完全禁用 DDIO,,然后損失其性能增益,。
VUSec 團隊稱:只要網(wǎng)卡在緩存中創(chuàng)建獨特模式,無論遠程服務(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