當前位置:首頁 >  科技 >  IT業(yè)界 >  正文

360網(wǎng)絡(luò)安全響應中心發(fā)布CPU漏洞修復指南

 2018-01-09 20:40  來源: 互聯(lián)網(wǎng)   我來投稿 撤稿糾錯

  域名預訂/競價,好“米”不錯過

0x00 概述

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

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

實際攻擊場景中,攻擊者在一定條件下可以做到,

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

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

· 云服務中,可能可以泄露到其它租戶隱私信息;

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

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

經(jīng)過360安全團隊評估,"Meltdown"和"Spectre"漏洞影響重要,修復流程較復雜,建議相關(guān)企業(yè)/用戶在充分了解補丁風險的基礎(chǔ)上,作好相關(guān)的修復評估工作。

0x01漏洞影響面

影響面

漏洞風險等級重要,影響廣泛:

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

· 因為此次CPU漏洞的特殊性,包括Linux, Windows, OSX, iOS, Android等在內(nèi)的操作系統(tǒng)平臺參與了修復;

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

漏洞編號

· Meltdown:CVE-2017-5754

· Spectre :CVE-2017-5715 和 CVE-2017-5753

0x02部分漏洞信息

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

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

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

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

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

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

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

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

實際攻擊場景中,攻擊者在一定條件下可以做到,

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

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

· 云服務中,可以泄露到其它租戶隱私信息;

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

360CERT和360GearTeam對漏洞進行了研究性質(zhì)的嘗試。在Linux+Docker的環(huán)境下進行的攻擊演示,通過利用Meltdown或Spectre漏洞,模擬在獨立的Docker容器A對同一個宿主中的Docker容器B進行敏感數(shù)據(jù)(密碼)竊取的嘗試。

聲明:本試驗是360CERT針對CPU的Meltdown和Spectre漏洞作的一個研究性測試,實際的Docker攻擊利用場景中需要滿足特殊和較嚴苛的限制條件。

 

目前幾大系統(tǒng)廠商各自在操作系統(tǒng)內(nèi)核中引入了KPTI的技術(shù),旨在和用戶態(tài)的頁表隔離,解決"Meltdown"漏洞問題。但根據(jù)相關(guān)測試信息顯示,修復補丁可能帶來5%到30%性能上的損失,其中個人終端用戶基本感覺不到,部分服務器的IO場景可能造成較大的性能損耗。

針對"Spectre"漏洞,相關(guān)操作系統(tǒng)廠商和芯片廠商積極配合,通過微碼固件更新和操作系統(tǒng)更新的方式進行解決。

0x03安全建議

360CERT建議企業(yè)/用戶務必在充分了解相關(guān)風險的基礎(chǔ)上,作好相關(guān)修復評估工作:

1. "Meltdown"和"Spectre"漏洞修復流程相對復雜,部分平臺上暫時沒有統(tǒng)一的修復工具;

2. 芯片廠商(如:Intel)的微碼固件補丁需要通過所在硬件OEM廠商獲取(如:Dell,聯(lián)想等);

3. 可能會有部分軟件不兼容問題(如Windows平臺下的部分殺毒軟件等);

4. 在云平臺或特定應用場景中可能造成較大幅度的性能損失,升級前請充分了解相關(guān)信息;

具體評估和修復工作,可以參考以下建議和相關(guān)廠商的安全公告:

Intel的緩解建議

Intel已經(jīng)和產(chǎn)業(yè)界聯(lián)合,包括其它處理器廠商和軟件廠商開發(fā)者,來緩解之前提到的三種攻擊類型。緩解策略主要聚焦在適配市面產(chǎn)品和部分在研產(chǎn)品。緩解除了解決漏洞本身之外,還需要兼顧到性能影響,實施復雜度等方面。

啟用處理器已有的安全特性(如 Supervisor-Mode Execution Protection 和 Execute Disable Bit )可以有效提高攻擊門檻。相關(guān)信息可以參閱Intel的相關(guān)資料。

Intel一直在與操作系統(tǒng)廠商,虛擬化廠商,其它相關(guān)軟件開發(fā)者進行合作,協(xié)同緩解這些攻擊。作為我們的常規(guī)研發(fā)流程,Intel會積極保證處理器的性能。

來源:https://newsroom.intel.com/wp-content/uploads/sites/11/2018/01/Intel-Analysis-of-Speculative-Execution-Side-Channels.pdf

PC終端用戶

PC終端用戶,建議用戶根據(jù)各個平臺進行如下對應操作:

微軟Windows

修復步驟如下:

1. 更新對應的瀏覽器,緩解"Spectre"漏洞攻擊;

 

2. 更新芯片廠商的微碼補丁

 

如:

 

3. 更新Windows補丁

用戶可直接下載360安全衛(wèi)士CPU漏洞免疫工具進行更新:http://down.360safe.com/cpuleak_scan.exe

注意:根據(jù)微軟提供的信息,依然存在部分軟件不兼容(如殺毒軟件)的風險,請充分了解風險后再選擇是否更新:

https://support.microsoft.com/en-us/help/4073119/windows-client-guidance-for-it-pros-to-protect-against-speculative-exe

蘋果OSX

蘋果在Mac OSX High Sierra 10.13.2 及更高版本修復了Meltdown和Spectre漏洞,請直接升級。

Android & iOS

蘋果在iOS 11.2.2及更高版本修復了Spectre漏洞;

Android產(chǎn)品將于近期更新,盡請留意。

IDC/云系統(tǒng)管理員

目前部分IDC/云基礎(chǔ)架構(gòu)廠商已經(jīng)提供了初步解決方案,但是由于補丁帶來的風險和性能損耗暫時沒有明確,權(quán)威的結(jié)論。

請系統(tǒng)管理員盡量做到:

1. 積極聯(lián)系相關(guān)的上游了解相關(guān)的風險和解決方案,協(xié)同制定解決方案;

2. 需要重點關(guān)注補丁帶來風險和性能損耗評估;

3. 從宏觀和微觀層面,制定完善,可行的修復和測試流程方案;

4. 涉及到的微碼固件補丁請聯(lián)系硬件OEM廠商,協(xié)同修復,測試,評估;

以下是相關(guān)廠商提供的解決方案:

Linux-Redhat/CentOS發(fā)行版

Redhat提供了一份產(chǎn)品的修復狀態(tài)清單,建議用戶參照該清單進行更新。具體用戶可以參考:

· https://access.redhat.com/security/vulnerabilities/speculativeexecution

· https://access.redhat.com/articles/3311301#page-table-isolation-pti-6

鑒于更新完補丁后,在部分應用場景下會造成性能下降,RedHat方面提供了運行時的解決方案:

· https://access.redhat.com/articles/3311301#page-table-isolation-pti-6

用戶可以通過以下命令臨時關(guān)閉或部分KPTI,Indirect Branch Restricted Speculation (ibrs),Indirect Branch Prediction Barriers (ibpb) 等安全特性。

# echo 0 > /sys/kernel/debug/x86/pti_enabled

# echo 0 > /sys/kernel/debug/x86/ibpb_enabled

# echo 0 > /sys/kernel/debug/x86/ibrs_enabled

該特性需要使用debugfs 文件系統(tǒng)被掛在,RHEL 7默認開啟了。 在RHEL 6中可以通過以下命令開啟:

# mount -t debugfs nodev /sys/kernel/debug

用戶可以通過以下命令查看當前安全特性的開啟狀態(tài):

# cat /sys/kernel/debug/x86/pti_enabled

# cat /sys/kernel/debug/x86/ibpb_enabled

# cat /sys/kernel/debug/x86/ibrs_enabled

Intel芯片在修復后默認如下:

pti 1 ibrs 1 ibpb 1 -> fix variant#1 #2 #3

pti 1 ibrs 0 ibpb 0 -> fix variant#1 #3 (for older Intel systems with no microcode update available)

Intel芯片在修復后默認如下:

pti 0 ibrs 0 ibpb 2 -> fix variant #1 #2 if the microcode update is applied

pti 0 ibrs 2 ibpb 1 -> fix variant #1 #2 on older processors that can disable indirect branch prediction without microcode updates

在沒有微碼固件補丁升級的情況下:

# cat /sys/kernel/debug/x86/pti_enabled

1

# cat /sys/kernel/debug/x86/ibpb_enabled

0

# cat /sys/kernel/debug/x86/ibrs_enabled

0

注:Redhat等廠商并不直接提供芯片廠商的微碼,需要用戶到相關(guān)的硬件OEM廠商進行咨詢獲取。

Linux-Ubuntu發(fā)行版

目前Ubuntu只完成對Meltdown(CVE-2017-5754)漏洞在 x86_64平臺上的更新。

請關(guān)注Ubuntu的更新鏈接:

https://wiki.ubuntu.com/SecurityTeam/KnowledgeBase/SpectreAndMeltdown

Linux-Debian發(fā)行版

目前Debian完成了Meltdown(CVE-2017-5754)漏洞的修復。

關(guān)于CVE-2017-5715和CVE-2017-5753請關(guān)注Debian的更新鏈接:

https://security-tracker.debian.org/tracker/CVE-2017-5753

https://security-tracker.debian.org/tracker/CVE-2017-5715

微軟Windows Server

建議用戶開啟系統(tǒng)自動更新功能,進行補丁補丁安裝。

根據(jù)微軟提供的信息,依然存在部分軟件不兼容(如殺毒軟件)的風險,請充分了解風險后再選擇是否更新。

更多信息請查看:

https://support.microsoft.com/en-us/help/4073119/windows-client-guidance-for-it-pros-to-protect-against-speculative-exe

Xen虛擬化

目前Xen團隊針對Meltdown,Spectre漏洞的修復工作依然在進行中,請關(guān)注Xen的更新鏈接:

http://xenbits.xen.org/xsa/advisory-254.html

目前Xen暫時沒有性能損耗方面的明確評估,請謹慎更新。

QEMU-KVM虛擬化

QEMU官方建議通過更新guest和host操作系統(tǒng)的補丁來修復Meltdown漏洞,并表示Meltdown漏洞不會造成guest到host的信息竊取。

針對Spectre的變種CVE-2017-5715,QEMU方面正在等待KVM更新后再修復,目前KVM在進行相關(guān)補丁整合。需要注意的是,熱遷移不能解決CVE-2017-5715漏洞,KVM需要把cpu的新特性expose到guest內(nèi)核使用,所以guest需要重啟。

相關(guān)信息請查閱:

https://www.qemu.org/2018/01/04/spectre/

https://marc.info/?l=kvm&m=151543506500957&w=2

云平臺租戶

360CERT建議云平臺用戶,

1. 關(guān)注所在云廠商的安全公告,配合相關(guān)云廠商做好漏洞補丁修復工作;

2. 充分了解和注意補丁帶來的風險和性能損耗方面的指標;

3. 更新前可以考慮使用相關(guān)快照或備份功能;

0x04 FAQ 常見問題

1. 問題: Meltdown和Spectre漏洞具體技術(shù)影響。 比如利用這兩個漏洞發(fā)動攻擊是否容易,什么條件下觸發(fā),危害多大?

回答: Meltdown和Spectre漏洞在一定的條件下都可以觸發(fā),例如通過本地環(huán)境,瀏覽器環(huán)境, Xen/QEMU-KVM中惡意租戶Guset的場景來觸發(fā)和攻擊,雖然目前尚未發(fā)現(xiàn)公開的攻擊代碼,但能夠?qū)τ脩粼斐蓭ぬ枺?密碼, 內(nèi)容, 郵箱, cookie等隱私信息泄露潛在危害。從以往情況看,在漏洞暴露后一定時間內(nèi),就可能出現(xiàn)可利用的攻擊代碼。對此,我們需要保持高度警惕。

Meltdown漏洞主要作用于本地環(huán)境,可用于越權(quán)讀內(nèi)核內(nèi)存。Spectre由于不會觸發(fā)trap,可以用于瀏覽器攻擊,以及虛擬機guest/host攻擊,及其它存在代碼注入(如即時編譯JIT)程序的潛在攻擊。具體技術(shù)情況需如下:

 

2. 問題:當前對漏洞的處置情況到底怎么樣了,業(yè)界解決情況如何,有沒有比較完善的解決方案。目前能解決到什么程度,怎么才能徹底解決?

回答:目前大部分的個人終端操作系統(tǒng)(如Windows, MacOS, iOS, Android)都可以通過直接的渠道進行更新解決,其中Windows平臺存在部分殺毒軟件不兼容風險。針對IDC或云廠商相關(guān)的系統(tǒng)管理員,除了還需要再繼續(xù)評估補丁的兼容性風險外,更需要再進一步評估補丁可能帶來的較大幅度的性能損耗,目前芯片廠商也在積極和大型IDC,云服務提供商協(xié)同制定更完善的解決方案。

360CERT建議該怎么解決,后續(xù)該怎么做?

回答:360CERT建議,一方面,PC/手機的個人用戶可以直接通過操作系統(tǒng)廠商或第三方安全廠商提供的補丁來解決。另一方面,針對補丁給企業(yè)帶來修復難題,大型IDC/企業(yè)/云廠商,芯片廠商,操作系統(tǒng)廠商,信息安全公司要協(xié)同起來,在補丁方案,補丁風險評估,補丁導致的性能損耗評估,綜合補丁標準方案,一體化補丁等方面形成合力,在保證業(yè)務穩(wěn)定的情況下逐步或分階段推進補丁的修復工作。

0x05 時間線

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

2018-01-04 360安全團隊發(fā)布預警通告

2018-01-09 360安全團隊發(fā)布簡要修復指南

0x06 相關(guān)廠商公告

· Intel

https://newsroom.intel.com/news/intel-responds-to-security-research-findings/ https://security-center.intel.com/advisory.aspx?intelid=INTEL-SA-00088&languageid=en-fr

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

https://newsroom.intel.com/wp-content/uploads/sites/11/2018/01/Intel-Analysis-of-Speculative-Execution-Side-Channels.pdf

· Microsoft

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

https://support.microsoft.com/en-us/help/4073119/windows-client-guidance-for-it-pros-to-protect-against-speculative-exe

· 聯(lián)想

https://support.lenovo.com/us/zh/solutions/len-18282

· 華為

http://www.huawei.com/en/psirt/security-advisories/huawei-sa-20180106-01-cpu-en

· Amazon

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

· ARM

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

· Google

https://googleprojectzero.blogspot.co.at/2018/01/reading-privileged-memory-with-side.html

https://www.chromium.org/Home/chromium-security/ssca

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

· MITRE

http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=2017-5715

http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=2017-5753

http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=2017-5754

· Red Hat

https://access.redhat.com/security/vulnerabilities/speculativeexecution

https://access.redhat.com/articles/3311301#page-table-isolation-pti-6

· Apple

https://support.apple.com/en-us/HT208394

· Xen

http://xenbits.xen.org/xsa/advisory-254.html

· Mozilla

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

· VMware

https://www.vmware.com/us/security/advisories/VMSA-2018-0002.html

· AMD

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

· SuSe

https://www.suse.com/support/kb/doc/?id=7022512

· Ubuntu

https://wiki.ubuntu.com/SecurityTeam/KnowledgeBase/SpectreAndMeltdown

· QEMU-KVM

https://marc.info/?l=kvm&m=151543506500957&w=2

https://www.qemu.org/2018/01/04/spectre/

· 漏洞報告

https://meltdownattack.com/meltdown.pdf

https://spectreattack.com/spectre.pdf

https://googleprojectzero.blogspot.co.uk/2018/01/reading-privileged-memory-with-side.html

· 360

http://down.360safe.com/cpuleak_scan.exe

申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!

相關(guān)標簽
8個cpu新漏洞

相關(guān)文章

熱門排行

信息推薦