丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
政企安全 正文
發(fā)私信給又田
發(fā)送

0

解讀CPU漏洞:熔斷和幽靈

本文作者: 又田 2018-01-08 15:08
導(dǎo)語:1月4日,國外安全研究機(jī)構(gòu)公布了兩組CPU漏洞,由于漏洞嚴(yán)重而且影響范圍廣泛,引起了全球的關(guān)注。

1月4日,國外安全研究機(jī)構(gòu)公布了兩組CPU漏洞,由于漏洞嚴(yán)重而且影響范圍廣泛,引起了全球的關(guān)注。

Meltdown(熔斷),應(yīng)對(duì)漏洞CVE-2017-5754;

Spectre(幽靈),對(duì)應(yīng)漏洞CVE-2017-5753/CVE-2017-5715。

利用Meltdown漏洞,低權(quán)限用戶可以訪問內(nèi)核的內(nèi)容,獲取本地操作系統(tǒng)底層的信息;當(dāng)用戶通過瀏覽器訪問了包含Spectre惡意利用程序的網(wǎng)站時(shí),用戶的如帳號(hào),密碼,郵箱等個(gè)人隱私信息可能會(huì)被泄漏;在云服務(wù)場(chǎng)景中,利用Spectre可以突破用戶間的隔離,竊取其他用戶的數(shù)據(jù)。

Meltdown漏洞影響幾乎所有的Intel CPU和部分ARM CPU,而Spectre則影響所有的Intel CPU和AMD CPU,以及主流的ARM CPU。從個(gè)人電腦、服務(wù)器、云計(jì)算機(jī)服務(wù)器到移動(dòng)端的智能手機(jī),都受到這兩組硬件漏洞的影響。

解讀CPU漏洞:熔斷和幽靈

這兩組漏洞來源于芯片廠商為了提高CPU性能而引入的新特性?,F(xiàn)代CPU為了提高處理性能,會(huì)采用亂序執(zhí)行(Out-of-Order Execution)和預(yù)測(cè)執(zhí)行(Speculative Prediction)。亂序執(zhí)行是指CPU并不是嚴(yán)格按照指令的順序串行執(zhí)行,而是根據(jù)相關(guān)性對(duì)指令進(jìn)行分組并行執(zhí)行,最后匯總處理各組指令執(zhí)行的結(jié)果。預(yù)測(cè)執(zhí)行是CPU根據(jù)當(dāng)前掌握的信息預(yù)測(cè)某個(gè)條件判斷的結(jié)果,然后選擇對(duì)應(yīng)的分支提前執(zhí)行。

亂序執(zhí)行和預(yù)測(cè)執(zhí)行在遇到異?;虬l(fā)現(xiàn)分支預(yù)測(cè)錯(cuò)誤時(shí),CPU會(huì)丟棄之前執(zhí)行的結(jié)果,將 CPU的狀態(tài)恢復(fù)到亂序執(zhí)行或預(yù)測(cè)執(zhí)行前的正確狀態(tài),然后選擇對(duì)應(yīng)正確的指令繼續(xù)執(zhí)行。這種異常處理機(jī)制保證了程序能夠正確的執(zhí)行,但是問題在于,CPU恢復(fù)狀態(tài)時(shí)并不會(huì)恢復(fù)CPU緩存的內(nèi)容,而這兩組漏洞正是利用了這一設(shè)計(jì)上的缺陷進(jìn)行測(cè)信道攻擊。

 漏洞原理解析

Meltdown漏洞原理

亂序執(zhí)行可以簡(jiǎn)單的分為三個(gè)階段,如下圖所示:

解讀CPU漏洞:熔斷和幽靈


每個(gè)階段執(zhí)行的操作如下:

1)獲取指令,解碼后存放到執(zhí)行緩沖區(qū)Reservations Stations

2)亂序執(zhí)行指令,結(jié)果保存在一個(gè)結(jié)果序列中

3)退休期Retired Circle,重新排列結(jié)果序列及安全檢查(如地址訪問的權(quán)限檢查),提交結(jié)果到寄存器

結(jié)合Meltdown利用的代碼片段來看:

解讀CPU漏洞:熔斷和幽靈

Meltdown漏洞的利用過程有4個(gè)步驟:

1)    指令獲取解碼

2)    亂序執(zhí)行3條指令,指令2和指令3要等指令1中的讀取內(nèi)存地址的內(nèi)容完成后才開始執(zhí)行,指令3會(huì)將要訪問的rbx數(shù)組元素所在的頁加載到CPU Cache中。

3)    對(duì)2)的結(jié)果進(jìn)行重新排列,對(duì)1-3條指令進(jìn)行安全檢測(cè),發(fā)現(xiàn)訪問違例,會(huì)丟棄當(dāng)前執(zhí)行的所有結(jié)果,恢復(fù)CPU狀態(tài)到亂序執(zhí)行之前的狀態(tài),但是并不會(huì)恢復(fù)CPU Cache的狀態(tài)

4)    通過緩存測(cè)信道攻擊,可以知道哪一個(gè)數(shù)組元素被訪問過,也即對(duì)應(yīng)的內(nèi)存頁存放在CPU Cache中,從而推測(cè)出內(nèi)核地址的內(nèi)容

Spectre漏洞原理

與Meltdown類似,Spectre的原理是,當(dāng)CPU發(fā)現(xiàn)分支預(yù)測(cè)錯(cuò)誤時(shí)會(huì)丟棄分支執(zhí)行的結(jié)果,恢復(fù)CPU的狀態(tài),但是不會(huì)恢復(fù)CPU Cache的狀態(tài),利用這一點(diǎn)可以突破進(jìn)程間的訪問限制(如瀏覽器沙箱)獲取其他進(jìn)程的數(shù)據(jù)。

Spectre的利用代碼片段:

解讀CPU漏洞:熔斷和幽靈

具體攻擊過程可以分為三個(gè)階段:

1)訓(xùn)練CPU的分支預(yù)測(cè)單元使其在運(yùn)行利用代碼時(shí)會(huì)進(jìn)行特定的預(yù)測(cè)執(zhí)行

2)預(yù)測(cè)執(zhí)行使得CPU將要訪問的地址的內(nèi)容讀取到CPU Cache中

3) 通過緩存測(cè)信道攻擊,可以知道哪一個(gè)數(shù)組元素被訪問過,也即對(duì)應(yīng)的內(nèi)存頁存放在CPU Cache中,從而推測(cè)出地址的內(nèi)容。

 漏洞驗(yàn)證

目前開源社區(qū)github已經(jīng)放出來了漏洞的驗(yàn)證代碼(PoC),如下:

https://github.com/Eugnis/spectre-attack

https://github.com/feruxmax/meltdown

https://github.com/gkaindl/meltdown-poc

https://github.com/turbo/KPTI-PoC-Collection

經(jīng)過我們和其他安全研究人員實(shí)際驗(yàn)證,漏洞可在Windows、Linux、Mac-OS等操作系統(tǒng)下,成功讀取任意指定內(nèi)存地址的內(nèi)容,如下圖所示:

Windows:

解讀CPU漏洞:熔斷和幽靈

Ubuntu 16.04:

解讀CPU漏洞:熔斷和幽靈

解讀CPU漏洞:熔斷和幽靈

此外,有安全研究人員驗(yàn)證了可以通過漏洞獲取到用戶正在輸入的密碼,不過暫未放出相關(guān)代碼。如下圖所示:

解讀CPU漏洞:熔斷和幽靈

漏洞修復(fù)進(jìn)展

針對(duì)這兩組漏洞,各家芯片廠商,操作系統(tǒng)廠商,瀏覽器廠商,以及云服務(wù)廠商,都積極采取措施,發(fā)布安全公告,并及時(shí)推出緩解措施和修復(fù)補(bǔ)丁。

芯片廠商

1. Intel

Intel已經(jīng)確認(rèn)自身CPU中存在相關(guān)問題,并正與包括AMD、ARM和多家操作系統(tǒng)廠商在內(nèi)的許多其他科技公司緊密合作,制定行業(yè)范圍的方法,以便及時(shí)和建設(shè)性地解決這些漏洞。另外Intel認(rèn)為有些媒體里面的報(bào)道并不準(zhǔn)確,這些問題不僅僅Intel,其他廠商的CPU中也存在相關(guān)問題。這些問題的修復(fù)對(duì)性能的影響和具體的工作場(chǎng)景相關(guān),對(duì)一般用戶而言,影響并不顯著,而且隨著時(shí)間的推移這些影響都會(huì)得到緩解。

Intel已經(jīng)提供軟件和固件更新以解決這些漏洞,預(yù)計(jì)下周末之前會(huì)修復(fù)最近5年中90%的CPU。Intel的安全公告如下:

https://security-center.intel.com/advisory.aspx?intelid=INTEL-SA-00088&languageid=en-fr

https://newsroom.intel.com/news/intel-responds-to-security-research-findings/

https://newsroom.intel.com/news-releases/intel-issues-updates-protect-systems-security-exploits/

https://www.intel.com/content/www/us/en/architecture-and-technology/facts-about-side-channel-analysis-and-intel-products.html

2. ARM

ARM確認(rèn)大部分處理器不受漏洞影響,但給出了一個(gè)受影響的處理器列表。ARM認(rèn)為,利用這些漏洞進(jìn)行攻擊需要在本地運(yùn)行惡意軟件,用戶及時(shí)更新軟件和不點(diǎn)擊來歷不明的鏈接會(huì)降低攻擊風(fēng)險(xiǎn)。針對(duì)linux上的程序,ARM提供了新編譯器,可用新編譯器重新編譯。另外發(fā)布了Linux ARM內(nèi)核補(bǔ)丁,用于修補(bǔ)漏洞,相關(guān)頁面如下:

https://developer.arm.com/support/security-update/download-the-whitepaper

https://developer.arm.com/support/security-update

3. AMD

AMD針對(duì)每個(gè)漏洞做了回復(fù),第一個(gè)漏洞由軟件、操作系統(tǒng)廠商發(fā)布補(bǔ)丁解決,性能影響非常輕微,其他兩個(gè)漏洞由于AMD CPU特殊的架構(gòu),都不受影響。具體如下:

https://www.amd.com/en/corporate/speculative-execution

操作系統(tǒng)

1. Windows

微軟已經(jīng)發(fā)布了安全通告,修復(fù)了IE、Edge、Windows內(nèi)核中相關(guān)問題,并針對(duì)普通用戶、服務(wù)器用戶、云用戶各自給出了防護(hù)指南。

微軟普通用戶:https://support.microsoft.com/help/4073119

服務(wù)器用戶:https://support.microsoft.com/help/4072698

云用戶:https://support.microsoft.com/help/4073235

微軟安全通告:https://support.microsoft.com/en-us/help/4073235/cloud-protections-speculative-execution-side-channel-vulnerabilities

2. Linux

Linux內(nèi)核開發(fā)者Thomas Gleixner在2017年12月在Linux內(nèi)核郵件列表中就新的KAISER隔離補(bǔ)丁發(fā)布了說明。目前有人懷疑這批補(bǔ)丁可能正是為了解決Linux系統(tǒng)當(dāng)中的Metldown與Spectre 漏洞。具體如下:

https://lkml.org/lkml/2017/12/4/709

3. RedHat

紅帽公司已經(jīng)發(fā)布一項(xiàng)建議,其中列出受到影響的產(chǎn)品及其當(dāng)前狀態(tài)。建議內(nèi)容表明:對(duì)于正在運(yùn)行受影響版本產(chǎn)品的紅帽客戶,強(qiáng)烈建議用戶盡快根據(jù)指導(dǎo)清單進(jìn)行更新。所有受影響產(chǎn)品都應(yīng)安裝修復(fù)補(bǔ)丁,借以緩解CVE-2017-5753 (變種1)與 CVE-2017-5754 (變種3)漏洞。CVE-2017-5715 (變種2)可通過本地以及虛擬訪客邊界兩種方式被加以利用。具體如下:

https://access.redhat.com/security/vulnerabilities/speculativeexecution?sc_cid=701f2000000tsLNAAY&

4. 安卓

Android團(tuán)隊(duì)于2018年1月更新了安全通告:CVE-2017-5715、CVE-2017-5753以及CVE-2017-5754為已經(jīng)得到公開披露的一系列與處理器內(nèi)推測(cè)執(zhí)行相關(guān)的漏洞。Android尚未發(fā)現(xiàn)任何在基于ARM的Android設(shè)備之上重現(xiàn)上述漏洞以進(jìn)行的未授權(quán)信息泄露行為。為了提供額外的保護(hù)措施,本公告當(dāng)中包含的CVE-2017-13218更新減少了對(duì)高精度定時(shí)器的訪問,旨在限制旁路攻擊(例如CVE-2017-5715、CVE-2017-5753以及CVE-2017-5754)所有已知變種對(duì)ARM處理器的影響。具體如下:

https://source.android.com/security/bulletin/2018-01-01

瀏覽器

利用漏洞在瀏覽器中進(jìn)行攻擊依賴于新特性SharedArrayBuffer和用于高精度時(shí)間計(jì)算的函數(shù)performance.now。各個(gè)瀏覽器表示都采取了以下兩個(gè)緩解措施:

l  移除瀏覽器中可用于攻擊的SharedArrayBuffer特性

l  降低用于高精度時(shí)間計(jì)算的函數(shù)performance.now的精確性

加上這兩個(gè)緩解措施后,JS版本的漏洞PoC代碼將無法觸發(fā):

解讀CPU漏洞:熔斷和幽靈

1. Microsoft Edge

微軟已經(jīng)發(fā)布了瀏覽器補(bǔ)丁:

https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/ADV180002

2. FireFox

Mozilla從FireFox 57版本開始采取了這兩個(gè)緩解措施:

https://blog.mozilla.org/security/2018/01/03/mitigations-landing-new-class-timing-attack/

3. Chrome

谷歌從Chrome 64版本開始采取了這兩個(gè)緩解措施:

https://security.googleblog.com/2018/01/todays-cpu-vulnerability-what-you-need.html 

云服務(wù)廠商

1. Amazon

Amazon方面已經(jīng)發(fā)布一項(xiàng)安全公告,指出:此項(xiàng)安全漏洞廣泛存在于過去20年推出的英特爾、AMD以及ARM等各類現(xiàn)代處理器架構(gòu)當(dāng)中,影響范圍涵蓋服務(wù)器、臺(tái)式機(jī)以及移動(dòng)設(shè)備。Amazon EC2體系中除極少數(shù)實(shí)例外,其余皆受到嚴(yán)格保護(hù)。剩余部分的修復(fù)工作將在接下來數(shù)小時(shí)內(nèi)完成,并附有相關(guān)實(shí)例維護(hù)通知。雖然AWS所執(zhí)行的更新能夠切實(shí)保護(hù)底層基礎(chǔ)設(shè)施,但為了充分解決此次問題,客戶還應(yīng)對(duì)實(shí)例中的操作系統(tǒng)進(jìn)行修復(fù)。目前Amazon Linux更新已經(jīng)開始發(fā)布,具體如下:

https://aws.amazon.com/security/security-bulletins/AWS-2018-013/

2. 阿里云

為解決處理器芯片的安全問題,阿里云將在北京時(shí)間2018年1月12日凌晨1點(diǎn)進(jìn)行虛擬化底層的升級(jí)更新。屆時(shí),阿里云將采用熱升級(jí)的方式,絕大多數(shù)客戶不會(huì)受到影響。但個(gè)別客戶可能需要手動(dòng)重啟,阿里云建議客戶提前準(zhǔn)備運(yùn)營(yíng)預(yù)案及數(shù)據(jù)備份。

3. 騰訊云

騰訊云將于北京時(shí)間2018年1月10日凌晨01:00-05:00通過熱升級(jí)技術(shù)對(duì)硬件平臺(tái)和虛擬化平臺(tái)進(jìn)行后端修復(fù),期間客戶業(yè)務(wù)不會(huì)受到影響。對(duì)于極少量不支持熱升級(jí)方式的,騰訊云另行安排時(shí)間手動(dòng)重啟修復(fù)。

 漏洞修復(fù)存在的問題

由于漏洞是芯片底層設(shè)計(jì)上的缺陷導(dǎo)致的,修復(fù)起來會(huì)非常復(fù)雜,同時(shí)難以完美修復(fù)。從目前的情況來看,漏洞很難通過CPU微碼修復(fù),更多是依賴于OS級(jí)的修復(fù)程序。

修復(fù)程序本身也存在諸多問題。以Windows 10為例,微軟于北京時(shí)間1月4號(hào)凌晨緊急發(fā)布了1月份系統(tǒng)安全更新,但補(bǔ)丁存在明顯的性能和兼容性的問題:

更新可能會(huì)讓受影響的系統(tǒng)性能下滑30%

更新可能會(huì)導(dǎo)致部分軟件(安全軟件等)不兼容從而系統(tǒng)藍(lán)屏

出于兼容性考慮,Windows Update并不會(huì)在所有的電腦環(huán)境中進(jìn)行自動(dòng)更新,而是在其認(rèn)為軟件比較兼容的情況下 才會(huì)進(jìn)行自動(dòng)更新。另外,對(duì)于有需要更新的用戶,可以通過下載微軟相關(guān)補(bǔ)丁包,進(jìn)行手動(dòng)運(yùn)行修復(fù)安全威脅。

根據(jù)我們的實(shí)際測(cè)試,性能問題對(duì)于普通用戶來說,影響并不大:只有在極端的測(cè)試下,才會(huì)出現(xiàn)明顯的性能問題;而正常的使用過程中一般不會(huì)出現(xiàn)。但是兼容性問題確實(shí)比較嚴(yán)重:在有安全軟件,以及一些游戲的電腦上,安裝補(bǔ)丁比較容易出現(xiàn)藍(lán)屏現(xiàn)象。這也使得我們和其他安全廠商采取了比較保守的策略,暫時(shí)不主動(dòng)推送微軟的補(bǔ)丁,避免造成用戶電腦無法正常使用。

漏洞對(duì)普通用戶的影響

雖然漏洞影響范圍廣泛,并引起全球關(guān)注,但受影響最大的主要是云服務(wù)廠商,對(duì)于普通用戶來說,大可不必過于恐慌。

首先,雖然漏洞細(xì)節(jié)以及PoC已經(jīng)公開,但是并不能直接運(yùn)用于攻擊。漏洞運(yùn)用于真實(shí)攻擊還有許多細(xì)節(jié)問題需要解決,目前也沒有一個(gè)穩(wěn)定通用,同時(shí)可以造成明顯嚴(yán)重后果(竊取賬號(hào)密碼等)的漏洞利用代碼;

其次,我們和其他安全廠商目前也還沒有監(jiān)控到利用這些漏洞進(jìn)行的真實(shí)攻擊,一旦出現(xiàn)真實(shí)攻擊,我們將第一時(shí)間跟進(jìn),確保用戶安全;

另外,對(duì)于普通用戶而言,漏洞可造成的主要危害在于用瀏覽器訪問了一個(gè)帶有漏洞利用代碼的網(wǎng)頁,導(dǎo)致敏感信息(賬號(hào)密碼等)泄露。只要養(yǎng)成良好的上網(wǎng)習(xí)慣,不輕易點(diǎn)擊陌生人發(fā)來的鏈接,基本不會(huì)受到漏洞影響;同時(shí),瀏覽器針對(duì)漏洞發(fā)布的補(bǔ)丁和緩解措施簡(jiǎn)單有效,而且不會(huì)造成性能下降或兼容性問題,用戶可以選擇將瀏覽器升級(jí)到最新版本,從而避免受到漏洞攻擊。

文章由騰訊安全聯(lián)合實(shí)驗(yàn)室投稿,雷鋒網(wǎng)宅客頻道(微信公眾號(hào):letshome)編輯。

解讀CPU漏洞:熔斷和幽靈

雷鋒網(wǎng)旗下宅客頻道關(guān)注先鋒科技領(lǐng)域,歡迎關(guān)注雷鋒網(wǎng)宅客頻道。

雷峰網(wǎng)特約稿件,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

分享:
相關(guān)文章
當(dāng)月熱門文章
最新文章
請(qǐng)?zhí)顚懮暾?qǐng)人資料
姓名
電話
郵箱
微信號(hào)
作品鏈接
個(gè)人簡(jiǎn)介
為了您的賬戶安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說