我下载的大多数可执行文件都会打开安全提示,例如:
不过,我不止一次感到惊讶,我第一次下载的可执行文件立即打开安装程序,绕过了安全提示。
这怎么可能?我是否错误地禁用了安全检查?是否有一些已签名的可执行文件被 Windows 视为 100% 可信,不需要经过安全提示?
编辑
我刚刚尝试了最后两个软件安装程序,但它们没有在全新的 Windows 10 虚拟机上给出提示:
- 一切来自 voidtools.com
- 信号来自 signal.org
和同样的事情,我没有收到提示。
- 为了一切,我收到提示安装期间请求允许应用程序在计算机上进行更改。
- 为了信号,安装毫无提示就完成了。
因此看起来提示的出现取决于应用程序尝试访问的内容?
不过,令我惊讶的是它完全可以在没有任何提示的情况下执行。
我的猜测是,Windows 10 中的应用程序默认处于沙盒状态,以防止它们篡改系统。当它们可以在沙盒中生存时,不会出现任何提示。当它们需要沙盒外的任何访问权限(例如整个文件系统)时,Windows 会提示用户进行授权。
这可以解释为什么信号(一个简单的通讯应用程序)没有提示(它应该能够在沙盒中工作)一切在某些时候确实会提示(它需要访问整个文件系统)。
我很高兴能证实这个猜测,如果可能的话还提供更多信息。
答案1
Microsoft SmartScreen 似乎为来自 voidtools.com 和 signal.org 的安装程序提供了良好的声誉。而且我看到这些安装程序都经过了数字签名。
引自Microsoft SmartScreen 和扩展验证 (EV) 代码签名证书 – IEBlog
即使该文件或发布者之前没有信誉,使用 EV 代码签名证书签名的程序也可以立即在 SmartScreen 信誉服务中建立信誉。在生成信誉和确定产品体验时,还会考虑其他因素,并且 EV 签名程序将长期受到密切监控。我们认为这些证书的审查和安全性方面的改进对用户和开发人员来说都是一项重大进步。
也可以看看:代码签名 - 尽管我签署了可执行文件,但智能屏幕过滤器仍然抱怨,为什么? - 信息安全 Stack Exchange
引用:
有两种解决方案:要么等到应用程序拥有大量用户群,其声誉将由智能屏幕调整。但是,当前的工作状态可能会阻止用户安装和信任该应用程序。第二种选择是使用 EV(扩展验证)代码签名证书对其进行签名。使用 EV 证书签名的应用程序可以立即建立其声誉。
首次运行后,Windows SmartScreen 还会删除 Web 标记区域标识符从下载的文件中自动获取。