[2014/7/30 更新] 安全公告2915720和安全公告MS13-098已更新,通知原定于2014年8月12日(美国日期)默认启用的Windows Authenticode签名验证功能将不会默认启用。但该功能并未移除,用户仍可根据需要手动启用(设置方法和详情请参阅MS13-098)。此决定基于与客户共同验证后发现默认启用可能对现有软件造成较大影响。未来Windows版本可能会默认启用此功能。
[2014/5/22 更新] 安全公告2915720和安全公告MS13-098已更新,Windows Authenticode签名验证自动启用的开始时间从2014年6月10日(美国日期)更改为2014年8月12日(美国日期)。因此,本博客中的日期也已相应更改。
大家好,我是村木ゆりか。 2013年12月发布并于2014年2月再次通知的[安全公告2915720](“Windows Authenticode签名验证的变更”),正如之前所通知的,将对Windows Authenticode签名格式签名的二进制文件的签名验证进行更严格的验证行为变更。
此行为变更的更新包含在安全公告MS13-098"Windows漏洞可能导致远程代码执行"中,计划于2014年8月12日(美国时间)开始通过自动更新启用严格验证。目前建议在您的环境中测试此Authenticode签名验证变更的行为。
■ 概述 在Windows上验证Authenticode签名格式签名的二进制文件(Windows Portable Executable格式)时,将更严格地进行验证。
行为变更的更新包含在安全公告MS13-098"Windows漏洞可能导致远程代码执行"中。目前安装更新程序时此变更默认不会启用,但计划于2014年8月12日(美国时间)开始通过自动更新启用严格验证。
建议现在就在您的环境中测试此Authenticode签名验证变更的行为。
■ 什么是Authenticode签名 Authenticode签名是数字签名的一种形式,广泛用于为Windows使用的二进制文件(Windows Portable Executable格式)签名。通过签名,可以在使用二进制文件时验证创建者(发布者)并确认二进制文件未被篡改。
例如,为互联网上分发的应用程序安装程序签名。下载的用户可以通过验证签名来确认安装程序来自可信开发者且未被病毒篡改。
有关Authenticode的概述,请参阅Introduction to Code Signing。
■ 更严格的Authenticode签名验证是什么 Authenticode签名相关信息使用Public-Key Cryptography Standards(PKCS)#7的签名数据和X.509证书,并作为签名目标二进制文件(Windows Portable Executable)数据的一部分存储。使用签名二进制文件时,Windows的WinVerifyTrust功能会利用这些存储数据进行签名验证。
在更严格的签名验证中,将检查这些签名数据和证书存储部分是否包含无关数据。如果包含无关数据,则签名被视为不符合标准(视为未签名的二进制文件)。使用不符合标准的二进制文件时,可能会出现应用程序显示警告或无法运行、安装程序无法安装等情况。
技术详情请参阅以下信息: ・Microsoft Security and Research Blog “MS13-098: Update to enhance the security of Authenticode”(英文信息) ・Introduction to Code Signing(英文信息) ・WinVerifyTrust function(英文信息) ・Authenticode Portable Executable Signature Format(英文信息)
■ 请进行行为测试 建议开发者在2014年8月12日(美国时间)前验证其签名二进制文件是否符合严格签名验证标准,IT管理员验证其环境中是否存在不符合标准的二进制文件。
行为变更的更新包含在MS13-098发布的安全更新程序中。当前仅安装更新程序不会启用严格签名验证。安装MS13-098安全更新程序并添加注册表EnableCertPaddingCheck值后,严格签名验证才会启用。
请在启用严格签名验证的环境中验证应用程序和服务是否正常运行、安装程序是否正常工作等。
详情请参阅安全公告2915720"推荐操作"部分。
■ 时间线(美国时间) 2013年12月10日: ・发布安全公告2915720"Windows Authenticode签名验证的变更" ・发布安全公告MS13-098"Windows漏洞可能导致远程代码执行",包含修改签名验证方法的修复 注意:当前安装更新程序时此变更默认不会启用。
2014年2月11日 ・重新发布安全公告2915720再次通知
2014年8月12日(计划) ・计划通过自动更新分发启用更严格Authenticode签名验证的更新 ・在启用更严格验证的设备上,将检查签名数据和证书存储部分是否包含无关数据。 ・如果包含无关数据,则签名被视为不符合标准(视为未签名的二进制文件)。 ・使用不符合标准的二进制文件时,可能会出现应用程序显示警告或无法运行、安装程序无法安装等情况。
■ 参考资料 Microsoft Security and Research Blog “MS13-098: Update to enhance the security of Authenticode”(英文信息) Introduction to Code Signing(英文信息) WinVerifyTrust function(英文信息) Authenticode Portable Executable Signature Format(英文信息)