凌晨两点,我盯着监控大屏上那条陡峭的曲线,后台的注册接口在半小时内涌入了三十万次请求,IP归属地清一色来自某个不小的机房网段。这已经是本月第三起针对新用户注册礼金的薅羊毛攻击了,而之前配置的黑名单策略在流量洪峰面前几乎处于裸奔状态。也是从那时候起,我意识到单纯依赖IP黑名单做静态拦截只是一个永无止境的打地鼠游戏,真正要解决问题,必须把视角从“这个IP是不是黑名单”升级成“这个IP的可信程度到底是多少”。这,就是IP欺诈评分的价值所在。
IP欺诈评分,简单粗暴地说,就是给每一个发起请求的IP地址打一个风险分,用0到100的连续数值替代原来非黑即白的二值判断。有了这个分数,风控系统就能像对待老朋友和陌生人一样区别对待流量:高分直接放行,低分进入人机校验、短信验证甚至直接拒绝,卡在中间地带的还能转给人工审核。这篇文章,我准备把这套从特征工程、模型训练到实时服务的完整链路掰开揉碎讲清楚,包括那些你写在生产代码里才会踩到的坑。适合正在搭建风控体系、跟黑产对抗的一线开发、算法工程师,以及所有想理解现代反欺诈体系如何运转的产品和业务同学。
1. 为什么黑名单不够用了:IP欺诈评分出现的必然性
1.1 黑产的工业化生产,逼着风控必须精细化
先聊点背景。黑产跟风控的对抗,本质上是一个成本博弈问题。早期的黑产是“作坊式”的,几个懂技术的人手动注册一批账号,用的IP也就是自己家的宽带、机房的一个跳板,数量级在一百到一千左右。这个阶段,黑名单很好用,发现一个封一个,把已知的代理IP、IDC机房段拉黑,就能挡住大部分攻击。
但今天的黑产已经实现流水线作业。你去看那些被打掉的“养号工作室”,一台服务器上跑着几十个虚拟机,每个虚拟机里还挂着不同的浏览器指纹,配合从各种渠道收购的动态代理IP池,可以做到让几千个账号的IP看起来完全正常。他们的IP资源规模,动辄是几十万甚至上百万的量级。我自己接触过一个做营销活动风控的朋友,他们活动上线当天被刷了八十万次点击,事后回溯时发现攻击方在一天之内轮换了将近六十万个不同IP。面对这种量级的资源池,你靠人工去维护一个黑名单库,刚拉黑一百个,人家已经换了十万个新IP出来,根本没有胜算。
更麻烦的是,黑产还会“驯化”IP。什么意思呢?他们买下一批长期稳定的代理IP,先用来做一些正常的搜索、浏览、看视频、刷电商的行为,把IP的“信誉值”养起来。养熟了之后再用这批IP来干坏事。如果风控系统只看IP在不在名单里,这批被“洗白”过的IP就完全隐身了。这时候,只有把IP当成一个有历史、有行为的实体,做连续的、多维度的风险评估,才能透过伪装看到本质。
1.2 静态规则的三个致命短板
传统风控系统里的IP黑名单,还有基于IP的频次控制,有几个绕不开的硬伤。
第一个短板是滞后性。黑名单逻辑永远是“先出事,再拉黑”,攻击已经造成了损失,你才后知后觉地补上一个名单。等到你把名单同步到所有边缘节点,黑产早就换了一批IP了。这就好比你家被偷了才想起来装防盗门,但小偷下次是从窗户进来的。
第二个短板是误杀率高。黑名单和频控的逻辑非常粗暴,同一个IP在短时间内注册了三个账号就限制,同一IP一天登录了十个账号就冻结。但现实情况是,很多学校、公司、商场,出口IP是共享的。我见过一个真实的案例:某个高校的办公网段因为一个学生用了群控软件刷单,整个网段都被某个风控系统标记成了高风险,结果全校几百个正常师生在登录某家平台时全部被要求二次验证,体验极其糟糕。这种误伤引发的客诉和用户流失,是很多业务方没法接受的。
第三个短板是不可解释性差的“无脑关联”。不同IP之间其实存在关联关系,同一个黑产团队用的IP,可能在DNS解析、证书指纹、注册时间上有共同特征。黑名单完全没法利用这些信息,做不到“发现一个,揪出一窝”。而IP欺诈评分,本质上是对IP背后的行为序列、关联网络、风险衰减做建模,它回答的不再是“这个IP坏不坏”,而是“这个IP有多坏、坏多久、在什么场景下坏”。这种细腻的颗粒度,才是智能反欺诈体系真正需要的基础能力。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. IP欺诈评分的核心维度:一个分数背后藏着多少信息
2.1 IP基础属性:不只是归属地那么简单
要给IP打一个合理的欺诈分,首先要理解这个IP“出身”如何。IP基础属性是评分模型的地基,它包含但不限于IP归属地、运营商类型、IDC机房识别、动态/静态属性等。
归属地这块,大家比较熟悉,主要看IP的物理位置和业务用户群体的偏离程度。一个主要服务国内用户的电商平台,突然出现大量海外IP的注册请求,这本身就是强风险信号。但光看地理位置远远不够,还得判断IP的类型。如果你在IP库里查询发现这个IP属于某家云厂商的机房网段,那它的风险天然就比家庭宽带的动态IP要高。毕竟正常用户不会从一台云主机上去注册你的APP并下载几百兆的安装包。
这里我想展开说下机房识别。很多人觉得识别IP是不是机房,用一个现成的IP库就行,其实远远不够。机房IP库更新非常快,黑产手里有专人负责探测新的云厂商网段,新开一个地域节点,他们第二天就能用上。所以生产环境里通常要叠加一个主动探测模块:对实时流量里出现的新IP做反向DNS解析、端口扫描、路由追踪。如果发现这个IP开放了大量非常规端口,或者反向DNS解析出来的域名明显是机房的命名规则,就额外加分。我在实际项目中就把“机房IP判定”这一项单独拎出来做成了动态评分因子,每四个小时更新一次,这样能有效捕捉那些刚被启用的云主机网段。
2.2 历史行为画像:IP的“前科”记录
IP历史行为是欺诈评分里权重最高的部分之一。一个IP之前的所作所为,往往能预示它下一秒会干什么。这里说的历史行为,不只是黑名单里的离散记录,而是一整套连续的行为画像。
具体来说,我会关注几个细分的画像特征。第一是历史攻击行为:过去三十天里这个IP有没有触发过注册异常、撞库、爬虫、垃圾注册等风控事件,触发的频率和类型是什么。第二是活跃行为:这个IP的活跃时间段、使用时长、流量大小是否规律。正常用户的IP流量会有明显的作息规律,比如晚上七八点是高峰期,凌晨四五点是低谷;而一个被黑产控制的IP,流量往往是二十四小时均匀覆盖的,因为脚本不睡觉。第三是业务行为分布:这个IP访问的业务模块,是集中在某个功能,还是均匀分布。只访问注册接口、只访问优惠券接口,这种单点业务行为的IP,风险分也要往上抬。
做历史行为画像,最难的不是存数据和算特征,而是决定时间窗口的长度。太短了捕捉不到低频攻击,太长了又会把很久以前的风险算到现在的评分上,导致IP都换了好几拨主人了还在背锅。我自己的实践是分三层:短期窗口看24小时内的实时行为,中期窗口看7天内的聚合特征,长期窗口看90天内的历史事件。三个窗口加权融合,既保证时效性,又兼顾长期信誉。
2.3 关联关系挖掘:发现IP背后的团伙
单一的IP信息再多,也只是点状的;真正让欺诈评分产生质的飞跃的,是挖掘IP之间的关联关系。黑产从来不是一个人,而是一张网。他们手里的IP资源、账号资源、设备资源、支付资源,都通过某种逻辑关联在一起。
关联维度主要有四层。第一层是IP与账号的关联:一个IP下面关联了多少个账号,这些账号的注册时间是否集中,账号之间的行为是否具有同步性。第二层是IP与设备的关联:通过设备指纹数据反查,这个IP下出现过哪些设备ID,这些设备是否同时活跃在其他风险IP上。第三层是IP与IP的关联:不同IP之间是否有共同的DNS解析记录,是否属于同一个C段,是否在短时间内出现同样的SSL证书指纹。第四层是IP与事件的关联:这个IP的活跃时段,是否与其他已确认风险的IP高度重合。
把这些关联关系连成一张图,然后用图算法去算风险传播,就能实现“动一处,查全网”的团伙识别能力。实际落地的时候,我们常用的是社区发现算法,把关联紧密的IP聚成一个社区,然后分析这个社区整体的风险浓度。哪怕某个IP自己的行为特征看起来还算正常,但它所在的社区里有大量问题IP,它的风险分也会在传播算法的作用下被调高。
我在生产中用的是离线批量建图加实时增量查询的方案。每天凌晨跑一次全量图计算,生成每个IP的关联风险分,白天实时查询时再叠加当天新增的关联信息做增量修正。这套方案在千万级IP规模的场景下,单次查询延迟能控制在20毫秒以内,完全够业务实时风控使用了。
3. 从0到1构建一套可落地的IP评分模型
3.1 数据准备:比算法更重要的环节
做评分模型,有一句话我特别认:数据决定上限,算法只是逼近这个上限。在IP欺诈评分这个场景里,高质量的训练数据尤为重要,因为我们预测的不是“用户会不会点击”,而是“IP是否会产生欺诈行为”,正负样本的界定和标注都很有讲究。
正样本比较好搞,就是已经被确认的欺诈IP。来源包括:客服反馈中被核实为欺诈的账号单日关联IP、业务方投诉中明确指出的恶意IP、以及历史规则命中且经过人工复核的IP。这些IP的确认过程可能有滞后,但准确度是比较高的。
负样本反而容易被人忽略。什么是“好的IP”?很多人默认“没出过事的就是好的”。这个大错特错。很多IP只是还没被用来做坏事,或者它服务于一个极小众的场景,根本没有机会做坏事,把它打上“好IP”标签,会严重干扰模型学习。我通常会用更严格的逻辑:取那些在平台上稳定活跃超过90天、关联账号不超过3个、从未触发过任何风控事件的IP作为负样本。另外,再补充一些知名企业、公共机构、大型运营商的IP段作为强负样本,保证模型对这些“绝对优质”IP给分够低。
数据准备好之后,特征工程是重头戏。我习惯把特征分成四类:静态属性类(运营商、地域、IDC标记)、行为统计类(访问频率、活跃时段、业务广度)、关联关系类(关联账号数、社区风险度、二跳关联风险)、时序类(行为熵值、突变检测、周期性指数)。这里想特别提一下行为熵值:把IP每小时的行为量做一个七天的序列,然后算信息熵。正常用户的行为熵值通常比较稳定,黑产的脚本行为要么过于规律(熵值极低),要么过于混乱(熵值极高),两头都容易识别。
3.2 模型选型:树模型为主,图模型为辅
说到模型选型,总会有人问,是不是直接用深度神经网络效果最好?我做了几个对比实验后的结论是:在这个场景下,树模型,或者说梯度提升树,依然是性价比最高的选择。原因有三个:一是特征维度里有大量高基数的类别特征(比如ASN号、城市ID),树模型对这种离散特征的鲁棒性更好;二是树模型对特征分布的假设很少,IP场景的特征分布又极其不均匀,动辄长尾;三是推理性能好,上线部署简单,C++或Java的推理框架都很成熟。
具体实现上,我比较推荐LightGBM或XGBoost。前者训练速度快、内存占用低,后者在特征缺失值的处理上更细腻。我自己线上的主力模型是LightGBM,主要看重它的直方图算法在大规模样本下的训练速度,方便频繁迭代。更深层的图神经网络我也试过,但它的收益主要体现在团伙识别的场景里,更适合作为离线批量给每个IP打“社区风险分”的工具,实时在线服务的压力还是交给树模型来扛。
有一件事要特别提醒:训练样本里的IP分布,和线上真实流量的IP分布,差异巨大。因为标注的正样本是从历史欺诈事件里捞出来的,存在严重的选择偏差。如果不做修正,模型会过度拟合历史攻击特征,而对新出现的攻击手法反应迟钝。我的做法是:在训练集中按线上实时流量分布做一次重采样,把实时流量中出现频率高但样本数量不够的IP类型,通过上采样补齐,让模型尽量学习到“线上是什么样的”而不是“历史标注是什么样的”。
3.3 评分校准:把模型输出翻译成业务能用的分数
模型训练完成后,输出的其实是一个概率值,范围在0到1之间,表示这个IP涉嫌欺诈的概率。但业务方和风控规则引擎需要的是一个更直观、更稳定的分数。所以这里需要做一层校准和映射,把概率值映射到0到100的整数分。
最朴素的做法是直接让分数等于概率乘以100,但这样会有一个问题:模型的概率分布经过logloss优化后,在0.5附近会非常集中,大量样本的分数都落在45到65之间,区分度很差。我实践下来比较有效的方式是用等频分箱加分数插值:先取一个验证集,把所有IP按预测概率从低到高排序,然后等频切分成100个桶,每个桶对应一个分数。这样每个分数段里的IP数量大致相等,业务侧设置阈值的时候,就可以清晰地知道“我拦下了百分之多少的流量”。
但校准分数的稳定性同样重要,模型每次重新训练后,同样的IP可能被分到不同的分数段,这会给业务规则和运营同学带来很大的困扰。我的解决思路是做一个分数对齐层:保留一份基准分数映射表,新模型训练完成后,先用基准表计算每个样本的分数,再根据新旧模型的排序变化做单调变换,确保大部分IP的分数不会因为模型迭代发生剧烈抖动。这块工作需要细致一点,但绝对值得做,因为它直接关系到和你对接的业务同学对风控系统的信任感。
4. 实时评分服务的工程化落地
4.1 整体架构:离线计算与实时计算各司其职
IP欺诈评分真正跑起来之后,它是整套风控引擎里的一个基础组件,需要被注册、登录、下单、营销等多个场景实时调用。所以工程架构上,我把它拆成了离线计算、近线计算、实时在线三层。
离线计算层跑的是重活:全量的IP特征聚合、关联图谱挖掘、批量评分。这层每天跑一次,产出所有IP的基础评分和画像快照,存到特征存储里。近线计算层负责分钟级到小时级的增量更新:比如新确认的欺诈事件同步、动态IP探测结果更新、新建立的关联关系拉取。实时在线层就是业务真正调用的部分,它接收实时的请求IP,从特征存储里拉取离线特征,再叠加实时过滤规则里计算出来的动态特征(比如当前一秒内的请求频次、并发连接数),输入到在线模型里,算出实时欺诈分返回。
这三层架构最核心的好处是,把计算量巨大的图计算和全量特征聚合放在离线完成,实时链路只需要做轻量级的特征拼接和模型推理,才能把延迟压到毫秒级。我们线上全链路压测,P99在35毫秒左右,其中纯模型推理只占2毫秒,剩下的大头都在特征拉取和网络传输上。
4.2 特征存储选型:既要快,又要全
特征存储是整个评分服务的命脉,因为模型推理本身极快,但特征数据的加载很容易成为瓶颈。IP评分场景的特征有几个特点:一是特征数量多,一个IP往往有几百维特征;二是更新频率不均匀,有些特征一天变一次,有些特征几秒钟就要更新;三是读取模式是高频随机读,任何IP都可能在任何时刻被查询。
基于这些特点,我比较推荐的组合是:热特征存Redis Cluster,温特征存HBase或者TiKV,全量特征离线落在Hive或者Iceberg里。线上查询的时候,先查Redis,命中不了再查HBase,最终兜底查离线数仓的下游同步表。这块有个容易踩的坑:Redis里存的特征TTL设置。IP特征和用户特征不一样,用户ID的特征长期有效,可以设置比较长的过期时间,而IP特征的时效性非常强,一个今天异常活跃的IP,可能明天就沉寂了。我把实时特征TTL设置成24小时,离线基础特征TTL设置成7天,保证了特征的新鲜度,也控制了存储成本。
另一个体验上的细节是,特征存储最好按业务场景做分桶隔离。注册场景、登录场景、营销场景,对特征的关注点不同,查询模式也不同。如果所有场景共用一个特征全集,每次查询都要拉取几百维数据,浪费带宽也拖慢速度。我后来把特征分成公共层和场景层,公共层是每个IP都有的基础画像,场景层是特定场景下才需要的高阶特征。这样注册接口只需拉公共特征加注册场景特征,营销接口拉公共特征加营销场景特征,整体查询量下降了60%。
4.3 模型推理和决策引擎的联动
评分模型算出来的是一个分,但这个分怎么用,还是由决策引擎来决定。决策引擎里跑的是一套可配置的规则集,规则之间支持AND、OR、NOT组合,也支持计量、限流的动作编排。
一个典型的策略长这样:如果IP欺诈分大于85,直接拒绝;如果大于70且小于等于85,进入滑块验证;如果大于60且小于等于70,要求短信二次验证;如果小于60,放行。但这只是最简单的写死阈值的方式。更精细的做法是把IP欺诈分和业务场景的其他风险信号做联动。比如,IP欺诈分只有50,看起来还凑合,但如果这个IP同时关联了5个以上的登录账号,而且这些账号的用户行为高度相似,那风险就得重新评估了。
这里要给决策引擎一个明确的反馈闭环:每一次策略的执行结果,都要回传记录下来,作为后续模型迭代和阈值优化的依据。我们在实际项目里,会把“模型给出70分的人机校验通过率”和“实际放行后的用户行为表现”做对比,一旦发现某个分数段的用户欺诈率明显上升,就说明这个分数段对应的策略放得太松了,需要调紧。反过来说,如果某个分数段的拦截量很大但最终确认的欺诈率很低,说明策略过严,误伤了正常用户,需要调松。这个动态调节的过程,才是让风控体系真正“智能”起来的关键。
4.4 模型迭代和阈值调优的实践心得
模型上线只是开始,后面是漫长的迭代之路。我的经验是,每隔两周到一个月,就要做一次模型的离线评估和阈值校准。评估的标准不能只看AUC,更关键的是看策略的真实表现指标:拦截率、误杀率、人工审核通过率、业务转化率。
调阈值的时候有个坑:只看全局指标容易出错。IP欺诈分在不同业务场景下,最优阈值是不一样的。注册场景容忍度低,宁可误杀也不能放过;下单场景容忍度稍高,因为后面还有支付风控兜底;内容社区的发帖场景,容忍度就要更低一些,毕竟发垃圾帖的损失相对可控。所以上线的时候要做成每个场景独立配置阈值,而不是全局一套阈值走天下。
模型监控同样重要。要监控的不仅是模型本身的指标漂移,还有输入特征的分布漂移。黑产会不断调整他们的技术栈,比如从某个IDC大段搬去住宅代理,这会直接导致IP类型特征的分布发生剧烈变化。我在监控面板上放了特征分布漂移的告警,一旦某个关键特征的分布和训练集偏差超过阈值,就触发模型重新训练流程。另外还要监控线上实时的分位数分布:正常业务下,IP评分的中位数应该相对稳定,如果中位数突然往上冲,说明有大批量的新IP涌入,特别要警惕是不是有新的攻击团队进场了。
5. 踩过的坑:IP评分落地中的常见问题实录
5.1 误杀正常用户:小区出口IP和运营商NAT
IP评分落地之后,最容易爆发的问题就是误杀。最常见的受害场景是小区宽带用户和政企用户的出口IP。现在很多运营商做了CGNAT,一个大网段下可能承载着几百上千个真实用户。一个网段里只要有一户人家的设备中了木马、成为肉鸡,去攻击别人的服务器,这个网段的其他无辜用户就可能在外部威胁情报库里被打上“恶意”标签,连带着他们在所有平台上都被标记成高风险。
我遇到过一个很典型的case:一个小区的出口IP因为某个住户跑了挖矿脚本,在多个威胁情报平台上都有极其恶劣的记录。结果整个小区的用户访问我们平台时,IP欺诈分都超过了85,全部被拦截,客诉直接爆了。后来我们被迫做了一项策略调整:对IP欺诈分高风险但业务行为特征正常的IP,增加一层“账号信任度修正”。如果一个IP分数很高,但这个IP关联的账号在登录时通过了设备指纹验证、短信验证、历史行为校验,就把它标记为“疑似误伤”,短期内降低它的实际拦截力度。这是一个在防欺诈和用户体验之间取平衡的折中方案,虽然不是完美解法,但在实际场景里很有必要。
5.2 数据稀疏:新IP和代理IP的冷启动难题
每一个刚分配出来的IP,都没有历史数据,评分模型面对它的时候会直接“懵住”。冷启动是个一直存在的挑战。尤其是现在IPv6普及越来越快,大量的新IP段涌入,而我们的模型在训练时根本没怎么见过这些IP的特征组合。
针对这个情况,我用了几个办法。第一个是对IP所属的网段做上级画像,用C段或者B段的平均风险分作为新IP的初始分。第二个是叠加IP归属类型权重,一个全新的家庭宽带IP和一个全新的机房IP,初始分必须有明显差距,前者的初始风险要低得多。第三个办法是动态调整采样时间:刚出现的IP先用初始分顶住,等积累了超过30分钟的实时行为数据后,再用实时特征重新计算分数。我用这个“冷启动三件套”之后,新IP的评分准确率提升了不少。
5.3 特征和模型被反向攻击
黑产不是被动挨打的。他们也在研究风控系统,想尽办法绕过评分模型。对抗样本攻击在IP评分场景下也是真实存在的威胁。
最明显的对抗体现在“养IP”上。黑产用一批IP做低频率的正常行为,持续一两周,把IP行为熵值、活跃时段这些特征全部养到和正常用户一致,这时候模型很难分辨。针对这个情况,我的应对思路是加大关联维度的权重:单个IP可以养,但一群IP的同步养号行为很难做到完全随机,它们的注册时间、首次活跃时间、流量增幅曲线总会暴露出蛛丝马迹。通过把IP和它所在社区的同步性指标引入评分,让纯粹的单点养号策略失效。
另外一个对抗手法是IP轮换频率极高,黑产在一个IP上只活跃几分钟就换下一个。这种策略下,单个IP的行为数据极少,历史行为维度的权重几乎失效。应对方法是要切换到“速率型”特征:比如某个账号维度上,单位时间内更换了多少个IP;或者某个设备维度上,单位时间内关联了多少个不同IP。把评分锚点从“一个IP的好坏”延伸到“IP的变化速度”,是对抗高频轮换的有效思路。
5.4 治理滞后:从攻击发生到模型感知的时间差
任何评分模型都存在一个固有的缺陷:它对新的攻击手法有感知延迟。今天黑产换了一种新的IP来源,我们的模型可能要过几天才能从新增的标注数据里学习到规律,再更新到线上,背后可能又产生了一波新的损失。
时间差问题不可能完全消灭,但我摸索出一套尽量缩短它的方法。第一,建立一个实时风险事件回流链路,新确认的欺诈IP特征尽快反馈到近线计算层,供在线规则使用。第二,设置规则先行、模型兜底的策略:当实时事件流里出现明显异常的新场景,先用配置好的紧急规则把它们卡住,等下一轮模型更新后再慢慢把紧急规则降级为标准策略。第三,定期做“红蓝对抗”演练,模拟黑产可能使用的新型IP策略,提前在离线环境验证模型和规则的响应效果,做到心里有底。这套机制跑起来以后,面对新攻击的反应时间从之前的一周缩短到了24小时以内。
6. 在真实业务场景里,IP欺诈评分还能怎么用
6.1 注册激活链路:守好第一道门
IP欺诈评分用得最重、效果最明显的地方就是注册激活链路。这里的目标不只是挡住垃圾注册,更是要给后续的风控决策提供一个初始风险基准。一个在注册阶段就被标记为高风险的IP,后续它关联的账号、设备,都要带着这个初始风险标签走完全流程。
落地的时候,关键是要把注册场景的阈值设置得足够严格。因为注册环节通常是营销活动、新人礼包的第一道入口,黑产的收益在这里体现为直接的经济利益,攻击强度最大。但严格不代表一刀切,比如对来自IPv6地址的注册请求,如果归属于正常运营商的动态分配前缀,就不该按历史IPv4经验直接打高分。要在策略里把IP类型和连接协议、代理层级作为独立的上下文信息传入评分模型,让模型学会不同语境下同一个分数的不同含义。
6.2 登录和交易环节:让每一次操作都被评估
登录环节是最容易被低估价值的场景。很多公司把精力都放在了注册拦截上,登录环节只做了个简单的密码错误次数限制。但现实中,撞库攻击、账号盗刷、灰产养号的“回访”行为,都集中在登录环节。IP欺诈评分的价值在于,登录请求的风险评估要综合考虑账号的历史风险等级和当前IP的可信度。一个低风险老账号突然从高风险IP登录,这就是典型的盗号信号。即使账号密码正确,也应该让这个用户进入一个增强验证流程。
交易环节则是最不能接受风险的环节。在支付请求进来之前,把IP的欺诈评分和交易金额做交叉校验:高金额交易、高欺诈分IP,组合起来就必须触发人工审核或限额策略。这个逻辑在电商、借贷、游戏充值等场景都适用。我在一个电商客户那边观察到,仅仅在支付环节加上了IP评分交叉校验这一条策略,盗刷相关的拒付率就下降了18个百分点。
6.3 营销活动防刷:把每一分预算花在真实用户身上
营销活动的防刷,是IP欺诈评分最出效果、ROI最直观的落地场景。优惠券、红包、积分兑换,这些业务的本质是“用钱买用户活跃”,而黑产就是冲着真金白银来的。我见过最离谱的活动,预算100万,最后70万的优惠券被羊毛党分走了。
这里我要特别说一点:营销防刷和注册、登录场景有个很大差异,就是它的风险是高度动态的。某个IP在注册时是干净的,但在活动页面上,它可能在几秒内打开了几十次页面、提交了多个手机号、用了不同的设备标识,这种短时序的突发行为,在离线特征里完全看不出来。所以在营销场景里,IP欺诈分必须和实时的行为评分做叠加,光靠一个静态分是远远不够的。实践里我的做法是,在活动链路的所有关键节点(进入页面、点击领取、填写手机号、提交核销)都同步计算一次IP实时风险分,一旦分数突破阈值,当场拦截并发起人机验证。
6.4 评估与迭代:评分体系也要有生命周期管理
最后想聊聊IP欺诈评分体系自身的生命周期管理。所有的评分体系都会随着时间衰减,就像药物会产生抗药性一样,风控策略也会被黑产研究和适应。所以评分体系本身需要定期做一次全面的健康度检查。
我的检查清单包括几个方面:评分分布是否合理,是否存在大量IP集中在同一个分数段,这通常意味着特征表达能力在退化;分数和业务结果的相关性是否依然显著,如果高分段用户的欺诈率不再明显高于低分段,那模型基本已经失效了;规则命中后的处置时效是否满足预期,很多风控系统的问题不是模型不行,而是策略落地的时候链路太慢,给了黑产可乘之机。每隔一段时间,也要主动引入新的数据源来丰富IP画像,比如威胁情报数据、域名解析数据、ioT设备的指纹数据,这些都能让评分体系保持活力。
我自己做这套体系做了好几年,最大的感受是:IP欺诈评分不是一个一劳永逸的工程项目,而是一条需要持续对抗、持续迭代的长线战斗。别指望上了某个模型就高枕无忧,真正的护城河在于你有没有一套能够快速感知风险变化、快速调整策略的完整机制。这中间的平衡,尤其是误杀和漏放之间的权衡,没有标准答案,必须在自己的业务场景里一点点试、一点点调。希望这篇文章能让你少踩几个我踩过的坑,在构建自己反欺诈体系的时候走得稍微顺一点。
