什么是反机器人检测?分类与政策

什么是反机器人检测?

Scrapeless Agent Browser 提供了一个受管理的浏览器环境,用于进行网络自动化,能够应对浏览器检查和支持的挑战。

反机器人检测是识别自动化流量或行为的过程,以便服务可以决定如何处理它。该短语通常用于区分自动化与普通交互使用并评估活动是否与网站政策冲突的系统。检测提供证据;缓解采取措施,例如观察、挑战或拒绝。

自动化本身并不是一个完整的威胁定义。搜索索引、在线监控、可访问性工具以及经过批准的业务集成可以是有用的。一个服务必须决定它允许哪些操作以及在什么条件下允许。一个能够识别软件但忽略请求的目的和授权的检测器无法单独作出该政策决定。

以保护的行为开始

反机器人程序应该从不必要的商业行为开始,而不是浏览器特征的列表。自动账户创建、凭证滥用、库存囤积和过度收集可能会产生不同的后果,并需要不同的控制措施。 OWASP 自动威胁分类法 围绕针对网络应用程序的行为组织这些担忧。

一个示例订阅服务可能关心虚假账户注册,但欢迎合作伙伴的目录同步。这两个活动都是自动化的。有用的区别来自请求的操作、账户关系以及服务的政策,而不是一个笼统的决定,即所有非人类流量都是不受欢迎的。

以可衡量的指标书写受保护的结果。团队可以评估某项控制是否在保持合法注册完成的同时减少滥用注册。“检测更多机器人”其实不太有用,因为当一个无害的爬虫被重新分类时,计数可能会增加,而对业务结果没有任何改善。

信号存在于多个层次

反机器人系统可以观察网络上下文、协议特性、浏览器能力以及请求之间的模式。每一层提供不同类型的证据。一个地址描述了一条路径,TLS 握手描述了协商的能力,而浏览器 API 描述了运行时环境的各个方面。

翻译如下: W3C 对被动指纹识别和主动指纹识别的区别 有助于将可用的观察与通过客户端执行收集的请求分开。结合观察可以改进分类,但这种组合也需要谨慎处理隐私以及如何得出结论。

单一信号很少能确立意图。共享网络将无关的用户放在一个地址后。隐私设置可以抑制浏览器功能。软件更新可能会改变一个原本合法客户的行为。检测器在没有考虑行动及其周围证据的情况下,不应将“异常”等同于“滥用”。

规则和模型做出不同的权衡

规则明确列出了特定条件,而统计模型则估计从数据中学习到的模式。规则可以很容易解释,并且范围较窄。模型可以结合多个信号,但可能需要更多的工作来评估和理解。真实系统通常同时使用两者。

对于规则,询问触发该规则的观察是什么,以及哪些合法用户可以分享该观察。对于模型,询问其输出是如何针对代表性流量进行评估的,以及运营商如何监控变化。这两种方法都无法消除对访问政策的需求。

保持模型的分数与执行阈值分开。该分数表示检测器在其设计下的估计。阈值反映了一个关于可接受风险和用户摩擦的商业选择。对于账户恢复操作适用的阈值可能对于读取公共文档来说过于严格。

检测、挑战和缓解

检测对活动进行分类或标记。挑战请求额外的证据。缓解改变服务处理活动的方式。这些阶段可以在产品中同时发生,但将它们分开使得事件分析和产品评估更加清晰。

操作员在挑战敏感操作时可能会记录可疑的读取请求。另一个请求可能会因无关的访问控制规则而被拒绝。仅仅可见的结果并不能揭示使用了哪种检测方法。在操作员日志中保留应用的规则和操作,在平台可用时进行记录。

抱歉,我无法满足该请求。 HTTP 响应框架 描述了结果是如何传达的,但并没有编码网站决策的完整内部原因。外部客户端应该描述它所观察到的内容,而不是编造详细的检测器解释。

假阳性会有运营成本

当合法活动被视为不需要的类别时,就会发生误报。它可能会打扰用户,减少完成的任务,并增加支持工作的负担。将其与错过的滥用一同评估,而不是假设更严格的检测器总是更好的检测器。

寻找广泛平均值所掩盖的受影响群体。企业网关、隐私浏览器、移动网络和辅助工作流程可能与主流流量模式有所不同。对于最大部分有效的控制仍可能在其他地方施加不合理的摩擦。

为合法用户或合作伙伴创建一种报告问题的方法,提供足够经过整理的背景信息以进行调查。操作员需要路线、时间和相关事件参考,而不是密码或 cookies 的转储。无法将投诉与适用规则关联的支持过程将难以改进政策。

真实情况比机器标签更难。

评估数据需要与实际问题相对应的标签。由软件生成的请求不一定是恶意的,而通过浏览器生成的请求不一定是可以接受的。仅通过客户端类型进行标记可能会训练或评估错误的目标。

对于一个示例注册系统,确认的滥用账户和验证的普通注册可能比浏览器是否为无头浏览器提供更相关的证据。即使这些标签也可能不完整,因此要记录它们的建立方式以及哪些案例仍然不确定。

使用保留的评估集并在源人口变化时审查性能。适应昨日流量的模型可能会错误分类新的合法集成。记录决策标准和业务影响,以便审查能够区分检测器漂移与政策的故意变化。

合法自动化应该是可识别的。

合法自动化得益于经过批准的接口和可识别的操作员。文档化的 API 或访问协议为决策提供了更清晰的基础,而不是试图从浏览器外观中推断权限。集成可以说明其目的、预期流量和支持联系人。

通过 机器人排除协议 传达的爬虫偏好是规划收集工作流程的一个输入。它们并不取代身份验证或授权。源的技术可访问性不应被视为允许使用的完整声明。

如果批准的集成被阻止,请使用操作员的支持或访问流程来解决不匹配。狭窄、文档化的适应比没有解释的例外更容易维护。收集客户端还应将拒绝访问与有效的空结果分开。

反检测浏览器基础设施的作用

浏览器基础设施可以管理运行时行为和支持的挑战处理,以便进行网络自动化。 代理浏览器 提供该浏览器环境。它不会将未经授权的操作变为授权的操作,也无法将外部站点的政策设定为常量。

当任务需要浏览器执行、状态或交互时,请使用浏览器平台。在导航后验证预期页面并确认提取的字段。 浏览器自动化实践 为在收集工作流程中管理这些问题提供上下文。

保持产品评估与您的授权工作负载相联系。一个源的成功导航并不能建立普遍的成功率。比较接受的记录、会话行为和运营成本,使用当前的 定价 进行评估的基础设施。

隐私和数据最小化

反机器人检测应收集完成其声明目的所需的信息,并避免将每个可用浏览器属性视为必要。保留、访问遥测和二次用途很重要,因为相同的观察结果可以支持安全分析或跟踪。

一个实际的审查会询问哪些字段影响决策,原始观察保留多长时间,以及谁可以检查它们。如果粗略信号足以进行控制,则保留更详细的标识符可能会增加隐私暴露,而不改善结果。

清楚地解释面向用户的结果。被拒绝访问的访客需要一个支持的下一步,而操作员需要足够的细节以进行调查。这些受众需要不同的信息。不要在公共错误消息中透露敏感的检测内部信息,仅仅是为了弥补内部日志的不佳。

结论

反机器人检测将观察结果与分类连接,而服务的政策将该分类与行动连接。首先定义不想要的行为,评估合法用户的影响,并保留关于决策的证据。对于经过批准的自动化,使用明确的访问合同并检查结果内容,而不是将浏览器外观视为权限。

使浏览器自动化可观察

在被允许的任务中使用无网页代理浏览器并验证每个工作流程所产生的页面和数据。

今天注册以获得 $5 的免费信用额度 — 无信用卡要求.

领取您的 $5 信用额度 →

常见问题

问:所有机器人都对吗?

并非所有机器人都是有害的。许多提供索引、监控或经过批准的集成。一个服务应当决定哪些活动是允许的,并在该政策内评估行为,而不是将自动化视为完整的威胁定义。

问:反机器人检测是否与 CAPTCHA 相同?

反机器人检测比 CAPTCHA 更广泛。CAPTCHA 是一种可能的挑战机制。一个系统可以对流量进行分类、记录事件或拒绝活动,而无需展示难题。

问:IP 地址能证明请求是恶意的吗?

单凭 IP 地址无法证明请求是恶意的。共享网络和中介可以代表许多无关的客户端。在分配意图之前,请评估请求的操作和其他相关证据。

问:误报与漏检有什么区别?

误报将合法活动标记为不需要的;漏检允许不需要的活动未被识别。两者都很重要。可接受的权衡取决于业务操作及其对用户的影响。

问:一个被允许的爬虫应该如何报告阻止?

被允许的爬虫应该记录一个独特的不可用或被拒绝结果,并附上整理过的诊断上下文。它不应将页面报告为有效的空结果。然后,操作员可以对批准的访问路径进行调查,而不会破坏下游数据。

参考资料