C# .NET程序被杀毒软件误报为特洛伊木马的假阳性检测

6
我使用C#.NET开发了一个Windows服务,它使用自定义API定期收集数据并在客户用户的许可下将其发送到我的服务器。这一切都很好,直到用户安装了反病毒软件(Kaspersky)。它误报我的.exe文件为PDM:trojan.win32.generic,将其扔进隔离区并删除了它的服务,因为我正在使用HTTPWebRequest和HTTPWebResponse进行网络请求以推送和拉取数据。
目前,我已将.exe文件和程序目录添加到反病毒软件程序设置的排除规则中,并再次安装了服务。现在一切正常,但是作为最终解决方案,我想知道是否可以通过程序自身来解决这个问题(以编程方式)。这样,任何反病毒软件在安装我的程序和其服务后,都不会将其检测为特洛伊木马或任何其他类型的病毒。
编辑-2015年6月8日: 早些时候忘记提到,在服务.exe内部,它会下载自己的最新.exe文件以更新自身。我想知道这个过程是否会使其出现为特洛伊木马。

向卡巴斯基支持团队发送电子邮件... - Matías Fidemraizer
2
我想知道我们是否可以在程序本身(以编程方式)内修复此问题,这样任何反病毒软件在我的程序及其服务安装后不会立即将其检测为特洛伊木马或任何其他类型的病毒。如果可能的话,那么病毒扫描器还有用吗? - CodeCaster
@CodeCaster,我也是这么想的。但只是希望有人能回答这个问题。 - krishh
1
纯属我个人的猜测,但是:更新过程很可能是如此。为什么不试一试?构建几个不同版本的程序,在其中停用某些功能,并使用卡巴斯基进行测试。我仍然会尝试白名单。卡巴斯基的一个宣传目标是创建一个包含所有合法软件(大小的)的综合数据库。据说他们已经在列表中拥有超过5亿个程序。我自己从未经历过这个过程,但根据我所听到的,他们并不会让开发人员感到太困难。 - mazerraxuz
1
感谢@Krish。我们最终让它工作了。我最后右键单击并以管理员身份运行安装程序。我不知道那是否是解决方案,因为我也读到Kapersky的启发式算法可以动态学习,使第一次失败的安装程序第二次成功 - 不过我不知道那是否正确。每次运行时行为的变化是我最不想要的! - tomRedox
显示剩余3条评论
1个回答

5
你可以申请将你的程序添加到卡巴斯基白名单中。您可能还想申请卡巴斯基实验室可信标志
其他反病毒解决方案也提供类似的白名单程序,例如赛门铁克
在我看来,浏览这些白名单是正确的方式。如果你的用户信任这些解决方案,那么努力被列入这些解决方案的白名单中,即被标记为可信赖的,应该对你的用户群体产生很大的影响。

1
这可能会解决问题。但我的程序不够大,无需申请任何白名单。 - krishh
如果我只在卡巴斯基或其他组织中将我的程序加入白名单,它是否能与所有其他反病毒软件一起使用? - krishh
4
除非其他杀毒软件使用卡巴斯基白名单,否则不行。据我所知,其他杀毒解决方案使用自己的白名单。 - mazerraxuz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接