本文提出并实现了 RegexNet,一个面向 Web 服务的、基于请求负载的自动化响应式 ReDoS(正则表达式拒绝服务)恢复系统。ReDoS 攻击利用正则表达式匹配在最坏情况下呈超线性时间复杂度的特性,通过精心构造的输入使服务陷入长时间计算,从而耗尽 CPU 资源,是近年来新兴的一类 DoS 攻击。对于遭受 ReDoS 攻击的 Web 服务,尤其是利用未知漏洞(零日 ReDoS)的攻击,如何快速恢复正常运行是一个极具挑战性的问题。RegexNet 的核心思想是在运行时持续学习一个分类模型,该模型通过反馈循环不断更新,用于判断即将到来的请求负载(包括请求内容和数据库查询响应)是否可能触发 ReDoS。一旦检测到可能导致 ReDoS 的请求,RegexNet 会将这些请求迁移到沙箱中隔离执行,作为首要的快速恢复措施,从而保护主服务免受影响。作者实现了 RegexNet 原型,并将其与 HAProxy 和 Node.js 集成。实验评估表明,RegexNet 能够有效恢复 Web 服务在遭受零日 ReDoS 攻击时的性能,其响应时间在分钟级以内,并且对不同类型的 ReDoS 攻击具有鲁棒性,包括那些刻意设计用于规避 RegexNet 的自适应攻击。该系统的创新之处在于它不依赖已知漏洞特征,而是基于运行时行为学习请求的恶意概率,从而能够应对未知的 ReDoS 变种。本文的研究对 Web 安全防御者具有重要参考价值,提供了一种在攻击发生过程中动态恢复服务的实用思路。适合 Web 安全研究人员、站点可靠性工程师(SRE)以及负责 DoS 防护的安全运维人员阅读。
💡 推荐理由: 零日 ReDoS 难以通过静态规则防御,RegexNet 提供了一种响应式恢复机制,能在攻击未停止时通过隔离恶意请求快速恢复服务,对提升 Web 应用韧性有实际意义。
🎯 建议动作: 研究跟进