據(jù)了解,這些數(shù)字被保存在FPU寄存器中,可能被用來識別用于保護系統(tǒng)中部分加密信息的密鑰。比如,英特爾的AES加密和解密指令均通過FPU寄存器來保存密鑰。有知情人士透露,在某些情況下,這個安全漏洞還可能被用于提取或猜測其他程序中的絕密加密密鑰。
雖然漏洞存在,但依然有“幸存者”。Linux的現(xiàn)代版本——從2016年發(fā)布的內(nèi)核版本4.9開始,到現(xiàn)在的Windows,包括Server 2016以及最新的OpenBSD和DragonflyBSD都不受此漏洞的影響(CVE-2018-3665)。
Windows Server 2008是需要修補的操作系統(tǒng)之一,而受影響的微軟和非微軟內(nèi)核的修復工作正在進行中。Linux內(nèi)核團隊正在對可能受影響的4.9版本之前的設備提供解決方案。
從本質(zhì)上講,CVE-2018-3665并不代表最嚴重的的漏洞攻擊,首先,惡意軟件必須已經(jīng)在用戶的系統(tǒng)上運行,才能被黑客所利用。實際上,這是另一個復雜的,與推測執(zhí)行有關的處理器設計漏洞,需要系統(tǒng)管理員進行修補。不過,更糟糕的是,在用戶電腦上的文字處理程序,PDF閱讀器或網(wǎng)絡瀏覽器中,可能存在更嚴重的漏洞。
攻擊繞過了協(xié)處理器
這一安全漏洞涉及到了所謂的延遲FPU狀態(tài)恢復。當程序使用數(shù)學單元時,操作系統(tǒng)內(nèi)核只能保存和恢復浮點單元(FPU)寄存器以及其他上下文信息。
如今,事實證明,英特爾Spectre/Meltdown的變體就可以允許程序獲得另一個應用程序FPU的上下文碎片。變體3A允許應用程序讀取系統(tǒng)寄存器,正常情況下,這些信息是只有特權(quán)代碼才能查看的。
對于這一漏洞的解決方案,是采用一種名為“eager FPU狀態(tài)還原”的機制,即現(xiàn)代版Linux,Windows和其他內(nèi)核所使用的機制。值得注意的是,這些解決措施不會帶來性能問題——事實上,狀態(tài)切換還可以提高性能。
對于這一漏洞,英特爾表示將在今天下午2點發(fā)布更多詳細信息。英特爾原本計劃在6月27日推出相關的措施,但是在本周早些時候OpenBSD和DragonflyBSD項目發(fā)布了補丁以來緩解這個問題,以至于補丁要提前進行披露。
英特爾的一位發(fā)言人在接受媒體The Register的采訪時表示,曾有獨立工作的研究人員針對這一漏洞對英特爾進行了警告,其中還包括一個亞馬遜的研究員:
“這個問題被稱為Lazy FP狀態(tài)還原,類似于變體3A。多年來,許多客戶端和數(shù)據(jù)中心產(chǎn)品中使用的操作系統(tǒng)和管理程序軟件已經(jīng)解決了這個問題。我們的行業(yè)合作伙伴正在進行軟件更新以解決剩余的問題,我們預計這些更新將在未來幾周內(nèi)發(fā)布。
我們感謝來自 Amazon Germany的Julian Stecklina、Cyberus Technology GmbH的Thomas Prescher、SYSGO AG的Zdenek Sojka和Colin Percival向我們報告此問題。我們也鼓勵其他人這樣做。”
英特爾認為該漏洞屬于中級程度。谷歌方面表示,該公司的系統(tǒng)是安全的,不過亞馬遜和微軟的發(fā)言人暫時沒有發(fā)表評論。
紅帽公司對此有更多的技術(shù)細節(jié)披露。RHEL 5、6和7以及未運行kernel-alt的企業(yè)MRG 2是易受攻擊的。這家Linux供應商在向The Register發(fā)表聲明時澄清道,這是一個潛在的從任務到任務的信息竊取:
“紅帽已經(jīng)意識到一個問題,即運行在普通現(xiàn)代(x86)微處理器上的操作系統(tǒng)和虛擬機在應用程序之間進行上下文切換時,可能選擇使用“延遲恢復”作為浮點狀態(tài),而不是保存或恢復這種狀態(tài)。
利用延遲浮點恢復還原可使攻擊者獲得有關其他應用程序活動的信息,包括加密操作。基礎漏洞會影響CPU的推測執(zhí)行,這有點類似于最近出現(xiàn)的側(cè)通道漏洞。在這個最新的漏洞中,一個進程能夠讀取其他進程的浮點寄存器。紅帽的緩解措施可通過軟件(內(nèi)核)補丁和配置更改處于不同的可用性階段。
這一緩解措施將不需要任何微碼更新。在大多數(shù)情況下,紅帽企業(yè)Linux 7客戶不需要采取任何行動,而其他用戶可能需要進行應用軟件更新。”
另外,據(jù)了解,到目前為止,還沒有任何已知的開發(fā)代碼在自然環(huán)境中傳播這種安全漏洞。