近日,,研究人員再次發(fā)現(xiàn)英特爾CPU的一項漏洞,這個代號“PortSmash”的問題能夠從并行的CPU或內(nèi)存中泄露保密數(shù)據(jù),,AMD產(chǎn)品也被懷疑存在同樣的漏洞,。
PortSmash由芬蘭坦佩雷理工大學(xué)和古巴哈瓦那技術(shù)大學(xué)的5名研究人員發(fā)現(xiàn)。他們將PortSmash歸類為“旁路攻擊”(side-channel attack),,這是一種從計算機(jī)內(nèi)存或CPU中獲取加密數(shù)據(jù)的攻擊,。攻擊者通過記錄和分析操作時間、功耗,、電磁泄漏甚至聲音的差異來得到相關(guān)信息,,而這些信息可能有助于破壞計算機(jī)的加密算法并恢復(fù)CPU的處理數(shù)據(jù)。
研究人員表示,,PortSmash會影響使用同時多線程(SMT)架構(gòu)的所有CPU,,SMT技術(shù)允許在CPU核心上同時執(zhí)行多個計算線程。
簡單說,,攻擊的原理是就在在使用SMT并行線程運行功能的合法的處理器旁邊運行一個惡意進(jìn)程,。這個惡意PortSmash進(jìn)程會導(dǎo)致處理器泄露少量數(shù)據(jù),從而幫助攻擊者重建該處理器在合法進(jìn)程內(nèi)處理的加密數(shù)據(jù),。
研究人員表示,,他們已經(jīng)確認(rèn)PortSmash會影響英特爾的CPU,后者支持該英特爾的超線程(Hyper-Threading,,HT)技術(shù),,這是英特爾專有的SMT實現(xiàn)。
“我們的攻擊與內(nèi)存子系統(tǒng)或緩存無關(guān),,”五位研究人員之一的Billy Brumley在接受ZDNet采訪時表示,。
“數(shù)據(jù)泄漏的本質(zhì)是由于SMT(例如超線程)架構(gòu)上的執(zhí)行引擎共享,而執(zhí)行引擎是虛擬機(jī)的核心組成之一,。更具體地說,,我們檢測端口爭用(port contention),構(gòu)建一個時序側(cè)通道,,以便從同一物理內(nèi)核的并行進(jìn)程中泄露信息,。”Brumley說,。
Brumley將一篇詳細(xì)介紹PortSmash漏洞的研究論文發(fā)布在了密碼學(xué)預(yù)印版電子文庫Cryptology ePrint Archive protal上,。
他的團(tuán)隊還在GitHub上發(fā)布了概念驗證(PoC)代碼,演示了對英特爾Skylake和Kaby Lake CPU的PortSmash攻擊,。
PoC成功通過PortSmash從TLS服務(wù)器竊取了一個OpenSSL(<= 1.1.0h)P-384密鑰,但是這種攻擊還可以被修改,,針對其他任何類型的數(shù)據(jù),。
PortSmash PoC需要惡意代碼在與被攻擊處理器相同的物理核心上運行,但這對攻擊者來說并不是一個很大的障礙,。
“IaaS [基礎(chǔ)設(shè)施即服務(wù)] 就是一種情況,,”Brumley告訴ZDNet:“在這種情況下,,攻擊者會試圖與目標(biāo)處理器共同定位虛擬機(jī),最終在與目標(biāo)處理器相同的物理核心上運行漏洞,,但兩者的邏輯核心不同,。”
“PortSmash完全不需要root權(quán)限,,”他說:“只要有用戶空間就行了,。”
研究人員表示,,他們在10月1日就通知了英特爾的安全團(tuán)隊,,但該公司11月1日才開始提供補丁,這是也是Brumley等研究人員公布他們研究結(jié)果的日期,。
研究人員在論文中表示,,“我們將在未來的工作中探索PortSmash在其他采用SMT的架構(gòu)上的功能,特別是在AMD Ryzen系統(tǒng)上,?!钡獴rumley通過電子郵件告訴ZDNet記者,他強烈懷疑AMD CPU也受此影響,。
去年,,另一組研究人員發(fā)現(xiàn)了一個名為TLBleed的旁路攻擊漏洞,影響了英特爾的超線程(SMT)技術(shù),。發(fā)現(xiàn)TLBleed后,,OpenBSD項目決定在即將推出的OpenBSD操作系統(tǒng)版本中禁用對英特爾HT技術(shù)的支持。
“這是我們把漏洞公開出來的主要原因——為了表明旁路攻擊很容易,,”Brumley表示:“這樣做也有助于消除芯片中的SMT趨勢,。”
“安全和SMT是相互排斥的概念,,”他補充說:“我希望我們的工作督促用戶在BIOS中禁用SMT,,或者選擇將錢花在沒有SMT功能的架構(gòu)上?!?/p>