歡迎您來到潮人地東莞seo博客,本站專業免費分享多元化的seo網站優化技術干貨以及解答seo各種常見問題的博客網站

熱門關鍵詞: seo優化 seo推廣 seo技術 seo博客 seo網站推廣怎么做 seo怎么做 新手做seo怎么做
當前位置:seo博客首頁 > seo網站優化 >

seo推廣技巧之:Meltdown & Spectre 攻擊及緩解措施(二)

發布時間:2023-04-09 07:00:01 文章出處:潮人地東莞seo博客 作者:東莞seo博客 閱讀數量:

潮人地東莞seo博客小編下面跟大家分享關于seo推廣技巧之:Meltdown & Spectre 攻擊及緩解措施(二)等問題,希望seo專員在做seo優化的過程中有所幫助,內容僅供參考。

之前潮人地東莞seo博客和朋友們分享的是Meltdown & Spectre 攻擊及緩解措施(一),今天的再和朋友們分享一下Meltdown & Spectre 攻擊及緩解措施(二),這篇內容也是由百度安全指數平臺在2018年1月9日發布的,正文部分如下:

4. 攻擊能力分析

a、Spectre攻擊

seo博客相關推薦閱讀:seo入門:SEO主要優化那幾種內容呢?

Spectre攻擊有兩個變種,V1可以用于繞過內存訪問的邊界檢查,V2可以通過分支預測注入(對CPU分值預測機制的干擾)來執行代碼。

到2018年為止,幾乎所有的計算機系統都收到Spectre攻擊的影響,包括幾乎所有的服務器、桌面電腦、筆記本和移動設備。特別的是,Spectre不僅影響Intel,還影響AMD和基于ARM的處理器 [8, 2]。Intel通過官方聲明對Spectre攻擊進行了回應。AMD則回應稱,由于AMD處理器結構的不同 [1],V2攻擊對AMD處理器幾乎是不可能的。

BoundsCheck Bypass – V1

V1攻擊可以用于繞過內存訪問的邊界檢查,核心是利用了推測執行可以執行條件分支語句之后的指令這一性質。攻擊者可以利用V1攻擊來執行特定的代碼片段(gadget),獲取其無權限獲取的內存空間的內容。一個可被用于V1攻擊的代碼片段例子如:

seo推廣技巧之:Meltdown & Spectre 攻擊及緩解措施(二)

圖1:可以被V1利用的典型代碼片段(gadget)。注意這里的x必須為攻擊者能夠影響,否則這個代碼不可以被利用發起攻擊。

這種方法惡意的利用了CPU的推測執行功能,在CPU做分支判斷期間(數十個CPU cycle內)在推測執行模式下執行if語句塊內的部分。在V1攻擊中,攻擊者在推測執行的分支中惡意執行一個越界內存訪問。雖然推測執行模式下的內存訪問不會被最后真實執行,但是其訪問的信息很有可能會被攻擊者用其他的方法感知(例如使用基于時間的側信道攻擊)。此外,感知泄露到的內存內容還可以用于構造控制流劫持的exploit。

BranchTarget Injection – V2

V2攻擊主要利用分支預測機制進行攻擊。其主要思路利用網站推廣丶樂云seoCPU內部的間接跳轉預測器(Indirect branch predictor),在推測執行模式下執行特定代碼片段。攻擊者可以通過許多方法影響甚至控制間接跳轉預測器的行為,使得間接跳轉預測器會預測執行攻擊者指定位置的代碼,從而在推測執行下執行攻擊者想要的代碼片段。條件跳轉指令可以分成兩種:條件直接跳轉和條件間接跳轉。條件直接跳轉很難被用于V2攻擊,因為其跳轉的目標位置代碼通常是不可控的。條件間接跳轉可以被用于V2攻擊,因為其跳轉的目標地址有可能被攻擊者控制。攻擊者通過控制條件間接跳轉的目標位置,或是其目標位置的代碼,使得跳轉目標處的指令片段對于隱私數據(例如密鑰、token等)有相當強的side-effect,再使用側信道感知推測執行模式下產生的side-effect來推測隱私數據(密鑰、token),從而完成攻擊。由于不同的CPU的間接跳轉預測器原理不同,因此對CPU的間接跳轉預測器進行干擾、注入的方法也各不相同。此外,超線程模式下,跑在同一個CPU核心上的兩個線程和間接跳轉預測器之間也有相當復雜的關系,也有可能參與到V2攻擊中。

關于ASLR

為了完成攻擊,攻擊者需要在污染指令的虛擬地址(Virtual Address)上與被攻擊目標的虛擬地址滿足一定的約束,從而污染目標的預測分支。因此,理論上如果有完善的地址空間隨機化(ASLR),那么攻擊者很難有效的完成攻擊。但是由于現有ASLR機制經常有信息泄露,因此攻擊者在對目標系統進行充分研究后,往往有機會構造出成功的漏洞利用代碼。為了進行有效的防護,往往需要更細粒度、更安全的ASLR防護。

關于預測執行中的內存加載時延

預測執行的時間是有限的,比如V1只有數十個CPU Cycle。而攻擊目標的內存數據如果不在cache里,很有可能從DRAM中加載目標數據就不止數十個CPU Cycle,從而無法在時間限制內完成完整的攻擊流程。

針對這種情況,攻擊者可能可以簡單的發起多次攻擊。前次攻擊雖然無法完成完整的攻擊流程,但會將目標內存數據加載進Cache,從而使得后繼的攻擊不用再阻塞在內存加載上。但是這個可能性還未被確認成功,現有的PoC也無法對任意內核地址進行攻擊以獲得成功。

b、Meltdown攻擊 – V3

V3攻擊可以被用于從用戶態讀取內核態數據。通常來說,如果用戶態程序直接訪問內核的內存區域會直接產生一個頁錯誤(由于頁表權限限制)。然而,在特定條件下,攻擊者可以利用推測執行機制來間接獲取內核內存區域的內容。例如,在某些實現中,推測執行的指令序列會將緩存在L1 Cache中的數據傳遞給隨后的指令進行操作(并影響Cache狀態)。這會導致用戶態程序能通過Cache側信道的方式推測得到內核態數據。需要注意的是該攻擊只限于已被內核分配頁表的內存(在頁表里被標為supervisor-only),被標為not present的內存區域是不能被攻擊的。

Meltdown漏洞主要影響Intel處理器,而對AMD處理器幾乎無效。Intel聲明該缺陷幾乎影響其發售的所有處理器,AMD則聲稱其處理器并不存在此缺陷 [7]。ARM聲稱主流的ARM處理器不受該漏洞影響,并發布了一份受影響的處理器列表。然而ARM的Cortex-A75處理器直接受Meltdown漏洞影響,同時Cortex-A57、Cortex-A72受到Meltdown貴州seo推廣優化漏洞變種的影響 [7]。同時,Raspberry Pi平臺不受所有Meltdown和Spectre漏洞的影響。

seo推廣技巧之:Meltdown & Spectre 攻擊及緩解措施(二)

圖2:典型的Meltdown攻擊代碼樣例。

c、瀏覽器攻擊

在瀏覽器中,可以通過JavaScript或者WebAssembly進行攻擊代碼構造。但是這樣的攻擊面臨著幾個嚴重的限制。

首先是ASLR,V1/V2攻擊需要對可執行代碼的地址做精確控制,而現代瀏覽器都部署了地址隨機化。由于BTB碰撞只依賴于虛擬地址的低bit位,所以理論上攻擊者依然有機會通過大內存段堆風水操作以及多次嘗試來實現攻擊,但在瀏覽器環境下,目前尚沒有高效的攻擊方法出現。

已有的JavaScript V1攻擊,充分利用了同一個瀏覽器內部的相對地址固定的前提,完成了瀏覽器內部的跨站數據獲取。但是對于V1攻擊,要有可控的index來操縱越界讀,在PoC中可以直接傳輸。但對于現實場景下,尋找到可用的目標腳本片段也是一個很大的挑戰。

對于V3攻擊,由于JavaScript引擎會檢查數組越界,所以無法直接發起V3攻擊。但是可以結合V1攻擊,形成V3c組合攻擊。但是這依然受限于ASLR。要發起有意義的攻擊,需要結合其他的安全漏洞獲取地址泄露信息,或者做長時間大范圍的內存掃描。此外,由于JavaScript的Array index類型長度是一個32bit整數 [11],所以很難在64bit系統上有效的指向kernel內存區域。Web Assembly會提供比JavaScript更合適的攻擊環境,但單獨的攻擊實戰意義依然有限。

5. 緩解方案

邊界檢查繞過的緩解 – V1的緩解

V1攻擊高度依賴于特殊的代碼片段(gadget)。因此,簡單有效的軟件解決方案就是插入一個barrier來阻止推測運行機制在這段特殊代碼里面執行。Barrier可以選用LFENCE指令。MFENCE同樣可以,不過它的性能損失比LFENCE大。

seo推廣技巧之:Meltdown & Spectre 攻擊及緩解措施(二)

圖3:加入LFENCE指令在判斷語句之后,防止后面的代碼執行推測運行機制。

對于Linux系統,禁用eBPF機制可以阻斷現有PoC攻擊,使得攻擊者無法通過eBPF接口注入V1 gadget到內核空間,從而顯著提升exploit的構造難度。Intel的一個分析報告 [3]指出,可以作為V1攻擊的代碼片段在Linux內核中很少。這樣使得攻擊者發起V1攻擊的可行性降低。

跳轉目標注入攻擊的緩解 – V2的緩解

對于跳轉目標注入攻擊,有兩個可行的緩解方案。

RSB 填充 + BTB 刷新。這是一個純軟件解決方案。其核心思想就是對跳轉目標的buffer, 即RSB和BTB進行清理,使得攻擊者注入的跳轉目標不再有效。因為RSB是一個32個槽的循環buffer,因此只需要32個虛假的call指令就可以把整個RSB清理一遍(實例代碼如圖4所示)。BTB的槽從1K到16K不等,而且從虛擬地址到BTB索引的映射函數f(x)還不公開,因此要清除BTB,需要首先使用逆向工程方法找到f(x),然后根據f(x)找到1k到16K的虛擬地址來對應每個BTB的槽。最后發起1K到16K個虛假的call/jmp把所有BTB的槽清空(實例代碼如圖5所示)。需要指出,該方案的性能overhead很大。

seo推廣技巧之:Meltdown & Spectre 攻擊及緩解措施(二)

圖4:RSB Padding。32個虛假call來清空RSB。

seo推廣技巧之:Meltdown & Spectre 攻擊及緩解措施(二)

圖5:BTB Flushing。使用1K或16K跳轉來清空BTB。

微碼升級 + 系統軟件(VMM/kernel)補丁.這個緩解方案需要CPU微碼升級和系統軟件(VMM/kernel)更新。CPU微碼的升級提供了三個新的接口給系統軟件:

a、Indirect Branch Restricted Speculation (IBRS)。當IBRS被設置上時,高優先級代碼不會使用低優先級的跳轉地址。比如VMM不會seo網上推廣系統使用任何VM提供的地址,kernel也不會使用任何用戶進程提供的地址。

b、Single Thread Indirect Branch Predictors (STIBP)。當STIBP被設置上時,同一物理CPU上的兩個HyperThreading邏輯內核直接的跳轉地址不再共享。

c、Indirect Branch Predictor Barrier (IBPB)。當IBPB被設置時,之前的跳轉地址不會影響之后的跳轉預測。這個功能一般用于從高優先級到低優先級切換上下文的時候。比如VMM回到VM或kernel回到用戶空間。

這三個功能是否支持可以用CPUID加ax=0x7來檢測。返回結果中rdx的第26位表明這三個新功能是否支持。對系統軟件(VMM/kernel)的更新,各個操作系統已經發布了相關的補丁。

如果無法得到微碼升級,可以考慮使用Retpoline指令替換技術 [10] 進行防御,替換掉容易被V2攻擊的間接跳轉和間接調用指令。

此外,類似于V1,Linux下關閉eBPF也可以有效的提升V2攻擊的難度。

Meltdown攻擊的緩解措施 – V3的緩解

抵御Meltdown攻擊最有效的方式就是KAISER/KPTI。KAISER/KPTI方案中要求操作系統維護兩個頁表,一個頁表給用戶程序使用,一個給kernel自己使用。并且確保程序所使用的頁表不會映射高優先級的頁面,即不會映射kernel的頁面。KAISER/KPTI方案最早提出時是為了側信道攻擊對內核地址隨機化(KASLR)的影響。該方案恰巧也可以用來抵御Meltdown攻擊。

兩個頁表的切換,會導致CR3的重新加載,從而引起TLB刷新,進而降低內存的訪問速度。如果某些應用場景需要大量的內核和用戶空間切換(兩個頁表之間的切換),會造成較高的性能開銷。為了降低這些性能開銷,kernel需要使用充分的利用PCID特性,把TLB的刷新降低。

了解跟多:https://mp.weixin.qq.com/s/Bdc58fRJO4nFzCHnO5WIYQ

以上是潮人地東莞seo博客跟大家分享關于seo推廣技巧之:Meltdown & Spectre 攻擊及緩解措施(二)等問題,希望能對大家有所幫助,若有不足之處,請諒解,我們大家可以一起討論關于網站seo優化排名的技巧,一起學習,以上內容僅供參考。

閱讀全文
本文標題"seo推廣技巧之:Meltdown & Spectre 攻擊及緩解措施(二)":http://www.420113.com/wzyh_12625.html
本文版權歸潮人地seo博客所有,歡迎轉載,但未經作者同意必須在文章頁面給出原文連接,否則保留追究法律責任的權利。
標簽:
標簽列表
合作伙伴
主站蜘蛛池模板: 亚洲精品无码国产| 少妇中文无码高清| 亚洲VA成无码人在线观看天堂| 自拍偷在线精品自拍偷无码专区| 一本色道无码道在线观看| 亚洲成av人无码亚洲成av人 | 无码av免费毛片一区二区| 狠狠精品干练久久久无码中文字幕| 手机在线观看?v无码片| 日木av无码专区亚洲av毛片| HEYZO无码综合国产精品227| 无码aⅴ精品一区二区三区浪潮| 免费无码黄十八禁网站在线观看| 人妻AV中出无码内射| 亚洲色无码国产精品网站可下载| 无码专区国产精品视频| 午夜爽喷水无码成人18禁三级| 亚洲一区爱区精品无码| 亚洲AV无码乱码在线观看性色扶| 久久久久久亚洲Av无码精品专口| 亚洲Av无码乱码在线观看性色| 亚洲午夜无码久久久久小说 | 国产亚洲?V无码?V男人的天堂| 精品欧洲av无码一区二区14| 夜夜添无码一区二区三区| 久久久久无码专区亚洲av| 无码av中文一区二区三区桃花岛| 久久精品中文无码资源站| 日韩人妻无码精品久久久不卡| 亚洲日韩乱码中文无码蜜桃臀网站 | 高清无码一区二区在线观看吞精 | 99久久无码一区人妻a黑| 亚洲AV无码国产丝袜在线观看| 亚洲成?Ⅴ人在线观看无码| 精品无码成人久久久久久| 日韩人妻无码免费视频一区二区三区| 精品亚洲AV无码一区二区三区| 亚洲Av无码专区国产乱码DVD| 国产色无码专区在线观看| 亚洲熟妇无码另类久久久| 亚洲爆乳无码一区二区三区|