【问题标题】:Automatically creating AV exceptions自动创建 AV 异常
【发布时间】:2015-04-15 22:36:29
【问题描述】:

我编写了一个程序,当更新可用时,它会下载一个 EXE 文件。最终用户计算机上的不同防病毒程序显然会对此下载做出不同的反应 - 例如,Avast 将直接终止下载而不询问是否授予权限,除非事先设置了例外,或者在设置中勾选了一个选项(我不能保证会)。

有没有办法为所有可能的 AV 变体添加例外,而无需学习如何为每个可能的 AV 执行此操作?

要将规则添加到 Windows 防火墙,以下行就足够了:

netsh advfirewall firewall add rule name="Blah blah" dir=in action=allow program="C:\Program Files (x86)\Yadda\yadda.exe" enable=yes

但我找不到类似的 AV 命令。我不反对询问我的最终用户他们使用哪种 AV 产品并为每个产品编写一些内容,但如果可能的话,我更愿意避免这种情况。

【问题讨论】:

  • Hmya,如果你会写一个杀毒程序,你会让病毒添加规则变得容易吗?
  • @Hans 不容易,不。我想我希望像 UAC 这样的东西 - “这个 prog 试图添加一个例外,你会允许吗?”。

标签: windows winapi antivirus


【解决方案1】:

最终用户计算机上的不同防病毒程序显然会对这种下载做出不同的反应

仅当您以可疑方式执行下载时。 Web 浏览器和其他数据下载客户端并非都存在 AV 异常,是吗?不,如果您以正确的方式做事,您的应用程序也不应该。我们生活在一个互联的世界。自行下载本身就是安全的。 执行下载的代码可能有风险。

例如,Avast 将直接终止下载而不询问是否授予权限,除非事先设置了异常,或者在设置中勾选了一个选项(我不能保证会这样做)。

恕我直言,如果 Avast 真的这样做,那就太愚蠢了。

有什么方法可以为所有可能的 AV 变体添加例外,而无需学习如何为每个可能的 AV 执行此操作?

没有。这是假设 AV 甚至首先允许动态设置规则,这不太可能(否则,什么是阻止病毒设置规则?)规则是用户定义的,所以 AV 只允许规则是由人类互动设置。

要将规则添加到 Windows 防火墙,以下行就足够了:

netsh advfirewall firewall add rule name="Blah blah" dir=in action=allow program="C:\Program Files (x86)\Yadda\yadda.exe" enable=yes

防火墙与 AV 不同。仅供参考,如果用户有权更改策略,Windows 防火墙有自己的public API 让应用程序设置规则和端口策略。您无需求助于netsh

我找不到类似的 AV 命令。

当然不是。这将是一个巨大的安全风险。

我不反对询问我的最终用户他们使用哪种 AV 产品并为每个产品编写一些内容,但如果可能的话,我更愿意避免这种情况。

您应该能够完全避免创建任何异常。如果您的应用程序需要 AV 中的异常,那么您可能做错了什么。

【讨论】:

    猜你喜欢
    • 2011-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-21
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多