Matrix 营销系统有一次大促差点出大事。一个高面额优惠券活动上线,预算按预估的正常用户量配的,结果活动开放后两分钟,券被领空。复盘时查日志,那两分钟里发起领券请求的设备数有上万台,但真实下单的用户寥寥无几。黑产的自动化脚本在普通用户还没刷开活动页的时候,已经把预算薅干净了。那次大促最终做到零资损,靠的是预算保护兜底把活动紧急熔断了,事前的风控其实没拦住多少。事后我们花了大力气补反作弊体系,才意识到之前的防御基本是裸奔。
反作弊这件事,新手最容易低估黑产的专业程度。以为加个图形验证码就完事了,实际上打码平台几厘钱一个,几毫秒过验证。以为限一个手机号一张券就行了,实际上黑产的接码平台有上百万号池。黑产已经形成完整产业链,技术水平和正规风控团队是同一个量级。理解反作弊,得先理解黑产是怎么赚钱的,再倒推在哪里设卡。
黑产的攻击路径,一条完整的变现链
黑产薅一次营销活动,要走完四步,批量注册、养号、薅券、套现。每一步都有专门的工具和服务支撑。
图:黑产变现四步链对应四道设卡,全链路防御把黑产成本拉到无利可图
批量注册这一环,接码平台提供手机号,打码平台过验证码,群控软件批量操作。一个熟练的黑产团伙,几分钟内能注册上千账号。养号是中间这步,新注册的账号会被风控系统盯上,所以黑产要模拟正常行为养一段时间,刷浏览、加点购物车、偶尔下个真单,把账号的风控分养到安全线以上。养号完成,薅券就简单了,脚本批量领券、下单、用券。最后一步套现最关键,券本身不值钱,能换成现金才完成闭环,常见手法是虚假交易自买自卖,或者把券转卖给真实用户。
理解这条链路的价值在于,防御可以在每个环节设卡,不必只在最后堵。注册环节卡批量注册,养号环节识别异常行为模式,薅券环节做实时风控,套现环节堵退款。四个环节都设防,黑产的成本就指数级上升,逼他放弃转而去找防御更弱的目标。
设备指纹,识别同一设备多账号
设备指纹是反作弊的基础设施。它通过采集设备的硬件和软件特征,IMEI、MAC 地址、屏幕分辨率、字体列表、传感器数据等,生成一个设备唯一标识。
设备指纹真正的价值在于发现同一个设备背后挂了多个账号,识别单个设备只是附带能力。一个正常用户一部手机一个账号是常态,一部手机在短时间内注册几十个账号,这是黑产的强特征。即使黑产改手机号、清缓存、重装 App,硬件特征很难全部伪造,设备指纹仍然能把这些账号关联到同一台设备。
设备指纹不是万能的。黑产有专门的指纹伪造工具,改 IMEI、改 MAC、模拟传感器数据,专业团伙有能力制造指纹漂移。所以设备指纹只能作为风控的一个信号,不能作为唯一判据。实战里它更多用来做关联分析和群体识别,而不是单点拦截。
行为风控,识别机器和非机器
真人操作和脚本操作有本质差别,这个差别在于不确定性。
真人点击屏幕的位置每次都有偏移,操作间隔忽长忽短,浏览有轨迹,会停顿、会回退、会反复看。脚本操作是精确的,点击位置固定,操作间隔均匀,没有浏览轨迹,一个动作接一个动作流水线推进。行为风控就是量化分析这些特征,给每个操作序列打分,判断它更像人还是更像机器。
行为风控的难点在于特征工程。哪些特征有区分度、阈值设在哪,需要大量样本分析。误判真人会误伤正常用户,漏判机器又放过黑产,这是个精度问题。行为风控通常和设备指纹、规则引擎配合使用,单个信号不足以判定,多个信号叠加才下结论。
规则引擎,实时拦截的主战场
规则引擎是实时风控的核心。每个参与活动的请求进来,先查用户画像,再执行一批规则,命中风险规则的拦截或挑战验证,正常的放行。
图:实时风控按"画像→名单→分层规则"链路拦截,维度索引粗筛保证高并发性能
规则的颗粒度由粗到细。最粗的是频次控制,同一设备、同一 IP、同一账号在短时间内操作次数超阈值就拦。其次是身份规则,注册不到七天的新号限制参与高面额活动,这是养号期的对抗。再细的是行为规则,凌晨批量操作、操作间隔过于均匀、浏览深度为零,这些都指向机器行为。
规则引擎的性能很关键。活动高峰期 QPS 能到几千,每条请求要执行几十上百条规则,全量遍历扛不住。实战做法是按维度索引粗筛,先按活动场景、风险等级、用户标签把候选规则缩到几十条,再对这批候选规则执行表达式。Matrix 上游策略服务扛到 2800 QPS 靠的就是这种分层的规则匹配。
名单体系,风控的基础设施
名单是风控系统里最古老也最有效的手段。黑白灰三色名单把用户分成三类,分别处置。
黑名单是确证黑产,直接拒绝,不给任何机会。灰名单是可疑用户,加强验证或者降权,比如给一个难以过的人机验证,或者降低他的活动配额。白名单是可信用户,VIP 和老用户,优先放行甚至跳过部分风控检查。
名单的价值在于它沉淀了历史判断。一次确认的黑产进黑名单,以后这个设备、这个账号、这个 IP 再来直接拦,不用重新跑一遍风控。名单要持续更新,新用户默认进灰名单观察,行为正常的逐步升到白名单,越界的降回灰名单或拉黑。名单的难点在于维护成本和误杀,名单太大会拖慢查询,名单太严会误伤老用户。
退款环节,套利的命门
黑产套利最常用的手法是用券下单、支付、退款。如果退款时券原路退回,等于免费循环用券,每循环一次薅一次羊毛。这一步是套利闭环的核心,也是防御性价比最高的一环。
把住退款关的规则很简单,用券订单退款时券作废,不退回。这一条规则从源头堵死了循环套利,黑产每次套现都要消耗一张新券,成本直接拉满。从源头堵永远比事后追损有效,事后追损需要人力排查、联系平台、走法务流程,成本高且回收率低。
关联交易防虚假是退款的延伸。识别自买自卖,同一个设备、同一个 IP 的买卖双方,异常集中的下单地址,这些都是虚假交易的信号。抓到之后不仅作废券,订单本身也要拦截或回滚。
实时和离线,必须形成闭环
只做实时规则不做离线分析,是反作弊最容易翻车的地方。
图:实时引擎挡已知攻击,离线分析挖未知团伙并沉淀新规则反哺,形成攻防进化闭环
实时规则只能拦已知的攻击模式,规则是写死的,匹配的是已经被识别过的套路。黑产在不断进化,每次换个新手法,实时规则就失效了,直到有人发现新手法、写新规则、上线,这个滞后窗口可能长达几天。
离线风控补的就是这个缺口。用大数据分析和机器学习模型,事后挖掘交易流水,发现新型黑产团伙的特征。比如发现一批账号的注册时间高度集中、下单的商品高度一致、收货地址在同一个区域,这些单看每条规则都不会命中,但群体特征很明显。离线分析发现新型攻击后,把它沉淀成新规则反哺给实时引擎,实时拦截能力就跟着进化。两者形成闭环,实时挡已知的,离线挖未知的,这是反作弊能跟上攻防节奏的关键。
风控做得再严也会有漏网的黑产。预算保护是兜底,实时监控预算消耗速度,消耗异常快时紧急熔断暂停活动。宁可短暂影响正常用户,不能让黑产把预算薅空。Matrix 那次大促零资损,最终就是靠这一招。预算熔断的阈值要提前算好,正常用户领券的速度有个合理上限,超过这个上限就该触发。这个阈值不能拍脑袋,要拿历史活动的真实数据来标定。







