文章目录
- 1. 写在前面
- 2. 内容反爬
- 3. 账号风控
- 3. 接口验签
【🏠作者主页】:吴秋霖
【💼作者介绍】:擅长爬虫与JS加密逆向分析!Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路走来长期坚守并致力于Python与爬虫领域研究与开发工作!
【🌟作者推荐】:对爬虫领域以及JS逆向分析感兴趣的朋友可以关注《爬虫JS逆向实战》《深耕爬虫领域》
未来作者会持续更新所用到、学到、看到的技术知识!包括但不限于:各类验证码突防、爬虫APP与JS逆向分析、RPA自动化、分布式爬虫、Python领域等相关文章
作者声明:文章仅供学习交流与参考!严禁用于任何商业与非法用途!否则由此产生的一切后果均与作者无关!如有侵权,请联系作者本人进行删除!
1. 写在前面
最近有一些搞模型训练、舆情分析的小伙伴们聊到某平台的风控机制越来越严、强度也是变得越来越高。想要收集一些数据完成任务变得比早期更为艰难!
其实近几年自媒体平台的发展趋势间接或直接的导致大量的灰黑色业务涌入!在平台的合规、监管机制没有完善的前期大家可能并未感知,一切都变得很顺利。且随着时间与版本的不断迭代最终都将被清洗出局
在作者以往的文章中曾提到过,其实任何平台是没有任何一种手段可以完全阻断灰黑与爬虫业务,平台要做的就是不断完善监管机制提升难度从而增加红方的成本与代价(以此让其出局)
那么一个平台大致的风控策略发展迭代路线会是什么样的:
练气期的基于规则+人工审核-->筑基期的机器学习跟实时计算-->
元丹期的深度学习-->元婴期的无监督、图网络学习跟反欺诈风控行为
模型-->化神期的上帝视角+精准定位+线下阻断
接下来作者收集了一下大家经常遇到的一些问题做了简单的分析
2. 内容反爬
目前爬虫业务大多通过关键词搜索、笔记详情扫描、评论内容深度挖掘与监测、创作者作品遍历与监测的方式进行数据采集。搜索跟笔记扫描业务其中会触发的就是行为验证,如下所示:
从上图可以看到这个行为验证的旋转验证码貌似与常规的不太一样,是经过定制处理的!它加了干扰环来尽可能的提升难度。此类验证在它的账户登录业务风控中有所体现
如果爬虫业务想要突防这个行为验证目前自动化方案需要处理掉行为轨迹、特征的检测。而协议接口提交的方式则需要解决加密算法(JS代码层面的逆向分析)与新增的b1动态细节
接下来爬虫业务将面临更加多样化的安全阻断,首先是安全限制,请求状态同意跟滑块验证一样是一个461,verifyType是一个302,你可能会把它误判为滑块,其实你在页面看的话它首次确实是一个滑块验证,你手动拖动也过了,但是立即投入到了爬虫业务再次使用,从灰名单直接就进入了短效的黑名单,导致触发多次滑块验证变成安全限制,如下所示:
{‘code’: 300015, ‘success’: False, ‘msg’: ‘浏览器异常,请尝试关闭/卸载风险插件或重启试试’, ‘data’: {}}
爬虫业务中接下来将会碰到目前高频可预见的一个异常机制频次异常,这个异常存在多种原因导致,第一种可能是xsec-tk参数用的多了。这个参数以前是没有了,加上为防止直接扫详情的这种非正常链路行为的访问
第二种就是它是一个滑块的行为验证,你登录或者刷新页面触动一下就会呈现出来,过掉就会恢复正常
还有就是进入到了灰名单把这个账号拉到了类似过期策略的队列,期间避免使用不然肯定会触发更高等级的风控机制,到期会释放恢复正常(时间不定),如下所示:
{“code”:300013,“success”:false,“msg”:“访问频次异常,请勿频繁操作或重启试试”,“data”:{}}
还有一些小白新手爬虫连代理IP都不使用,或者使用一些被高度污染的池子,如下所示:
{‘code’: 300012, ‘success’: True, ‘msg’: ‘网络连接异常,请检查网络设置或重启试试’, ‘data’: {}}
最后还有一种看起来就明显的在提醒你停止此类操作行为,这类异常大多出现在长期使用一个出口IP,甚至是自己的电脑大量持续的去请求服务端接口,明显进入了黑名单已被标记,如下所示:
{‘code’: -103, ‘success’: False, ‘msg’:‘破坏网络安全、侵犯平台权益等风险行为’,‘data’: {}}
以上种种难免不会有错杀的情况存在,但是一般监管的力度不会允许过多的误伤率!
前面我说到了链路,这里多说一句。风控系统的算法场景是会对地址的访问有时间、栏目序列跟访问的时间间隔来判断客户端访问是否正常的用户
它这个序列不会太长,模型应该是集中关注某些重点的URL序列。正常的用户谁会精准每次访问内容的详情,算法通过对URL中的多级栏目进行分类以此来增设它们之间的序列
3. 账号风控
这里它涉及到注册跟登录,这是在任何一个平台都有的风控系统。很多爬虫与灰黑业务它们都会批量且自动化的手段注册大量账号用到其他的业务场景中
看开局的那张图,为什么平台能够精准的检测出来那些所谓的灰黑账号,一是行为有的都是用来做不合规的一些Y流、敏感度极高的一些操作导致
经常碰到就是大量的账号被封禁或者掉线,你不知道是背后平台的风控体系都已经比较的完善。像用户的画像检测IP属地的源、可信的设备跟环境、出口IP的跳动跟使用行为习惯这些因素会给你推送不同复杂等级的行为验证码甚至是多种组合策略
掉线的场景中更多的跟设备指纹有关系,比如gid参数风控将会全部联动
3. 接口验签
如何从请求参数中确定哪些参数会校验哪些参数可能会埋点是需要去验证测试的,比如上面某一个x系列的参数就可以过接口的验签拿到数据,但是持续的访问你构造还原一个核心参数比你全部还原伪造要暴露的特征更多
比如后面新增的x-xray、x-b3参数虽然说不强校验带或不带或固定都不会对业务流程产生影响,从行为风控的角度来说构造的请求如果参数不完整或者固定没有按照正常的行为流程去走,那肯定是能够被溯源以及背后的风控系统检测出来的
这个环节一般有经验爬虫工程师在风控对抗中都会通过收集多轮且不同环境、设备、参数、行为的结论样本,进行复盘以此来调整对抗策略
在任何有风控场景下大量且持续的采集需求必须对资源以及行为进行合理的调度与策略设置!
最后!互联网任何公开的数据源有获取数据的需求,可以适当的利用工具与技术来助力。但切记不要滥用,以免对任何第三份平台与网站造成压力与负担!请使用合理、合法、合规、合情的方式去满足自己的需求