安全動態(tài)

開發(fā)者誤讀芯片廠商調試文檔,導致Windows、macOS和Linux等主要操作系統(tǒng)出現(xiàn)新內核漏洞

來源:聚銘網(wǎng)絡    發(fā)布時間:2018-05-11    瀏覽次數(shù):
 

信息來源:FreeBuf

美國計算機安全應急響應中心(以下簡稱“CERT”)日前發(fā)布公告稱,Windows、macOS、Red Hat、Ubuntu、SUSE Linux、FreeBSD、VMware 和 Xen 等系統(tǒng)都可能受到一個重大安全漏洞( CVE-2018-8897)的影響,這個漏洞是由于操作系統(tǒng)開發(fā)者曲解了英特爾和AMD兩大芯片廠商的調試文檔所致。

不過,這個漏洞的利用需要一定的條件,攻擊者需要使用已經(jīng)感染帶有惡意軟件的計算機,或者必須使用已經(jīng)登錄的帳戶才能運行利用此漏洞的惡意代碼。如果順利入侵,攻擊者可以將其代碼的訪問權限提升到內核級別,然后使用此訪問權限執(zhí)行其他操作。通俗來說,攻擊者可以利用操作系統(tǒng)的 API 獲取敏感內存信息,或控制低級操作系統(tǒng)功能。

Source-bytecode.png

根據(jù) CERT/CC 的報告,這個漏洞出現(xiàn)的詳細原因如下:

這個漏洞主要與操作系統(tǒng)供應商為 Intel x86-64 體系結構部署的硬件調試機制有關,核心原因是 MOV SS 和 POP SS 指令。該指令從正在運行的程序堆棧中獲取一個用于選擇堆棧段的值,并將這個值存入 CPU 的堆棧選擇器與寄存器。這與很多現(xiàn)代操作系統(tǒng)所忽視的內存分割有關。POP SS 指令由 CPU 專門處理,以確保在執(zhí)行中斷時,堆棧不會陷入不一致的狀態(tài)。

應用程序可以通過 POP SS 為堆棧選擇器所在的內存位置設置調試斷點。也就是說,當應用程序使用 POP SS 時,如果處理器觸及 RAM 的特定部分以獲取堆棧選擇器,將會生成特殊的異常問題。如果緊接在 POP SS 指令之后的指令是 INT 指令,就能利用這種異常情況來觸發(fā)中斷。這些軟件觸發(fā)的中斷有時被用戶程序用于激活內核,因此它可以執(zhí)行打開文件等運行程序所需的操作。在運行 Intel 或 AMD 的計算機中,軟件生成的中斷指令緊跟在 POS SS 指令之后,立刻讓處理器進入內核的中斷處理程序。隨后,由于 POP SS 導致異常被延遲,會觸發(fā)調試異常。

芯片

由于英特爾的 x86-64 手冊關于 POP SS 指令及其與中斷門語義相互作用的注意事項不清楚甚至不完整,讓操作系統(tǒng)開發(fā)者和供應商誤以為處理程序在不可中斷的狀態(tài)下啟動。但事實上,調試異常需要在處理程序中斷的早期進行處理,否則用戶應用程序可以利用開發(fā)者的這種誤解,在運行 Intel 的計算機中利用 POP SS 和 INT 指令,控制中斷處理程序中的特殊指針 GSBASE。而在運行 AMD 的計算機中,用戶應用程序可以控制 GSBASE 和堆棧指針,導致內核崩潰,通過訪問未映射的內存,提取部分受保護的內核內存,或者調整其內部結構導致系統(tǒng)崩潰或者操縱系統(tǒng)運行。

專家認為,上述任何嘗試都可能導致內核崩潰,不過不會造成更嚴重的危害。但是,這也應當引起系統(tǒng)供應商注意。

目前,各大廠商都已知曉這個漏洞,并積極應對。Red Hat、Ubuntu 和蘋果 MacOS 都已經(jīng)著手推出補丁。而早在 2018 年 3 月,Linux 內核已經(jīng)解決了這個問題,4.15.14、4.14.31、4.9.91、4.4.125 以及更早的 4.1、3.16 和 3.2版本都有相應的補丁。

微軟也做出了回應,其 Windows 7 到 Windows 10 以及 Windows Server 2008 到 1803 版本都推出了補丁。Xen 4.6 到 4.10 版本也推出了修補程序。VMware 的虛擬機管理程序沒有風險, vCenter Server 有對應的解決方案,vSphere 集成容器正在等待修復,但專家認為,二者都“可能受到影響”。

以下是美國  CERT/CC 列出的受影響廠商名單,提醒用戶及時關注廠商動態(tài),及時修復。

名單

 
 

上一篇:2018年05月10日 聚銘安全速遞

下一篇:國家互聯(lián)網(wǎng)信息辦公室發(fā)布《數(shù)字中國建設發(fā)展報告(2017年)》