<label id="jgr5k"></label>
    <legend id="jgr5k"><track id="jgr5k"></track></legend>

    <sub id="jgr5k"></sub>
  1. <u id="jgr5k"></u>
      久草国产视频,91资源总站,在线免费看AV,丁香婷婷社区,久久精品99久久久久久久久,色天使av,无码探花,香蕉av在线
      您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
      此為臨時鏈接,僅用于文章預(yù)覽,將在時失效
      業(yè)界 正文
      發(fā)私信給木子
      發(fā)送

      0

      保安成小偷幫兇,沙箱被利用提權(quán)——攻擊macOS內(nèi)核居然可以這樣!

      本文作者: 木子 2020-07-03 16:02
      導(dǎo)語:支付寶光年安全實(shí)驗(yàn)室受邀赴清華大學(xué)分享

      在疫情防控常態(tài)化的背景之下,為了“停課不停學(xué)”,眾多高校紛紛開啟了網(wǎng)課模式。近日,支付寶光年安全實(shí)驗(yàn)室收到清華大學(xué)網(wǎng)絡(luò)與信息安全實(shí)驗(yàn)室(NISL)的邀請,為同學(xué)們分享在 macOS 內(nèi)核(XNU)上的攻防實(shí)戰(zhàn)思路和成果。為了讓更多聽眾能夠遠(yuǎn)程參與,本次分享以釘釘直播的方式公開進(jìn)行。包括實(shí)驗(yàn)室的同學(xué)在內(nèi),一共吸引了兩百多位聽眾參與了線上公開課交流。

      保安成小偷幫兇,沙箱被利用提權(quán)——攻擊macOS內(nèi)核居然可以這樣!

      下面帶讀者一起回顧一下這次分享的內(nèi)容

      原理解析

      目前主流的操作系統(tǒng)對應(yīng)用程序區(qū)分對待,應(yīng)用不同的沙盒配置、用戶組等措施區(qū)分可執(zhí)行代碼的特權(quán)。通常系統(tǒng)代碼執(zhí)行最高權(quán)限就是操作系統(tǒng)內(nèi)核和擴(kuò)展模塊(驅(qū)動程序)。惡意程序?yàn)榱双@得盡可能多的能力,例如隱藏自身運(yùn)行痕跡或者讀取機(jī)密信息(如鑰匙串中保存到應(yīng)用程序密碼和 iCloud 訪問憑據(jù)等),就要想方設(shè)法從遠(yuǎn)程代碼執(zhí)行作為起點(diǎn),突破沙箱限制和用戶組限制,獲得內(nèi)核代碼執(zhí)行的權(quán)限。此類攻擊方式稱為本地權(quán)限提升(Local Escalation of Privileges)。

      在以往公開的研究當(dāng)中,無論是各種黑客破解秀還是學(xué)術(shù)論文,攻防的戰(zhàn)場都相對集中在內(nèi)存安全上。通過利用錯誤的邊界檢查、對象生命周期管理等未定義行為,轉(zhuǎn)換成漏洞利用原語,改寫內(nèi)存中關(guān)鍵結(jié)構(gòu)的內(nèi)容實(shí)現(xiàn)高權(quán)限的任意代碼執(zhí)行。曾有論文《SoK: Eternal War in Memory》將其稱之為“永恒之戰(zhàn)”,可見內(nèi)存安全問題當(dāng)下層出不窮和亟待解決的現(xiàn)狀。既然暫時不能徹底消滅漏洞,就提升攻擊門檻。操作系統(tǒng)引入了多種緩解措施(mitigation)來提升利用難度,硬件廠商也在指令集層面實(shí)現(xiàn)了控制流保護(hù)、內(nèi)存標(biāo)簽擴(kuò)展等技術(shù)進(jìn)行對抗。

      但操作系統(tǒng)軟件的復(fù)雜度決定了攻擊手段不會局限在某個方面。支付寶光年安全實(shí)驗(yàn)室就向蘋果報告了 macOS 的多個邏輯漏洞,避開所有的通用內(nèi)存防御,實(shí)現(xiàn) 100% 穩(wěn)定性的權(quán)限提升。在 macOS High Sierra(10.13.6)上從 Safari 瀏覽器的沙箱內(nèi)逃逸,然后獲取 root 權(quán)限,最終讓 XNU 內(nèi)核加載一個沒有代碼簽名的內(nèi)核擴(kuò)展,實(shí)現(xiàn)對 macOS 的完全控制。本次公開課的內(nèi)容就是詳細(xì)講解了其中攻擊內(nèi)核的部分的技術(shù)細(xì)節(jié)和啟示。

      macOS 允許 root 權(quán)限的用戶安裝內(nèi)核驅(qū)動程序,但要求驅(qū)動程序必須經(jīng)過蘋果認(rèn)證簽名,以及在安裝后需要用戶額外確認(rèn)一次(User-Approved Kernel Extension Loading)才會激活。通過分析 XNU 的源代碼可以發(fā)現(xiàn),針對驅(qū)動程序的簽名驗(yàn)證還有用戶確認(rèn)的邏輯實(shí)際上都在用戶態(tài)實(shí)現(xiàn)。這些進(jìn)程都必須擁有 XNU 認(rèn)可的“良民證”,即嵌入在代碼簽名中,稱之為 entitlements 的一段 XML 字符串。

      只有啟用了com.apple.private.security.

      kext-management 特權(quán),并擁有蘋果簽名的程序才能安裝內(nèi)核驅(qū)動。同時macOS 默認(rèn)配置下啟用了 SIP (System Intergrity Protection),禁止注入代碼到其他進(jìn)程,即使有 root 權(quán)限也不行。系統(tǒng)內(nèi)核認(rèn)為這足以保證攻擊者無法偽造這種特權(quán),因此來自用戶態(tài)的請求是可信的,會直接執(zhí)行提交過來的代碼。

      保安成小偷幫兇,沙箱被利用提權(quán)——攻擊macOS內(nèi)核居然可以這樣!

      我們在這種模型上找到了實(shí)現(xiàn)的漏洞。由于內(nèi)核完全信任了特定用戶態(tài)進(jìn)程,因此我們不需要攻擊 XNU 本身,而只需要在用戶態(tài)想辦法注入惡意代碼到對應(yīng)進(jìn)程,打破信任邊界即可。macOS 自帶了一些命令用于應(yīng)用程序的調(diào)試和采樣,其具有 com.apple.system-task-ports 特權(quán),可以繞過 SIP 訪問受限制的系統(tǒng)進(jìn)程。如果被采樣的進(jìn)程是 swift 編寫的,為了還原程序上下文堆棧的符號信息,系統(tǒng)會在特定的目錄下搜索 swift 相關(guān)的動態(tài)鏈接庫并載入。搜索路徑有四個備選,優(yōu)先級最高的路徑受到系統(tǒng)保護(hù)無法修改。但我們給進(jìn)程強(qiáng)制添加一個 sandbox,禁止其訪問系統(tǒng)自帶的合法路徑,就會強(qiáng)迫其走備選的代碼分支,從環(huán)境變量 DEVELOPER_DIR 控制的目錄中載入任意代碼,造成運(yùn)行庫劫持。

      但這一步又遇到了一個問題。iOS / macOS 為了防御動態(tài)庫劫持,使用了一種名為 Library Validation 的手段,即動態(tài)載入運(yùn)行庫之前會檢查其代碼簽名是否來自蘋果或者同一開發(fā)者。我們在舊的 macOS 系統(tǒng)上找到了對應(yīng)程序,但是不帶 Library Validation 的版本,成功觸發(fā)這一代碼劫持漏洞。有了用戶態(tài)任意注入代碼的權(quán)限之后,通過注入代碼到管理內(nèi)核驅(qū)動的服務(wù)進(jìn)程,竊取其 com.apple.private.security.

      kext-management 特權(quán),成功欺騙 XNU 內(nèi)核執(zhí)行了沒有任何代碼簽名的模塊。

      保安成小偷幫兇,沙箱被利用提權(quán)——攻擊macOS內(nèi)核居然可以這樣!

      攻擊過程

      1. 運(yùn)行任意一個 swift 程序

      2. 從舊版本(El Capitan)macOS 系統(tǒng)中復(fù)制一個沒有保護(hù)的 symbols  命令

      3. 釋放一個惡意的 libswiftDemangle.dylib 到任意目錄

      4. 調(diào)用 sandbox_init_with_parameters 添加沙箱配置,取消當(dāng)前進(jìn)程對系統(tǒng)自帶 libswiftDemangle.dylib 的訪問權(quán)限

      5. 設(shè)置當(dāng)前進(jìn)程的 DEVELOPER_DIR 環(huán)境變量,指向惡意的路徑

      6. 執(zhí)行 symbols 命令對 swift 程序采樣,觸發(fā)代碼劫持漏洞,載入惡意的動態(tài)鏈接庫

      7. 使用這個 symbols 的調(diào)試特權(quán)附加到 kextd 進(jìn)程,注入最后階段的攻擊載荷

      8. 使用 kextd 提交驅(qū)動程序的特權(quán)向 XNU 內(nèi)核注入無簽名的擴(kuò)展,實(shí)現(xiàn)用戶態(tài) root 權(quán)限到內(nèi)核任意代碼執(zhí)行

      官方修復(fù)

      在這個攻擊鏈條中最重要的突破口實(shí)際上是利用了代碼動態(tài)庫劫持,將惡意代碼注入到合法的進(jìn)程中,從而繞過基于代碼簽名的信任邊界。蘋果在 macOS Mojave 之后強(qiáng)制啟用了 Hardened Runtime 機(jī)制,即將 Library Validation 驗(yàn)證機(jī)制的啟用條件從 opt-in 改成了 opt-out,默認(rèn)全部開啟。針對從老版本系統(tǒng)復(fù)制“可信”程序的問題,蘋果在新的 AppleMobileFileIntegrity 驅(qū)動中硬編碼了進(jìn)程采樣工具的標(biāo)識符,即不再信任舊版本的程序。此外針對任意進(jìn)程調(diào)試,蘋果引入了一個新的 com.apple.system-task-ports.safe 特權(quán),以限制舊版程序的能力。目前,此問題已經(jīng)得到修復(fù)。

      不過最關(guān)鍵的 XNU 驅(qū)動驗(yàn)證上仍然保留了用戶態(tài)驗(yàn)證的策略。同時 kextd 進(jìn)程還加入了 com.apple.security.cs.allow-unsigned-executable-memory 特權(quán),也就是仍然執(zhí)行無簽名的代碼,給漏洞利用提供了方便。假設(shè) kextd 之后出現(xiàn)進(jìn)程間通信的漏洞,能夠接管控制流,仍有可能通過用戶態(tài)特殊進(jìn)程的任意代碼執(zhí)行來攻擊內(nèi)核。

      總結(jié)和教訓(xùn)

      通常攻擊操作系統(tǒng)內(nèi)核,大量的研究和案例大體都是類似的思路,即通過 syscall 或者平臺特定的內(nèi)核調(diào)用機(jī)制(如 XNU 的 IOKit),觸發(fā)內(nèi)存訪問違例,篡改系統(tǒng)內(nèi)核的結(jié)構(gòu)甚至劫持控制流,從而獲得更高的代碼執(zhí)行權(quán)限。與以往的研究相比,這次分享的案例具有鮮明的特點(diǎn):

      1. 完全沒有利用常規(guī)的內(nèi)存安全問題,嚴(yán)格意義上甚至沒有攻擊 XNU 本身,而是濫用了其信任邊界

      2. 從舊版本的操作系統(tǒng)中復(fù)制具有合法蘋果代碼簽名,同時允許加載第三方代碼的程序,進(jìn)一步突破信任模型

      3. 原本作為系統(tǒng)安全防線的沙箱機(jī)制,在特定條件下卻變成了漏洞利用的重要條件,“以子之盾攻子之盾”。

      這次線上分享除了這一套原創(chuàng)漏洞和利用之外,還簡單介紹了 Psychic Paper、以及 phoenhex&qwerty team 在Pwn2Own 2019 所用的內(nèi)核漏洞等來自其他安全研究員的案例。網(wǎng)絡(luò)安全專業(yè)的同學(xué)在做研究時通常更喜歡去解決一些普適性的問題,有時會忽視這種平臺特性相關(guān)的設(shè)計缺陷。而在實(shí)戰(zhàn)應(yīng)用中,這種類型的漏洞有時能以更低的成本實(shí)現(xiàn)攻擊的目的。


      支付寶光年安全實(shí)驗(yàn)室

      隸屬于支付寶安全實(shí)驗(yàn)室。通過對基礎(chǔ)軟件及設(shè)備的安全研究,達(dá)到全球頂尖破解能力,致力于保障螞蟻金服及行業(yè)金融級基礎(chǔ)設(shè)施安全。因發(fā)現(xiàn)并報告行業(yè)系統(tǒng)漏洞,數(shù)十次獲得Google、Apple等國際廠商致謝。


      雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知

      分享:
      當(dāng)月熱門文章
      最新文章
      請?zhí)顚懮暾埲速Y料
      姓名
      電話
      郵箱
      微信號
      作品鏈接
      個人簡介
      為了您的賬戶安全,請驗(yàn)證郵箱
      您的郵箱還未驗(yàn)證,完成可獲20積分喲!
      請驗(yàn)證您的郵箱
      立即驗(yàn)證
      完善賬號信息
      您的賬號已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
      立即設(shè)置 以后再說
      主站蜘蛛池模板: 伊人久久综合精品无码AV专区| 男人的天堂av一二三区| 国产精品久久无码一区| 插入中文字幕在线一区二区三区| 色成人亚洲| 女被男啪到哭的视频网站| 亚洲青青草视频免费观看| 精品国产乱码久久久久久婷婷| 秋霞鲁丝片成人无码国产| 国产精品成人亚洲| 日韩精品 在线 国产 丝袜| 精品视频国产香蕉尹人视频| 97超碰人人| 国产波多野结衣中文在线播放| 美女露全乳无遮掩视频| 民县| 精品无码成人片一区二区98| 男人天堂手机在线| 久久精品国产成人| 国产99视频精品免费视频76 | 欧美视频亚洲| 国产无遮挡又黄又爽不要vip软件| 亚洲精品成人中文网| 国产 另类 在线 欧美日韩| 中文字幕网红自拍偷拍视频| 激情综合色综合啪啪五月丁香| 方正县| 天堂中文在线资源| 男女裸体做爰爽爽全过| 天天爽夜夜爽夜夜爽| 亚洲日本天堂| 伊人久久大香线蕉精品,亚洲国产一成人久久精品,久久99精品久久久久久三级,亚 | 国产精品成| 国产手机在线精品| 国产一码二码三码区别| 久青草国产97香蕉在线视频| 亚洲国产福利成人一区二区| 天堂网av一区二区三区四区| 中文有码无码人妻在线| 霍林郭勒市| 亚洲精品久久久久玩吗|