CC防御/接口防刷

CC攻击的传统防护

  • 每个Web访问者在规定时间内允许访问的次数。
  • 根据IP、Cookie或者Referer字段区分Web访问者。
  • 当访问超过限制时,对其访问进行阻断或者发送验证码验证。

以上针对非APP请求,采用限速JS验证验证码人机挑战

为什么可以防护CC

攻击者:一般CC攻击不会调用浏览器,而是自己写程序/脚本实现。遇到WAF返回的JS或验证码就会失败、无法执行。来判断是机器人还是正常用户
WAF拦截刷单

如原本1个GET请求官网,开启5s盾、JS验证模式,浏览器解析后跳转到图形验证码,即1个GET变成了2个GET+1个POST(浏览器自动实现),而脚本请求得到的Response却是403
CloudFlare开启验证码后

针对APP请求的CC防护

客户端APP(非H5应用),它不是浏览器是无法响应一些交互条件(框架里代码中写的函数或JSON调用,类似脚本),遭到CC攻击后难以通过”挑战-响应“的传统CC防御来处理(客户端不能执行JS)

防护建议:

  • 设备指纹模型(指纹一致性、操作系统标识、秒拨IP识别、恶意行为识别)
  • 行为分析模型(源IP+设备封禁、回源节点识别、多维限速、代理识别)
    OS指纹程序指纹设备指纹

接口防刷设计

接口有两种,一种是需要登录才可以调用的,另一种是不需要登录

对于需要登录才可以调用的,这种就可以根据用户来限制调用次数和频率。无登录态的接口由于不和user绑定,可采用其他维度来限制