检测请求是不是来自防病毒软件

Posted

技术标签:

【中文标题】检测请求是不是来自防病毒软件【英文标题】:Detect if request comes from an antivirus检测请求是否来自防病毒软件 【发布时间】:2016-10-05 08:02:47 【问题描述】:

我正在使用API Gateway + Lambda 构建一个跟踪电子邮件链接点击的服务。电子邮件中的链接指向我的端点,该端点收集点击信息并重定向到另一个 URL。但是,我发现在某些情况下,某些软件会自动点击大部分链接,可能是为了防止网络钓鱼,而这里通常的嫌疑人是防病毒软件。由于我只针对真正的用户点击,我想丢弃它们,但在请求标头中没有发现任何奇怪的东西。您将如何检查请求是否来自非用户?

【问题讨论】:

如果存在差异,那么网络钓鱼者可以利用该差异来避免向自动防病毒系统提供钓鱼内容。因此,让他们的请求看起来尽可能正常符合反病毒软件的利益。 【参考方案1】:

在 API Gateway 设置中,您可以打开 CloudWatch 日志以查看所有请求标头。具体来说,您可以使用$context and $input variables 记录上下文变量,如用户代理、源IP 或记录所有标头。

如果机器人使用完全相同的用户代理和标头集,我看不到在 API 网关端区分它们的方法。

【讨论】:

不幸的是,我们已经在检查标头,但我们找不到所有请求之间的任何区别

以上是关于检测请求是不是来自防病毒软件的主要内容,如果未能解决你的问题,请参考以下文章

检测并卸载防病毒软件

Delphi - 如何检测防病毒软件的存在?

如何让已安装的防病毒软件检测到程序?

使用 C# 在 Windows 上检测防病毒软件 [关闭]

一般杀毒软件检测病毒原理

防病毒软件将我的 C# 应用程序检测为 Gen.Variant.Zusy