本文来自微信公众号“网络研究院”。
随着数字环境的不断发展,不良行为者寻求利用应用程序漏洞的策略也在不断发展。最阴险的攻击类型之一是业务逻辑攻击(BLA)。与可以通过签名或模式识别的已知攻击(例如SQL注入攻击)不同,BLA针对应用程序内的核心功能和决策过程。
通过复制合法的流量行为并根据应用程序的逻辑定制攻击,BLA通常会规避传统的安全措施,从而对应用程序安全构成重大风险。
在本文中,我们将深入探讨使用传统安全工具难以检测BLA的原因,并探讨企业可以采取的主动措施来保护自己。
传统安全工具针对业务逻辑攻击的局限性
1.签名困境:为什么BLA缺乏已知签名
BLA对于每个应用程序及其特定逻辑来说都是唯一的,这使得传统安全工具很难具有可以检测此类攻击的预定义签名或模式。与众所周知的恶意软件或网络攻击不同,BLA在不同的应用程序中可能存在显着差异,从而导致基于签名的检测无效。
例如,银行应用程序可能具有用于资金转移或贷款审批的特定工作流程。了解此逻辑的攻击者可以操纵这些工作流程并将资金转移到他们自己的银行帐户。由于此攻击利用银行应用程序的逻辑,因此它没有预定义的签名,这意味着此攻击将绕过基于签名的安全工具。
解决方案:进行彻底、频繁的安全测试和代码审查,以识别应用程序逻辑中的潜在漏洞。理想情况下,应在将新功能部署到生产环境之前完成安全测试和代码审查。此外,采用运行时应用程序自我保护(RASP)或交互式应用程序安全测试(IAST)等技术,可以实时分析和识别应用程序逻辑中的漏洞。
2.上下文挑战:理解业务逻辑攻击
基于签名的安全工具,例如传统的Web应用程序防火墙(WAF),通常依赖于已知的攻击模式或签名。然而,BLA严重依赖于理解和利用应用程序的特定逻辑,这使得它们高度依赖于上下文。通过操纵合法的用户交互,攻击者可以混入正常流量,这使得传统工具难以区分恶意和合法行为。
例如,电子商务网站可能会遇到业务逻辑攻击,攻击者通过添加大量高价值商品来利用应用程序的购物车功能。这种攻击会耗尽库存并给企业造成财务损失。由于攻击者的行为看似合法,因此传统的安全工具可能不会引发任何危险信号。
解决方案:实施异常检测技术,重点监控与预期行为的偏差,例如当用户将大量高价值商品添加到购物车时进行标记。通过建立正常用户行为的基线并分析异常情况,企业可以识别可能表明业务逻辑攻击的可疑活动。
3.交互的复杂性:BLA如何运作
BLA涉及应用程序内一系列复杂的交互。通过利用应用程序的合法功能,不良行为者可以伪装成真正的用户进行攻击。基于签名的工具主要关注单个安全事件和孤立的异常,缺乏跨应用程序工作流程的多个阶段或组件关联事件的能力。因此,攻击者恶意交互背后的真正意图无法被发现,直到为时已晚。
例如,乘车共享应用程序可能容易受到BLA的攻击,BLA会操纵票价计算逻辑,以便大幅减少旅行费用。这些攻击非常复杂;它们涉及用户输入、定价算法和支付网关之间的交互,因此很难通过单独评估每个交互/事件的传统安全工具来检测它们。
解决方案:采用基于行为的分析技术,可以识别应用程序工作流程中的异常模式或操作序列。通过了解应用程序的预期行为并采用异常检测算法,企业可以检测并标记表明潜在BLA的可疑交互。
4.缺乏外部指标:BLA如何逃避检测
BLA通常不包含基于签名的工具所依赖的已知外部指标,例如网络流量异常或已知的恶意IP地址。相反,它们利用特定于应用程序逻辑的内部工作原理和漏洞。因此,仅依赖这些类型指标的传统安全工具可能会忽略这些攻击。
例如,攻击者可能利用合法用户帐户在应用程序中执行未经授权的操作,例如操纵API调用来获取对其他用户帐户的访问权限。与之前的示例一样,这种攻击将逃避旨在识别外部威胁的传统安全措施。
解决方案:实施强大的访问控制和身份验证机制,以防止未经授权访问关键应用程序功能。定期监控用户活动,标记可疑行为,例如行为模式突然变化、异常访问尝试或未经授权的操作。
5.误报问题:基于签名的安全工具的局限性
当用于评估BLA时,传统安全工具存在不足。由于这些工具缺乏对应用程序逻辑的洞察,因此很难创建准确识别BLA的警报。通常,这些工具只能针对与预期应用程序行为的偏差发出警报。
虽然偏差可能表明存在BLA,但需要进行额外的分析来确定这是一次攻击还是更良性的攻击。合法的用户操作、系统故障或业务需求的变化也可能导致偏差,从而导致大量误报警报。
对于安全团队来说,调查这些误报非常耗时且耗费资源;它们会造成警报疲劳,并使区分真正的攻击和虚假警报变得更加困难。
解决方案:实施智能警报机制,利用机器学习算法来减少误报。通过利用历史数据、上下文信息和用户行为分析,企业可以有效地确定优先级并调查潜在的业务逻辑攻击。
针对业务逻辑攻击的主动措施
业务逻辑攻击由于其上下文性质、缺乏已知签名、复杂的交互、缺乏外部指标以及高误报率,对传统安全工具构成了重大挑战。
为了有效防御这些攻击,企业必须采用主动的多层安全方法,结合Web应用程序防火墙、机器人防护和API安全。
通过认识到传统安全工具的局限性并实施这些主动措施,企业可以增强防御能力,更好地保护自己免受BLA带来的不断变化的威胁。