看板 PC_Shopping作者 twlin (@@")標題 Re: [情報] Intel嚴重漏洞 OS更新將會降低效能時間 Thu Jan 4 13:20:59 2018
※ 引述《kira925 (1 2 3 4 疾風炭)》之銘言:
: https://googleprojectzero.blogspot.tw/2018/01/reading-privileged-
: memory-with-side.html?m=1
: https://tinyurl.com/y82aqvbf (縮網址)
: Google:我忍你們很久了
: 以下內容只是粗略看過 有錯誤請指正
: 目前Google找到了三種不同的問題
: 第一種: bounds check bypass 三家都有中獎,針對特殊的BPF JIT Compiler
: (Google的概念測試對象: Intel Xeon/AMD FX/AMD A8/ARM A57)
: 第二種: branch target injection Intel
: (概念測試對象: Intel Xeon)
: 第三種: rogue data cache load Intel
: (概念測試對象: Intel Xeon)
: 不過情節差異大概是 第一種並不是系統預設會去開啟的東西
: 第二與第三是日常的系統指令
: 順帶一提 第一種可能是先天SPEC就有漏洞
: ARM的回應表示Work as Intended不過也承認確實有漏洞存在
: 他們已經準備好對應的更新了(也要做FUCKWIT?)
: ----
: 讓我們繼續看下去
針對第三種,從paper的例子裡大致講一下
1 ; rcx = kernel address
2 ; rbx = probe array
3 retry:
4 mov al, byte [rcx] <--讀取kernel address
5 shl rax, 0xc
6 jz retry
7 mov rbx, qword [rbx + rax] <--user address
第4行,intel在scheduler要issue指令前,沒有確認load是否有權限讀取
等到指令執行完,要retire時才核查權限
但是等到這個時候,後面的指令也都執行完了
第7行的cache line [rbx + rax]從記憶體搬到了cache內
因為[rbx + rax]是位於user可以存取的範圍內
所以之後可以藉由讀取不同cache line,看他是cache hit/miss
來猜測kernel address裡的內容是什麼
至於其他家處理器,在scheduler要issue指令前就確認了權限
因此第4行指令就根本不會執行了,更不用說後面的567行了
舉個白話文的例子來說
未成年的小明到i餐廳點"高級"清酒喝,服務生在點酒時並未確認小明身分證
把清酒加熱後,上給小明時才發現他未成年
雖然小明沒有喝到酒,但是酒早已被加熱了
小明藉由酒溫知道了哪一瓶才是"高級"清酒,並把他偷出來喝掉
至於其他a餐廳,在點酒時就會先確認身分證,服務生自然不會加熱清酒
因此小明永遠不知道a餐廳真正的"高級"清酒是哪一瓶
例子講完了,至於要怎麼修?
那就在scheduler要issue訪存指令前先確認權限阿
根據架構不同,如果權限存放的地方離scheduler有點遠
讀起來多花一點時間,那就把頻率降低一點來meet timing
或者每個存取都多花一個cycle來確認權限囉
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 136.62.164.18
※ 文章代碼(AID): #1QJRc-vL (PC_Shopping)
※ 文章網址: https://www.ptt.cc/bbs/PC_Shopping/M.1515043262.A.E55.html
※ 同主題文章:
… ×8
Re: [情報] Intel嚴重漏洞 OS更新將會降低效能
01-04 13:20 twlin
… ×9
推 doom3: 偷吃步被打回原形 -20%剛好而已1F 01/04 13:24
推 atrix: 例子好懂4F 01/04 13:26
推 kqalea: IT界的重大災難阿5F 01/04 13:27
推 HGJman: 想請問,過去10幾年是駭客沒發現這漏洞?還是?6F 01/04 13:27
推 kqalea: 因為side channel attack 並不是有效率的偷資料方法8F 01/04 13:30
→ kqalea: 所以研究的人當然不多,要偷資料有更多有效方法10F 01/04 13:31
推 HGJman: 再請問外行的問題這樣的攻擊無法用防毒木馬程式擋?11F 01/04 13:31
→ hn9480412: 這個問題是CPU自有的問題,你用防毒軟體都沒用啦12F 01/04 13:32
→ kqalea: 不行~整個漏洞的概念在於無法阻止資料外洩
並不是這個漏洞可以取得系統控制權限或改寫記憶體14F 01/04 13:33
推 HGJman: 請問是透過網路就能入侵?還是要實體連接電腦?16F 01/04 13:34
推 KotoriCute: 要從軟體上下手了話就得從OS層級把整個功能關閉17F 01/04 13:34
→ JoyRex: ATM乖乖吐鈔18F 01/04 13:34
→ KotoriCute: 但會嚴重影響性能。最極端情況會掉50%性能19F 01/04 13:35
→ kqalea: 目前MeltDown的Patch就是增加人手檢查身份證
KPTI整體性能影響應該很小但特定應用會很嚴重20F 01/04 13:35
→ protonchang: 這看來 透過網路就可以進去了吧 asm.js看來可以用來實作?22F 01/04 13:37
→ kqalea: 可以喔~python js java 基本上都可以喔
所以說是重大災難阿....唉唉煩欸24F 01/04 13:38
推 Tiderus: 有人知道這個影響層面的詳細說明嗎?26F 01/04 13:39
→ Tiderus: 例如什麼情況下會被影響,什麼情況下不會?28F 01/04 13:39
推 KotoriCute: 所有雲端廠商都緊急維護了
有用到虛擬化功能的都會被影響到29F 01/04 13:39
→ Tiderus: 用軟體補強後,電腦在處理什麼樣的事情,效能會降什麼情況效能不會降?31F 01/04 13:40
推 protonchang: Google實作的部份 虛擬機好像也有辦法透過這個漏洞存取到Host的記憶體內容
這對雲端廠商來說 還蠻嚴重的34F 01/04 13:41
→ kqalea: zero day這東西放出來就是基本上大廠已經不怕了37F 01/04 13:42
→ kqalea: 現在跪在地上的是小廠商XD39F 01/04 13:42
→ KotoriCute: Windows、Linux還有macOS有已經有製作相關的更新42F 01/04 13:44
推 Tiderus: 是只要一開機就是用到了虛擬化功能了嗎?43F 01/04 13:45
推 arrenwu: 推你的餐廳比喻 不然我還真看不懂XD44F 01/04 13:46
推 kqalea: 4.15的patch要怎麼merge到3.x T__T 大大救我阿46F 01/04 13:53
→ twlin: 一般來說外部網站無法藉由網站上的Java script讀取你的密碼,現在他能藉由這種方式來正確推測出密碼,上個網銀行帳密洩光光,還不恐怖嗎?47F 01/04 13:53
→ Ekmund: 若是這樣 要修正不難 但是對效能影響有大到2016/6月通知了 現在還不動作?50F 01/04 13:53
推 kira925: Linux的補丁 才剛上還沒release
動了 不要當作驗證不用時間52F 01/04 13:54
→ StarHero: 一個耳光就給錢~ 給錢~ 給錢~54F 01/04 13:56
推 kira925: Meltdown誇張的程度是你很難得看到Linux Kernel大家都安安靜靜趕快寫patch 大頭都沒嘴你寫得很爛55F 01/04 13:57
→ protonchang: KPTI不是已經backported到4.14.11了嗎?57F 01/04 13:59
推 kira925: 樓上 這個世上用3.x 甚至2.x的Server還滿街跑...58F 01/04 14:00
推 HGJman: 再外行請問,手機的部份有沒有類似的問題存在?60F 01/04 14:02
→ kira925: Spectre的話 有
怕的是 ARM好像說A15 A57 A72 這三個好像有Meltdown61F 01/04 14:03
推 kqalea: ARMv8 系列的不用怕 電視盒愛用的A15只能放生了63F 01/04 14:05
→ twlin: 新的機器要改不難啊,只是tape out出去回來就兩個月了,還要加上設計和驗證時間64F 01/04 14:05
→ protonchang: 幫補一下ARM "可能"受影響的產品
A15 Allwinner A8X系列(電視盒愛用),Exynos 52/54xxA57 Snapdragon 808/810 ,Exynos 7 5433/7420
A72 這就很精采了Snapdragon 65X系列,MTK Helio X2x66F 01/04 14:08
推 hegemon: A72一堆人在用...71F 01/04 14:15
→ kqalea: 別怕兒~ARM patch打下去效能幾乎沒影響滴
真的想偷你手機資料的也不用會side channel這麻煩法72F 01/04 14:17
→ protonchang: Side Channel拉資料很慢啊 還不如找OS的漏洞74F 01/04 14:19
→ Ekmund: 問一下 降頻這個不需要重走硬體的設計驗證流程吧?76F 01/04 14:22
→ kira925: 我看了下論文 Meltdown可以拉出500kB阿....77F 01/04 14:23
推 kqalea: ARM基本上不怕Meltdown的
只有A75偷吃步過頭,但是patch基本上也都完善了78F 01/04 14:27
--