Meltdown與Spectre:近期CPU特性漏洞安全公告

enter image description here

0x00 事件描述

2018年1月4日,Jann Horn等安全研究者披露了"Meltdown"(CVE-2017-5754)和"Spectre"(CVE-2017-5753 & CVE-2017-5715)兩組CPU特性漏洞。

據(jù)悉,漏洞會(huì)造成CPU運(yùn)作機(jī)制上的信息泄露,低權(quán)級(jí)的攻擊者可以通過漏洞來遠(yuǎn)程泄露(瀏覽器形式)用戶信息或本地泄露更高權(quán)級(jí)的內(nèi)存信息。

實(shí)際攻擊場(chǎng)景中,攻擊者在一定條件下可以做到,

  • 泄露出本地操作系統(tǒng)底層運(yùn)作信息,秘鑰信息等;

  • 通過獲取泄露的信息,可以繞過內(nèi)核(Kernel), 虛擬機(jī)超級(jí)管理器(HyperVisor)的隔離防護(hù);

  • 云服務(wù)中,可以泄露到其它租戶隱私信息;

  • 通過瀏覽器泄露受害者的帳號(hào),密碼,內(nèi)容,郵箱, cookie等用戶隱私信息;

目前相關(guān)的平臺(tái),廠商,軟件提供商都在積極應(yīng)對(duì)該系列漏洞,部分廠商提供了解決方案。

經(jīng)過360安全團(tuán)隊(duì)評(píng)估,"Meltdown"和"Spectre"漏洞影響嚴(yán)重,修復(fù)流程較復(fù)雜,建議相關(guān)企業(yè)/用戶務(wù)必作好相關(guān)的修復(fù)評(píng)估工作。

0x01 事件影響面

影響面

漏洞風(fēng)險(xiǎn)等級(jí)嚴(yán)重,影響廣泛:

  • 近20年的Intel, AMD, Qualcomm廠家和其它ARM的處理器受到影響;

  • 因?yàn)榇舜蜟PU漏洞的特殊性,包括Linux, Windows, OSX等在內(nèi)的操作系統(tǒng)平臺(tái)參與了修復(fù);

  • Firefox, Chrome, Edge等瀏覽器也發(fā)布了相關(guān)的安全公告和緩解方案;

漏洞編號(hào)

  • Meltdown

    • CVE-2017-5754

  • Spectre漏洞

    • CVE-2017-5715

    • CVE-2017-5753

相關(guān)安全公告

  • Intel

  • Microsoft

  • Amazon

    • ARM

      • Google

        • MITRE

          • Red Hat

            • Xen

              • Mozilla

                • VMware

                  • AMD

                    0x02 漏洞信息

                    注: 本段文字中部分引用了相關(guān)安全公告,如有異議請(qǐng)聯(lián)系cert@#。

                    現(xiàn)代處理器(CPU)的運(yùn)作機(jī)制中存在兩個(gè)用于加速執(zhí)行的特性,推測(cè)執(zhí)行(Speculative Execution)和間接分支預(yù)測(cè)(Indirect Branch Prediction)。

                    表面上看,處理器是依次順序執(zhí)行既定的處理器指令。但是,現(xiàn)代處理器為了更好利用處理器資源,已經(jīng)開始啟用并行執(zhí)行,這個(gè)技術(shù)已經(jīng)應(yīng)用了20年左右(1995年開始)。假設(shè),基于猜測(cè)或概率的角度,在當(dāng)前的指令或分支還未執(zhí)行完成前就開始執(zhí)行可能會(huì)被執(zhí)行的指令或分支,會(huì)發(fā)生什么?如果猜對(duì)了,直接使用,CPU執(zhí)行加速了。如果猜測(cè)不正確,則取消操作并恢復(fù)到原來的現(xiàn)場(chǎng)(寄存器,內(nèi)存等),結(jié)果會(huì)被忽略。整個(gè)過程過程并不會(huì)比沒有猜測(cè)的時(shí)候慢,即CPU的推測(cè)執(zhí)行(Speculative Execution)技術(shù)。

                    不幸的是,盡管架構(gòu)狀態(tài)被回滾了,仍然有些副作用,比如TLB或緩存狀態(tài)并沒有被回滾。這些副作用隨后可以被黑客通過旁道攻擊(Side Channel Attack)的方式獲取到緩存的內(nèi)容。如果攻擊者能觸發(fā)推測(cè)執(zhí)行去訪問指定的敏感數(shù)據(jù)區(qū)域的話,就可能可以讀取到原本是其它用戶或更高特權(quán)級(jí)的敏感數(shù)據(jù)。

                    此外,猜測(cè)過程是可以被“污染”的,攻擊者可以構(gòu)造出類似ROP攻擊的邏輯去影響推測(cè)過程。根據(jù)作者提供的思路,主要有三種場(chǎng)景:

                    1. “邊界檢查繞過”:通過污染分支預(yù)測(cè),來繞過kernel或hypervisor的內(nèi)存對(duì)象邊界檢測(cè)。比如,攻擊者可以對(duì)高權(quán)級(jí)的代碼段,或虛擬環(huán)境中hypercall,通過構(gòu)造的惡意代碼來觸發(fā)有越界的數(shù)據(jù)下標(biāo),造成越界訪問。

                    2. “分支目標(biāo)注入”: 污染分支預(yù)測(cè)。抽象模型比較好的代碼往往帶有間接函數(shù)指針調(diào)用的情況,CPU在處理時(shí)需要會(huì)進(jìn)行必要的內(nèi)存訪問,這個(gè)過程有點(diǎn)慢,所以CPU會(huì)預(yù)測(cè)分支。攻擊者可以通過類似的ROP的方式來進(jìn)行信息泄露。

                    3. “流氓數(shù)據(jù)加載”:部分CPU上,為了速度并不是每次都對(duì)指令作權(quán)限檢查的,檢查的條件存在一定的缺陷;

                    實(shí)際攻擊場(chǎng)景中,攻擊者在一定條件下可以做到,

                    • 泄露出本地操作系統(tǒng)底層運(yùn)作信息,秘鑰信息等;

                    • 通過獲取泄露的信息,可以繞過內(nèi)核(Kernel), 虛擬機(jī)超級(jí)管理器(HyperVisor)的隔離防護(hù);

                    • 云服務(wù)中,可以泄露到其它租戶隱私信息;

                    • 通過瀏覽器泄露受害者的帳號(hào),密碼,內(nèi)容,郵箱, cookie等用戶隱私信息;

                    目前幾大系統(tǒng)廠商各自在操作系統(tǒng)內(nèi)核中引入了KPTI的技術(shù),旨在和用戶態(tài)的頁(yè)表隔離,這樣一來就可以解決"Meltdown"和"Spectre"漏洞問題。但根據(jù)相關(guān)的外部信息,這樣一來可能帶來5%到30%性能上的損失。 360安全團(tuán)隊(duì)會(huì)持續(xù)關(guān)注芯片廠商修復(fù)方案的出臺(tái)。

                    0x03 安全建議

                    "Meltdown"和"Spectre"漏洞修復(fù)流程相對(duì)復(fù)雜,可能會(huì)有部分軟件不兼容問題(如殺毒軟件等)。

                    360CERT建議相關(guān)企業(yè)/用戶務(wù)必作好相關(guān)的修復(fù)評(píng)估工作。

                    具體評(píng)估和修復(fù)工作,可以參考相關(guān)廠商的安全公告。

                    0x04 時(shí)間線

                    2018-01-04 Google的Jann Horn發(fā)布漏洞信息

                    2018-01-04 360安全團(tuán)隊(duì)發(fā)布預(yù)警通告

                    0x05 參考資料

                    極客網(wǎng)企業(yè)會(huì)員

                    免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。

                    2018-01-04
                    Meltdown與Spectre:近期CPU特性漏洞安全公告
                    0x00 事件描述2018年1月4日,Jann Horn等安全研究者披露了"Meltdown"(CVE-2017-5754)和"Spectre"(CVE-2017-5753 & CVE-2017-5715)兩組CPU特性漏洞。據(jù)悉,漏洞會(huì)造成CPU運(yùn)作機(jī)制上的信息泄露,低權(quán)級(jí)的攻擊者可以通過漏洞來遠(yuǎn)程泄露(瀏覽器形式)用戶信息或本地泄露更高權(quán)級(jí)的內(nèi)

                    長(zhǎng)按掃碼 閱讀全文