腾讯反病毒实验室:深度解析AppContainer工作机制

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

深度解析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进程为例:在IE选项里开启EPM,下断点nt!NtCreateLowBoxToken,然后新建IE Tab,命中断点,截取最上面的几层调用栈:

        

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值