深度解析AppContainer
Win8开始,Windows引入了新的进程隔离机制AppContainer,MetroAPP以及开启EPM的IE Tab进程都运行在AppContainer隔离环境,在最新的Win10Pre(9926)上,仍然如此。腾讯反病毒实验室对AppContainer的工作机制做一深入解读。
AppContainer带来的变化
Vista以前的系统,如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
如何使用AppContainer隔离机制
这里我们不讨论MetroAPP,主要看看DesktopAPP如何使用AppContainer隔离机制。
仍然以Win10PreX64(9926)开启EPM的IE Tab进程

本文深度解析Windows的AppContainer机制,介绍其在Win8及以后系统中的应用,如何创建AppContainer进程,并探讨其访问权限控制,包括DACL、ACCESS_ALLOWED_ACE_TYPE和ACCESS_DENIED_ACE_TYPE的处理方式。AppContainer提供更细粒度的权限控制,有助于降低应用程序对系统的潜在影响。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



