顯示廣告
隱藏 ✕
※ 本文為 terievv 轉寄自 ptt.cc 更新時間: 2018-01-04 21:47:25
看板 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
doom3       : 偷吃步被打回原形 -20%剛好而已1F 01/04 13:24
Flyroach    : 古有漢堡神偷,今有清酒神偷2F 01/04 13:25
applejone   : 就偷吃步3F 01/04 13:25
atrix       : 例子好懂4F 01/04 13:26
kqalea      : IT界的重大災難阿5F 01/04 13:27
HGJman      : 想請問,過去10幾年是駭客沒發現這漏洞?還是?6F 01/04 13:27
wahaha99    : 推 這樣一整個明瞭了7F 01/04 13:29
kqalea      : 因為side channel attack 並不是有效率的偷資料方法8F 01/04 13:30
ericinttu   : 小明表示: 我什麼時候才能成年啊9F 01/04 13:30
kqalea      : 所以研究的人當然不多,要偷資料有更多有效方法10F 01/04 13:31
HGJman      : 再請問外行的問題這樣的攻擊無法用防毒木馬程式擋?11F 01/04 13:31
hn9480412   : 這個問題是CPU自有的問題,你用防毒軟體都沒用啦12F 01/04 13:32
saimeitetsu : 作弊優化跑分?13F 01/04 13:32
kqalea      : 不行~整個漏洞的概念在於無法阻止資料外洩14F 01/04 13:33
kqalea      : 並不是這個漏洞可以取得系統控制權限或改寫記憶體
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就是增加人手檢查身份證20F 01/04 13:35
kqalea      : KPTI整體性能影響應該很小但特定應用會很嚴重
protonchang : 這看來 透過網路就可以進去了吧 asm.js看來可以用22F 01/04 13:37
protonchang : 來實作?
kqalea      : 可以喔~python js java 基本上都可以喔24F 01/04 13:38
kqalea      : 所以說是重大災難阿....唉唉煩欸
Tiderus     : 有人知道這個影響層面的詳細說明嗎?26F 01/04 13:39
protonchang : 這洞真的大 最近幾個月看來會很刺激27F 01/04 13:39
Tiderus     : 例如什麼情況下會被影響,什麼情況下不會?28F 01/04 13:39
KotoriCute  : 所有雲端廠商都緊急維護了29F 01/04 13:39
KotoriCute  : 有用到虛擬化功能的都會被影響到
Tiderus     : 用軟體補強後,電腦在處理什麼樣的事情,效能會降31F 01/04 13:40
Tiderus     : 什麼情況效能不會降?
KotoriCute  : 所以目前影響最大應該就是各大雲端廠商33F 01/04 13:41
protonchang : Google實作的部份 虛擬機好像也有辦法透過這個漏洞34F 01/04 13:41
protonchang : 存取到Host的記憶體內容
protonchang : 這對雲端廠商來說 還蠻嚴重的
kqalea      : zero day這東西放出來就是基本上大廠已經不怕了37F 01/04 13:42
protonchang : 放出來之前 應該早就先通知了吧?38F 01/04 13:42
kqalea      : 現在跪在地上的是小廠商XD39F 01/04 13:42
KotoriCute  : 前幾大的雲端廠應該都有對應方案了40F 01/04 13:43
protonchang : 小廠商表示QQ41F 01/04 13:43
KotoriCute  : Windows、Linux還有macOS有已經有製作相關的更新42F 01/04 13:44
Tiderus     : 是只要一開機就是用到了虛擬化功能了嗎?43F 01/04 13:45
arrenwu     : 推你的餐廳比喻 不然我還真看不懂XD44F 01/04 13:46
protonchang : Linux的Patch不是早就出去了?45F 01/04 13:49
kqalea      : 4.15的patch要怎麼merge到3.x T__T 大大救我阿46F 01/04 13:53
twlin       : 一般來說外部網站無法藉由網站上的Java script讀取47F 01/04 13:53
twlin       : 你的密碼,現在他能藉由這種方式來正確推測出密碼,
twlin       : 上個網銀行帳密洩光光,還不恐怖嗎?
Ekmund      : 若是這樣 要修正不難 但是對效能影響有大到2016/650F 01/04 13:53
Ekmund      : 月通知了 現在還不動作?
kira925     : Linux的補丁 才剛上還沒release52F 01/04 13:54
kira925     : 動了 不要當作驗證不用時間
StarHero    : 一個耳光就給錢~ 給錢~ 給錢~54F 01/04 13:56
kira925     : Meltdown誇張的程度是你很難得看到Linux Kernel大家55F 01/04 13:57
kira925     : 都安安靜靜趕快寫patch 大頭都沒嘴你寫得很爛
protonchang : KPTI不是已經backported到4.14.11了嗎?57F 01/04 13:59
kira925     : 樓上 這個世上用3.x 甚至2.x的Server還滿街跑...58F 01/04 14:00
protonchang : 完全忘記舊版的存在(X59F 01/04 14:02
HGJman      : 再外行請問,手機的部份有沒有類似的問題存在?60F 01/04 14:02
kira925     : Spectre的話 有61F 01/04 14:03
kira925     : 怕的是 ARM好像說A15 A57 A72 這三個好像有Meltdown
kqalea      : ARMv8 系列的不用怕 電視盒愛用的A15只能放生了63F 01/04 14:05
twlin       : 新的機器要改不難啊,只是tape out出去回來就兩個月64F 01/04 14:05
twlin       : 了,還要加上設計和驗證時間
protonchang : 幫補一下ARM "可能"受影響的產品66F 01/04 14:08
protonchang : A15 Allwinner A8X系列(電視盒愛用),Exynos 52/54xx
protonchang : A57 Snapdragon 808/810 ,Exynos 7 5433/7420
protonchang : A72 這就很精采了Snapdragon 65X系列,MTK Helio X2x
howard10141 : 所以我的625沒事嗎QQ70F 01/04 14:14
hegemon     : A72一堆人在用...71F 01/04 14:15
kqalea      : 別怕兒~ARM patch打下去效能幾乎沒影響滴72F 01/04 14:17
kqalea      : 真的想偷你手機資料的也不用會side channel這麻煩法
protonchang : Side Channel拉資料很慢啊 還不如找OS的漏洞74F 01/04 14:19
kira925     : 也不慢了吧...75F 01/04 14:21
Ekmund      : 問一下 降頻這個不需要重走硬體的設計驗證流程吧?76F 01/04 14:22
kira925     : 我看了下論文 Meltdown可以拉出500kB阿....77F 01/04 14:23
kqalea      : ARM基本上不怕Meltdown的78F 01/04 14:27
kqalea      : 只有A75偷吃步過頭,但是patch基本上也都完善了

--
※ 看板: terievv 文章推薦值: 0 目前人氣: 0 累積人氣: 132 
分享網址: 複製 已複製
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇