常见攻击类型:爬虫攻击、刷分刷量、虚假账户、恶意注册、薅羊毛
说实话,做推荐系统安全这些年,我见过最头疼的事就是——你辛辛苦苦调出来的模型,被攻击者当猴耍。
你想想看,推荐系统本质上是个「猜你喜欢」的机制。攻击者一旦摸透了你的猜法,就能反过来操控你的推荐结果。今天这一讲,我带你逐个拆解最常见的五种攻击类型。嗯,都是我在线上环境里真刀真枪碰过的。
1. 爬虫攻击:你的数据正在被「搬走」
爬虫攻击,说白了就是别人用程序模拟用户行为,把你的推荐内容、用户画像、商品信息一股脑全抓走。
我遇到过最夸张的一次,某个竞品在三天内爬走了我们 40% 的热门商品数据。他们怎么干的?就是模拟正常用户的浏览行为,每次只取一页,间隔 2-3 秒,看起来跟真人一模一样。
- 数据资产流失:你的推荐模型训练数据被对手白嫖
- 服务器压力暴增:正常用户访问变慢,推荐响应延迟
- 商业策略泄露:价格、库存、推荐排序规则被逆向
怎么识别?我个人的习惯是看三个指标:
- 请求频率异常:同一 IP 在短时间内访问大量不同商品
- 行为模式单一:没有鼠标移动、没有停留时间变化,全是机械式点击
- User-Agent 集中:大量请求使用同一个或少数几个浏览器标识
2. 刷分刷量:推荐排序的「注水肉」
刷分刷量,就是攻击者通过虚假行为,把某个商品或内容的评分、播放量、点赞数刷上去。
为什么推荐系统最怕这个?因为你的协同过滤算法会认为「这个商品很多人喜欢」,然后把它推荐给更多人。结果呢?真实用户点进去发现是垃圾内容,体验极差。
我见过一个典型案例:某视频平台,一个 3 分钟的低质视频,被刷了 50 万播放量。推荐模型把它推到了首页,结果真实用户的完播率只有 2%。
| 刷量类型 | 常见手法 | 检测特征 |
|---|---|---|
| 播放量刷量 | 多账号同时播放、循环播放 | 播放时长异常集中、IP 段聚集 |
| 点赞刷量 | 批量账号短时间内集中点赞 | 点赞时间分布呈脉冲状 |
| 评论刷量 | 复制粘贴相同或相似评论 | 文本相似度高、发布时间密集 |
| 收藏刷量 | 大量账号收藏同一商品 | 收藏后无后续行为、账号活跃度低 |
3. 虚假账户:推荐系统的「幽灵用户」
虚假账户,就是攻击者批量注册的、没有真实身份的用户账号。这些账号本身不产生价值,但它们是所有攻击的「基础设施」。
我习惯把虚假账户分成两类:
- 僵尸账户:注册后长期不活跃,偶尔被唤醒用来刷量
- 水军账户:活跃度高,会模拟正常用户行为,用来做更精细的攻击
虚假账户对推荐系统的伤害是慢性的。它们会污染你的用户画像数据,让模型学到错误的用户偏好。举个例子,一个虚假账户「喜欢」了 100 个商品,你的模型就会认为存在一个「喜欢这 100 个商品」的用户群体,然后推荐给真实用户——结果可想而知。
- 注册信息异常:手机号、邮箱为临时或一次性
- 行为模式异常:行为序列过于规律,没有随机性
- 社交关系异常:好友数量少、互动少、关注关系单向
- 设备指纹异常:多个账号共用同一设备或 IP
4. 恶意注册:攻击的「入口」
恶意注册,就是攻击者利用自动化工具,批量创建虚假账号的过程。它是虚假账户的上游环节。
你想想看,如果没有恶意注册,虚假账户从哪来?所以,卡住注册环节,就等于断了攻击者的粮草。
我在项目中遇到过一种很狡猾的手法:攻击者用真人众包平台,让真实用户帮忙注册账号。每个用户只注册 1-2 个,然后提交给攻击者。这种注册行为跟正常用户一模一样,传统风控根本拦不住。
常见的恶意注册检测手段:
- 验证码升级:从文字验证码到滑块验证、行为验证
- 设备指纹:检测模拟器、虚拟机、改机工具
- 注册频率限制:同一 IP、设备、手机号段的注册频率
- 身份核验:手机号实名、人脸识别(高安全场景)
5. 薅羊毛:推荐系统的「经济漏洞」
薅羊毛,是攻击者利用推荐系统的奖励机制(新用户优惠、分享得红包、签到积分等),批量获取经济利益的行为。
为什么推荐系统要关注薅羊毛?因为很多推荐策略会跟营销活动绑定。比如「推荐好友得优惠券」,攻击者会注册大量虚假账户,互相推荐,把优惠券洗劫一空。
我印象最深的一次:某电商平台搞「新用户首单立减 20 元」,结果攻击者用虚假账户买了 10 万单,每单只买 1 块钱的商品,净赚 19 万。推荐系统还傻乎乎地把这些「新用户」标记为高价值用户,给他们推荐更多优惠商品——恶性循环。
| 薅羊毛类型 | 攻击手法 | 推荐系统影响 |
|---|---|---|
| 新用户优惠 | 批量注册新账号领取优惠 | 新用户画像被污染 |
| 分享奖励 | 虚假账户互相分享、点击 | 社交推荐链路被破坏 |
| 签到积分 | 脚本自动签到、领取积分 | 用户活跃度指标失真 |
| 秒杀抢购 | 用脚本抢购限量商品 | 热门推荐商品被攻击者垄断 |
小结
这五种攻击类型,其实是一环扣一环的:
- 恶意注册是入口,批量制造虚假账户
- 虚假账户是载体,承载所有攻击行为
- 爬虫攻击偷数据,刷分刷量改排序,薅羊毛套利益
我个人建议,做推荐系统安全,不要试图一次性防住所有攻击。先守住「注册」和「行为」两个关口,再逐步精细化。嗯,下一讲我会详细讲怎么搭建实时风控引擎,到时候咱们再深入聊。