?
今天大寶seo博客轉載一篇來(lái)自百度安全(quan)指數在2018年1月9日發(fā)布的攻擊內容,標題為《Meltdown & Spectre 攻擊及緩解措施??(一)》,及緩解措正文部分如下:
1. 引言
最近Google Project Zero和一些獨立安全研究人員發(fā)現了CPU芯片硬件層面執行加速機制,攻擊也就是及緩解措亂序執行(out-of-orderexecution)和推測執行(speculative execut(′_`)ion),會(huì )引起CPU緩存的攻擊污染,從而攻擊者可以發(fā)起基于cache的及緩解措側信道攻擊偷取數據。目前主要涉及到兩種攻擊方法,攻擊分別為Meltdown [4] 和Spectre [5]。及緩解措Spectre涉及CVE編號CVE-2017-57??53和CVE-2017-5715,攻擊而Meltdown涉及CVEヽ(′ー`)ノ編號CVE-2017-5754。及緩解措
由于Meltdown和Spectre的攻擊攻擊是針對CPU硬件的缺陷進(jìn)行的攻擊,因此它們的及緩解措攻擊范圍特別廣,存在于各種操作系統和云平臺上。攻擊近20年的及緩解措CPU/(′?`*)OS/VMM基本都受影響,包括從(cong)云端到桌面到移動(dòng),攻擊對業(yè)界產(chǎn)生巨大沖擊。這一漏洞主要用于偷取隱私數據??,包括口令、證書(shū)和其他保密數據,甚至完整的內存鏡像。值得慶幸的是(shi)這些攻擊不能修改數據。影響范圍包括:
a、CPU 處理器: 近二十年的 Intel、AMD、ARM 等處理器都有影響,其中對 Intel?? 的處理器的影響尤為嚴重;
b、操作系統: Windows、Linux、 Android、iOS和macOS等;??
c、虛擬機管理器:KVM, Xen等。
本文主要關(guān)注Intel CPU Meltdown和Spectre在不同場(chǎng)景下的攻擊以及緩解措施,包括VMM和瀏覽器等場(chǎng)景。這些內容對AMD/ARM的攻防也有重要的借鑒價(jià)??值。這些漏洞雖然影響廣(╬?益?)泛,但利用復雜,限制也很大。一方面,由于防護措施都是有成本的,本文給防護方提供一個(gè)指南,可以根據自己的場(chǎng)景來(lái)選擇必要的防護措施;另一方面,我們希望通過(guò)本文,緩解目前被夸大的恐慌情緒,但本文也同時(shí)將指出一些沒(méi)有( ?▽?)被討論過(guò)的組合攻擊方式,這些攻擊將有比標準攻擊更加強大的威力。因此防護方不能掉以輕心,需要盡快部署相關(guān)防護措施。
2. 攻擊的場(chǎng)景
Meltdown [4] 和Spectre [5]具體有三個(gè)變種:
b、變種2 (V2) Spectre: 分支預測注入 (CVE-2017-5715)
c、變種3 (V3) Meltdown: 亂序執行的CPU緩存污染?? (CVE-2017-5754)
由于攻擊的影響涉及了大量的云平臺和操作系統,我們就不單獨羅列具體版本,而是針對最典型的場(chǎng)景來(lái)描述如何防御這些攻擊。
典型(′?`*)的攻擊場(chǎng)景
a、對虛擬機管理器 VMM 的攻擊(A1):攻擊者在 VMM 管理的一個(gè) VM 里 面,該攻擊者(zhe)完全的控制這個(gè) VM,比如擁(?⊿?)有這個(gè)VM kernel級別的權限,可以直接與VMM進(jìn)行交互。攻擊(′▽?zhuān)?)者通過(guò)利用這些漏洞,可以獲取VMM的敏感數據,或者獲取同一物理主機下的其他ヽ(′ー`)ノVM內的數據;
b、對操作系統內核的攻擊(A2):攻擊者是用戶(hù)空間的一個(gè)應用程序,擁有任意的代碼執行能力。攻擊者通過(guò)利用這些漏洞,可以獲取??內核內的敏感數據,甚至包括內核緩沖區的文件或者網(wǎng)絡(luò )數據(ju);
瀏覽器對操作系統內核的攻擊(A2w):攻擊者只能通過(guò)網(wǎng)站頁(yè)面影響瀏覽器發(fā)起??攻擊,可以通(tong)過(guò)javascript,或者web assembly等機制;
瀏覽器對用戶(hù)空間其他用戶(hù)數據的攻擊(A3w):攻擊者只能通過(guò)網(wǎng)站頁(yè)面影響瀏覽器發(fā)起攻擊,可以通過(guò)javascript,或者web assembly等機制。
V3c組合攻擊
原始的V3攻擊,將會(huì )產(chǎn)生page fault,可以被kernel感知到,從而可以通過(guò)host intrusion detectionsystem (HIDS)進(jìn)行探測。傳統上,可以通過(guò)Intel TransactionalSynchronization Extensions (TSX)來(lái)截獲異常,避免產(chǎn)生kernel異常。然而由于TSX歷史上的bug,很多云端服務(wù)器并不開(kāi)啟TSX,導致該方法并不普適ヽ(′ー`)ノ。
我們經(jīng)過(guò)實(shí)驗后發(fā)??現,可以將V3攻擊置于V1/V2的預測執行路徑上,由于這是預測執行,所以不會(huì )觸發(fā)內核異常,但該預測執行依然會(huì )觸發(fā)cache加載操作。??即V1/V2->V3的這種攻擊方式,可以完成V3攻擊,但不會(huì )觸發(fā)ke??rnel能感知的頁(yè)面異常,我們稱(chēng)之為V3c組合攻擊。V3c組合攻擊的發(fā)現意味著(zhù)A2攻擊ヾ(?■_■)ノ場(chǎng)景下,要抵抗V3攻擊,必須要打內核補丁。
3. 攻擊的防御與緩解
針對上面的攻??擊場(chǎng)景,我們把所有可行的解決方案歸納總結到表1里面。其中在云平臺上面,升級CPU微碼需要VMM的協(xié)助,用戶(hù)在自己的VM里面無(wú)法完成,除非VMM特別開(kāi)放了這個(gè)功能。
表1:對(dui)虛擬機監控器和操作系統內核的攻擊評估和防御方法?!安荒?”指的是攻擊者無(wú)法直接攻擊其他進(jìn)程,但是攻擊者可以攻擊內核獲取數據來(lái)間接攻擊(這個(gè)是A2)。
防護措施都是有成本的,防護方可以根據自己的場(chǎng)景來(lái)選擇必要的防護措施。
公有云??VMM的運營(yíng)者,應該保障VMM不受惡意攻擊,即A1層面的防護是必須要做到的,特別是V2攻(′▽?zhuān)?擊。使用Xen的廠(chǎng)商也要關(guān)注V3攻擊的防御。
云上租戶(hù)可以根據自己的需求進(jìn)行防護。由于A(yíng)2.V3防護的KPTI補丁有較為明顯的性能損耗,所以如果云上租戶(hù)在同一個(gè)VM內部沒(méi)有數??據敏感級別??區隔,而且對性能要求較高,那么可以繼續使用原始內核。如果云上租戶(hù)在同一個(gè)VM內部有多級數據敏感區隔,而且可執行代碼不固定,并能接受額外的性能損耗,那么推薦使用(?Д?)打了安全補丁的內核。
對于普通PC用戶(hù),最大的( ???)威脅來(lái)自于瀏覽器訪(fǎng)問(wèn)惡意網(wǎng)??址以及感染上惡意代碼。這些防護與傳統PC安全沒(méi)有太大的區別,??及時(shí)升級即可。
了解跟多:https://mp.weixin.qq.com/s/Bdc58fRJO4nFzCHnO5WIYQ