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