全部产品
弹性计算 会员服务 网络 安全 移动云 数加·大数据分析及展现 数加·大数据应用 管理与监控 云通信 阿里云办公 培训与认证 更多
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 智能硬件
Web 应用防火墙

数据风控

更新时间:2017-06-07 13:26:11

功能说明

数据风控为WAF基于阿里云的大数据能力,通过业内领先的风险决策引擎,结合人机识别技术,防止包括但不限于下列场景的关键业务欺诈行为:

  • 垃圾注册
  • 短信验证码滥刷
  • 撞库、暴力破解
  • 恶意抢购、秒杀、薅羊毛、抢红包
  • 机器人抢票、刷票、恶意投票
  • 垃圾消息等

数据风控在WAF高级版及以上提供。接入数据风控,不需要服务器或客户端做任何改造,只需要接入WAF,即可轻松获取风控能力。

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

下面以一个例子来说明数据风控的防护场景:

用户小白有一个网站:www.abc.com, 普通用户可以通过www.abc.com/register.html 注册成为会员。近来小白发现,有黑客在用一些恶意的脚步频繁提交注册请求,注册大量垃圾账户来参与他举办的抽奖活动(江湖人称羊毛党),这些请求跟正常的请求很像,频率又不是太高,传统的CC防护很难分辨出这种恶意请求。

于是小白接入WAF并启用了www.abc.com 这个域名的数据风控。同时因为小白最关心的业务是www.abc.com/register.html, 所以针对这个URL配置了特定请求防护。

从配置生效的那一刻起,WAF会做下面这些事情:

  • 观察和分析每一个访问www.abc.com 这个域名,包括首页及其子路径的用户的各种行为是否有异常,并结合阿里云大数据的信誉库去判断这个源IP是否有风险;

  • 当用户提交注册请求到www.abc.com/register.html 时,由于WAF针对这个URL配置了请求防护,WAF会基于这个用户从开始访问本站,到提交注册请求之间的行为和征信特征来判断这个用户是否可疑。比如如果一个用户没有任何前置操作就直接提交了一个注册请求,则这个请求就很值得怀疑;

  • 如果WAF基于之前的行为判断这是一个正常的用户,则该用户将不会有任何感知的去完成注册过程;

  • 如果WAF觉得这个请求是可疑的,或是该客户端IP曾经有过不良的记录,则会弹出验证滑块去验证用户的身份,通过验证的用户会继续完成注册;

  • 如果滑块验证通过,但通过的方式很可疑(比如用脚本去模仿真人滑动过程等),WAF会继续进行其他的验证,直到完全放心为止;

  • 如果无法通过验证,则WAF会最终阻断该请求。

在整个过程中,数据风控是针对整个域名(www.abc.com) 开启的,也就意味着,WAF需要对这个域名下的全部页面插入js代码来判断客户端是否可信。而真正的防护和验证,是针对www.abc.com/register.html 这个特定接口生效的,直到这里WAF才会对具体的请求做出干涉:如果客户端之前的行为可信,则不加干预直接放行,反之则需要通过考验才能继续。

风控的拦截页面如下图所示:

注意事项

直接请求风控防护的URL一定会被弹出滑块验证,所以请确保配置的防护地址在正常情况下不会被直接提交(即正常用户应该是经过一系列前置的访问才会请求这个地址)。

特别的,直接调用API的场景也不适用于数据风控的场景,会被风控拦截。因API调用也是直接发起的机器行为,会无法通过风控的人机识别验证。当然,如果是真人点击页面某个按钮调用了API服务,是可以使用风控的。

配置方法

找到需要开启风控防护的域名,点击防护配置:防护配置

在页面下方,找到数据风控,打开开关,并点击“前去配置”。注意,风控默认是在预警模式,预警模式下,风控不会对任何请求进行拦截,但依然会在页面插入js进行客户端行为分析:

点击新增防护请求来添加一条防护规则,这里以注册接口为例:

Register

注意,这里填写的地址应该是执行业务动作的接口地址,而不是这个页面本身的地址,以下面的注册页面为例:

假设这个页面本身的地址为www.abc.com/new_user ,获取验证码按钮对应的接口是www.abc.com/getsmscode ,注册按钮对应的接口是www.abc.com/register.do ,则风控防护的具体地址应该配置为:

  1. www.abc.com/getsmscode //防护短信接口被刷
  2. www.abc.com/register.do //防止垃圾注册

而不应该是www.abc.com/new_user 这个页面地址(如配这个地址,有正常用户直接访问该页面时也会有验证滑块弹出,影响体验)。

另,风控也支持目录防护,如配置www.abc.com/book/*, 则可防护这个路径下的所有请求,但不支持配置全站防护(www.abc.com/*),会导致用户访问首页也弹出滑块。

排查日志

您可以结合日志检索功能来排查风控的监控和拦截情况:

通过风控验证的日志情况如下:

log1

正常用户经过风控验证的访问请求URL会带上一个ua开头的参数,但请求会被转发到源站,也会收到正常响应。

被风控拦截的日志情况如下:

log2

但如果直接请求这个接口,一般不会带上ua参数(或带着伪造的ua参数),请求会被WAF拦截,这时对应的日志是看不到源站响应的。

综上,您可以使用日志检索->高级搜索->URL关键字功能,搜索配置风控的接口,并排查拦截情况。

如果有其他问题,请提工单联系我们。

本文导读目录