Adaptive Intelligence 简介:颠覆每一次机器人攻击的成本逻辑

Chris Pope

阅读时间:10 分钟

本文另有 English繁體中文.

现代机器人威胁越来越多地由意志坚定、手段高超的攻击者驱动。往往不是单个个体,而是一个相互交流技术的团体,或是一项向任何愿意付费者开放的商业服务。对其中许多人而言,突破机器人检测本身就是一份他们乐在其中的全职工作。阻断他们,他们就会立即着手寻找新的绕过方式。AI 的普及进一步降低了攻击门槛,让攻击者更轻松地搭建复杂的攻击配置,降低了攻击的运营成本。

这种转变使防御方处于经济上的劣势。响应和适应新攻击需要审慎、取证和付出,以确保封堵攻击者的努力不会波及正常用户。攻击者则没有这些顾虑,他们的限制主要来自时间成本、代理池规模,以及如何防止基础设施提供商关停其账户。

他们的优势在于适应的成本。攻击者可以随时、持续地调整策略,而大多数防御措施是以离散、受控的版本发布方式部署的。Cloudflare 每天分析逾一万亿次请求,寻找自动化滥用的迹象,因此我们清楚地看到攻击者的战术变换有多快。响应能力上的差距正在不断扩大。

残酷的现实:业界的机器人检测往往建立在一个侥幸的假设之上——只要把墙垒得足够高,攻击者就会望而却步。现实中,意志坚定的攻击者总会找到突破口。问题不在于他们能否突破,而在于突破之后会发生什么

今天,我们正式推出 Adaptive Intelligence,这是一款全新的机器人检测引擎,出发点截然相反。它不是押注于一堵将所有攻击者拒之门外的高墙,而是让突破本身变得如此缓慢、代价如此高昂,使攻击失去继续运行的价值。

我们相信,业界尚无其他机器人检测系统以这种方式运作。

一个攻击者,多副面孔

并非所有攻击都显而易见。最复杂的攻击,恰恰是专门为了消融进普通流量而设计的。

攻击者可以将请求分散到大规模住宅代理网络中,将每个地址的请求频率压得很低,耐心地在登录、结账或账户恢复流程中逐步推进。每个请求来自不同的地址,通常配备全新的 User Agent 或新的机器人指纹,看起来都像一位新访客。没有任何单一来源会触碰速率限制。

这正是这种模式难以遏制的原因。阈值收得太紧,真实用户就会被拒之门外——而这恰恰是您最不愿发生的结果。攻击就潜伏在两次请求之间的空隙,孤立地审视每一个请求的防御体系,永远无法察觉它的存在。

确定性检测的缺陷

基于规则的系统的问题在于,它给攻击者提供了一个静止的靶子。攻击者在数天内就能迭代,而模型要等上数月才能完成下一次更新——等到追上之时,工具链早已演进。

机器人检测的传统做法,一直是针对新的攻击手法编写规则加以应对。这种方法有效,直到攻击者研究了信号、学会了规避方法,并迫使防御方再写一条新规则。最高级的攻击者甚至开发出工具,将这一过程半自动化。防御方看似永远处于被动。

这种检测方法属于“确定性”检测,即相同的输入始终产生相同的输出。一个从不改变的防御体系,实际上是在教攻击者如何击败它,并间接推动机器人操纵者构建更强大的自动化攻击工具。面对确定性防御,自动化探测会返回明确的“是”或“否”结果,经过足够多次的尝试后,这些反馈让攻击者可以精准地掌握系统的防御边界。这种态势使攻击者在经济效益上占据了优势。

扭转攻击的经济逻辑

Adaptive Intelligence 的目标,正是逆转这一经济逻辑,将主动权还给防御方。

持续变化的防御能够扭转这一计算,但前提是两个条件同时成立:第一,防御方的响应成本必须低于攻击者的绕过成本;第二,攻击者必须被剥夺赖以适应的反馈,使其无法简单地"学习"回来。两者兼备,攻击者自身的循环就会反噬自己:所有学到的东西都失去了效力,每一次新的尝试代价都比上一次更高,直到攻击不再值得运行。

其中一部分在于让攻击者减少学习的机会。Adaptive Intelligence 可以从一个信号中识别出机器人,但不会对此产生明显反应,因此攻击者会继续依赖一个他们并不知道我们已能看穿的破绽。同时,它将检测视为统计判断而非固定规则,使其具有不确定性——它同时权衡多个信号,攻击者无法孤立出任何单一的逻辑加以击破。

全新检测引擎

机器人评分数源于多种检测方法的协同作用:机器学习、行为验证、JavaScript 指纹识别、启发式规则库,以及识别搜索爬网程序等已知且已验证的机器人的检查。

Adaptive Intelligence 是一个全新的机器人检测引擎,运行于机器人分数之后。其他所有系统的设计目标是通过累积规则将攻击者拒之门外,而 Adaptive Intelligence 的设计前提是攻击者终将进入,并使这一尝试的代价尽可能高昂。

下文将介绍Adaptive Intelligence 检测引擎的三个组件,这些组件与传统模型截然不同:自我改进、生成一次性规则,以及从所保护流量中学习。今天正式上线的是第一个组件:机器人分数背后的机器学习,现在以持续重训练取代固定版本发布。它汇聚 Cloudflare 全网的网络信号,评估每个请求发生自动化滥用的概率。固定模型原地不动,Adaptive Intelligence 则持续演进。第二和第三个组件将随后推出。

1. 自我改进

引擎在实时流量上持续重训练。随着新的绕过工具和机器人框架出现,它从中学习,将这些知识融入机器人分数背后的模型,无需等待计划发布。本周出现的技术,本周即可被引擎识别。您已经建立在其上的分数,始终贴近攻击者的实际行动,而非在两次更新之间与现实渐行渐远。

2. 生成一次性规则

一次性规则,是一种我们预料攻击者会适应的规则,但这种适应并不会使攻击者的机器人因此变得更强。Adaptive Intelligence 被设计为针对特定攻击创建一次性规则,在随机时间间隔内部署和撤销,绝不将它们保留到足以成为固定靶子的程度。由于这些规则不断出现又消失,它们向攻击者赖以对抗我们的训练信号中注入了噪声,使攻击者无法获得静态防御所泄露的稳定"是"或"否"。没有任何单条规则必须完美无缺或无懈可击。它只需持续足够长的时间完成自己的使命,然后为下一条让路。当攻击者逆向工程出某个特定模式时,引擎早已前进,令其工程努力付诸东流。

3. 从所保护流量中学习

Adaptive Intelligence 还将从跨数百万站点看到的模式中学习。当客户标记出一个我们误判的真实访客,或我们自身的测量发现漏洞时,该修正就会成为训练信号。随着时间推移,引擎将调校到 Cloudflare 客户实际面临的问题,使您获得的保护反映当前的威胁态势,而非某个过时快照。

工作原理

Adaptive Intelligence以“观测、训练、部署、验证”的循环方式运行。随着我们将更多网络资源接入该系统,它利用的信号范围也不断扩展。

BLOG-3439 2.png

观测。引擎汇聚 Cloudflare 网络信号,例如 JA4 TLS 指纹、请求结构、质询结果、会话行为、网络信誉,以及更高层次的元信号,同时结合来自 Turnstile 和 Precursor 的客户端遥测数据。在单个请求上看起来平平无奇,却在整个会话中表现出脚本行为模式的客户端,会被其跨时间的行为所暴露——即便每个请求单独看来都合法。

训练。我们在实时流量上持续重训练 ML 系统,包括野外出现的最新绕过工具和机器人框架。训练集频繁刷新,使系统能够对新型攻击技术做出更快响应。

部署。新的模型权重自动在全网推出,无需选择版本,无需安排升级,一旦接入便无需任何操作。为您流量评分的模型,反映的是我们当下正在观察的威胁。

验证。在新版本成为您的主要防线之前,它会以影子模式与当前版本并行运行,对实时流量评分而不影响任何访客。我们比对两者,观察质询通过率等信号。若新版本会对真实用户产生更差的评分,则不予上线。

Cloudflare 多年来一直针对 DDoS 攻击运行这种自动化循环:采样流量、对攻击背后的模式进行 TLS 指纹识别、将防护措施推送至全网,并持续测量以便随流量变化进行调整或撤销。机器人是该问题的更难版本,因为信号更为微弱,故事只会随时间推移才浮现。任何单一信号单独看来都可能完全正常。是信号之间的关联,以及它们相互映衬的上下文,才揭示出隐藏于正常流量中的机器人。

Adaptive Intelligence 同时在多个时间窗口内评估流量。短窗口在突发流量发展之时即时捕捉。长窗口揭示跨越数千个地址、客户端和会话——这些来源之间本无理由表现相似——重复出现的行为模式,并将这些分散的请求归因到单一来源。同一引擎,既能发现明显的抓取流量峰值,也能浮现出缓慢的、分布式的撞库攻击——后者从每个地址只发送寥寥几个请求。

自动构建新检测

随着 Adaptive Intelligence 的后续组件上线,挖掘系统将在近期已标注的流量中搜索能够将新兴攻击与真实用户区分开来的信号组合。

有用的检测往往来自我们已知信号之间的关联,而非一个从未见过的全新信号。客户端可能声称自己是某种浏览器,却产生另一种浏览器的网络或 JavaScript 信号。一个请求单独看来可能正常,但与会话中其他请求放在一起却形成奇异的序列。自动化挖掘让我们能够测试这些组合的众多变体,并将最强有力的候选项转化为检测方案。

这些候选检测刻意设计得很窄。它们不需要捕获互联网上所有的机器人,甚至不需要捕获当前攻击中的每一个请求。这使它们能够快速构建,并在攻击改变战术时易于替换。

它具备记忆功能

攻击者不只攻击一次。他们会暂停、更换工具,然后卷土重来。停用某项检测,并不意味着遗忘它背后的模式。即使针对某次攻击的检测已停止触发,引擎仍会保留过去攻击的记忆;因此,攻击者无法仅靠在两个配置文件之间切换、寄希望于第二个看起来是新面孔的配置文件来逃避检测。

这种记忆让系统在熟悉的攻击回归,或相关攻击出现时获得先机。一个检测可以在不再发挥作用时过期,而其背后的证据仍可用于构建下一个检测。生产环境中不会积累陈旧规则,系统也永远不必从头学习一个老旧的攻击。

结果是一个自动化的循环,既能响应明显的峰值,也能悄然收集针对一次耐心、分布式攻击的证据——后者始终游走在传统阈值之下。

安全部署

持续变化只有在每一次变化都安全的前提下才真正有价值,而标准很高。客户可以接受偶尔漏过一个机器人,但一个真实访客被错误拒绝才是真正造成损失的失败。正是这种担忧使团队对自动更新保持谨慎,因此新检测必须在影响任何人之前证明自己的价值。

我们针对近期真实流量对每个候选检测进行测试,衡量它能捕获多少已知自动化流量,以及它会以多高的频率误判真实访客。它以对机器人分数的输入身份逐步推出,期间我们持续观察分数分布、质询结果和客户反馈,并能在影响到您的整个网络之前暂停或回滚。每一次更新都必须证明自身至少与所替换的版本一样出色——以对这类系统真正重要的指标衡量,包括精确率和召回率。

一个愿景:Adaptive Intelligence 与 Precursor

这个引擎并非单独运作。上个月我们推出了 Precursor——一款为 Bot Management 打造的、以隐私为先的持续行为验证引擎,它根据访客到达浏览器后的行为表现来衡量自动化滥用:时序、动作,以及自动化难以伪造的细微人类信号。Precursor 与 Adaptive Intelligence 作为同一理念的两个组成部分而构建,共同检测恶意自动化。Precursor 通过持续的会话行为测量实现这一目标;Adaptive Intelligence 则从整个网络的机器人检测信号中学习,而一方的信号使另一方更难被欺骗。

这也反映了我们思考这一问题的方式:机器人检测引擎应当减少漏网之鱼,并持续比对面的攻击者更快地适应。

后续展望

持续重训练是基础,引擎的更多组件将从这里逐步上线。我们正在扩展针对机器人的自动检测生成,将 Cloudflare 在网络、质询和浏览器层面看到的信息整合为对会话的单一视图,并为您提供更多基于引擎发现采取行动的方式。

清楚地认识到没有任何防御能够将每一个意志坚定的攻击者拒之门外,让我们得以瞄准更实用的目标:让每一次攻击都难以持续,同时让攻击者付出远超回报的代价。Adaptive Intelligence 对新技术的响应速度更快,并在每次变化时给攻击者留下更少可供学习的内容。那个从不放弃的攻击者,如今面对的是一道每次归来都面目全非的防线——他们的坚持,将不再有所回报。

立即开始

企业客户应在 Bot Management 仪表板中开启"Auto Update Machine Learning"。开启后,您将自动获得 Adaptive Intelligence,无需迁移版本,无需任何配置,您已经建立在其上的机器人分数将继续正常运行。如果您不确定是否已启用,请立即检查,确保从第一天起即受到保护。