您的位置:首頁 > 菜鳥學(xué)院 > 深度解析Windows最新進(jìn)程隔離機(jī)制AppContainer

深度解析Windows最新進(jìn)程隔離機(jī)制AppContainer

來源:互聯(lián)網(wǎng) | 時(shí)間:2015-03-04 10:21:20 | 閱讀:70 |    | 分享到:

Win8開始,Windows引入了新的進(jìn)程隔離機(jī)制AppContainer,MetroAPP以及開啟EPM的IE Tab進(jìn)程都運(yùn)行在AppContainer隔離環(huán)境,在最新的Win10Pre(9926)上,仍然如此。騰訊反病毒實(shí)驗(yàn)室對(duì)AppContainer的工作機(jī)制做一深入解讀。

AppContainer帶來的變化

Vista以前的系統(tǒng),如XP,用安全描述符(簡(jiǎn)稱SD,下同)里的DACL(discretionaryaccess control list)來控制用戶和用戶組的訪問權(quán)限。

Vista以后,增加了IntegrityMechanism,在SD的SACL(system access control list)里增加一個(gè)mandatory label的ACE,擴(kuò)展了Windows安全體系。默認(rèn)的控制策略是No-Write-Up,允許較低完整性級(jí)別的進(jìn)程讀訪問較高完整性級(jí)別的對(duì)象;禁止較低完整性級(jí)別的進(jìn)程寫訪問較高完整性級(jí)別的對(duì)象。

Win8引入了AppContainer隔離機(jī)制,提供了更細(xì)粒度的權(quán)限控制,能夠阻止對(duì)未授權(quán)對(duì)象的讀寫訪問。

以Win10PreX64(9926)開啟EPM的IE Tab進(jìn)程為例,看看有哪些變化。

從ProcessExplorer里可以看到,IE Tab進(jìn)程的完整性級(jí)別不再是Low,而是變成了AppContainer:

深度解析Windows最新進(jìn)程隔離機(jī)制AppContainer

圖1

在進(jìn)程屬性的Security標(biāo)簽可以看到,增加了標(biāo)志為AppContainer以及Capability的SID:

深度解析Windows最新進(jìn)程隔離機(jī)制AppContainer

圖2

一個(gè)AppContainer進(jìn)程可以訪問的對(duì)象,在SD的DACL里增加了額外的ACE。以IE Tab進(jìn)程的進(jìn)程對(duì)象為例:

深度解析Windows最新進(jìn)程隔離機(jī)制AppContainer

圖3

如何使用AppContainer隔離機(jī)制

這里我們不討論MetroAPP,主要看看DesktopAPP如何使用AppContainer隔離機(jī)制。

仍然以Win10PreX64(9926)開啟EPM的IE Tab進(jìn)程為例:在IE選項(xiàng)里開啟EPM,下斷點(diǎn)nt!NtCreateLowBoxToken,然后新建IE Tab,命中斷點(diǎn),截取最上面的幾層調(diào)用棧:

深度解析Windows最新進(jìn)程隔離機(jī)制AppContainer

圖4

可見,通過CreateProcess這個(gè)API就可以創(chuàng)建出AppContainer進(jìn)程。

看看CreateAppContainerProcessStrW的邏輯片段,把PackageSIDString(圖2里標(biāo)記為AppContainer的SID)和CapabilitySID(圖2里標(biāo)記為Capability的SID) string轉(zhuǎn)為SID后,傳給了CreateAppContainerProcessW:

好特網(wǎng)發(fā)布此文僅為傳遞信息,不代表好特網(wǎng)認(rèn)同期限觀點(diǎn)或證實(shí)其描述。

相關(guān)視頻攻略

更多

掃二維碼進(jìn)入好特網(wǎng)手機(jī)版本!

掃二維碼進(jìn)入好特網(wǎng)微信公眾號(hào)!

本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權(quán),請(qǐng)發(fā)郵件[email protected]

湘ICP備2022002427號(hào)-10 湘公網(wǎng)安備:43070202000427號(hào)© 2013~2025 haote.com 好特網(wǎng)