数据风控帮助您防御网站关键业务(如注册、登录、活动、论坛)中可能发生的欺诈行为。

前提条件

已将网站接入WAF进行防护。具体操作请参见业务接入WAF配置

背景信息

数据风控基于阿里云的大数据能力,通过业内领先的风险决策引擎,结合人机识别技术,防止各类场景的关键业务欺诈行为。您只需将业务接入WAF即可使用数据风控功能,轻松获取风控能力,且无需在服务器或客户端进行任何改造。

说明 目前,仅中国大陆地域的WAF实例提供数据风控功能。对于按量付费的WAF实例,您必须在功能与规格中启用数据风控,才能使用该功能。具体操作请参见功能与规格配置

数据风控支持防护的场景包括但不限于以下内容:
  • 垃圾注册
  • 短信验证码滥刷
  • 撞库、暴力破解
  • 恶意抢购、秒杀、薅羊毛、抢红包
  • 机器人抢票、刷票、恶意投票
  • 垃圾消息
说明 数据风控仅适用于网页/H5环境。在某些情况下,可能存在页面中插入的用于安全防护的JS插件与原页面不兼容的问题,导致数据风控的滑块验证功能出现异常。目前,常见的存在不兼容问题的页面包括:
  • 访问者可以直接通过URL地址访问的静态页面,包括:各种通过HTML直接展示数据的详情页/分享页、网站首页、文档页等,页面跳转方式为直接修改location.href和使用window.open、a标签的页面
  • 业务代码重写页面的请求发送方法或自定义请求提交,包括:重写表单提交、重写XHR、自定义ajax提交等情况
  • 业务代码中存在hook相关请求提交的情况
建议您在接入数据风控功能初期,选用预警模式并结合WAF实时日志分析服务进行兼容性和效果测试。如果您发现存在不兼容的情况,您可以使用人机验证服务配合WAF一起实现防护。

原生App业务防护请使用爬虫风险管理提供的App增强防护SDK方案

功能原理

数据风控的工作流程如下图所示。
数据风控,工作流程

关于接入数据风控的应用场景示例和实际效果,请参见应用示例

操作步骤

  1. 登录云盾Web应用防火墙控制台
  2. 前往管理 > 网站配置页面,并在页面上方选择中国大陆地域。
  3. 选择要操作的域名,单击其操作列下的防护配置
  4. 打开数据风控状态开关并确认开启。
    说明 启用数据风控功能后,WAF将在您网站的所有(或指定的)页面中插入JS插件用于安全防护,页面响应内容将以非gzip压缩方式进行传输。即使您的网站配置使用的是非标端口访问,配置数据风控也无需进行额外配置。关于如何指定JS插入页面,请参见指定JS插入页面
  5. 选择防护模式
    • 预警:识别到业务攻击时,只记录风险日志、不进行拦截,可通过业务风控报表查看详细风险情况。
    • 防护:识别到业务攻击时,用户将被重定向至验证页面进行二次验证。
    说明 默认使用预警模式,数据风控不会对任何请求进行拦截,但依然会在静态页面中插入JS脚本分析客户端行为。

    数据风控,模式
  6. 单击前去配置,添加防护请求或指定JS插入页面。
    • 添加防护请求
      1. 防护请求页签下,单击新增防护请求
        数据风控,防护需求
      2. 新增防护请求对话框,指定防护请求URL
        新增防护请求

        什么是防护请求URL

        防护请求URL指执行业务动作的接口地址,而不是页面本身的URL地址。

        例如,下图所示注册页面本身的URL地址为www.abc.com/new_user,获取验证码按钮对应的业务接口地址是www.abc.com/getsmscode,注册按钮对应的业务接口地址是www.abc.com/register.do
        注册页面

        这种情况下,您应该为获取验证码按钮的接口地址www.abc.com/getsmscode和注册按钮对应的接口地址www.abc.com/register.do分别添加防护请求,并设置为防护请求URL,防止验证码的短信接口被刷和垃圾注册风险。

        如果将注册页面地址www.abc.com/new_user设置为防护请求URL,当正常用户访问该页面时也将收到滑块验证提示,影响用户体验。

        防护请求URL注意事项
        • 防护请求URL必须精确到实际请求URL,不支持模糊匹配。

          例如,将www.test.com/test设置为防护请求URL,则数据风控只匹配test路径的访问请求,不会匹配test路径下所有页面的访问请求。

        • 数据风控支持对网页目录进行防护。

          例如,您将防护请求URL设置为www.abc.com/book/*,即可对www.abc.com/book路径下所有页面的请求实现数据风控防护。但是,不建议您为全站配置防护。假如设置www.abc.com/*为防护请求URL,将导致用户访问网站首页时也需要通过滑块验证,影响用户体验。

        • 直接请求数据风控已防护的URL一定会触发滑块验证。因此,请确保所配置的防护请求URL在正常情况下不会被用户直接请求,即正常用户通常需要经过一系列的前置访问后才会请求该URL地址。
        • 直接调用API接口的场景不适合使用数据风控进行防护。由于API调用是直接发起的机器行为,无法通过数据风控的人机识别验证。但是,对于正常用户单击页面中的某按钮调用API接口的情况,可以通过数据风控功能进行防护。
      3. 单击确认

        防护请求添加成功后,10分钟左右生效。

    • 指定JS插入页面
      由于部分页面前端代码与数据风控的JavaScript脚本可能存在兼容性问题。如果遇到此类问题,可通过指定页面插入JS功能仅添加部分页面进行安全防护。
      说明 仅在部分页面插入JS插件时,数据风控将可能无法获取完整的用户访问行为,并对最终的防护效果产生影响。
      1. JS插入页面页签下,单击指定页面插入JS
        js插入页面
      2. 单击添加页面
        说明 最多可以添加20个页面地址。
      3. 添加URL对话框中,输入要插入JS的页面地址(以"/"开头),单击确认
        添加url

        数据风控将仅在您所添加的URL路径下的页面中插入JS插件。

    启用数据风控后,您还可以使用WAF的全量日志功能查看防护结果。关于日志示例,请参见查看防护结果

数据风控应用示例

阿里云用户小白在互联网上搭建网站业务,网站域名是www.abc.com,普通用户可以通过www.abc.com/register.html注册成为网站会员。

近来,小白发现存在黑客通过一些恶意脚步频繁提交注册请求,并注册大量垃圾账户来参与网站的抽奖活动。所提交的请求与正常用户请求相似度很高,且请求频率不高,传统的CC攻击防护功能难以分辨出这些恶意请求。

于是,小白将网站业务接入WAF并为www.abc.com域名开启数据风控功能。小白当前最关心的注册业务的请求URL是www.abc.com/register.html,因此将该URL设置为防护请求URL。

防护配置生效后:
  • 数据风控通过在所有页面中插入的JS插件,观察并分析每一个访问www.abc.com网站域名(包括首页及其子路径)的用户的各种行为,判断是否存在异常。同时,结合阿里云的大数据信誉库判断访问源IP是否存在风险。
  • 当用户向www.abc.com/register.html地址提交注册请求时,WAF将基于该用户自开始访问该网站,到提交注册请求间的所有行为和征信特征来判断用户是否可疑。例如,如果用户没有任何前置操作直接提交注册请求,则可基本判断该请求为可疑请求。
    • 当数据风控判断该请求为可疑请求,或者该访问源IP曾有不良记录,将通过滑块验证的方式验证用户身份。只有通过验证的用户,才能继续进行注册。
      安全验证
      • 如果通过滑块验证方式可疑(例如,使用脚本模仿真人滑动过程等),数据风控将继续通过其它方式再次进行验证,直到验证通过且通过方式可信。
      • 如果无法通过验证,数据风控将阻断该请求。
    • 如果基于之前的行为,数据风控判断该请求来自正常用户,则该用户在注册过程中将无任何感知。

整个过程中,由于数据风控是针对整个网站域名(www.abc.com)开启的,数据风控需要对该域名下的所有页面插入JS插件来判断用户行为是否可信。而真正的防护和验证,仅针对www.abc.com/register.html注册接口URL生效,只有在提交注册请求时数据风控才会对请求进行干涉。

查看防护结果

您可以使用WAF的全量日志查询功能来排查数据风控的监控和拦截情况。

  • 通过数据风控验证的日志情况。
    日志,数据风控,通过

    正常用户经过数据风控验证的访问请求URL将包含一个以ua开头的参数,请求会被WAF转发回源站,源站服务器正常响应该请求。

  • 被数据风控拦截的日志情况。
    日志,数据风控,拦截

    如果直接请求业务接口URL,一般不会包含以ua开头的参数(或带有伪造的ua参数),这类请求将被WAF拦截,且请求日志中无源站响应信息。

因此,您可以使用全量日志功能,在高级搜索 > URL关键字中配置启用数据风控的接口,来排查数据风控的监控和拦截情况。
全量日志