当前位置:首页 > 未分类 > 正文

防薅羊毛体系化建设

admin 发布:2024-11-09 03:03 38


近期碰到一个场景,即业务活动中被薅羊毛,所衍生出来的业务安全的分支,即黑灰产对抗方向。当你的业务量足够大时,便可以直接采购对应的黑灰产数据库,如某易、某讯等,但当业务量与预算不足以支撑时,就可以自己利于内部资源整合给羊毛党制造一些麻烦;下面简单和大家分享一些建设思路:

首先,针对业务量较小的企业,对抗的对象可以分为以下三种:

1.专业羊毛党:收集优惠信息,分类梳理—通过熟悉活动流程,分析活动或者逻辑中存在的漏洞,从而破解业务逻辑—羊毛党利用提前准备的工具,编写自动化的软件;如从卡商、黑市购买租赁手机号、身份信息等数据伪造真实用户—注册账号薅羊毛:通过自动化的注册软件、解码平台、群控工具等,进行虚假账户的批量注册,并迅速领取优惠券

2.黑灰产:利用技术手段找到平台安全漏洞,获取利益。比如积分商城的商品、抽奖的现金、优惠券代金券等等。或者直接爆库,转卖用户数据等

3.单个薅羊毛用户:监测羊毛网站,发现有可薅羊毛手段,领取优惠券——不作为对抗目标

依据攻击场景,我们的防护思路:活动前安全设计,避免薅羊毛漏洞产生-薅羊毛及时发现-被薅后无法使用-被薅后可以留痕(保持报警的能力)

总体原则:全链路布控

在业务的各个环节都需布控防刷手段,一般的活动都需先注册、登录,再参与营销活动。所以,可以在注册、登录、营销活动各个环境都布控风控检测。

事前预防:通过数据采集收集用户侧信息、通过业务规则来限定参与活动的门槛、通过身份核验来确认用户身份等手段,防止风险事件的发生。

事中检测处置:通过实时在线的手段来检测风险,并做相应的风险处置,防止风险事件的发生。

事后分析回馈:基于长周期的离线数据分析,计算用户侧、设备侧、IP侧、业务侧的各种风险特征,并作用于事前风控和事中风控。——以问题回溯,反向完善方案设计

活动前:通过业务规则来限定参与活动的门槛、通过数据采集收集用户侧信息、通过身份核验来确认用户身份等手段,防止风险事件的发生——相关人员:运营、产品、安全

通过业务规则来限定参与活动的门槛:

1.制定完备业务规则,提升活动门槛,提高领奖限制(以下为参考限制,需运营、产品、安全共同依据每一次活动,在活动区做限制措施)

用户群体限制:定义哪些类型的用户可以参加活动/定义需要提供什么信息才可以参加活动

参与次数限制:明确定义账户可以参与活动的上限—方式:可将参与次数与个人设备号、IP地址、手机号、身份证号等个人特征值做绑定,避免绕过参与活动上线限制。比如每个账号的上限,每日活动预算的上限。活动规则中也要明确说明,如果发现有人通过刷单刷票等形式违规操作,平台有权取消其参与资格或相应奖励。这样对于异步发放的奖品,也可以在发放之前检查一下数据,筛掉可疑用户。

奖品数量限制:针对领奖数量做限制,将用户领奖完成后做用户标识后存储在单独表格中(避免用户领奖完成后注销账户后再注册,领取多个奖品)

通过数据采集收集用户侧信息—目的:防自动化脚本与机器人(确保操作人员为真实的人)、用于事中的风险监测与事后分析

1.埋点采集数据:如设备指纹、操作行为、用户网络数据、业务数据等,做数据分析,通过设备指纹与操作行为分析可以分析出操作APP的为脚本、机器人还是真实的用户;根据用户网络数据和业务数据可以用于事后分析与定位个人(如受影响巨大可报警时提供帮助定位个人)——对于所有活动的数据,在开发之前就要明确提出需要监测哪些数据。不然活动都已经跑起来了,没有预先埋点的东西肯定是拿不到的

2.针对采集数据做用户画像:采集用户IP值、手机号、身份证号、设备号、设备指纹等信息做用户画像,并与用户个人、奖品、领奖情况做绑定——多因素互相验证的功能

通过身份核验来确认用户身份—目的:确保个人用户参与活动,为自动化工具与机器、专业薅羊毛团队制造困难

3.身份核验主要是为了确保是用户自己来参与活动并给自动化工具的使用制造困难,主要方式为在领奖时或抽奖前做一层安全控制措施,主要手段包括——手机短信校验;验证码校验;密码校验;密保问题校验;本机校验:实名认证;校验手机号对应的SIM卡是否在当前设备中使用等多种方式,可采用一种或多种方式结合的形式,或如果当前用户登录设备为可信设备时,可以免核验

活动中:对羊毛定点监控、检测并采用反制手段;活动数据监控;活动反制

1.采购风控服务:网易、腾讯提供响应的黑灰产数据库API,并自动化封禁,价格较高-用户数据量级达到一定的用户后可考虑(后续目标)

2.在活动中通过对黑灰产网站定时巡检(尽量能做到自动化爬取,发现舆情后自动告警)、日志持续审计(数据分析与人工审计相结合);

3.对于异常的行为做人工审核,监控获奖情况:国君有权采取的风控措置包括但不限于:拦截、降低奖励、拉黑、名单监控——常见的异常规则判断标准内部评估,不公开,最终解释权归期货所有

4.运营数据监测:如果有暴增的用户量或者参与量,可以排查下日志是否有异常行为

那么相应的转为业务需求:

运营层面需求梳理:

需求梳理:提升运营门槛、黑灰产网站巡检(自动化爬取)、日志持续审计(数据分析+人工审核)、舆情监控、运营数据监测、识别风险后进行人工风控措施:降低奖励、进入灰名单监控、人工审核、用户拉黑处理

流程:运营活动与方案制定完成后,需要安全统一审核并做安全需求评审

目的:提高活动的门槛,制定完门槛后转为需求划转到业务开发需求当中

开发层面需求梳理:

数据采集:采集数据目的——1.行为分析:判断为本人或机器人 2.用户画像:领奖时确认为真人 采集数据:手机号、头像、昵称、地址、唯一设备识别码、IMEI、IMSI、Android_id、用户ID(手机号)、资金账号、用户日志、手机设备信息、手机app版本号、网络身份识别信息、交易信息(CTP后台记录)——均为已收集信息

敏感操作前新增二次校验(领奖时或抽奖前):如果数据分析确定该人为风险人员,如识别为脚本或机器人时,需新增二次校验,具体的校验方式举例:手机短信校验?密码校验?实名认证? 如果数据分析为正常用户,则为不需要二次校验

短信限制:限制短信发送频率与接收频率,超过限制后做封禁;一般来说一个小时内最多发生30条,超过限制后封禁两个小时;如果继续触发,则继续封禁六个小时等

IP黑名单:数据分析识别出来为非正常IP时进行封禁,针对已识别的恶意IP做封禁或限制措施:同一个IP,短时间内频繁参与营销活动或者频繁切换账号(人工判断)

用户封禁功能:如果一个用户违反业务规则,或者非常频繁的参与营销活动(比如:1s一次,累计操作50次)、或者只下单不成交(下单不成交占资源、变现率非常低)等,即可封禁该用户。

限制每个账号/手机号只能短期内(如10天内)注册一次:用户销户后将特征值存入单独数据库,避免重复注册

模糊响应:对于恶意刷接口,也可以返回具有迷惑性的错误提示,避免羊毛党猜到系统判断逻辑。比如刷票接口,使用技术手段尝试,每次都返回投票成功,但实际并没有,但恶意人员无法通过返回值判断是否利用成功

接口访问频率限制:针对接口访问,以ip或者手机号等做特征值来做限制

奖品与个人特征值做绑定,确保能够1.能够领奖用户为真实用户 2.即使为专业羊毛党,在领奖时也必须留痕,留下个人真实特征值

防止条件竞争,设置锁,使用synchronized关键字,可以限制同一时间内访问方法的只有单一线程

数据分析层面需求梳理:数据分析

通过收集到的设备指纹与操作行为分析确定操作APP为真人或脚本——数据源:设备指纹与操作行为分析

通过个人IP、 设备号、身份证号等做用户画像,目的是在领奖时确定为真人,若识别为非真人,则需要二次验证 ——数据源:用户特征值

通过IP变化分析出是否为正常用户,如同一个IP,短时间内频繁参与营销活动或频繁切换账户

对自动化操作做识别,防止按键精灵等自动化工具或脚本:

以上仅作为防薅羊毛体系建设的思路分享,个人愚见,请各位同僚批评指正

0


暂无评论,欢迎抢沙发
欢迎评论