![软件限制策略在堆栈的哪里实现?](https://linux22.com/image/535239/%E8%BD%AF%E4%BB%B6%E9%99%90%E5%88%B6%E7%AD%96%E7%95%A5%E5%9C%A8%E5%A0%86%E6%A0%88%E7%9A%84%E5%93%AA%E9%87%8C%E5%AE%9E%E7%8E%B0%EF%BC%9F.png)
我非常喜欢软件限制策略适用于 Microsoft Windows,最近正在更新我们的设置。我很好奇 Microsoft 在堆栈中的哪个位置实现了这项技术。我可以想象一个非常简单的实现是在 Windows 资源管理器中,当您双击 exe 或其他被阻止的文件类型时,该资源管理器将根据策略进行检查。我称其为天真,因为这显然无法防止有人在 CMD 窗口中输入内容。或者更糟的是,Adobe Reader 正在运行外部应用程序。另一方面,我可以想象软件限制策略可以在堆栈深处几乎在金属上实现。在这种情况下,低级加载器会将可疑文件加载到内存中,但在内存管理器中将内存标记为不可执行数据。
我非常肯定微软并没有做最简单的实现,因为如果我使用路径块阻止 Java,Internet Explorer 会在尝试加载 Java 时崩溃。这正是我想要的。但我不确定它在堆栈中实现得有多深,任何见解都将不胜感激。