二维码网络钓鱼攻击日益增多。以下是我们直接内置于每次扫描的四层防御系统。
动态二维码的安全问题
动态二维码是现代营销中最实用的工具之一:一次打印,随时更新目标地址,无需重新打印。为新菜单、更新的促销活动或新活动页面更改URL——所有这些都来自一个打印好的代码。
但这种灵活性同时也创造了安全风险。恶意行为者可以创建指向合法目标的动态二维码以通过初始检查,然后在数小时后将其重定向到钓鱼页面。FBI报告了"二维码钓鱼"(quishing)持续增加的情况——骗子在公共场所将合法的二维码替换为自己的。二维码看起来完全相同,只有目标地址发生了变化。
第一层:封锁域名列表
在创建任何二维码或更新任何目标URL之前,我们将主机名与维护的已知恶意域名封锁列表进行比对。如果域名在列表中,则无法创建或更新二维码。检查在记录写入数据库之前进行。
第二层:Google安全浏览——每个URL,每一次
封锁列表只能识别我们已知的域名。对于其他所有情况,我们在每次URL提交时查询Google安全浏览API——与Chrome钓鱼警告所使用的相同数据库:在初始二维码创建时以及每次后续目标更新时。
关键是,当动态二维码的目标被更改时——而不仅仅是在创建时——此检查也会运行。这关闭了"诱饵和调包"的漏洞:原本指向合法URL的二维码不能在之后悄悄重定向到恶意目标。
第三层:每次目标变更的永久审计日志
每次动态二维码的目标URL被更改时,我们都会写入永久记录:之前的URL、新URL、时间戳以及发出请求的账户IP地址。此日志用户无法删除。
第四层:重定向速率限制
重定向端点现在限制为每个IP地址每分钟300次请求。普通用户永远不会遇到此限制。探测扫描分析或运行机器人活动的自动脚本会立即被切断。
这在实践中意味着什么
这四层作为纵深防御系统协同工作。合法用户不会注意到这些。创建二维码,指向您的网站,在活动更改时更新,放心地分享。检查在后台以毫秒为单位进行。
二维码安全不应是高级功能——它应该是基础设施。我们构建这些保护功能,使其默认对每个账户的每个代码都处于激活状态。

