我们最近发现,当用户尝试运行其已签名的应用程序时,Microsoft SmartScreen警告的出现频率有所增加。
本文将解释出现这种情况的原因、SmartScreen 信誉评估机制的运作原理(基于微软的最新指导原则),以及未来您可能遇到的情况。
什么是 SmartScreen 信誉?
Microsoft SmartScreen是一个基于信誉评估的安全系统,会在允许下载的应用程序运行之前对其进行评估。
微软对 SmartScreen 的定义旨在实现以下功能:
发布者信誉 → 代码签名证书的可信度
文件信誉(哈希值) → 该文件是否已被广泛下载且值得信赖 (Microsoft Learn)
这意味着信任并非一蹴而就——即便是经过正确签名的申请也是如此。
为什么会出现 SmartScreen 警告?
您可能会看到类似以下警告:“Windows 已保护您的电脑”
这种情况通常发生在以下情形:
该应用程序是新推出的或最近发布的
该文件的下载率较低
正在使用新的证书
二进制文件已更改(新版本 = 新文件哈希值)
微软明确指出,每个文件都必须根据实际使用情况建立自己的信誉 (Microsoft Learn)
即使是微小的更新也会重置文件的信誉值。
重要启示:仅靠签名是不够的
一个常见的误解是:
如果我的应用程序已签名,就不应该显示 SmartScreen 警告。
SmartScreen 并非如此运作。
代码签名可确保身份和完整性
SmartScreen 会随时间推移评估信誉
有效的签名 ≠ 立即信任
EV代码与标准代码签名证书
从历史上看,EV代码证书有助于更快地建立信誉。然而,根据微软目前的指导意见:
无论是EV代码证书还是标准代码证书,都依赖于信誉的积累
关键因素依然在于实际应用情况和信任信号
声誉是需要靠努力赢得的,而不是凭空得来的。
SmartScreen 信誉如何建立
在以下情况下,声望会随着时间的推移而提升:
用户下载并安装该应用程序
未检测到任何恶意行为
该发行商会持续为软件签名
SmartScreen 通过遥测数据和信号来判断软件是否为常见下载且安全。
在此之前,该应用程序将被视为“未知”并被谨慎标记。
为何此事如今如此重要
随着微软生态系统中安全措施的持续改进,SmartScreen 正变得越来越严格,且越来越注重信誉评估。
这意味着:
新应用程序几乎总是会收到初始警告
更新和新版本将暂时重置信任
规模较小或小众的应用程序可能需要更长时间才能建立声誉
这对 GlobalSign 客户意味着什么
需要明确的是:
-
SmartScreen 警告并不表示:
-
无效或已失效的 GlobalSign 证书
-
签名流程存在的问题
-
应用程序中的安全漏洞
-
他们指出:
-
该应用尚未建立起足够的信誉
减少 SmartScreen 警告的最佳实践
为了更快建立声誉并尽量减少警告:
- 保持证书的一致性
在各个版本中使用相同的发布者身份 - 扩大分销
鼓励从可信渠道下载 - 签署所有免责声明
确保每个二进制文件都经过正确签名并添加了时间戳 - 避免频繁更换证书
新证书需要重建信誉 - 与用户沟通
请告知用户,新软件安装时可能会出现初始警告
最终总结
SmartScreen 的设计目的是保护用户免受未知软件的侵害,而非用于验证证书。
即使使用 GlobalSign 的受信任代码签名证书:
声誉需要时间来积累
预计初期会出现警告
信任源于实际使用
了解微软 SmartScreen 信誉模型的工作原理,有助于开发者与最终用户建立合理的预期。如果您对 SmartScreen 警告或信誉随时间积累的过程有任何疑问,请联系 GlobalSign 支持团队以获取指导。