⿊产在带宽作弊、运营活动作弊、流量爬取作弊等场景,都是使⽤bduss模拟登录的⽅式来调⽤接⼝。 他们会⾃⾏修改⼀些业务参数,例如devuid、clienttype、version、UA等来模拟不同客户端类型(Android,iOS,PC,MAC,浏览器)请求。
基于以上背景,我这边想要精准管控bduss在不同设备的使⽤。所以想建设UID+BDUSS+DEVUID+UA的 特征,在某些核⼼的业务接⼝,开启校验。如果发现bduss被乱⽤,采取延迟召回封禁、踢bduss失效等 处置。⽤来提⾼作弊⾏为的召回率、阻⽌作弊⾏为等
存储量⼤。由于bduss失效不会通知该服务,⽆法清理数据。数据积累会越来越⼤。
梳理核⼼接⼝,尤其是扫码登录等登录后⼀定会调⽤的接⼝。并且增加⼀些校准策略。来确定 UID+BDUSS+DEVUID+UA 的特征值。量级较⼤,采⽤延迟处理的⽅式。⼏⼩时更新⼀次。
redis 存储 50G key: uid_md5(bduss)_md5(devuid)_uatype
mysql 存储 (100G-1024 个分表): uid, md5(bduss), devuid, ua, clienttype, status, remark, create_time, update_time
Pulsar 消息队列(200G):baidu/netdisk/antibehavior
// mysql 存储: uid, md5(bduss),devuid,uatype,create_time,update_time
// redis 存储: key:uid, hash : uid_md5(bduss)_md5(devuid)_uatype:16+16+16+6+3= 57B
| 接口请求频控制 | 1个UID,每24小时请求>5次 | 实时 |
| 1个设备,每24小时请求>15次 | 返回未抢中的业务文案提示 | |
| 1个IP,每24小时请求>100次 |
| 先抽奖,后购买会员。黑产通过刷量先抽中大奖,再买会员,针对于抽奖接口 | 抽奖接口:1个UID每天请求>20次,则命中策略;1个ip每天请求>400次,则命中策略;1个设备1个接口每天请求>120次,则命中策略; | |
|---|---|---|
| 客户端 | 接口 | 状态 |
|---|---|---|
| web | /api/getsyscfg /api/gettemplatevariable /rest/2.0/membership/user /api/loginStatus | 采集 |
| wap | /api/user/getinfo /api/report/user /api/quota | 采集 |
| android | (未提供具体接口) | 采集 |
| iOS | /api/getconfig /api/quota /api/usercfg | 采集 |
| pc | /api/multidevice/check | 采集 |
| mac | /rest/2.0/membership/user/info /rest/2.0/membership/product /api/certuser/get 会员购买接口 | 采集 |
| linux | (未提供具体接口) | 采集 |
| 微信小程序 | /api/wechat/userinfo /api/loginStatus (备注:clienttype=25,ua=浏览器) | 采集 |
| 手百小程序 | /shoubai/rest/2.0/membership/user /shoubai/rest/2.0/membership/user/info /shoubai/api/report/user (备注:clienttype=61) | 豁免? |
