Win8開始,Windows引入了新的進程隔離機制AppContainer,MetroAPP以及開啟EPM的IE Tab進程都運行在AppContainer隔離環(huán)境,在最新的Win10Pre(9926)上,仍然如此。騰訊反病毒實驗室對AppContainer的工作機制做一深入解讀。
Vista以前的系統(tǒng),如XP,用安全描述符(簡稱SD,下同)里的DACL(discretionaryaccess control list)來控制用戶和用戶組的訪問權(quán)限。
Vista以后,增加了IntegrityMechanism,在SD的SACL(system access control list)里增加一個mandatory label的ACE,擴展了Windows安全體系。默認(rèn)的控制策略是No-Write-Up,允許較低完整性級別的進程讀訪問較高完整性級別的對象;禁止較低完整性級別的進程寫訪問較高完整性級別的對象。
Win8引入了AppContainer隔離機制,提供了更細粒度的權(quán)限控制,能夠阻止對未授權(quán)對象的讀寫訪問。
以Win10PreX64(9926)開啟EPM的IE Tab進程為例,看看有哪些變化。
從ProcessExplorer里可以看到,IE Tab進程的完整性級別不再是Low,而是變成了AppContainer:
圖1
在進程屬性的Security標(biāo)簽可以看到,增加了標(biāo)志為AppContainer以及Capability的SID:
圖2
一個AppContainer進程可以訪問的對象,在SD的DACL里增加了額外的ACE。以IE Tab進程的進程對象為例:
圖3
這里我們不討論MetroAPP,主要看看DesktopAPP如何使用AppContainer隔離機制。
仍然以Win10PreX64(9926)開啟EPM的IE Tab進程為例:在IE選項里開啟EPM,下斷點nt!NtCreateLowBoxToken,然后新建IE Tab,命中斷點,截取最上面的幾層調(diào)用棧:
圖4
可見,通過CreateProcess這個API就可以創(chuàng)建出AppContainer進程。
看看CreateAppContainerProcessStrW的邏輯片段,把PackageSIDString(圖2里標(biāo)記為AppContainer的SID)和CapabilitySID(圖2里標(biāo)記為Capability的SID) string轉(zhuǎn)為SID后,傳給了CreateAppContainerProcessW:
國產(chǎn)工具PKAV HTTP Fuzzer滲透測試助手最新發(fā)布
閱讀惠普漏洞:惠普ArcSight企業(yè)安全系列產(chǎn)品曝高危安全漏洞
閱讀蘋果Mac OS X系統(tǒng)被發(fā)現(xiàn)存在DLL劫持漏洞
閱讀D-Link(友訊)路由器曝遠程文件上傳及命令注入漏洞(已發(fā)布安全更新)
閱讀Win10將使用P2P進行系統(tǒng)更新,引發(fā)安全擔(dān)憂
閱讀美國最大的無卡ATM網(wǎng)絡(luò)即將推出,從此告別刷卡!
閱讀谷歌應(yīng)用漏洞泄漏超過28萬條私人WHOIS數(shù)據(jù)
閱讀使命召喚、魔獸世界、英雄聯(lián)盟……專攻游戲的勒索軟件TeslaCrypt
閱讀本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權(quán),請發(fā)郵件[email protected]
湘ICP備2022002427號-10 湘公網(wǎng)安備:43070202000427號© 2013~2025 haote.com 好特網(wǎng)