2020-06-19 23:01:57 sunmedia 4640
作為IE的接替者,,Edge瀏覽器被微軟寄予厚望。除技術的升級和擴展功能之外,,安全也是微軟重點投入的領域,。沙盒的引入極大地增強了瀏覽器抵御攻擊的能力,,但在永無休戰(zhàn)的網絡攻防戰(zhàn)場,,沒有永恒的安全,,只有及早發(fā)現(xiàn)漏洞才能無懼攻擊,。
在8月28日舉辦的互聯(lián)網安全領袖峰會(CSS 2018)騰訊安全探索論壇(TSec)上,來自騰訊安全湛瀘實驗室的高級安全研究員Rancho Han和陳楠在議題《打破Win10嘆息之壁:利用3D加速突破Edg沙盒》中,,展示了團隊在Edge瀏覽器漏洞挖掘,、Windows內核研究方面的最新成果。憑借在微軟內核上的深度研究,,該議題獲得TSec專業(yè)獎,。
(騰訊安全湛瀘實驗室高級安全研究員Rancho Han、陳楠在TSec 2018上)
Win32k filter繞過之路被堵死后 3D渲染接口成新隱患
沙盒也稱沙箱(sandbox),,是一種計算機安全領域的虛擬技術,。當某個程序試圖發(fā)揮作用時,安全軟件可以先讓它在沙盒中運行,,如果含有惡意行為,,則禁止程序的進一步運行,從而避免其可能對系統(tǒng)造成的危害,。微軟Edge瀏覽器的沙盒,,裁減掉許多對系統(tǒng)資源、接口和設備的訪問能力,,為系統(tǒng)筑起了一道高墻,。
但沙盒的存在并不會讓Edge瀏覽器 “高枕無憂”,只不過又開拓了一個攻防的新戰(zhàn)場,。在今年4月的荷蘭阿姆斯特丹舉行的HITB大會上,,Rancho Han首次公布了三種不同的沙盒逃逸方式,及一個罕見的Win32k filter的繞過方法,,獲得微軟官方致謝,。但同時微軟方面也在大會上發(fā)聲,“Win32k filter的利用到此為止了”,。
Rancho Han對此表示,,自此之后,隨著被Win32k filter過濾的列表不斷擴大,,想要再通過Win32k訪問系統(tǒng)內核的路已經逐漸被堵死,。但是在研究函數(shù)調用的過程中,研究人員發(fā)現(xiàn)了一個有意思的現(xiàn)象,,很多NtGdiDDI打頭的函數(shù)其功能是由Windows DirectX的圖形內核子系統(tǒng)實現(xiàn)的,。研究人員敏銳的意識到,DirectX可能是一個突破口,。
陳楠解釋到,,DirectX作為微軟提供的3D渲染接口,必須與顯卡打交道,,那么DirectX內核的一部分則屬于Windows顯示驅動框架,。這樣一來系統(tǒng)內核則必須與接口和驅動產生聯(lián)系,這些驅動既有微軟提供的也有第三方的,,至此,,新的安全隱患已經在地平線上隱隱浮現(xiàn)了。
突破沙盒的最后一擊:編號CVE20180977漏洞
研究人員詳細地分析了DirectX kernel,、MMS系列(MMS1和MMS2),、Miniport driver以及第三方驅動、接口的攻擊面,。以此為基礎,,開展進一步的隨機化和模糊測試。
隨后,,Rancho Han介紹了一個去年10月底模糊測試檢出的漏洞案例,,編號CVE20180977。研究過程中,,經過特殊構造的條件和屬性,,當用戶給子系統(tǒng)發(fā)送命令時,子系統(tǒng)在將命令轉發(fā)給系統(tǒng)進程的時候Basic Render Engine(基本渲染引擎)對用戶參數(shù)缺少有效的校驗,,這導致內核訪問無效內存造成一次系統(tǒng)崩潰,。此后,還相繼發(fā)現(xiàn)了三個相似的漏洞,。
但是,,找到漏洞并不意味著可以直接以此突破Edge沙盒,還需要在系統(tǒng)重重防御之下構建一個苛刻的攻擊環(huán)境,。沙盒高墻一側的系統(tǒng)資源已經近在咫尺了,,而抵達的路徑卻隱匿不見。模糊測試是在用戶進程,,但漏洞路徑執(zhí)行和崩潰卻是在系統(tǒng)進程,。這時,還需要另一個漏洞來引導研究人員找到道路入口,。
研究人員重新回溯已經檢測出的漏洞,,發(fā)現(xiàn)1709號測試結果新增的API(應用程序編程接口)在安全上考慮不周。陳楠介紹到,,團隊以此為突破口實現(xiàn)了在內核中分配任意大小的池內存,,并且將池內存中的內容完整的讀取出來。
最后,,陳楠揭曉了其團隊如何跨越了突破沙盒的“最后一公里”——先觸發(fā)一次信息泄露然后獲得NT的地址,,并計算出ROP in kernel的指令地址。將ROP數(shù)據布置好,,再觸發(fā)一次信息泄露,,獲得布置的內核數(shù)據地址,。將這個地址填充到CVE20180977漏洞,觸發(fā)之后便可實現(xiàn)在內核進行ROP,,實現(xiàn)對系統(tǒng)資源的改寫,,最突破了Edge的沙盒。