WAF已死,WAAP上位

能同时防护Web应用程序和API的组合解决方案WAAP大有取代WAF的势头。

根据NTT Application Security的研究,如今超过一半的Web应用程序和API容易受到攻击。因此,企业必须在软件生命周期的所有阶段(从开发到运营)加强安全防护。漏洞发现得越早,修复的速度就越快,成本也就越低。

软件开发人员和架构师的安全培训很重要,但并不能确保万无一失,还需要安全专家的定期渗透测试。但人工渗透测试很耗时,而且只是一个时间点上的快照,还需要其他技术工具。例如自动测试工具,用于发现代码或开源库中的已知漏洞。然而,即使是这些工具也无法防止那些程序上线后才被(能)发现的漏洞。因此,还需要另一种措施:在程序运行过程中保护暴露的敏感数据。

信用卡行业很早就认识到了这一点,并在其行业安全标准(PCI-DSS 4.0)中明确规定了Web应用程序防火墙(WAF)的保护。WAF放置在用户和正在运行的Web应用程序之间,还可以保护后者在所有其他措施都失败时免受攻击和滥用。与WAF类似,API也有专门的安全解决方案。

从WAF到WAAP

除了Web应用程序,API也变得越来越流行。这是因为现代互联网应用和移动应用大多都通过API获取数据。然而,API自身面临的威胁正在快速增长,根据Cequence Security的2022年度API安全报告,2022年下半年开始API已成为主要攻击媒介,其中自动化攻击是当前API面临的主要威胁。此外,由于API安全威胁有其独特性,OWASP在2019年发布了针对API的安全风险TOP10列表。

由于API安全威胁的快速增长,能够同时保护Web应用程序和API的组合解决方案——WAAP(Web和API保护)已经开始流行。WAAP解决方案通常包括以下功能:WAF、API安全、拒绝服务保护和bot防护。增加bot防护是因为除了合法搜索引擎之外,越来越多的恶意bot程序未经授权收集信息或执行由网络罪犯远程控制的自动攻击。

用虚拟补丁快速修复漏洞

WAAP解决方案让所有攻击者都为之头疼,无论是业余黑客还是专业网络罪犯。理想情况下,WAAP甚至可以抵御未知攻击。WAAP的一个重要功能是虚拟补丁:如果应用程序中的关键漏洞在运行过程中被发现会怎样?修复一个严重漏洞平均需要250多天!在修复可用之前,WAAP运营者可以先快速创建一个虚拟补丁,防止漏洞被利用。虚拟补丁可缩短易受攻击的时间窗口,帮助安全团队在没有时间压力的情况下测试和推出补丁更新。

WAAP是如何工作的?

WAAP在OSI模型的第7层运行,可以拦截范围广泛的威胁,包括注入、跨站点脚本(XSS)和其他攻击。该保护适用于服务器应用程序及其数据,但不适用于访问它的浏览器或设备。从技术角度来看,通常需要反向代理打破加密(HTTPS)连接,控制双向数据流并在必要时进行更改。或者,将保护功能嵌入到应用程序中——这种方法称为运行时应用程序自我保护(RASP),不太常见,因为集成到应用程序中要复杂得多。

下列WAAP保护机制可用于防止不同类型的攻击:

  • 黑名单过滤器:使用阻止列表检测并阻止可疑模式和已知类型的攻击,例如跨站点脚本或注入攻击。
  • 白名单过滤器:白名单过滤规则阻止所有未经允许的内容。白名单列表可由学习模式产生。
  • 身份验证和访问控制:只有授权用户才能访问应用程序,这可以显著减少攻击面。通过与身份服务提供商合作,每个用户都需要预先经过身份验证。这意味着没有有效访问权限的攻击者甚至无法寻找漏洞。
  • 速率限制和配额:限制流量会使暴力攻击或内容抓取更加困难。理想情况下,这些限制取决于调用者的身份,尤其是在调用API时。
  • 异常检测:可以使用人工智能检测与“正常”用户行为的明显偏差。如果怀疑不受欢迎的bot在活动,可以要求其重新登录或解决验证码问题。
  • 威胁情报:某些用户可通过位置或IP地址判断其可信度。这种方法可以拒绝来自暗网或故意隐瞒身份的人。
  • Cookie保护:Cookie通常用于跟踪Web应用程序上的用户会话。WAAP解决方案可以防止Cookie的修改,从而防止会话劫持。
  • 会话保护:隐藏的令牌可防止跨站点请求伪造攻击,防止登录的受害者在不知情的情况下发起不需要的操作。

本地还是云端?

基于边界的安全方法已经一去不复返了。过去,WAF被放置在公司边界以控制外部访问。如今,应用程序和用户通常都位于公司外部,这就是WAAP解决方案越来越多地迁移到云端(SaaS化)的原因。甚至CDN提供商现在也为Web应用程序提供简单的保护功能。

批评与挑战

WAAP是保护Web应用程序和API免受最新威胁和攻击的有效补充。WAAP基于全面的安全策略提供一整套措施:自动漏洞扫描、定期渗透测试或安全编程培训,以及强大的身份验证和严格的访问权限。理想情况下,这些安全控制在访问应用程序之前进行,访问控制通常被委托给身份和访问管理系统(IAM)。

WAAP的批评者抱怨说,基于签名的黑名单过滤器会被专业黑客通过改变攻击方法或巧妙的编码来规避,也就是所谓的“过滤器绕过”。对此,现代WAAP解决方案在攻击检测开始之前首先会对数据执行多重解码和规范化。基于特定情报和规则,WAAP不但能够识别单个攻击示例,而且能够识别整个攻击类别。

容器和零信任的微网关

微服务、持续交付和快速发布的趋势也可能对WAAP系统构成挑战,尤其是当它们由IT部门集中管理时。如果应用程序变更涉及对安全规则的微调时,WAAP运行者和应用程序所有者之间的协调很快就会成为瓶颈。

为避免此类延迟,有时用户会完全禁用WAAP功能。这个问题可以通过WAAP的去中心化来解决。每个应用程序或API不再仅仅依靠中央WAAP过滤,而是拥有自己的小型WAAP保护系统。

这些轻量级“迷你WAAP”通常与受保护的微服务位于同一容器中,因此称为微网关。某种程度上来说,开发团队本身就成为了WAAP的运营者,从而对安全规则有了更多的自主权,在开发或测试过程中可以很容易地激活保护功能。这大大减少了发布前的协调工作和可能的“消防演习”。去中心化的WAAP使零信任架构成为可能,在这种架构中,每次访问都会“现场”再次检查和授权。

WAAP选型的六个关键问题

在选择WAAP产品时,除了标准功能列表之外,用户需要重点关注以下六大问题:

  • 安全默认设置:过滤器是否已由应用程序安全专家预先配置和激活?是默认“全开”,还是必须先配置?
  • 高安全性:过滤规则是否不断完善和加强?参考漏洞赏金计划:只有已经非常安全的解决方案才有能力向安全专家悬赏安全漏洞。
  • 零日漏洞响应:产品更新速度有多快?例如,WAAP过滤器用了多长时间来阻止Log4Shell所有形式的攻击,还是在漏洞披露之前就已经保护了应用程序?
  • 简单性和支持:该产品是基于开源解决方案还是有专业支持?用户问题的响应时间是多久?
  • 容器环境:哪些架构变体可用于保护微服务或无服务器应用程序?如何保护云原生和无服务器应用程序?
  • DevOps/GitOps:如何将产品集成到DevSecOps流程中?安全策略可以定义为代码吗?

前一篇烽台科技再获国资加持 完成1.2亿元B+轮融资
后一篇卡巴斯基发布iPhone恶意软件扫描工具