騰訊安全首次公開"Spectre"漏洞利用技術全過程

年初公開的CPU史詩級漏洞危機仍在持續發酵, 近日有安全人員再次發現漏洞的變種, 並因此獲得英特爾10萬美元獎勵. 但不少用戶對該漏洞卻產生 '狼來了' 的錯覺: 第一, 儘管'Spectre'影響了大量的用戶, 但它能否在實際的攻擊中產生危害? 第二, 截至目前仍然沒有一例利用該漏洞發起攻擊的事件彙報.

騰訊安全玄武實驗室打破了這個錯覺. 在7月21日 '2018看雪峰會' 上, 實驗室高級研究員宋凱首度分享了如何在瀏覽器中利用'Spectre'漏洞, 並如何通過JS 觸發'Spectre'漏洞並且生成可以穩定刷新緩存的彙編指令. 除此之外, 宋凱還分享了在瀏覽器中, 通過'Spectre' 漏洞可能造成的實際危害, 及相關的緩解措施.

2018安全開發者峰會由行業老牌安全技術社區——看雪學院主辦, 會議面向開發者, 安全人員及高端技術從業人員, 是國內開發者與安全人才的年度盛事. 騰訊安全作為本次峰會的鑽石級贊助單位, 攜四大業務矩陣亮相現場, 展現了以騰訊安全聯合實驗室七大國際頂尖白帽黑客為能力核心構建的人才+技術的業務模式, 受到在場行業人士的廣泛關注.

小工具的大收穫

毫無疑問, 'Spectre' 是一個嚴重的CPU漏洞, 打破了不同應用程序之間的隔離, 影響了大部分的主流架構. 它允許攻擊者欺騙無錯程序, 且攻擊者可以通過緩存來利用這個漏洞, 泄漏用戶級進程中的敏感數據. 大部分公開的攻擊, 都是本地攻擊. 如果可以通過瀏覽器進行漏洞利用, 那麼對用戶的大規模攻擊將成為可能. 由於瀏覽器用戶量龐大, 若攻擊成功, 結果將不堪設想.

'理論上, 這個漏洞對個人用戶最主要的危害相當於一個跨平台跨瀏覽器的超級UXSS. 但實際能否實現? 能多大程度上實現? 大家心裡都沒數. ' CPU漏洞公開的第五天, 騰訊安全玄武實驗室負責人於暘(TK教主)在微博上公開了實驗室這段時間 '沉寂' 的成果——研發了一個可以檢測用戶瀏覽器是否易遭受攻擊的線上檢測工具.

企業用戶可藉助該工具即時檢測瀏覽器安全狀態. 若檢測結果表明瀏覽器易於遭受攻擊, 則說明風險真實存在. 宋凱在現場還分享了這個工具上線後的 '意外' , '當時這個漏洞工具發布之後也算是全球首發的線上檢測工具, 為數以千計的用戶檢查出了自己設備中的問題. 比較出乎意料的是, 因為我們最開始的測試環境有限, 只在一些Windows機器上測試了Chrome瀏覽器相關的漏洞, 發布了之後發現竟然不同的設備都會被影響, 比如SurfacePro, MacOS, iPhoneX, Pixel 2等. '

解決兩個核心問題

線上檢測工具只是開始. '未知攻, 焉知防' , 摸清利用 'Spectre' 漏洞發起攻擊的方式才是騰訊安全玄武實驗室這群白帽黑客的研究重點.

宋凱在演講中表示, 這個漏洞的根本原因是因為推測執行中的代碼可以影響CPU的緩存, 而這個緩存的影響又可以用一些技術手段探測出來. 分支邏輯在這種實踐上是不可靠的, 因為緩存被影響了, 它可以讓攻擊者推測出預測執行中所訪問數據的內容, 並且這個數據是可以測量的, 就可以進一步的泄露了.

於是如何穩定的刷新緩存, 以及如何保證在利用過程中特定的數據不出現在緩存中, 是在瀏覽器其實現漏洞攻擊首先需要解決的問題.

騰訊安全玄武實驗室的做法是, 先訪問大量不同的地址來強制刷新緩存, 實現緩存刷新的功能, 再通過將變數放在不同的記憶體中來遍曆的方式, 保證每一次遍曆的變數都不在緩存中. 同時, 通過Worker+SharedArrayBuffer可以做到相對預測記憶體訪問時間的精度計時器, 通過動態遍曆緩存大小的方式用來適配不同的設備也是整套攻擊方案中必不可少的部分.

值得一提的是, 騰訊安全玄武實驗室在研究實現過程時, 對CPU '分支預測' 功能的利用頗具有利用人工智慧局限性的意味——通過五次訓練讓執行效果反饋為true, 最終可以讓CPU比較穩定的出現進入到分支內的推測邏輯.

'通過javascript想實現整套攻擊需要解決很多問題' , 宋凱最後總結道, 包括如何穩定刷行緩存, 確保特定的數據不出現在緩存中, 高精度時間計時器, 動態探測緩存大小. 想要造成實際的危害, 主要需要解決的問題是記憶體布局.

本次研究僅僅是騰訊安全玄武實驗室部分的能力體現. 在本次峰會上分享的宋凱曾代表騰訊安全玄武實驗室贏得Pwn2Own 2017 Edge 瀏覽器項目;曾連續三年入選微軟MSRC 全球Top 100 貢獻者榜單, 最高排名第12位;更曾贏得2016年微軟Mitigation Bypass Bounty 項目, 以及2015年和2016年的Edge Bounty 項目.

實驗室成員對於資訊安全技術的深耕, 也直接通過騰訊安全輸出為技術能力, 保衛廣大用戶的網路安全. 在年初CPU漏洞爆發之後, 除騰訊安全玄武實驗室研發的線上檢測工具之外, 騰訊安全反病毒實驗室和騰訊電腦管家也迅速上線相應的漏洞修複工具和檢測工具, 幫助用戶快速方便的完成漏洞探測, 及時發現隱患, 將風險降到最低.

2016 GoodChinaBrand | ICP: 12011751 | China Exports