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