以色列安全研究员 Gil Dabah 表示,微软正在开发一类 Windows 漏洞的全面缓解措施。二十多年来,Windows 操作系统一直受这些漏洞的影响。今天早些时候,Dabah 已发布 PoC 代码和报告,详细说明了25个利用同一类型漏洞不同变体的bug。
Dabah 的研究工作涵盖 Windows 操作系统中自90年代中期就已知晓的一个攻击面。该漏洞类影响 Win32k(用于管理 Windows 32位架构以及 UI 元素、驱动和 Windows OS/内核之间交互的 Windows 组件)。当前,Win32k 组件仍然存在于甚至是64位 Windows 系统中当作遗留层,使得老旧应用能够在现代系统上运行。但问题在于该组件的参与方式。在 Windows 更早版本中,该组件在 Windows OS 的用户模式部分运行。当微软最终意识到这是一个重要组件并且应当在更安全的内核模式下运行时,为时已晚,因为 Win32k 的规模和复杂度已大大增长,而完整的重写可能会破坏数千款32位应用的向后兼容性。如今,Win32k 组件仍然一团糟。某些操作完全发生在内核空间中,而其它一些部分依靠的是代码库的老旧部分。这些老旧 Win32k 函数都以 “xxx” 为前缀,当它们被调用时,从安全内核模式发送至用户模式,结果被返回到内核空间。
攻击者和安全研究员快速发现了这个非标准执行模式中的弱点。他们意识到他们能够篡改 Win32k 的以 xxx 为前缀的位于用户模式内存中的代码,而当 xxx 函数的结果返回到内核时,欺骗内核以提升后的权限执行不必要的动作。十年多来,安全研究人员已经详述了无数种将恶意代码插入 Win32k 组件并获得管理员权限的方法和技术。这种研究工作始于2008年和2011年。在访谈中,Dabah 表示就在一年前他开始寻找利用这类漏洞的新方法,给自己定下在Win32k组件中发现超过15个不同问题的挑战。
今天,Dabah 发布一份长达34页的报告作为答卷,详述了通过 Win32k 组件提升权限的多种新方法。他共发现了25个 bug,其中某些甚至适用于Windows 10 最新版本,测试时适用于 Windows Insider Preview。在这25个 bug 中,Dahah 表示,“其中11个被用于证实提权的可行性。”微软已修复其中11个bug,并从2019年11月开始缓慢推出补丁,最近的补丁发布日期是在2020年2月。但是,虽然很多安全研究员通常不满微软修复安全问题的方式,Dabah 表示,微软已经做得非常出色,尤其是考虑到 Win32k 极其老旧的问题更是如此。Dabah 表示,“人们通常认为触及已存在30年年之久的软件非常容易,但实际上这份工作的难度我们无法想象。从我自己在这个领域的经验来看确实如此。”Dabah 指出,微软目前“正在开发一劳永逸的缓解措施。”目前该缓解措施位于 WIP (Windows InsiderPreview) 版本中。Dabah 希望该缓解措施能够解决所有位于同样漏洞类别中的其它bug,甚至是那些尚未被发现或记录的 bug。Dabah 发布的报告得到信息安全社区多数人员的赞赏。
https://www.ragestorm.net/Win32k%20Smash%20the%20Ref.pdf
https://www.zdnet.com/article/microsoft-is-working-on-mitigating-an-entire-windows-bug-class/
题图:Pixabay License
本文由奇安信代码卫士编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 www.codesafe.cn”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。