V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
seekseat
V2EX  ›  信息安全

关于黑产账号多开,设备和 IP 的识别方案

  •  
  •   seekseat · 2024-05-17 16:30:22 +08:00 · 10265 次点击
    这是一个创建于 392 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近公司搞了一个新用户注册有奖活动,发现被职业羊毛党薅惨了,真实用户没有几个。

    由于之前没有这块经验,想请教各位前辈,这种防范方案,是公司自行开发,还是购买第三方的一些解决方案?

    搜了下没看到很成熟的方案,自己开发的话,能想到的主要是账号,设备和 IP 的打标。

    由于账号支持使用邮件注册,所以理论上很难据此判断用户是否是一人多账号,只能想到设备和 IP 。

    我是服务端,公司的产品有 web ,移动端。 前端同事说可以获取到浏览器指纹信息,客户端同学,Android 应该能拿到设备(相对)唯一的标识(但安卓改机貌似非常简单),iOS 则很难获取到。

    请教大家,都是怎么做的

    84 条回复    2024-05-22 14:34:07 +08:00
    pddgoods
        1
    pddgoods  
       2024-05-17 16:35:15 +08:00
    加个审核功能,啥都解决了
    seekseat
        2
    seekseat  
    OP
       2024-05-17 16:35:20 +08:00
    追加:忘了 IP 的信息。 目前是限制单单个 IP 最多注册 3 个用户,超过则打标为黑产。 但由于 ipv4 稀缺,很多公司或学校,几百上千人共用一个出口 ip ,这样是否会误伤真实用户?

    另外,使用路由器,或者手机热点,ip 不是固定的,黑产完全可以频繁重启路由器/热点来做到变更 ip 。
    seekseat
        3
    seekseat  
    OP
       2024-05-17 16:35:52 +08:00
    @pddgoods 数量太大了,人工审成本吃不消
    kingmo888
        4
    kingmo888  
       2024-05-17 16:37:13 +08:00
    手机号难道不算吗?
    8355
        5
    8355  
       2024-05-17 16:38:39 +08:00
    杜绝不了,只是提高对方的伪装成本即可,提高门槛,同时降低奖励,没的赚就没人搞你了。
    ip 可以挂代理,手机号可以代接短信验证码,邮箱都是 1 分钟免费邮箱,其他的只要是代码端调用你的业务都是伪造信息。
    proxytoworld
        6
    proxytoworld  
       2024-05-17 16:39:41 +08:00
    用第三方的吧
    NoOneNoBody
        7
    NoOneNoBody  
       2024-05-17 16:39:42 +08:00
    大厂经验:开个 VVIP ,然后把之前的活动期间注册的 VIP 封号不承认其有效性
    wxw752
        8
    wxw752  
       2024-05-17 16:40:35 +08:00
    @seekseat #2 这个思路完全不可行。会误伤的
    proxytoworld
        9
    proxytoworld  
       2024-05-17 16:41:14 +08:00
    指纹都可以修改,你们没做过很容易绕过
    proxytoworld
        10
    proxytoworld  
       2024-05-17 16:42:13 +08:00
    现在都是修改安卓系统来修改指纹,我有一个朋友在某大厂做这个,改指纹来做爬虫
    hopingtop
        11
    hopingtop  
       2024-05-17 16:46:59 +08:00   ❤️ 6
    单纯的注册有奖,一定会被薅的,而且还支持邮箱注册。。。口子更大
    如果对于手机号可以买大厂的安全产品,灰产库
    IP 一般不作为绝对判定条件,只能作为辅助,提高刷的代价,比如要做什么任务,防止群控批量薅

    最重要的还是从业务侧去梳理,或者借第三方验证,比如支付宝,wx 支付,打款 0.1 元, 返回再返款。借大平台的风控来实现自己的风控。

    如果要完全做一套,代价是很大的。简单点的,就是 浏览器和客服端预埋点东西,客户端还可以取一些动态特征,然后自己来分析,分析过后才能领取奖励。
    egen
        12
    egen  
       2024-05-17 16:49:05 +08:00
    建议上专业的防刷,网易和腾讯都有相应的服务
    starinmars
        13
    starinmars  
       2024-05-17 16:52:58 +08:00
    大额加上实名,几块钱同一个地址限制频率、屏蔽机房 IP 、有问题的地址放入黑名单。
    RandomJoke
        14
    RandomJoke  
       2024-05-17 16:53:06 +08:00
    一般要业务妥协吧, 用手机号稍微好点, 邮箱发奖励那没什么办法, 设备 IP 这些都能造
    kenvix
        15
    kenvix  
       2024-05-17 16:53:29 +08:00   ❤️ 3
    最低成本的是注册接入微信或支付宝,转移成本到第三方
    vivisidea
        16
    vivisidea  
       2024-05-17 16:56:16 +08:00
    我司就是做这个的。你需要风控解决方案……在设备端、浏览器嵌入设备指纹 sdk ,有兴趣可以了解下😁
    dada88xyxy
        17
    dada88xyxy  
       2024-05-17 16:57:09 +08:00
    试过做有奖活动,得奖者直接发微信红包。然后在微信红包开启防刷等级设置为高(没有拦截多少,但是心理安慰,用微信支付来拦了一部分)
    potatowish
        18
    potatowish  
       2024-05-17 16:57:41 +08:00 via iPhone
    注册奖励可以设置为手动领取,领取时需要填写身份证号和人脸识别
    LsLsLsLsLs
        19
    LsLsLsLsLs  
       2024-05-17 18:04:06 +08:00
    接口加密
    AK2022
        20
    AK2022  
       2024-05-17 18:06:38 +08:00
    用的比较多的是数美
    aagaguai
        21
    aagaguai  
       2024-05-17 18:10:18 +08:00
    只允许特定邮箱注册,比如 qq 邮箱
    seres
        22
    seres  
       2024-05-17 18:10:43 +08:00
    手机号绑定做第一道门槛,提现用实名认证做第二道
    249239432
        23
    249239432  
       2024-05-17 18:24:15 +08:00   ❤️ 2
    ip-----代理 ip 每天几十万不等
    识别浏览器指纹------指纹浏览器
    识别设备指纹----云手机一键改设备指纹
    -------------------------注册成本高低分割线------------------
    手机号识别------灰产卡商一个人手上几千到上万不等的手机卡,每天还有更新新卡
    手机号注册完以后发短信校验------这个能很大程度提高成本,大部分灰产卡商都是只收不发
    人脸识别----这个能极大提高注册成本
    tomczhen
        24
    tomczhen  
       2024-05-17 18:25:16 +08:00
    如果短时间内就能自研一套解决问题,就不会有那么多羊毛党了。
    lonelykid
        25
    lonelykid  
       2024-05-17 18:40:03 +08:00
    可以搞个 1 分钱领取,通过支付渠道过滤,每个支付渠道账号只能领取一次。
    chendl111
        26
    chendl111  
       2024-05-17 18:45:42 +08:00   ❤️ 1
    手机号与身份证实名,不够吗?一个邮箱也是实名后才能领取奖励
    HFX3389
        27
    HFX3389  
       2024-05-17 18:47:53 +08:00
    要不试试接入微信登录?在现有条件下加入微信扫码后绑定微信提供的 Openid 之类的?
    利用微信的风控实现自己的风控
    qikexiu
        28
    qikexiu  
       2024-05-17 19:02:53 +08:00
    1 、收集客户端指纹; web 端的浏览器环境 [document.all 、webrtc 等等这种 node 环境下很难补(烦琐);安卓、IOS 可以直接用 webview ,当然也可以在 native 收集更多的指纹 [http.proxyHost 、XposedBridge 、getProperty 、重要的文件目录 hash(/data/system 、/vendor/firmware)、frida 检测...] ,接入数美之类的专业安全产品效果更佳]
    2 、客户端根据收集到的客户端指纹标记用户环境是否可信,对于有风险的客户端拒绝下发奖品(后端风控)
    3 、更多的"蜜罐",在客户端每个请求之后添加一个 log 请求,大数据统计只请求业务接口没日志接口记录的用户
    4 、用户注册、邀请码接口 ja3 判断是否为单客户端批量注册

    以上都是在一定程度上增加黑灰产的逆向难度,国内大厂给出了更低成本的解决办法:+86 实卡注册 + 人面实名
    ChefIsAwesome
        29
    ChefIsAwesome  
       2024-05-17 19:08:21 +08:00
    搞个微信注册就完事了。微信都防不住的,你也防不住。
    woldfoll
        30
    woldfoll  
       2024-05-17 19:15:01 +08:00 via iPhone
    @kenvix 职业薅羊毛的也有成千上万的微信号
    xguanren
        31
    xguanren  
       2024-05-17 19:43:53 +08:00
    上风控呀 现在一大堆这种平台。
    kenvix
        32
    kenvix  
       2024-05-17 19:47:30 +08:00 via Android
    @woldfoll 是 所以只是成本最低的 更好的得加钱
    xinsu
        33
    xinsu  
       2024-05-17 20:34:50 +08:00
    最有效;
    手机号,实名认证;
    你想到其他的什么 ip 这些,这是最基础的。
    最后,可以对接平台的防羊毛功能。
    winterpotato
        34
    winterpotato  
       2024-05-17 21:02:15 +08:00
    浏览器指纹能够帮到一些,比如说这个 https://fingerprint.com/ 但是也很容易被 绕过去就是了。

    实名认证当然最有效了,不过也也很麻烦
    sakujo
        35
    sakujo  
       2024-05-17 21:29:46 +08:00
    有嫌疑的全砍单,有真实用户找你反馈你再给他就完了,羊毛党是不会一个一个找你的
    icloudguizhou
        36
    icloudguizhou  
       2024-05-17 22:13:52 +08:00   ❤️ 1
    @winterpotato icloud keychain 可以设备指纹唯一的 ID
    @qikexiu
    yueji
        37
    yueji  
       2024-05-17 23:19:22 +08:00
    在网上找到的一个工具,应该是你需要的
    APT 检测_1.1.zip
    https://url76.ctfile.com/f/54460876-1246914520-a5b937?p=5712 (访问密码: 5712)
    w3xse7en
        38
    w3xse7en  
       2024-05-17 23:27:26 +08:00
    客户端其实有,指纹浏览器,虚拟机等手段进行规避
    支持邮箱的话一般都是面向海外了,很难用人脸以及实名之类国内手段的来规避这种攻击
    提供一些些思路

    1. 服务端需要加上比较复杂的验签机制,例如动态下发对称加密的内容,客户端解密后再进行复杂的组合签名
    2. 客户端上比较困难的图形验证码手段,例如 3d 旋转图片,匹配特定文字等,尽量用多种方案,可动态控制弹出不同类型的验证方式
    3. 注册时的验证码做成语音式的,而不是文本类的
    4. 业务流程上可以做些改进,例如采用邀请码的形式,并针对邀请码进行一些限制
    5. 做好注册的流量监控,通常来说注册的流量不会很大,一般是稳定的,如果短时间增量过大,应该是受到攻击,可以开启 IP 限流、强制困难验证码校验,限制一段时间内获奖的总量等手段
    6. IP 限流可以做成滑动窗口的,例如 30s 内某 IP 尝试注册 5 次以上则封禁 6 小时
    seekseat
        39
    seekseat  
    OP
       2024-05-18 00:27:37 +08:00
    @8355 ip 代理也要成本吧,也不是无限 ip 供应。提高对方成本,高于能薅到的羊毛,应该就没动力了
    seekseat
        40
    seekseat  
    OP
       2024-05-18 00:27:50 +08:00
    @proxytoworld 发现居然没有很合适的
    seekseat
        41
    seekseat  
    OP
       2024-05-18 00:28:36 +08:00
    @wxw752 会再加上设备信息,二者作一个”唯一索引“去筛人
    seekseat
        42
    seekseat  
    OP
       2024-05-18 00:29:16 +08:00
    @proxytoworld 指纹指的是浏览器端的 user agent 啥的吧
    seekseat
        43
    seekseat  
    OP
       2024-05-18 00:31:14 +08:00
    @hopingtop 想和老哥探讨下最后这段,这算是用户行为分析吗? 主要是正常用户可能日常活跃度并不比灰产高到哪里,最多会每天多打开几次,恐怕很难有效甄别二者
    seekseat
        44
    seekseat  
    OP
       2024-05-18 00:31:48 +08:00
    @egen 他们这种防刷,是指的防 DDOS 的高防吧
    seekseat
        45
    seekseat  
    OP
       2024-05-18 00:32:08 +08:00
    @vivisidea 好的,怎么联系下
    seekseat
        46
    seekseat  
    OP
       2024-05-18 00:32:43 +08:00
    @dada88xyxy ”微信红包开启防刷等级设置为高“ 微信红包还有这功能吗
    seekseat
        47
    seekseat  
    OP
       2024-05-18 00:35:11 +08:00
    @249239432 学到了,感谢!
    seekseat
        48
    seekseat  
    OP
       2024-05-18 00:35:40 +08:00
    @chendl111 很多用户对实名有抵触
    xguanren
        49
    xguanren  
       2024-05-18 01:44:03 +08:00
    @seekseat 海外的话上一个 5 秒盾 akamai 国内的话 数美 极验 易盾 人机验证平台很多的 多上几个.基本上就能过掉一大批的黑产账号了.如果你们项目产值特别高的话 那只能是带上实名手机号之类的.发现黑产账号报警处理 物理打击
    linyongxin
        50
    linyongxin  
       2024-05-18 08:52:03 +08:00
    实名手机号+微信
    vivisidea
        51
    vivisidea  
       2024-05-18 08:52:21 +08:00
    @seekseat 网易易盾,直接联系客服就行
    incubus
        52
    incubus  
       2024-05-18 09:49:20 +08:00
    机器人检测
    skull
        53
    skull  
       2024-05-18 09:54:32 +08:00
    注册加个只能人工识别的校验码,加大薅羊毛的成本
    runking
        54
    runking  
       2024-05-18 11:12:52 +08:00
    注册不行,得后续比如充值些,根据你们的产品来提高羊毛党的成本
    o9cS1g732XRD9dy7
        55
    o9cS1g732XRD9dy7  
       2024-05-18 15:28:15 +08:00
    建议 IP + 浏览器唯一 ID + 身份证 + 手机号 做唯一验证。
    EsWann
        56
    EsWann  
       2024-05-18 16:13:09 +08:00
    如果你们是支持邮箱注册的话,Github 有临时邮箱的列表项目,可以将这类邮箱后缀列入黑名单。
    esee
        57
    esee  
       2024-05-18 20:00:14 +08:00 via Android
    浏览器指纹没用,现在我们都可以随便变更浏览器指纹,你怎么搜集呢,这是防君子不防小人,除非转接到支付宝微信实名认证,否则你能想到的方法都有相应的对策。人家干了这么多年的灰产哪有你那么容易对付的
    hopingtop
        58
    hopingtop  
       2024-05-19 09:55:08 +08:00
    @seekseat #43 我说一个简单的指标,然后你去扩展思路,因为有些东西不能说的太明白了。
    第一个的系统级的 API 版本验证,比如说灰产或者群控大多数设备,客户端等级都比较低
    第二个是客户端的传感器,比如光感,陀螺仪,这些随环境变化而变化的。

    举个例子,你玩手机怎么玩的,群控玩手机怎么玩的。当然这些也是一些比较简单的思路。

    防灰真的是系统工程,但是有一定的防护能拦截大部分。

    如果你们的业务本身不是灰,可以去了解一下大厂的方案,看看投入回报比
    hopingtop
        59
    hopingtop  
       2024-05-19 10:04:07 +08:00
    @seekseat #43 在补充一点,如果要防灰,最好是在一些放开的口子看是否能收回,如果不能收回,那就要区别对待,比如说你们的邮箱注册,验证邮箱可能就不要是单纯的验证码了。比如来一份答题,学习一下 B 站的模式。 这种至少来说可以部分防止批量注册, 如果用户真上心,也会搞,但是会慢很多。

    因为你整体领取流程加长了,那么在这个过程中,就非常有利于 你们业务本身 去埋点,去获取特征,做具体的分析防御
    Greatshu
        60
    Greatshu  
       2024-05-19 15:32:30 +08:00
    招几个电话客服,联系客户完成一个问卷后再给奖励
    seekseat
        61
    seekseat  
    OP
       2024-05-19 15:55:04 +08:00
    @qikexiu 3 是为了防止接口刷吗? 但看起来都是 app 点击的,不知道是不是用啥按键精灵之类的
    seekseat
        62
    seekseat  
    OP
       2024-05-19 15:56:40 +08:00
    @icloudguizhou 这个应用开发者拿不到吧。。这边做 ios 的同事说,苹果把这些信息都作为用户隐私
    seekseat
        63
    seekseat  
    OP
       2024-05-19 15:57:26 +08:00
    @yueji 这个不是一回事
    seekseat
        64
    seekseat  
    OP
       2024-05-19 15:58:35 +08:00
    @w3xse7en 因为用户主要面向校园,很多学校出口 ip 就一个。不敢对 ip 限制太多...
    seekseat
        65
    seekseat  
    OP
       2024-05-19 15:59:27 +08:00
    @xguanren 这报警用啥理由...证据不绝对充分不太行吧
    seekseat
        66
    seekseat  
    OP
       2024-05-19 16:00:03 +08:00
    @vivisidea 我理解易盾是验证码啥的,没法识别设备和 ip 吧
    seekseat
        67
    seekseat  
    OP
       2024-05-19 16:00:48 +08:00
    @esee 怎么检查自己的浏览器指纹?这个一般不好换吧
    seekseat
        68
    seekseat  
    OP
       2024-05-19 16:01:47 +08:00
    @hopingtop B 站这个答题太劝退了...
    esee
        69
    esee  
       2024-05-19 18:03:08 +08:00
    @seekseat 那些做跨境的经常用到一种浏览器,可以模拟各种浏览器环境,方便应付各个电商的一些简单检测,这都是很商业化的技术了,只要变了一些参数,浏览器指纹就变了。这对于用代码来实现模拟请求的,更方便
    vivisidea
        70
    vivisidea  
       2024-05-19 20:16:05 +08:00
    @seekseat #66 有的,我们有智能风控的业务 https://dun.163.com/product/risk-engine
    xguanren
        71
    xguanren  
       2024-05-20 02:13:36 +08:00
    @seekseat ...报警有什么理由..公司权益被侵犯了..提供各种记录,又不是没抓过.之前各种 app 拉新.钱包什么的.而且这种一抓基本上都涉及买卖个人信息.警察蜀黍乐易抓这种 现在严抓侵犯个人信息.因为这种拉新 app 都需要实名.黑产的需要刷你活动.肯定需要买各种身份证 手机号 一抓一长溜..为什么不抓?
    xguanren
        72
    xguanren  
       2024-05-20 02:15:55 +08:00
    @seekseat 识别设备 id 是易盾那边做的事.不光是验证码.还涉及到行为验证.设备指纹.你可以理解为 易盾那边验证通过之后 会告诉你服务器 这个人没问题 他是真人.你再入库.至于识别设备和 ip 易盾那边已经做了 不需要你操心.
    egen
        73
    egen  
       2024-05-20 08:41:54 +08:00
    @seekseat #44

    腾讯天御 活动防刷
    网易易盾
    llsquaer
        74
    llsquaer  
       2024-05-20 09:41:20 +08:00
    可以注册随便薅,但是实际 领物品/领金额 需要实名认证。 就是前面步骤等他们折腾。。到最后需要公司实际兑付奖励的时候,再去对接支付宝或者微信的实名。

    这些人能搞到很多微信,但是很难搞到实名后的微信、支付宝。除非你的奖励给的真的太高了。
    proxytoworld
        75
    proxytoworld  
       2024-05-20 09:52:52 +08:00
    @seekseat ua 不是随便改吗...
    lisxour
        76
    lisxour  
       2024-05-20 10:14:18 +08:00
    @llsquaer 同意,这种东西不接实名,根本就不可能有很好的限制作用。
    ZnductR0MjHvjRQ3
        77
    ZnductR0MjHvjRQ3  
       2024-05-20 11:06:24 +08:00
    @seekseat 建议不要管 IP 了 还是实名吧 你可能没买过国内的代理 IP 动态家用代理 一周 无限用才不到两百块,国外的很贵,所以其实对于国内的活动来说 IP 成本不高
    249239432
        78
    249239432  
       2024-05-20 15:39:20 +08:00   ❤️ 1
    看了大部分人的回答,要么是来推广自己的产品,要么就是根本没接触过灰产
    我直接给出答案
    1 、浏览器指纹,没有卵用。adspower 、VMLoginMain 去了解一下是干什么的
    2 、设备指纹,一样没卵用,灰产几千台手机,随便你识别,更别说还有一键换新机的功能
    3 、ip ?别搞笑了
    4 、微信绑定---先不说会流失客户,灰产卡商一机一微信号过微信风控,往死里给你薅
    5 、实名手机号---卡商的手机卡就是去收购的实名手机卡
    6 、手机号与实名验证---大家没了解过地推这个职业吧?要多少实名有多少,除非你能拿到手机号的实名信息,跟实名验证结果对比


    综合各种因素,我觉得能较低成本实现的一个方案
    注册的时候先判断是不是高风险手机,注册完了以后,一天后发一个短信验证,原因嘛,我不说
    daodao
        80
    daodao  
       2024-05-20 22:46:49 +08:00
    如果你是初次遇到这种情况,你是解决不了的。直接简单粗暴 限制 ip 、设备指纹、验证码、短信等等各种交集做限制,别考虑什么误杀不误杀的,不是你作为技术考虑的问题,好过被黑产薅羊毛然后你背锅。

    回想我当年刚毕业第一家公司,第一个参与策划的运营活动,就活生生被黑产薅走了 好几台 MacBook ,价值几万的电话卡。。。。原本应该是负责统一账号、40 人的团队应该负责考虑的问题,最后让我这个刚毕业的应届生,只是负责前端活动策划的背锅。

    做黑产在你们这个行业斗智斗勇了十几二十年了。
    totoro52
        81
    totoro52  
       2024-05-20 23:05:24 +08:00
    黑产就像一场攻防游戏,你们的用户支持邮箱注册,那就必然要做好被刷的心理准备,毕竟这种毫无成本的验证,对于黑产来说太简单了。
    1.邮箱限制大厂的后缀,比如 qq 126 ,进一步缩小范围, 加大注册成本。
    2.上 IP 风控,但其实这个国内没啥用,我不如推荐你上人机检测,如阿里云的滑动验证,这个就可以卡死一大堆脚本小子的黑产。
    seekseat
        82
    seekseat  
    OP
       2024-05-22 14:03:20 +08:00
    @esee 电商为什么管这些? 不太理解...
    seekseat
        83
    seekseat  
    OP
       2024-05-22 14:07:42 +08:00
    @249239432 学到了
    esee
        84
    esee  
       2024-05-22 14:34:07 +08:00
    @seekseat 矩阵开店呀,一般来说平台给每个店铺有一定的免费的曝光流量,如果单个店铺要做大就得向平台花钱买流量。如果平台不限制开店不检测卖家,一个人可以开几万个店,那他平台还有意义吗
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3069 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 10:45 · PVG 18:45 · LAX 03:45 · JFK 06:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.