Web 应用程序防火墙 (WAF) 是组织保护其应用程序免受恶意流量攻击的主要防线。市场上的第一批 WAF 使用正则表达式 (regex) 模式匹配规则保护简单网站。然而,随着应用程序及其攻击在过去几十年中变得越来越复杂,这种方法未能扩展。
当今传统 WAF 的局限性根源于这样的错误观念:规则越多,应用程序就越安全,而复杂的规则调整和维护是实现准确、有效阻止的代价。
Fastly Next-Gen WAF 采用完全不同的方法来实现应用程序安全。我们的解决方案提供准确、有效的开箱即用保护,因此您无需不断调整大量正则表达式规则。
传统 WAF 的局限性
传统 WAF 检测的工作原理
当请求发送到 Web 服务器时,WAF 会检查请求负载以确定该请求是合法的还是无害的。许多传统 WAF 依赖于将负载的内容与一组与攻击相关的指标(或规则)进行模式匹配。
旧版正则表达式
图 1:基于正则表达式的 WAF 规则引擎拒绝看起来像 SQLi 攻击的合法请求。
在上面的例子中,最终用户提交了一个包含两个不同响应的表单。请求 1 表示,“Let’s set the teams up!”而请求 2 表示,“Great! Just select users from Jess’ list where it makes sense”.尽管请求 1 成功到达 Web 应用程序,但请求 2 被拒绝并被确定为错误请求,即使内容是良性的。
这种误报是传统 WAF 的常见错误。它将诸如、、和之类的单词模式匹配SELECT为FROMSQLWHERE命令,并将该请求标记为潜在的 SQL 注入攻击,而不理解请求的上下文。
虽然这是一个简单的例子,但它突 首席执行官电子邮件列表 显了许多检测和阻止失败,这些失败导致传统 WAF 客户遭受痛苦的经历。
首先,检测引擎需要大量的调试时间或学习模式,以确保默认规则集不会产生误报并阻止合法流量。但对于一些组织来说,误报风险太高,以至于他们从不离开“学习模式”来阻止实时流量。
其次,通过模式匹配进行拦截的规模不够大。为了防止误报,简单的正则表达式规则变得越来越复杂,随着时间的推移可能会增长到数千条。例如,使用基于 ModSecurity 的 WAF 的客户需要超过 50 条规则才能管理 SQL 注入攻击。
例如,使用基于 ModSecurity 的 WAF 的客户需要超过 50 条规则才能管理 SQL 注入攻击。
正则表达式规则示例
图 2:以正则表达式编写的防 SQL 注入的 Modsecurity 规则示例。
您很容易陷入规则调整的泥潭,因为规则的数量提供了可信的安全外表 - 直到不可避免的代码更改破坏了 WAF,重新调整又重新开始。
使用默认规则的传统方法会让您面临低劣的选择:启用较少的已验证为“安全”的规则,但您的应用程序仍暴露在外,或者强制执行更多规则以捕获更多潜在攻击,从而有可能阻止合法流量。这两种选择都迫使您依赖手动规则管理,从而使应用程序(以及最终用户)容易受到攻击。
传统 WAF 如何令现代组织失望
在评估安全解决方案时,团队关注的是“安全有效性”:能够以高水平的准确性和可用性成功保证应用程序安全。传统 WAF 对正则表达式和复杂规则集的依赖无法满足这一标准,并给团队带来了虚假的安全感。换句话说,依赖于维护脆弱系统的解决方案本质上效率较低。
当今多云复杂环境的 WAF 需要超越传统 WAF 的安全承诺,提供不影响可用性的下一代安全体验。为了提供更好的 WAF 功效,新解决方案必须:
无需依赖正则表达式模式匹配即可准确检测攻击
大规模阻止攻击,无需不断调整规则
学习其环境以进行预防性保护
使用 Fastly Next-Gen WAF 提高安全效率
下一代 WAF 概述
Fastly Next-Gen WAF 是由安全从业人员设计的,他们经历了不断调整规则的痛苦,并且了解模式匹配和基于签名的规则集的不足之处。最终的解决方案可以提供更好的安全效力,因为它更准确且更易于使用。
与依赖正则表达式匹配且很少以阻止模式使用的传统 WAF 相比,近 90% 的 Fastly 客户几乎无需进行调整即可在所有默认攻击类型中启用完全阻止模式。
我们做出可靠、准确决策的关键在于我们的专利架构和专有检测技术 SmartParse,该技术可做出基于上下文的即时决策,以确定是否存在恶意或异常负载。使用我们直观的规则构建器,您可以以编程方式大规模阻止攻击,而无需不断调整规则,以免破坏您的应用程序。此外,我们的网络学习交换 (NLX)可以根据持续提供的客户数据阻止潜在攻击。