常见攻击类型:爬虫攻击、刷分刷量、虚假账户、恶意注册、薅羊毛

说实话,做推荐系统安全这些年,我见过最头疼的事就是——你辛辛苦苦调出来的模型,被攻击者当猴耍。

你想想看,推荐系统本质上是个「猜你喜欢」的机制。攻击者一旦摸透了你的猜法,就能反过来操控你的推荐结果。今天这一讲,我带你逐个拆解最常见的五种攻击类型。嗯,都是我在线上环境里真刀真枪碰过的。

1. 爬虫攻击:你的数据正在被「搬走」

爬虫攻击,说白了就是别人用程序模拟用户行为,把你的推荐内容、用户画像、商品信息一股脑全抓走。

我遇到过最夸张的一次,某个竞品在三天内爬走了我们 40% 的热门商品数据。他们怎么干的?就是模拟正常用户的浏览行为,每次只取一页,间隔 2-3 秒,看起来跟真人一模一样。

核心危害:
  • 数据资产流失:你的推荐模型训练数据被对手白嫖
  • 服务器压力暴增:正常用户访问变慢,推荐响应延迟
  • 商业策略泄露:价格、库存、推荐排序规则被逆向

怎么识别?我个人的习惯是看三个指标:

  • 请求频率异常:同一 IP 在短时间内访问大量不同商品
  • 行为模式单一:没有鼠标移动、没有停留时间变化,全是机械式点击
  • User-Agent 集中:大量请求使用同一个或少数几个浏览器标识
避坑指南:我曾经犯过一个错——只封 IP 不封设备指纹。结果攻击者换个代理 IP 继续爬。后来我改用「设备指纹 + 行为序列」双重校验,效果好了很多。

2. 刷分刷量:推荐排序的「注水肉」

刷分刷量,就是攻击者通过虚假行为,把某个商品或内容的评分、播放量、点赞数刷上去。

为什么推荐系统最怕这个?因为你的协同过滤算法会认为「这个商品很多人喜欢」,然后把它推荐给更多人。结果呢?真实用户点进去发现是垃圾内容,体验极差。

我见过一个典型案例:某视频平台,一个 3 分钟的低质视频,被刷了 50 万播放量。推荐模型把它推到了首页,结果真实用户的完播率只有 2%。

刷量类型 常见手法 检测特征
播放量刷量 多账号同时播放、循环播放 播放时长异常集中、IP 段聚集
点赞刷量 批量账号短时间内集中点赞 点赞时间分布呈脉冲状
评论刷量 复制粘贴相同或相似评论 文本相似度高、发布时间密集
收藏刷量 大量账号收藏同一商品 收藏后无后续行为、账号活跃度低
注意:刷分刷量最隐蔽的地方在于——攻击者会模拟「正常用户的行为分布」。比如先浏览几个商品,再点赞目标商品。单纯靠阈值检测很容易漏掉。

3. 虚假账户:推荐系统的「幽灵用户」

虚假账户,就是攻击者批量注册的、没有真实身份的用户账号。这些账号本身不产生价值,但它们是所有攻击的「基础设施」。

我习惯把虚假账户分成两类:

  • 僵尸账户:注册后长期不活跃,偶尔被唤醒用来刷量
  • 水军账户:活跃度高,会模拟正常用户行为,用来做更精细的攻击

虚假账户对推荐系统的伤害是慢性的。它们会污染你的用户画像数据,让模型学到错误的用户偏好。举个例子,一个虚假账户「喜欢」了 100 个商品,你的模型就会认为存在一个「喜欢这 100 个商品」的用户群体,然后推荐给真实用户——结果可想而知。

检测思路:
  1. 注册信息异常:手机号、邮箱为临时或一次性
  2. 行为模式异常:行为序列过于规律,没有随机性
  3. 社交关系异常:好友数量少、互动少、关注关系单向
  4. 设备指纹异常:多个账号共用同一设备或 IP

4. 恶意注册:攻击的「入口」

恶意注册,就是攻击者利用自动化工具,批量创建虚假账号的过程。它是虚假账户的上游环节。

你想想看,如果没有恶意注册,虚假账户从哪来?所以,卡住注册环节,就等于断了攻击者的粮草。

我在项目中遇到过一种很狡猾的手法:攻击者用真人众包平台,让真实用户帮忙注册账号。每个用户只注册 1-2 个,然后提交给攻击者。这种注册行为跟正常用户一模一样,传统风控根本拦不住。

我的做法:针对这种「真人代注册」,我引入了「注册后行为验证」。正常用户注册后会立即使用(浏览、搜索、收藏),而代注册的账号往往注册完就放着不动。通过注册后 24 小时内的行为活跃度,能筛掉 70% 的恶意注册。

常见的恶意注册检测手段:

  • 验证码升级:从文字验证码到滑块验证、行为验证
  • 设备指纹:检测模拟器、虚拟机、改机工具
  • 注册频率限制:同一 IP、设备、手机号段的注册频率
  • 身份核验:手机号实名、人脸识别(高安全场景)

5. 薅羊毛:推荐系统的「经济漏洞」

薅羊毛,是攻击者利用推荐系统的奖励机制(新用户优惠、分享得红包、签到积分等),批量获取经济利益的行为。

为什么推荐系统要关注薅羊毛?因为很多推荐策略会跟营销活动绑定。比如「推荐好友得优惠券」,攻击者会注册大量虚假账户,互相推荐,把优惠券洗劫一空。

我印象最深的一次:某电商平台搞「新用户首单立减 20 元」,结果攻击者用虚假账户买了 10 万单,每单只买 1 块钱的商品,净赚 19 万。推荐系统还傻乎乎地把这些「新用户」标记为高价值用户,给他们推荐更多优惠商品——恶性循环。

薅羊毛类型 攻击手法 推荐系统影响
新用户优惠 批量注册新账号领取优惠 新用户画像被污染
分享奖励 虚假账户互相分享、点击 社交推荐链路被破坏
签到积分 脚本自动签到、领取积分 用户活跃度指标失真
秒杀抢购 用脚本抢购限量商品 热门推荐商品被攻击者垄断
核心原则:薅羊毛的本质是「成本远低于收益」。所以风控的思路就是提高攻击成本——增加注册门槛、限制领取频率、引入人工审核。别想着完全防住,只要让攻击者的成本高于收益,他们自然会放弃。

小结

这五种攻击类型,其实是一环扣一环的:

  • 恶意注册是入口,批量制造虚假账户
  • 虚假账户是载体,承载所有攻击行为
  • 爬虫攻击偷数据,刷分刷量改排序,薅羊毛套利益

我个人建议,做推荐系统安全,不要试图一次性防住所有攻击。先守住「注册」和「行为」两个关口,再逐步精细化。嗯,下一讲我会详细讲怎么搭建实时风控引擎,到时候咱们再深入聊。