一家中型SaaS公司去年遭遇的事情,值得所有做身份验证的人重新思考。
他们有速率限制。失败尝试后有验证码。10次失败后账户锁定。按大多数检查清单,他们的安全姿态算是"合理"的。
![]()
47天内,230万组凭证对被测试。零次锁定触发。零次验证码弹出。零条告警。
原因不是零日漏洞,不是什么 exotic bypass。而是某种结构简单到一旦看见就无法忽视的东西——你会从此用不同眼光审视自己的认证实现。
速度差
暴力破解和凭证填充防御的整个架构,建立在一个假设上:攻击很快。
N次失败后锁定。按IP限流。检测异常请求量。全都假设攻击者很急。
他们不急了。
转变逐渐发生,然后突然完成:凭证填充操作从spray-and-pray进化成威胁情报现在所称的低速分布式测试。攻击被分散到:
数千个住宅代理IP(不是WAF监控的数据中心段)
数天或数周,而非数小时
每个IP一两次尝试,永远达不到单IP阈值
人类真实的时序模式,包括睡眠周期,以击败行为分析
数学简单且残酷:用5万个凭证,每个IP尝试1次,分散在72小时内,正态分布时序,你会遇到以下控制:
IP速率限制(单IP)——从未触发
账户锁定(单账户N次失败)——从未触发
基于速度的异常检测——从未触发
失败尝试后验证码——从未触发
SIEM告警——从未触发
这不是假设。这是暗网IAB(初始访问代理)论坛和犯罪社区中记录的操作手法。规模化执行的工具已经商品化、廉价,且以"反检测"为主要卖点主动销售。
你实际在记录什么
当低速凭证填充操作针对你的端点运行时,你的日志通常显示:
失败登录适度上升,在正常方差范围内
IP分布多样,主要是住宅段
正常的User-Agent字符串(工具会轮换)
没有明显的地理聚集——住宅代理跨越合法地理区域
尝试时序与有机流量模式无异
没有特定仪器,你看不到的是:每凭证对的尝试比例,以及被测试账户之间的关系。攻击看起来像噪音,因为它就是被设计成噪音。
凭证生态问题
工程导向的安全内容中,这部分讨论得不够多:
针对你端点测试的凭证并非凭空出现。它们来自数据泄露市场——而这些市场现在已经极其高效。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.