为了解决 DLL Hell 所导致的一系列问题,微软从 Windows 98 开始就引入了 Side-by-side assembly (SxS) 技术来管理系统中的众多DLL。然而,这一有着悠久历史的技术在设计上却存在着重大的安全缺陷,任意用户都可以利用它来获得系统最高权限。
本议题将回顾 SxS 的设计思路,分析 SxS 的工作机制,并在此基础之上阐述其中存在的安全缺陷,以及如何利用该缺陷来获得系统最高权限。最后,将展示微软是如何修复这一问题的,并给出如何避免类似问题的一些建议。