之前那我们提到研究人员披露最新发现僵尸负载系列漏洞,该漏洞属于数据微采样但还是与英特尔推测执行有关。危害方面与其他推测执行漏洞相同都是可以窃取内核中机密数据,对于生产环境设备来说这是重要安全隐患。目前英特尔已经推出微代码更新对该漏洞进行缓解,微软也在本月发布累积更新中禁用事务扩展技术缓解漏洞。不幸是英特尔事务扩展技术可以在特定工作负载下提高40%性能,而禁用该技术后也意味着会损失这些性能。
微软已经默认禁用事务扩展技术:
基于安全考虑作为操作系统开发商微软已经直接禁用该技术,只要用户安装最新累积更新就会默认禁用该技术。被禁用包括Windows 10消费者版本和Windows Server系列服务器版本 , 实际Windows 7~8.1也会默认禁用。当然相信绝大多数用户和企业是不愿意损失这么多处理器性能,因此微软亦提供最新指南允许用户开启该技术。不过从安全角度考虑微软还是建议大家不要恢复事务同步扩展,尤其是在生产环境中恢复可能会带来安全问题。
注:「损失40%性能」数据来自苹果官方多线程负载测试和公共基准测试,上述测试结果已被苹果公开发布。
启用事务扩展技术恢复性能:
以下操作支持Windows 7 SP1~Windows 10所有版本 , Windows Server 2008 R2~Windows Server 2019版。事务扩展仅支持2013年6月发布 Haswell 及之后处理器,且低于45XX及 R/K 系列不支持因此无需进行操作。操作需拥有管理员级别权限如果你没有管理员权限请联系IT管理员处理,普通用户可直接通过命令行进行操作。
再次提醒如果你不清楚以下注册表键值具体用途请不要操作
打开管理员模式命令提示符然后粘贴下列命令进行对应操作,操作完成后可能需要重启系统才可以正常生效。
# 恢复 英特尔事务同步扩展技术 (Intel TSX)
reg add "HKEY_LOCAL_MACHINESYSTEMCurrentContrpSetContrpSession ManagerKernel" /v DisableTsx /t REG_DWORD /d 0 /f
# 禁用 英特尔事务同步扩展技术 (Intel TSX) 此为系统默认项
reg add "HKEY_LOCAL_MACHINESYSTEMCurrentContrpSetContrpSession ManagerKernel" /v DisableTsx /t REG_DWORD /d 1 /f
亦可手动修改注册表:
企业管理员如需手动修改注册表进行启用或恢复可以按以下步骤操作,具有管理员权限用户打开注册表编辑器。
# 依次展开如下注册表路径
HKEY_LOCAL_MACHINESYSTEMCurrentContrpSetContrpSession ManagerKernel
右键点击Kernel选择新建DWORD 32位值,将其命名为:
DisableTsx
双击刚刚新建键值(DisableTsx)将其默认值改成1代表禁用事务扩展、改成0代表启用事务扩展