Black Hat Asia 年會參與心得 By Adr

Black Hat Asia 年會參與心得 By Adr

Author : William Mou

關於故事

分析評審口味 ouo

  • HITCON TALK

    • APT
    • 網站漏洞
    • 滲透
  • Black Hat 專案大概類型

    • 整合網站分析工具/VPS服務測試工具
    • 假網路基地台/偵測假網路基地台
    • 藍牙設備測試工具
    • 機器學習偵測惡意程式
    • 一些知名到爛掉的專案 ex:Flare VM

挑選審稿委員一直很愛的題目
挑選以前從未被選上的冷門題目

自動化程式碼的編譯器(機器碼層級混淆)

夠冷門
對大部分人來說挺髒不想摸的領域

  • Sum Up:怎麼提高題目被錄取的機會
    • 整合某個領域的技術成一篇稿件,整理得相當完美接近精華的境界
      eg:筆記小神童
    • 你的題目有夠冷門,冷到可以唱Let It Go,並且整合的夠完善可以讓聽眾耳目一新
    • 研究擁有重大突破,輾壓全場
    • 趁研討會打架時投稿。(黑暗兵法)

研究方式

  • 養成訂閱資安推播文章,有趣的文章會由固定的資安專家推播
  • 外國很多資安專家總是很大嘴巴的愛把研究進度/新的研究成果貼在推特上 XDD
    • SubTee
    • 與他的朋友

投稿專案細節–讓後門再次偉大

前導

  • C++ Calling convention
    • 由C++經由編譯器轉成組合語言,可以由組合語言猜測c++語法
    • 若習慣使用IDA Pro反推c++,則可以如下隱藏實際要用的function
    • –> 干擾研究人員辨別惡意程式
      1
      2
      3
      4
      5
      6
      __ASM
      psuh 0
      呼叫 fun1

      fun1:
      呼叫message_box

      防毒軟體

  • 使用特徵碼辨別惡意程式
  • 藉由adr寫的C#,在得到機械碼後,可以將函數位置更改

成品

  • 藉由__ASM替換或轉換呼叫,就可以做到大程度破壞原程式碼的邏輯
    • 插入垃圾程式碼
    • 混淆程式碼邏輯

克服問題

克服英文口說障礙

  • 練到背起來
  • 台灣人英文其實沒這ㄇ爛

事前練習

  • 每一頁投影片大概要提到什麼重點

  • 用英文句子練習這一頁怎麼解釋

  • 相信自己英文沒那麼差

  • 即使你英文講得很爛,大部分老外會很尊重的聽完你的分享

    • 但僅限於社群分享
  • 把不尊重的外國人當Son Of Bitch,上面不適用於學術論文場合

跨國投稿分享

  • 在Speaker晚宴認識一堆大神朋友潮棒der
    • 當你有一堆大神朋友,自己看起來也像大神了
  • 有些很酷的想法或很ㄎㄧㄤ的作為
    • 奇怪ㄉ帽子
    • 現場酒品
    • 神奇的吊牌
  • 對於參與研討會的心態也跟台灣不ㄧ太一樣
    • 問問題很多
    • 歡迎討論

Taiwan Cyber Security Summit 2018 台灣資安大會

IP cam 資安標準制定與推動的經歷

背景

  • 物聯網的資安威脅
    • HP研究:七成物聯網有被駭風險
    • 經家中螢幕跳出FBI付款通通知
  • 資安產業對ICT產業的衝擊
    • 路由器網路攝影安全性不足,友訊遭美國政府告上法院
    • 華碩路由器被美國稽核20年,看如何確保物聯網安全
    • 旗下產品為DDoS打手,中國豪邁召回產品

計畫介紹

政府委任資策會通動此計劃
協助廠商提升資安,推動產業發展

  • IOT 資安提升推動方案
    • 標準推動 ➡️ 制度建立 ➡️ 產業提升
      • 標準推動:參照國際資安標準
      • 制度建立:推動檢測紀錄
      • 產業提升:輔導廠商提升資安品質

        建立產業的資安要求,並期望能協助產業發展

  • 影像監控系列與資安標準說明
    • 資安標準發展與流程
    • 資安發展該念:
      • 產業需求搜集 ➡️ 選擇標準標的物 ➡️ 標的特性分析 ➡️ 標的物重要資產 ➡️ 資安威脅分析 ➡️ 資安標準需求 ➡️ 標準測試規範底稿
    • 資安實務流程:
      • 撰寫標準草稿 ➡️ 編列代表 ➡️ 專家會議 ➡️ 公開招標
    • 標準框架:
    • 資安標準與分級(一)
      針對 IP CAM 的 5大安全構面訂定20大分項安全要求,並依照「一班消費」、「商用」與「關鍵任務」等應用領域訂定產品資安分級。適用不同廠商定位與使用者需求。
      • 資訊安全
      • 系統安全
      • 通訊安全
      • 身份識別與授權安全
      • 隱私保護
    • 不合規問題案例
  • 實測常見不合規項目
    • 為用防拆螺絲可輕鬆破壞外殼
    • XSS injection弱點
    • 預設未加密
    • 明碼傳輸
  • 認證制度架構:
    • 透過第三方檢測
  • 產品認證時程推動

結語

  • 資訊安全檢測不能達到 100%的安全,但可建立產品的資安基準,讓廠商與使用者有所依循
  • 資安的提昇要資建立資安意識,不以通過檢測為目的,而是隨時注意資訊安全提升廠商資安能力。

Response Before Incident:制敵機先!主動式資安事件處理

系統、surver 無法通通保持最新

網站安全

選擇套件的同時,你就要承擔它存在的風險

系統安全 thrusted zone

CPU重新隔一塊,儲存私密資訊

建立好的防守比攻擊更困難

New trend of user identity from cloud giants today

In the past

  • user

    • Facebook:2.12B
    • Google:2B
    • Apple iCloud:782M
    • Microsoft Offive 365:120M
  • How to identify who is who?

    • IP
    • Passwords
  • problem of ID/Passwords

    • 強制修改、後與前不重複
      一但密碼常換
      • 過多
      • 易忘
    • 換密碼麻煩,不方便
      一但密碼不換
      • 釣魚
  • Data breach is worst than what we can inagine

    • 2015 - 2017 資料外洩 > 4.2B

      90% Data breach is from ID/Password phishing
      data source : Risk Based Security
      ==could security : ID/Password 儼然成為最薄弱的防線==

What Next?

  • No Password

    • 指紋驗證
    • 綠色的銀行近月上市
  • 2nd Factor Authentication

    • 驗證碼
    • 雙證件
  • Options of passeordless & 2-step login

    • Microsoft
      • Widows:Hello login (No Password )
      • Azure:MFA(2nd factor authentication)
    • Google
      • OTP-SMS and Google Authenticator
      • FIDO U2F key
      • Phone login
    • Facebook
      • OTP - SMS, Facebook Authenticator, Google Authenticator, etc.
      • FIDO U2F Key
    • Apple
      • MacOS:Apple watch or third party phone login (No Password)
      • SMS OTP

        Email OTP
        SMS OTP

  • Problem for SMS and one-time password 2-step login

    • Not user friendly for everyone
    • Third party APP is complicatrd to setup
    • SMS isn’t security, it could be Interception.
  • Bitcoin Wallet was hached Video

  • New trend todat & tomorrow

    • Windows Hello Passworldless login
    • FIDO - base hardware security key for 2nd factor Authentication
      • Windows - USB & NFC & BLE
      • MAcOS - USB & BLE
      • Android BLE & NFC
      • IOS -BLE
  • Advantage to use FIDO-based produt

    • google, facebook, Lenovo, Paypal, Gotrust, etc. All member
    • Open standard
    • 手機硬體中做互聯互通

      END

網路自動化機器人辨識與防護

  • 自動化程式類別
    • 暴力密碼猜測
      • 以限速避免
    • 網路蜘蛛-起始URL去爬每個子link
      • 檢視hyperlink
      • 檢視cookie
      • 自動生成白名單
    • 網路爬蟲-搜集廠商數據➡️對營運造成影響
      • 透過檢視user-Agent 快速進行爬蟲模式效果管理
    • 自動化網頁機器人
      • 檢測應用程式行為,搭配rat limit、使用者輸入辨識等,進行防護
  • 暴力密碼的測試
    1. 下載對應檔案內容:https://drive.google.com/drive/folders/1dODxIpFLRyuMhsGPEm6j-HqMn2JnwTSH
    2. 開啟Burp Suite Community Edition 使用方式
    3. 設定Burp Suite 攔截 Proxy:127.0.0.1:8080
    4. 設定Firefox 路經 Proxy:127.0.0.1:8080
    5. 開啟intercept 攔截request 內容
    6. 用正確帳號密碼登入後,得到正確的Respone內容
    7. 點選action -> send to intruder
    8. add $ 參數 $
    9. 更改成 暴力破解 cluster bomb
    10. payload引入參數集
    11. option更改比對內容為正確的Respone內容
    12. 勾選掉Exclude HTTP headers
    13. Start attack
  • 網路蜘蛛的測試
    1. 開啟websphinx.jar 可直接網路蜘蛛 (含 graph)
  • 網路爬蟲

Mcafee

  • 多維度與人工智慧進階威脅分析
    • 快速過濾
      • 特徵碼
      • 信譽
      • 模擬
    • 動態分析
      • 沙箱觀察
      • 沙箱迴避
    • 靜態程式碼分析
      • 消除混淆碼
      • 反組譯並揭露執行碼
      • 比對同類家族
    • 人工智慧分析
      • 多維度的分析病毒代碼
  • 自適應進階威脅聯防架構
    1. 收到包含可疑代碼之附件
    2. 送往surver確認
    3. 進入沙箱確診
    4. 即時傳回端點
    5. 於TIE比對過去存在的攻擊
    6. SIEM儲存與管理IOC
  • 人工智能安全管理解決方案
    最佳化威脅與合理的安全管理(ESM+UBA)
    • AI與智能分析
      • 即時進行分析
    • 可執行的
    • 整合式安全管理
  • 政府案例分享
  • CASB-skyhigh
    • 自動識別
      • 個資
      • PCI
      • Shadow Apps
    • 控制
    • 保護
      • DRM
      • 加密
  • 單一控制點-無摩擦部署
    • 於雲端架設單一consol
    • 不需於每台Device部署
    • 建立Sky Link 透過API 可採去監控阻擋等訪滬措施

量子時代下的重裝駭客

  • 何謂量子力學
    • 描述圍觀物質(原子,亞原子粒子)行為的物理學理論
      • 一種數學模型
      • 一種描述物理世界的方法
      • 一種模擬世界或人腦的方式
    • 量子力學的歷史
      • 薛丁格波動方程式
      • 不確定性理論
      • 波函數塌縮
      • 迪拉克方程式
    • 量子特性:
      • 量子態疊加
        • 經典比特 | 0 | 1 |
        • 量子比特 |0> |1>
      • 量子糾纏
  • 何為量子電腦
    • 是一種使用量子邏輯進行通用計算的裝置
      • 物質分子和化學反應的模擬
      • 快速解決一些傳統電腦需要長時間解決的問題
    • 涼子特性
      • 量子疊加
      • 兩子糾纏
    • 量子Gate
      • Unitary
    • 量子霸權
      • 處理器要達到49量子為元
      • 雙涼子為元錯誤率低於0.5%
      • 屆時運算能力將會超越世界上所有電腦,具有解決傳統電鬧所解決不了問題的能力

        台大開放式課程-量子力學

  • 量子電腦哪裡找?
    • Quantum Gate 類型的
      • IBM有提供實驗性機器與API
      • Microsoft VS + Q#,Python
      • Rigetti python(Quil)+Quantum Visual Machine
    • Quantum Annealing 類型的
      • D-Wave + quantum machine instruction(QMI)
  • Quantum Gate
    • Hadamard gate
    • Controlll not
    • Swap gate

      qiskit-sdk ( python3 )
      Try ‘local simulator’

駭客如何用量子電腦做壞事

  • 他可以做啥?

    • 植樹分解
    • 對稱式演算法孤寂
    • 量子金鑰傳輸 ( QKD )
    • 量子比特幣(qBitcoin)
    • 量子數位簽章
    • :smile: Quantum machine learing
    • Traveling Salesman Problem
  • 質數分解

    • 質數分解困難度為基礎GG
    • short algorithm
  • RSA

    • 仰賴質因數分解的困難度
    • 私鑰可以快速被算出
    • 傳統RSA是 non quantum-safe
  • 橢圓曲線密碼

  • 對稱式演算法攻擊

    • Grover’s Search Algorithm
  • 其實我 ( gasgas ) 從頭到尾只想用量子電腦挖比特幣:smile:

    • proof-of-work可以算快一點
    • 讓授權交易的橢圓曲線千張可以偽造/取代
  • 晴天霹靂的 Hash function!

    Quantum Lower Bound for the Collision Problem
    Quantan attack at Bitcoin, and how to protect against them

下兩篇By Jeffery Lin

金融數位化時代下的資訊風險與控制管理

-為什麼需要煞車?風險管理用來控管快速成長
-資訊風險管理:對資訊系統仰賴度提高、所處的環境越來越複雜(駭客、員工盜取資料、仍要符合政府法規)資訊風險管理協助管理重要資訊
-新興科技:GDPR、Fintech,需要評估導入新興科技的風險,挑戰更勝過去
-注意面向:安全性、可用性、效能(不彰導致使用者抱怨影響聲譽、可能會影響可用性)、法遵

-資訊風險管理( IT Risk Management) vs資訊安全管理( IT Security Management)

資訊風險管理( IT Risk Management):找作業流程的風險、確保監控風險、Like 家教、協助組織通過稽核

資訊安全管理( IT Security Management):確保資訊無外流、無沒權限人取得access

-好處:降低資訊風險管理發生的機率和影響、有效跨部門溝通、協助風控化繁為簡
-技巧:風險管理矩陣(要知道自己目標)、自行查核(找出問題)、風險註冊

FinTech – 金融科技的美麗與哀愁

-演進:1991-Internet, 1995-ebay, 1998- paypal, 2007-iPhone, 2009-bitcoin, 2014-Apple Pay
-最多 Fintech 用戶地區:中國、印度(發展快速、偽幣問題)
最多 Fimtech 使用年齡層:Y世代
-台灣概況:行動支付、跨境支付、P2P借貸、機器人理財、虛擬貨幣
-Apple Pay 代碼化(Tokenization)技術:商家、收單機構看不到卡號(減少偽卡)

-信用卡側錄裝置(Card Skimmer Device):不一定是店家所為
QRCode 支付:偷換店家QRCode
-行動銀行:惡意app(bankbot) 覆蓋在正常行動銀行app上,騙取帳密,還可攔截簡訊
-SWIFT 系統金融犯罪(釣魚信件、水坑攻擊植入後門,再找SWIFT帳密進行攻擊)
-區塊鏈
-Smart Contract
-資安風險:交易所、Smart Contract 漏洞、盜取 private key
-金融電子化:駭客只要能控制資訊流,就能控制金流
-控制好權限(雙重認證)

圖片後補

AI

AI會取代我嗎?
如果你問這個問題,代表你不了解AI,那未來就會被取代

資安現況

  • 資安產業鏈:

  • 資安產業中使用AI的三個層次

    1. Malware識別惡意程式:識別黑名單機制
      • 可以漏判
      • 低錯誤率
    2. Icident識別攻擊活動:人為書寫規則
    3. Situation調查攻擊案情:找到駭客攻擊TPP、計劃等等
      • 不只知道這是兇刀,還要知道他是怎麼來的

資安現況Demo

Demo網站

兩面刃:網管與駭客都喜歡用的平行移動工具

  • psexec.exe

資安現況解決方案

工人智慧 -> 人工智慧

  • AI判斷異常指令
  • 神奇圖形化介面
  • 判斷問題等級
  • 快速勾勒回傳report
  • 產生脈絡圖

cycarrier

  • 節省專家繁瑣的日誌分析時間
  • 系統引導人類做決策
  • 累積更豐富的專家情資來讓平台自動Hunting
  • 無人能取代的專家,彼此相輔相成

HITCON FreeTalk 2018 暢談 CPU 處理器的歷史包袱

HITCON FreeTalk 2018 暢談 CPU 處理器的歷史包袱 共同筆記

主辦單位:社團法人台灣駭客協會(HITCON)
時間: 2018/01/19(五) 13:20 - 17:00
報名網址: https://hitcon.kktix.cc/events/hitconfreetalk20180119
直播網址: https://www.facebook.com/HITCON/

1
2
3
4
5
6
7
8
9
議程表:
12:50 - 13:20 報到
13:20 - 13:30 開場
13:30 - 14:00 Spectre & Meltdown 漏洞原理說明與 POC 剖析(講師:Bletchley)
14:00 - 14:30 從晶片設計角度看硬體安全(講師:中原大學 黃世旭教授)
14:30 - 15:00 下午茶交流
15:00 - 15:30 Spectre & Meltdown 漏洞的修補策略與 risk mitigation(講師:gasgas)
15:30 - 16:00 詭譎多變威脅下的資安應變與治理(講師:林宏嘉協理)
16:00 - 17:00 Panel Discussion

歡迎大家針對這次的議題作共筆!

一、Spectre & Meltdown 漏洞原理說明與 POC 剖析 (講師: Bletchley)

Overview of Meltdown and Spectre

  • Threat: adversary who can execute low privilege code can read unpermitted memory region
  • Impact:
    • Meltdown: Most Intel Processors
    • Spectre: Intel, AMD, ARM processors
  • Reason:
    • INconsistent between processor architecture and microarchitecture(cache)
    • Lack of permission checking when CPU optimization
  • Website: meltdownattack.com

Execute low privilege code can read unpermitted memory region

Google 研究團隊發布漏洞的網站 - https://meltdownattack.com

CPU Architecture 中,frontend 是作 fetch and decode 的部分,接著才交給 backend 去做 execution,其中 code (record) buffer 也在這邊

out-of-order execution

有時候處理器為了加速,會偷跑排在後面的指令,例如後面指令可能是一個加法指令,而且已經在 register 中,就可能會被選為偷跑項目

但有時候偷跑會發生出錯,一旦出錯,有可能被處理器丟棄,不會 commit 到 CPU 的輸出結果中(memory write)

speculative execution

這個是 branch instruction 的一種執行方法,會去猜測 condition instrcution 的成立與否,如果猜對了,就會 commit 到 CPU 的 memory

偷跑動作的時候,會去存取記憶體,subsytem cache 不知道是偷跑的,所以還是會把獨進來的資料做處理,這就是漏洞

Flush + Reload Attack

1
var = array[ secret* cache_line_size ]

256 accesses time helps discover one byte data ()

CVEs

  • CVE-2017-5753
  • CVE-2017-5715
  • CVE-2017-5754

Inside the CPU

  • Frontend

  • Execution Engine

    • Reorder Buffer
      • 重排序缓冲区
    • Execution Unit
      • CPU執行單位
    • 漏洞的緣由
      • CPU 偷跑後面順序可以先執行的指令
      • 若發現偷跑的指令不合
      • 不commit偷跑資料回cpu
      • 但Cpu cache 仍留存資料
      • 可是於memory與cpu中無法觀察之
      • 可利用預執行cache資料
  • attack-meltdown

    • Attack想法
      • 設一array
      • 若讀取過的array[x]會存於cache
      • cache資料的讀取時間<memory讀取時間
      • 統計時間即可洩漏曾讀取過的值
      • 256 accesse can discover a Byte.
    • Meldown Attack Steps
      • Cpu預先執行超出權限的資料
      • 即使資料永遠不會被程式讀取
      • 仍然有機會預先儲存於cache中

  • attack-spectre

    • Attack想法
      • No cache:array1_size,array2
        1
        2
        if (x<array1_size )
        y = array2[array1[x]*256];
      • if後執行較慢
      • 連續數執行後
      • Cpu預先執行第二行
      • 帶入不進入的if x
      • 會預先執行而得到y值存於cache
    • spectre Attack Steps



文獻連結

Meltdown Proof-of-Concept
Spectre POC
main differences between Meltdown and Spectre

筆者按

  • Branch predCiition兩種變形
    • out-of-order execution = 預測下一個要執行的程序並預處理
    • speculative execution = 在分支時預測下個要執行的分之進行預處理

討論

array = [ secret * cache_line_size]
read all array and count how many element loaded to cache = secret value
看不出來這兩個漏洞的差異啊,好像都是同一個方法

[name=CK] 雖然漏洞被區分為兩種,他們概念都以out-of-order execution為核心。可以把Spectre看成Meltdown的擴充,比較大的差異是Spectre加入branch prediction做攻擊。

[name=Ethen] 之前我看到Meltdown的特點不只是讀取數據,還可以打破隔離(寫入),沒介紹到…
如果按照上面的比較表兩邊都是僅讀取,只是讀取範圍不一樣(kernel space v.s. user space any process),那為什麼Maltdown可以直接傷到虛擬化環境?ring -1不是單純讀取kernel就可以跳進去的啊

[name=Austin]Guset攻擊Host的部份是屬於Spectre-Variant2的範疇,它其實是利用從Guest program去推敲kvm.ko, vmlinux的記憶體位置,在將資料流至user space。雖然Guset跟Host看起來是分離的,其實有很多共用的特性,可以這樣去推敲記憶體位置

[name=Austin]我的理解沒錯的話,Spectre跟Meltdown的差異在於後者使用了Out of order execution,兩者都有使用speculative execution(branch prediction),另外講者沒有提到的是到底如何取得secret的資料,根據POC code給的
char secret = “The Magic Words are Squeamish Ossifrage.”;
malicious_x = (size_t)( secret - (char
) array1 );
當我們推敲出array = [ array1[x] * cache_line_size] 裡面array1[x]的值後,其實就可以推導secret的內容:
array1[x] = addrress of array1 + offset x = addrress of array1 + address of secret - address of array1 = address of secret = ‘T‘

[name=Ethen] 站在攻擊者的立場,Meltdown對我來說會是一個不錯的攻擊輔助資訊,我可以拿到核心記憶體中的帳號密碼或知道有開啟什麼服務輔助我攻擊,但這僅限於當下的作業系統,如果能夠寫入或直接提權那會好用的多
單純推敲kvm.ko能做的事情有限,如果hypervisor沒有放出可攻擊的服務或權限,我會很難往上打,頂多去讀其他虛擬機器試圖利用其他虛擬機上的服務弱點去一台一台打,這樣就沒那麼好用了

二、從晶片設計角度看硬體安全(講師:中原大學 黃世旭教授)

邏輯化簡漏洞

  • 進行邏輯化簡時
    • Don’t care的部分可能會產生非預期的值
    • 或Dont’ care的輸入會輸出=預期的答案










out of order executed

將無前後關係的排成同時運作
降低使用運算時間

branch executed


可以與cache無關:透過時間差取得之前的key

meltdown & spectre 探討

* 同上

設計硬體安全的困難

結語

其他大大的筆記

現代CPU設計由於Multithread & Multicore的因素CPU執行指令運算之前需要peak一下CPU的狀態與看預算時需求的Memory是否會產生lock,這個過程會在CPU的底層做(注意到這裡OS已無法管理,指令並須被執行除非CPU drop這個指令,CPU drop會通知回OS)

利用這個方法去看CPU Handle的記憶體區段Peak其他區域的記憶體位置(OS無法阻擋),或者CPU上的Memory管理機制重新回Initial state

在邏輯電路裡設計狀態機(FSM)時傳統訓練方法有don’t care condition可能會造成電路運行時產生你所不期望的狀態循環,例如重回initial state,所以設計時不太應該使用don’t care(雖然可以節省電路成本與最邏輯複雜度最佳化),但為了安全性,應當把所有組合列出,額外去處理不期望的例外。

PUF -> physical unclonable function
Some basic description about PUF

電路最佳化問題
- 電路複雜度
- 電路成本
- Data Store(Cache & Register )漏電問題
- 面積

Intel identified the vulnerabilities as:

CVE-2017-5705 – Multiple buffer overflows in kernel in Intel ME Firmware allowing an attacker with local access to the system to execute arbitrary code.

CVE-2017-5708 – Multiple privilege escalations in kernel in Intel ME Firmware allowing unauthorized processes to access privileged content via unspecified vector.

CVE-2017-5711 & CVE-2017-5712 – Multiple buffer overflows in Active Management Technology (AMT) in ME Firmware allowing attacker with local access to the system to execute arbitrary code with AMT execution privilege.

CVE-2017-5706 – Multiple buffer overflows in kernel in Intel SPS Firmware 4.0 allow attacker with local access to the system to execute arbitrary code.

CVE-2017-5709 -Multiple privilege escalations in kernel in Intel SPS Firmware 4.0 allows unauthorized process to access privileged content via unspecified vector.

CVE-2017-5707 – Multiple buffer overflows in kernel in Intel TXE Firmware 3.0 allow attacker with local access to the system to execute arbitrary code.

CVE-2017-5710 – Multiple privilege escalations in kernel in Intel TXE Firmware 3.0 allows unauthorized process to access privileged content via unspecified vector.

原文:
https://meltdownattack.com/meltdown.pdf

三、Spectre & Meltdown 漏洞的修補策略與 risk mitigation(講師:gasgas)

前言

  • 你認為得資訊安全?
    • 降低風險,而不可能100%修補
    • Risk = Vulnerable X Threat X Asset
    • 風險 = 資安漏洞 X 駭客進不進得來 X 資產價值

該怎麼做?

  • 漏洞因應流程:
    • 資訊盤點 ➡️ 漏動檢查 ➡️ 測試機測試 ➡️
      系統備份 ➡️ DRP演練 ➡️ 進行修補 ➡️ 持續觀察
  • 漏洞檢查:
  • 漏洞修補:
    • CPU Level修補:Firmware Update
      • 程式千萬別看錯執行錯,變磚機率爆高!
      • 目前還不是 CPU Microcode 修補的好時機,可能都只是暫時修補,後續的修補應該會比較全面也比較安全。
    • Bios Level修補:notebook機器為主的修補方式
      • 修補會是個比較好的選擇 (其中也包含 CPU Microcode),變磚機率低一點點。
      • [name=Wisely] BIOS Update 目前只能修補其中一個 Spectre 的弱點

      • Amazon (AWS)/(VMware) 已修補完畢
    • OS Level修補:見官網
    • Application Level修補:
      • 程式重新編譯
        * 未重新 comliler 的程式還是有機會有風險
      • Google Retpoline:GCC,LLVM版本
        徹底分支
      • Visual Studio 2017 version 15.5 /Qsperctre
        lfence :系統執行到此會停止預先運算
    • 安全最大風險Brower:
      使用javascript打包poc放在網路上,瀏覽器看了,記憶體的資料就被偷了

      提醒

  • 修補一定要從官方下載
  • 前漏洞衍伸 ➡️ skyfall and solace:不好修

討論

[name=Ethen] 不對啊,目前的弱點需要讀取變數/建立陣列/評估cache速度,這些在JS / Java翻譯成實際執行在CPU上的native code不太可能還包在同一個分支中,他是怎麼有辦法說這樣是可以攻擊的?有成功案例嗎?

[name=Austin]如果JS注入的code(browser->OS->CPU)是在同一個process或可控制的process就可以互相做存取,簡單的範例影片在這:https://www.youtube.com/watch?v=RbHbFkh6eeE

[name=Ethen] 這個影片看起來是在本機端執行原生程式,來撈取另一個程式的記憶體內容,好像不是JS / Java?
即便都在同一顆CPU上,但直譯語言被翻過去到CPU上應該會有多不少東西,如Java有GC的動作,也沒有指標可直接讀取,這些東西混進去會導致執行不是連貫的或不是同一個分支,影響分析結果
[name=gasgas] 是..這樣的測試會有很多干擾, 也會大大地影響到結果. 所以只能參考用. 這個javascript POC 目前爭議還很大..XDDD

..

四、詭譎多變威脅下的資安應變與治理(講師:林宏嘉協理)

概念 & 觀念

  • 對應新的威脅與正確的認知
    • can’t stop all attack
    • Human Experience and Behaviors
    • Detect in mobile
      Defence in deep
  • Attacker Decision Cycle:
    • Observe
    • Orient
    • Decide
    • Act
  • 加速決策 & 擺脫困境
    • Maximize Visibility(
      最大化可視性
      • internal
      • external
    • reduce manual step(and error)
      減少手動步驟(錯誤)
    • Maximize human impact
      善用人力資源

使用者影響

  • 受影響的CPU

簡報節錄


















Panel 問題(歡迎大家先來填寫)

1.面對 zero day attack,如何偵查與預防
2.arm64 為何也會有同樣的問題~目前的解法是什麼??
3.今年剛舉辦的 CES 2018 上所展示的最新型筆電,同樣也使用 Intel 第八代 CPU,是否有受此次漏洞影響?畢竟很多人會猶豫是否要再等待下一代的 CPU 再購買,謝謝。
gasgas回答: 8th Gen Intel CPU 一樣有這三個漏洞, 一樣需要修補, 請參考https://hothardware.com/news/intel-8th-gen-core-cpus-10-slowdown-javascript-spectre-meltdown-patches
第八代正在賣,第九代再測試,第十代正在做,可能等到第十一代才沒有

4.依據 ITHOME 的訊息(https://www.ithome.com.tw/news/120312), 目前透過OS更新的方式為針對 meltdown 的弱點修補,請問關於 Spectre 漏洞是否有 OS 或是 firmware 的修補連結嗎?
5.問題一:目前全世界尚無發生災情,如果BIOS更新會拖慢電腦效能,那公司內部先發佈KB4056892更新檔的有效阻擋程度。 問題二:台灣國內有哪些資安網站可即時發佈及提供解決方案。
6.如何能更有效率的檢查並修補該漏洞
7.如何進行CPU攻擊
8.對於晶片出包的問題,未來是否有更好的因應方式?如果來不及修補該如何自保?
9.想請問針對Meltdown & Spectre 漏洞,對於一般做為系統、網站伺服器之主機有何影響,如果不更新作業系統只單靠防火牆進行過濾控管(EX:限定某幾個ip可以連線)可以避免被駭客入侵嗎?
10.為什麼對一般使用者電腦影響較低,對雲端業者卻衝擊很大? 作業系統修補,成效如何?會對微軟的效能有重大影響嗎? 雲端的衝擊有何應對之道?
11.這次Meltdown和Spectre更新檔有其必要更新嗎?看一些報導上說更新後的問題還比較多。
12.除了CPU外,其它的GPU或TPU等,是否應該也會如此呢?該如何因應處理?
13.針對微軟官方說明網頁:https://support.microsoft.com/en-us/help/4072698/windows-server-guidance-to-protect-against-the-speculative-execution 請問其中的 To enable the fix 部分所提到的機碼是否為安裝了微軟的 Patch,且新增這三個機碼就可修補 CVE-2017-5715、CVE-2017-5753和CVE-2017-5754 三個漏洞嗎?還是除了進行以上步驟後,仍需更新Server硬體製造商給的 BIOS 才能阻擋攻擊呢?(微軟官方建議還是要更新硬體BIOS才能完整修補漏洞,但如果只上OS Patch 就能有效防禦的話,是否就可以不用急著更新BIOS了)
14.如果在虛擬主機上,Host端打上了Patch,但是Guest端沒有打上,這樣在Guest端能引發攻擊嗎?
15.Variant2 Branch target injection, hacker是如何對Branch history buffer進行訓練以及達到修改目的地位置,使得它會進行推測執行然後執行到hacker的gadget? 跟ROP(Return oriented programming)的攻擊方式是一樣的嗎?
16.對於因CPU漏洞修補而造成其他系統運作的問題時,在整個產業生態系統方面是否有更好的解決方式,以避免MIS人員害怕系統出問題而不願意修補漏洞?
17.如何評估修補前與修補後的效能差異?網路上有人說差異不大,也有人說差異滿多的,是否有較客觀的評估方法?
18.CPU層級的弱點需要靠明確的指令碼來利用,我的理解是只有在Native code已經可以執行的情況下可以藉此竊取資料或提權,不過可以看到各大瀏覽器在第一時間就做了修補。想請問是否代表這個弱點可以在不使用native code的情況下利用?