Windows 8 和 10 存在 ASLR 缺陷,修复方法如下

阅读时间图标 2分钟读


读者帮助支持 MSpoweruser。如果您通过我们的链接购买,我们可能会获得佣金。 工具提示图标

阅读我们的披露页面,了解如何帮助 MSPoweruser 维持编辑团队 查看更多

在 Windows 8 及更高版本上发现了一个新的安全漏洞,这使得 ASLR 无用。 该漏洞是由一位名叫 Will Dormann 的安全研究员发现的。 他在 CERT 上的详细帖子中解释了这个问题:

EMET 和 Windows Defender Exploit Guard 都启用了系统范围的 ASLR,但同时也启用了系统范围的自下而上 ASLR。 尽管 Windows Defender Exploit 防护确实为系统范围的自下而上 ASLR 提供了一个系统范围的选项,但“默认开启”的默认 GUI 值并不反映底层注册表值(未设置)。 这会导致没有 /DYNAMICBASE 的程序被重新定位,但没有任何熵。 这样做的结果是此类程序将被重新定位,但每次重新启动甚至跨不同系统时都会重新定位到相同的地址。

对于那些不知道的人,微软首先在 Windows Vista 中实现了 ASLR(地址空间布局随机化),有助于防止代码重用攻击。 ASLR 使用随机内存地址来执行代码,但在 Windows 8、Windows 8.1 和 Windows 10 中,该功能并不总是正确应用。 在 Windows 8、8.1 和 Windows 10 中,ASLR 不使用随机内存地址,本质上使其无用。

好消息是,Will 共享了一个手动注册表编辑来解决这个问题。 为此,您需要执行以下操作。

  • 使用以下内容创建文本文件:Windows 注册表编辑器版本 5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel]
    “缓解选项”=十六进制:00,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00
  • 使用注册表扩展名 (.reg) 保存文件
  • 在开始菜单中输入“regedit”打开注册表编辑器
  • 选择 File>Import 并选择您刚刚创建的 .reg 文件。

这应该能够解决问题,直到 Microsoft 发送更新以完全修复它。

通过: 比特科技

有关主题的更多信息: 微软, 10窗口, 8窗口

发表评论

您的电邮地址不会被公开。 必填带 *