可视性(或缺乏可视性)是当今所有运营和开发领域的常见抱怨。 开发人员抱怨称,一旦将应用程序部署到“生产”环境中——无论是在本地还是在公共云中——就无法了解其性能。 从基础设施到网络到安全等各类运营都抱怨无法洞察应用程序流量的漏洞并从其流量中获取攻击的迹象。
可见性,正如它在安全性中所用到的那样,必然是通过部署逻辑上位于应用前面的网络和应用服务来实现的。 这种做法的出现有很多原因,但事实是应用缺乏识别多种攻击形式所需的背景信息。 这是因为应用堆栈限制开发人员只能获取每个连接可用的信息。 这本身就是一种安全措施,因为隔离可以防止一个连接上的恶意行为者访问另一个连接上的善意行为者。
但这种限制限制了应用及其平台理解上下文中的连接和应用流量的能力。 通过将这一责任移到应用的上游,网络和应用服务就有机会在与该应用交换的所有连接和有效载荷的背景下评估每个连接及其有效载荷。
当我们研究如何应对日益增长的应用层 DoS 攻击威胁时,认识到这一点非常重要。
令人不安的是,这些应用层攻击的数量和频率正在增加。 更令人痛心的是,43% 的应用层 DoS 攻击能够逃避基于签名和信誉的检测。 随着恶意行为者定制和针对特定应用的能力迅速发展,静态签名很快就被淘汰了。
静态特征就像流感疫苗。 流感疫苗是根据先前对病毒的经验而开发的,用于预防特定病毒株。 它本质上是识别特定病毒的生物特征。 它无法识别同一病毒的新毒株,使我们很容易再次遭受流感的侵袭。
不良行为者就像流感病毒一样善于适应和进化,以避免被发现和消灭。 为了应对这一挑战,我们需要能够根据不良行为者的行为而不是特定的特征来识别他们。 为了做到这一点,我们需要可视性以及它能给我们提供的背景。
本质上,L7 行为 DoS 防护是一种流感疫苗,它能够根据病毒的行为而不是其实际组成来检测病毒。 这种能力在第 7 层(应用)尤其重要,因为这种攻击不仅仅是容量攻击。 有些设计仅仅是为了阻塞连接并耗尽应用程序为合法用户提供服务的能力,从而拒绝为他们提供服务。 还有一些则更为狡猾,试图精心设计请求,使应用崩溃并导致中断。
要检测各种 L7 DoS 攻击,需要能够根据正常情况评估单个请求。 但仅仅定义“正常”行为就类似于制作签名。 对于超大规模、基于 API 的应用来说正常的操作对于单个业务单位或部门使用的基于 Web 的应用来说并不正常。
因此,确定“正常”是第一步。 行为 DoS 通过收集通过系统的每个数据包的特定信息来实现这一点。 这些位取自网络、传输和应用数据。 基线是根据正常的标头属性或大小、服务器的正常压力或正常的响应时间和延迟等建立的。 使用统计模型,系统根据每秒数千次观测结果计算出这些值的正常阈值。
当应用表现出压力迹象,性能下降或负载过重时,它会触发系统进入“攻击模式”。 在这种模式下,会发生几件事:
该过程包括确保特征与“良好流程”的重叠度小于 5%,以防止出现假阴性。 一旦应用程序恢复正常,系统就可以放松了。
L7 行为 DoS 的优势在于它专注于不断学习什么是正常的,并识别什么是不正常的。 这使得它能够检测到新的或者从早期攻击演变而来的 L7 攻击,而基于静态签名的系统直到更新时才会注意到这些攻击。
由于高度集中的机器学习模型,行为分析成为可能。 这些模型使应用保护能够实时发展,提供安全领域当今迫切需要的灵活性。 恶意行为者不断调整和修改攻击以逃避检测。 为了更好地保护应用,安全服务需要改变其假设并在其所处的环境中运行。 要求安全专业人员为企业组合中的每个应用制定阈值根本不合理。
随着新应用和新环境的增加导致安全和运营负担不断增加,尽可能将负担从人转移到技术上就显得十分重要。 行为 DoS 作为Advanced WAF(API 安全 - 新一代 WAF)的一部分,是让机器为您工作而不是对抗您的方法之一。