首页 > 菜鸟学院 > 深度解析Windows最新进程隔离机制AppContainer

深度解析Windows最新进程隔离机制AppContainer

时间:2015-03-04 | 来源:互联网 | 阅读:77

话题:

深度解析Windows最新进程隔离机制AppContainer

图16

另外,对于No DACL的情况,也有额外的处理逻辑。AppContainer进程访问No DACL的对象时,是无法获得访问权限的:

深度解析Windows最新进程隔离机制AppContainer

图17

所以在Win8及以上系统中,我们如果想要创建一个所有进程(包括开启EPM的IE Tab )都能访问的对象,对于该对象的SD,除了在SACL里指定为低完整性级别外,还要考虑在DACL中显示的给予everyone以及ALL APPLICATIONS PACKAGE对应的访问权限控制。

ACCESS_DENIED_ACE_TYPE

在遍历类型为ACCESS_DENIED_ACE_TYPE的ACE时,处理逻辑里并没有区分ACE的SID是否为PackageSID或者CapabilitiesSID。而是简单使用SepSidInTokenSidHash函数在Token的SidHash/RestrictedSidHash里匹配。如果是PackageSID或者CapabilitiesSID,匹配会失败,因此该ACE描述的拒绝访问权限控制不会生效:

深度解析Windows最新进程隔离机制AppContainer

图18

做一个实验验证上面的结论,首先我们用AppContainer隔离机制启动一个记事本,复用IE EPM的PackageSID以及部分Capabilities:

深度解析Windows最新进程隔离机制AppContainer

图19

把C:Users{当前用户}AppDataLocalPackageswindows_ie_ac_001ACTemptest1.txt设置为下面的权限控制:

深度解析Windows最新进程隔离机制AppContainer

图20

深度解析Windows最新进程隔离机制AppContainer

图21

ACE[0]Mask为0x001F01FF,包含要请求的权限0×00100080

虽然ACE[0]明确的拒绝了

S-1-15-2-1430448594-2639229838-973813799-439329657-1197984847-4069167804-1277922394(图19里标志为AppContainer的SID),记事本仍然能成功打开1.txt(ACE[1]明确给予了ALL APPLICATION PACKAGES 0x001F01FF的访问权限)。

结束语


AppContainer提供了更细粒度的隔离机制,不仅能用于MetroAPP和 IE EPM,当应用程序需要访问未知第三方内容时,也可以考虑使用AppContainer隔离机制,把对系统的潜在影响降到最低。

推荐

最新好玩手游

更多

手游风云榜

更多

资讯阅读

更多


湘ICP备2022002427号-10 湘公网安备:43070202000427号
© 2013~2024 haote.com 好特网