我一年多前制作了这个备份程序。它之前从未被检测为威胁。今天早上,当它试图做它一贯做的事时,Windows Defender 隔离了它,称其为严重威胁“Trojan:Win32/Bearfoos.A!ml”
它使用我自己编写的两个 DLL,其中一个执行递归搜索,另一个读取/写入文件。基本上,我的 .exe 会读取其配置文件,如果出现问题则覆盖它,然后使用加载的信息开始递归搜索,然后将这些文件复制/压缩(使用 7za.exe)到多个驱动器中。
由于它是一个控制台应用程序,因此它还调用 kernel32(GetConsoleWindow)和 user32.dll(ShowWindow)。
我确信我可以将其添加到例外中,关于 Avast 的另一个帖子也提出了类似的建议。我只是想知道为什么?为什么是现在?为什么是 Bearfoos?为什么 Windows Defender 无法检测到我自己编写了该程序?为什么 Windows Defender 无法意识到它只是在我的本地驱动器上复制文件?我甚至自己将其添加到 Windows 任务计划程序中,Windows Defender 还需要多少绿旗!?
我可以想象这是大多数程序都会做的事情,复制和读取文件。
答案1
我会选择 Ramhound 的评论作为答案:“您需要向 Microsoft 报告误报,除非您报告误报,否则 Windows Defender 将继续将其检测为恶意软件”
我昨天将文件提交给了微软,他们今天就回复了。他们已经删除了检测,并给了我清除旧定义并更新到新定义的方法。
感谢大家的意见,包括那些被否决的意见。这个页面帮助我理解了为什么我的程序被检测为潜在恶意软件。 https://docs.microsoft.com/en-us/windows/security/threat-protection/intelligence/criteria
答案2
如果您 100% 确定它是安全的,请将其添加为 Windows Defender 的排除项。
答案3
为什么现在开始出现这种情况?很可能是 Windows Defender 最近进行了更新,导致它改变了对你的程序的行为。恶意软件的检测很困难,而且检测过程也不是 100% 可靠。有时会出错。有时恶意软件无法被检测到,有时合法软件会被误认为是恶意软件。
Windows Defender 不会尝试确定程序是否由您编写,从而授予其特殊权限。那将是一个非常糟糕的主意。程序员不相信他们能够足够可靠地做到这一点。如果有这样的设施,它将为恶意软件提供另一种逃避检测的潜在方法。Windows Defender 不像您那样对程序有全局的了解。它只能检查其文件中是否存在已知恶意软件的模式并监视其活动。而且它在做所有这些事情时都知道事情可能并不像表面上看起来的那样。现代恶意软件非常复杂,有很多技巧,所以它会以某种形式出现。恶意软件不断改进其逃避检测的方法,安全软件必须改进其检测方法。
大多数安全软件都有某种排除列表。但即便如此,这也并不像看上去那么简单。必须非常小心地管理它,否则恶意软件就会简单地将自己添加到列表中。恶意软件作者研究 Windows Defender 和其他安全产品,总是寻找他们可以利用的一些弱点。