我遇到了一个恼人的问题。突然, Avira AntiVir 开始将我软件中的一个可执行文件标记为病毒。
由于几乎所有用户的默认操作都是单击“确定”,而Avira建议将病毒置于隔离区,因此我的大多数用户都在删除此可执行文件。
好吧,让我们不要傲慢,检查一下我是否确实没有受到感染。我将文件发布到http://www.virustotal.com,并且从所有反病毒中只有Avira将其标记为已感染。此外,我用两种不同的抗病毒扫描了我的电脑,它很干净。
我已经向我的用户发了一封邮件,说明发生了什么,但这是我支持的开销,我真的不想要。
好的,问题是:有没有办法避免这种行为?除了签署文件之外,我想不出任何其他方式,(不知道它是否会解决),但让我们看看你是否有任何创意。
答案 0 :(得分:27)
令人惊讶的是,Delphi应用程序被AV应用程序报告为(可能)有害。它发生在我之前,使用Delphi 2009,请参阅http://en.wikipedia.org/wiki/Wikipedia:Reference_desk/Archives/Computing/2010_March_20#Delphi.2FAVG_Issue。
在SO,我们也有
还有更多。
可能是实际的Induc Virus。但最有可能的是,这是一种误报。
答案 1 :(得分:22)
签名代码没有任何区别 - 我已经让NOD32在签名的Delphi代码上抛出误报。
如果有任何技术可以避免误报,病毒作者将使用它们来避免被发现。
我发现不幸的是,最好的行动方式是反应性而非主动性。所有AV供应商都有报告误报的工具,我发现它们对报告做出了响应。
答案 2 :(得分:3)
作为解决方案,您可能希望:
1 - 验证您的Delphi编译器未受感染 2 - 验证您的来源和库未经过调整(即Induc Virus的M.O.) 3 - 使用AV检查您的(保证)清洁exe。如果他们报告误报,请与他们联系,以便他们可以修复他们的测试。
4 - 如果您需要在有机会更正AV之前进行分发,请签署您的exe,以便您的用户可以验证它是否干净。
答案 3 :(得分:3)
反病毒产品可能触发Delphi生成的exe有几个原因,一些常见的原因是:
如前所述,尝试使用Virustotal或Jotti等在线服务扫描您的发布版本,并始终向供应商报告您的误报,而不是试图防止误报。我的经验是AV供应商在提交时反应非常快。
答案 4 :(得分:3)
在Free Pascal / Lazarus小组和bugtracker中,此类消息几乎每个发布和/或月份都会发生。
我们通常建议用户忽略所有“通用”或“启发式”扫描类型,并坚持基于签名的扫描(正如大多数公司的病毒扫描程序所做的那样)。
这是因为它几乎总是一种启发式警报,而不是特定的恶意软件。这可以很容易地看出,检测到的“病毒/木马”几乎总是“通用”类型。通常,virusscanners也是典型的“家庭”病毒扫描仪,或普通病毒扫描仪的家庭版(诺顿曾经特别糟糕,现在它主要是规模较小的“廉价”家用扫描仪)
但是,我们主要与开发人员进行沟通,并且已经无法收到此消息。我可以想象,当分发给无能的最终用户时,这是一个真正难以沟通的消息。
但是,没有其他办法。
答案 5 :(得分:3)
许多诚实的开发人员因粗心的防病毒软件而出现问题。 另请参阅:How to prevent false positive virus alarm on my software?
想象一下,对于他们表现出的每一个误报,你都会失去一个可能的客户。程序员应take action对抗此类防病毒产品,并强迫他们对误报警告更加谨慎,甚至为我们因此而失去的销售收入。
更新:
最近我发现了:
因此,在发布程序之前,请先提交VirusTotal!