跳转到内容

客户端防御能力

F5 Distributed Cloud 客户端防御(CSD)通过直接在浏览器中监控 JavaScript 行为,保护 Web 应用程序免受客户端攻击。F5 XC 负载均衡器可配置为向客户端提供的页面中注入 CSD 遥测脚本。该脚本监测所有 JavaScript 活动——包括哪些脚本被加载、哪些脚本读取了哪些表单字段,以及哪些脚本建立了网络连接。遥测数据发送至 F5 XC 平台,由机器学习模型分析脚本行为、分配风险评分并标记异常。安全团队在 CSD 控制台中审查检测结果,并通过允许或缓解脚本域名来采取相应措施。

flowchart LR
    A["Browser JS"] --> B["CSD Telemetry Script"]
    B --> C["F5 XC Platform"]
    C --> D["ML Analysis"]
    D --> E["CSD Dashboard"]

CSD 监控三类浏览器端行为:

信号CSD 观测内容示例
表单字段读取哪些脚本访问了页面 DOM 在加载时存在的哪些 input 字段main.js/login 页面读取 password 字段
脚本清单每个页面上加载的所有第一方和第三方 JavaScript,按来源域名追踪登录页面出现了从 cdn.jsdelivr.net 加载的新 <script> 标签
网络交互与脚本网络活动相关的域名——包括脚本加载来源域名以及 fetch/XHR 目标域名在检测到的域名中出现来自 esm.sh 的脚本来源以及 www.httpbin.org 等数据泄露目标
功能描述控制台位置
脚本风险评分自动分类:无风险、低风险、高风险脚本列表 → 风险级别列
表单字段敏感性系统根据字段类型和名称自动将字段分类为敏感字段表单字段视图 → 分析列
行为时间线以图表展示脚本风险级别、来源域名和类型随时间的变化脚本详情 → 概述 → 行为时间线
受影响用户归因按 IP、地理位置、浏览器和设备追踪受影响用户脚本详情 → 受影响用户选项卡
域名允许列表将受信任的脚本域名标记为已允许仪表板 → 域名行 → 添加至允许列表
域名缓解列表阻止来自特定脚本域名的网络调用和表单字段读取,防止数据泄露仪表板 → 域名行 → 添加至缓解列表
告警配置针对新域名、风险变化、可疑行为的通知通知设置部分
脚本说明添加注释说明脚本被授权的原因(PCI DSS 合规)脚本详情 → 说明字段
事务追踪每月遥测事件计数器,确认 CSD 处于活动状态仪表板 → 已消耗事务卡片
时间和位置筛选按时间范围(24小时、7天、30天)和位置筛选所有视图顶部栏筛选控件

了解 CSD 监控的内容对于设置准确的演示预期至关重要:

限制详情已验证
动态创建的字段CSD 追踪页面加载时 DOM 中存在的 input 字段。加载后由 JavaScript 注入的字段不受监控。脚本读取的动态创建的 <input> 不会出现在表单字段视图中。是——等待10分钟后字段仍未出现在 /formFields
代码级混淆CSD 不会将动态代码执行技术或混淆模式标记为独立的检测信号。混淆的数据采集器与非混淆的产生相同的风险级别——CSD 追踪行为元数据,而非源代码模式。是——两种技术均产生相同的”高风险”结果
表单覆盖层字段CSD 仅追踪页面加载时原始 DOM 中存在的表单字段。由 JavaScript 注入的覆盖表单(一种常见的数字盗刷技术)不被追踪——仅能检测到对原始字段的读取。是——等待10分钟后覆盖层字段仍未出现在 /formFields
仪表板计数器行为”已发现并缓解”和”已发现并允许”汇总计数仅在管理员明确将域名添加至缓解列表或允许列表后才会更改。“需要处理”和”已发现总数”在检测到新域名时自动更新。是——“已发现并允许”仅在向 /allowed_domains 发送 POST 请求后才从0变为1

CSD 直接满足 PCI DSS v4.0 中关于支付页面安全性的两项要求:

PCI DSS 要求要求内容CSD 如何满足
6.4.3 — 支付页面脚本管理维护所有脚本的清单,为每个脚本提供书面授权和说明,验证脚本完整性脚本列表提供完整清单;说明字段记录授权信息;行为时间线追踪变更
11.6.1 — 支付页面篡改检测检测对 HTTP 头部和支付页面内容的未经授权修改CSD 遥测检测新的脚本注入、未经授权的表单字段读取以及新的网络域名——对页面行为变化发出告警

下表将常见的客户端攻击类别映射至每种攻击类型中会触发的 CSD 检测信号。标注 * 的攻击类型已由 F5 官方文档确认。未标注的类型根据 CSD 的检测信号类别推断,F5 可能未明确声明。

攻击类别描述字段读取脚本注入网络
表单劫持 *恶意脚本读取表单字段值并将其泄露
数字盗刷 *注入覆盖层表单或脚本以捕获支付数据
供应链攻击 *受攻击的第三方库加载恶意代码
数据泄露 *读取敏感数据并将其发送至外部域名
脚本注入 *向页面插入未经授权的 <script> 标签
加密货币挖矿劫持 *注入加密货币挖矿脚本
DOM 操纵注入或修改页面元素以欺骗用户
浏览器中间人攻击在浏览器会话中拦截表单数据——参见 OWASPMITRE T1185
点击劫持覆盖不可见框架以劫持用户点击——参见 OWASP
Web 盗刷持久化在页面导航过程中重复注入盗刷脚本——参见 Sansec Magecart Research