真实环境下攻击者是否能够利用此漏洞来控制服务端的句柄操作,需要攻击者有一定的 技术水平。在未加载内核模块或者使用一些内存内核泄露的0如7的情况下,攻击者将难以确定卩^1?作6和1&81?作6队列内容。因此,很难猜测在空闲队列中存在多少个空闲句柄、具 体内容是什么以及它们在队列中的顺序等。除非恶意程序能够绕过当前进程状态,在攻击者 进程上下文内向对象管理器发起大量的句柄请求,以此耗尽空闲句柄池;另一个可能的解决 方案即使用上百个空闲句柄代替某个句柄,以此来增加碰撞的可能性即请求到高特权级对象。这种技术很类似于基于浏览器的堆喷射技术。 小结 本文主要的目的是讨论内核中的句柄管理算法实现机制。有趣的是,句柄分配 的某些特性可被认为是资源管理中的安全缺陷,而且有可能被攻击者利用。由于,句柄与本 地机器和操作系统的特性密切相关,故攻击范围可能只限于本地特权提升攻击。笔者最感兴 趣的还是如何设计出一种可行方案有效控制句柄表的分配、空闲队列的布局和顺序,望大家 共同切礎。 |