你目前正处于脱机状态,正在等待 Internet 重新连接

"0x800700C1: 未有效 Win32 应用程序"时 Windows 8、 Windows Server 2012,Windows 7 或 Windows Server 2008 R2 中创建 AppLocker 哈希规则文件时出现错误

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 2749690
症状
假设您尝试创建 AppLocker 哈希规则在运行以下操作系统之一的计算机上的文件:
  • Windows 8
  • Windows Server 2012
  • 安装了安全更新的 Windows 7 MS12-024
  • Windows Server 2008 R2 具有安全更新 MS12-024 设置
不过,您不能创建该规则,并且您会收到以下错误消息:
0x800700C1: 没有有效的 Win32 应用程序
原因
由于 Windows 验证码签名验证函数现在会验证可移植可执行 (PE) 文件,将出现此问题。PE 文件都被视为无符号如果满足下列条件之一为真:
  • Windows 可以识别与文件中的验证码规范不符的内容。此条件适用于某些第三方安装程序。
  • 其他内容应用签名之后已添加到文件中。
AppLocker PE 文件的哈希规则基于 SHA2 验证码的哈希的文件。如果是 PE 文件符合前面提到的两个条件之一,验证码散列的文件不被信任。AppLocker 无法处理此类文件的验证码哈希。因此,您不能创建此类文件的发布者或哈希规则。
解决方案
文件具有与 Windows 验证码规范不相符的内容或应用签名后已更改的文件可能对您的计算机有害。因此,我们建议您通过使用 Windows 安全要求遵守的文件替换此类文件。若要执行此操作,可能需要使用原始软件作者发布符合要求的新文件。

如果您决定继续处理此类文件,您可以创建 AppLocker 基于路径的规则来管理这些文件。
更多信息
在 Windows 8,基于 Windows Server 2012 的计算机或 Windows 7 和 MS12-024 安装安全更新的基于 Windows Server 2008 R2 的计算机上,您无法创建哈希值或未签名的文件的发布者规则。您只可以创建此类文件的基于路径的规则。此外,如果 AppLocker 策略包含基于此类文件的哈希或发布者规则,该规则不再适用于该文件。以下 AppLocker 策略是此行为的示例:
<AppLockerPolicy Version="1"><RuleCollection Type="Exe" EnforcementMode="Enforced"><FileHashRule Action="Allow" UserOrGroupSid="S-1-1-0" Description="" Name="Allow Calculator" Id="7509591f-7552-4ed0-ac56-7b727cd1f9cf"><Conditions><FileHashCondition><FileHash Type="SHA256" SourceFileLength="53344" SourceFileName="calculator.exe" Data="0x2E8950C38FE3DD02D9F9A012BA9481E7E4704838BB5208E3F7086B6935520A93"/></FileHashCondition>              </Conditions></FileHashRule><FilePublisherRule Id="a3ab2d94-c20d-4039-8f2b-6caaff04e816" Name="Deny Contoso" Description="Deny Games" UserOrGroupSid="S-1-1-0" Action="Deny"><Conditions><FilePublisherCondition PublisherName="Contoso" ProductName="Attack of Zombies" BinaryName="*"><BinaryVersionRange LowSection="*" HighSection="*" />                      </FilePublisherCondition></Conditions>         </FilePublisherRule>……</AppLockerPolicy>
在此示例中,AppLocker 策略有两个规则。第一个规则 ("允许计算器") 是允许 Calculator.exe 运行哈希规则。第二条规则 ("拒绝 Contoso") 是阻止攻击的僵尸游戏发布 contoso 所属的任何文件的发布者规则。作为 Calculator.exe 和 Zombies.exe 都符合前面提到的两个条件之一,Windows 验证码签名验证失败。应用 MS12-024 之前,"允许计算器"规则,允许 Calculator.exe 和 Zombies.exe 被"拒绝 Contoso"规则阻止。但是,应用 MS12-024 后,AppLocker 无法处理 Calculator.exe SHA2 验证码哈希,并认为作为未经签名的文件 Zombies.exe。因此,这两个规则触发时,和出现意外的行为。
参考
有关安全公告 MS12-024 的详细信息,请访问以下 Microsoft TechNet 网站:有关 Windows 验证码可移植可执行文件的签名格式的详细信息,请访问以下 MSDN 网站:

警告:本文已自动翻译

属性

文章 ID:2749690 - 上次审阅时间:11/01/2015 07:34:00 - 修订版本: 2.0

Windows 7 Enterprise, Windows 7 Ultimate, Windows 7 Professional, Windows Server 2008 R2 Standard, Windows Server 2008 R2 Enterprise, Windows Server 2008 R2 Datacenter, Windows Server 2008 R2 Foundation, Windows 8 Enterprise, Windows 8 Pro, Windows Server 2012 Datacenter, Windows Server 2012 Essentials, Windows Server 2012 Foundation, Windows Server 2012 Standard

  • kbprb kbsurveynew kbexpertiseadvanced kbmt KB2749690 KbMtzh
反馈