WEB开发网
开发学院操作系统Windows Vista Vista用户帐户控制、PsExec和安全边界 阅读

Vista用户帐户控制、PsExec和安全边界

 2007-12-06 16:50:08 来源:WEB开发网   
核心提示: 有时候完整性级别为“低级”的进程,甚至还可以对更高级别的对象进行操作,Vista用户帐户控制、PsExec和安全边界(6),因为不同完整性级别的进程共享同一个桌面,所以它们共享同一个“会话”,Windows Vista在安全性和易用性上作了权

有时候完整性级别为“低级”的进程,甚至还可以对更高级别的对象进行操作。因为不同完整性级别的进程共享同一个桌面,所以它们共享同一个“会话”。每个用户登录系统时,会创建一个新的会话,该用户的进程就在这个会话中运行。会话也提供本地的命名空间,这样用户进程就可以通过诸如同步对象或者共享内存这样的共享对象进行通信。这意味着完整性级别为“低级”的进程,可以创建一个共享内存对象(叫做区域或者内存映射文件)以供高级别的进程访问,并在该共享内存里存储数据,这样高级别的进程就会执行其中的恶意代码(如果该进程没有正确地验证数据)。这种攻击手段叫做蹲守攻击(squatting attack),比较复杂,需要用户按照特定顺序执行进程,并且需要了解应用程序是如何通过共享对象进行操作的内部原理。

盆盆评注 会话是天然的安全屏障,跨越会话进行攻击是非常困难,Windows Vista下的服务就实现了会话隔离,让服务存在于会话0中,以避免用户进程跨越会话进行攻击。

然而我们必须清楚,无论这种攻击方法有多么困难,但是既然这种隔离沙盒存在突破口,这就说明完整性级别并没有定义安全边界。什么是安全边界?安全边界就是一道隔离墙,如果没有通过安全策略的验证,代码和数据就不能打破这道隔离墙。举个例子,在不同的会话中运行的用户帐户,会通过Windows安全边界进行分隔。如果没有其他用户的允许,一个用户不能读取或者修改其他用户的数据,也不能让其他用户执行代码。如果由于某些原因而可以绕过安全策略,这就意味着Windows系统存在bug(或者是第三方代码的原因)。

我们还必须清楚,不管是用户帐户控制、还是IE保护模式,都没有定义新的Windows安全边界。虽然微软已经表明了这个观点,但是我希望大家对此能够有一个明确的认识。此外,正如Jim Allchin在他的博客文章《Security Features vs Convenience》里所写的,Windows Vista在安全性和易用性上作了权衡,用户帐户控制和IE保护模式在设计时已经考虑到应用程序兼容性和易用性,可以有方法绕过完整性级别的隔离墙限制。

上一页  1 2 3 4 5 6 7  下一页

Tags:Vista 用户 帐户

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接