首页 > 解决方案 > 有没有办法将 Microsoft 的 .exe 列入 SmartScreen 白名单?(无 EV 证书)

问题描述

Microsoft SmartScreen,以其消息而闻名:

Windows Defender SmartScreen 阻止了无法识别的应用程序启动

对最终用户避免恶意软件很有用,但也会伤害独立开发人员,因为当他们分发二进制文件时:最终用户看到可怕的消息,这对开发人员的声誉造成了问题(见某人的评论“我的客户经常认为我在提供病毒、恶意软件或其他非法的东西,他们告诉他们的朋友,我失去了销售”):
尽管我签署了可执行文件,但智能屏幕过滤​​器仍然抱怨,为什么?

即使使用付费证书,如果software-release1.0.1.exe最终被列入白名单,当您发布software-release1.0.2.exe更新时,消息会再次出现:
Transferring Microsoft SmartScreen 信誉到更新的证书

唯一的解决方案似乎是扩展的“EV 代码签名”,每年可以达到 300-500 美元(这个固定费用使小型独立开发者的税收百分比更高)。


问题:有没有办法通过将 .exe 提交给 Microsoft 进行分析,立即(或几天)为所有用户(不仅是在我自己的计算机上)将 .exe 列入白名单?

我看过这个链接:https ://www.microsoft.com/en-us/wdsi/filesubmission ,有人能够成功使用它来避免进一步的 SmartScreen 警报吗?(似乎没有)。

还有其他方法吗?比如通过自动化脚本自动部署100台VM,让每台VM自动下载安装.exe?但这可能来自同一个IP,那么微软可能会将声誉计数器增加+1而不是+100?

在此处输入图像描述

在此处输入图像描述

标签: windowscertificatecode-signingsmartscreen

解决方案


正如您在问题中所说,拥有受信任软件的第一个解决方案是使用 EV 证书进行代码签名但是,另一个棘手的解决方案是提高您的软件的声誉。
正如微软所说: 基于信誉的 URL 和应用程序保护

如果 URL、文件、应用程序或证书已建立声誉,用户将不会看到任何警告。但是,如果没有声誉,则该项目将被标记为较高风险并向用户显示警告。

因此,在您问题的最后一段中,您提到了创建大量 docker 容器或虚拟机以增加信任和声誉。我使用每个 VM 或容器中相同 IP 地址的解决方案来完成它。
解决方案是在所有 VM 或容器中使用TOR作为代理。通过使用 tor,您可以创建连接到 TOR 网络内的代理,并将您的真实 IP 地址隐藏在您的虚拟机或容器中。Tor 是免费使用的,您可以根据需要将节点连接到它的网络,并经常更改您的 IP 地址。此外,最好在某些 VM 中使用不同版本的 Windows。
请记住,在此之前您必须提交您的软件进行恶意软件分析,


推荐阅读