我使用C ++ Win32 API和boost库编写了自己的代码。代码编译为Windows的EXE应用程序。我可以保证它不是恶意软件,但是virustotal.com报告说,56个防病毒软件中有9个会将exe文件识别为有恶意软件。
我认为没有理由这样做。我注意到前段时间用LCC-Win32编译器编译东西引发了一些恶意软件标记,而用Visual C ++编译相同的代码产生了一个干净的EXE文件,但是现在甚至Visual C ++生成EXE文件,它在virustotal上标记为恶意软件。
我可以说我的构建计算机没有被感染,因为如果我只编译Hello World代码或其他更大的应用程序,那么virustotal根本没有为新编译的exe报告任何恶意软件,它会如果我背后发生了一些疯狂的事情。
有没有办法摆脱virustotal报告的错误恶意软件标记?我的意思是,不改变我的代码(因为我知道它很干净,我写了它)。我可以报告他们的病毒测试被破坏吗?我是否必须通过电子邮件联系所有防病毒公司,这些公司的防病毒软件会逐个单独触发,要求他们修复防病毒软件?有没有人可以举报假阳性的地方?
答案 0 :(得分:3)
我曾在一家领先的反病毒公司和其他几家公司工作过。所以试着回答你的问题。
有没有办法摆脱报告的不正确的恶意软件标记 virustotal?
Antiviruses基本上检查可执行文件的几个可疑症状。例如,使用的恶意打包程序,入口点混淆,使用的可疑指令集,标题信息泄露等。它们基本上是围绕可执行文件的初始字节集执行的。如果其中任何一个被合并到您的可执行文件中,那么防病毒软件会将其作为恶意软件触发。如果你想“摆脱恶意标志”,你必须缩小导致它们的原因(它可能是:函数调用,模块,特定的后处理等),然后只是尝试从中删除根本原因你的申请。
至少如果您能够确定每个防病毒软件为您的可执行文件报告的恶意软件类型,那么有助于缓解此问题。
我的意思是,不改变我的代码(因为我知道它很干净,我写道 它)。
如果您考虑直接编辑可执行二进制文件以删除“那些少数标志”,则不更改代码,这不仅仅是直接的。 (正如你可能已经通过阅读我上面写的关于防病毒如何分析文件然后将其作为恶意文件进行分析而实现的内容)。
另外,你不能声称它很干净“因为你写了它”。因为你实际上编码了它的一部分。可能是您在不知不觉中使用的第三方库/组件,您不知道它导致将整个可执行文件作为恶意触发。 (而且,如果你的系统被感染了,你新开发的可执行文件可能会在你构建之后立即被感染。这种情况发生在你的意识背后。)
我可以在病毒报告中报告他们的病毒测试被破坏吗?
在您的情况下,这被称为“误报”。这就是virustotal在他们关于误报的常见问题上所说的:
VirusTotal正在检测我开发的合法软件, 请删除检测
VirusTotal仅作为信息聚合器,呈现 防病毒结果,文件特征描述工具输出,URL扫描 引擎结果等.VirusTotal不对误报负责 由它使用的任何资源生成的误报问题 应该直接与公司或个人背后解决 正在考虑的产品。
但是,我们可以帮助您打击误报。 VirusTotal 建立了一个关于误报的早期预警系统 开发人员可以将他们的软件上传到私人商店,例如软件 每天使用最新的防病毒签名进行扫描。 每当您的任何文件的检测发生变化时,您就可以了 立即通知,以减轻误报为 尽快。
我是否必须联系所有防病毒软件公司 通过电子邮件一个接一个地触发旗帜,要求他们 修复他们的防病毒软件?有没有人可以举报假阳性的地方?
是。如上面faq中的virustotal所提到的,误报问题 应该直接与公司或个人背后解决 正在考虑的产品。