爬虫与反爬:一场无休止之战

本文涉及的产品
数据安全中心,免费版
简介: 网络爬虫不光消耗“被爬取方”网站的流量,同时能够“抓走”网站页面的数据,因此常引发纷争。因而,爬虫与反爬技术是一场无休止之战,发起攻击的一方需要思考如何“锋利其矛”,而防守一方则需要考虑如何“牢固其盾”。

现实生活中,其实很多人都与爬虫“打过交道”。

比如,逢年过节之时,为确保能买到回家火车票,有人会选择使用“抢票软件”,这个软件就是利用网络爬虫来登录铁路售票网络,并爬取票务信息,然后辅以批量化、自动化和高速化的购票流程处理,从而能以毫秒级的刷新来获取人工购票难以企及的信息和速度优势。显然,这种“充钱加塞”的方式显然对正常渠道的购票者有失公平。

就连最高人民法院旗下的“中国裁判文书网”也难逃爬虫侵扰,以至于用户怨声载道。

2019年,最高人民法院发布的《关于“中国裁判文书网”网站建设建议的答复》提到,“大量技术公司通过爬虫系统无限制地访问非法获取裁判文书数据,造成网站负荷过大,大量正常用户请求堵塞,访问出现速度慢或部分页面无法显示等现象。”

再比如,2019年,国内外不少网站经营者抱怨遭遇了一些搜索引擎爬虫的访问,因访问频率过高,一度令一些网站瘫痪。“短短一上午时间就收到了 46 万次请求,消耗掉服务器 7.42GB 流量。这对平均日活可能都没有过千的小网站来说,已经算得上一次小型的DDoS攻击。”一位遭遇搜索引擎爬虫的网站经营者对此感叹道。

网络爬虫不光消耗“被爬取方”网站的流量,同时能够“抓走”网站页面的数据,因此常引发纷争。

因而,爬虫与反爬技术是一场无休止之战,发起攻击的一方需要思考如何“锋利其矛”,而防守一方则需要考虑如何“牢固其盾”。

爬虫与反爬虫,一场无休止战争


事实上,最早的爬虫起源于搜索引擎。搜索引擎是善意的爬虫,可以检索你的一切信息,并提供给其他用户访问。为此他们还专门定义了robots.txt文件,作为君子协定,这是一个双赢的局面。

然而事情很快被一些人破坏了。爬虫很快就变的不再“君子”了。

当君子协议失效,我们开始改用技术手段阻拦爬虫的入侵。比如从访问数量上发现爬虫,当我们在某一网站浏览过快时,系统往往会要求输入验证码,就是因为这种快速浏览的行为很接近爬虫。或者是不定期改变HTML标签,使之无法与Web排序匹配来限制爬虫。

现在比较常见的反爬虫技术手段主要有,检测 Header 信息;设置 IP 访问频率,分析同一 IP 或同一设备在短时间内多次访问同一页面或进行相同操作;识别 UA、通过动态页面增加爬取难度、验证码反爬等方式。

今天我们要说的就是顶象无感验证的反爬虫技术。

下药要对症,反爬要治根

一般来说,通过验证码来反爬,其核心原理是爬虫通过网页抓取数据,当某一用户访问次数过多后,系统就会怀疑你是否是真实用户,也就是说会让请求跳转到验证码页面,只有输入正确的验证码才能继续访问网站,而验证码诞生之初的目的就是为了区分人和机器的区别,自然也就能拦截爬虫。

但随着AI 技术的深入,这样的反爬技术也很容易被破解,这个时候就需要我们比对方更智能、更聪明。

在顶象看来,要想防住爬虫,就要从根源入手。首先我们要知道爬虫平台间的数据如何传输,才能在此基础建立安全可信的通信链路,其次,在保证安全可信的通信链路基础上,需要考虑是否支持多种风险的快速判断,是否可以进行回溯及服务监控;最后,在与爬虫的对抗层面,需要考虑是否能够进行快速的对抗调整,并将相应的人机验证工具作为支撑。

基于此,顶象在持续不断的攻防对抗间也研发出了一套反爬体系建设方案。

首先,反爬技术方案要针对爬虫体系做基础设施的建设准备,保证后续的反爬风险判断有得力的数据或者产品工作作为支撑,比如决策引擎、设备指纹、人机验证码等,以决策引擎为例。

决策引擎基于流计算技术,具备毫秒级输出决策结果的能力。实时决策通过可视化方式可以让策略专家或客户业务人员配置出场景的反爬策略。在反爬策略里支持使用名单库(如IP黑名单、手机号黑名单)、模型,可按时间序列的快速计算(如某IP近一天注册次数),同时具备丰富的模块。
1.png
同时,在通信链路层面,需要进行强加密,Web端的JS、移动端的SDK均需要经过加固保护,提高攻击者逆向的难度。

其次,在策略层面,需要建设基于场景的反爬策略,比如同设备关联的IP数异常、爬虫IP黑名单封禁、爬虫风险设备识别等等。

在处置层,需要进行风险分层,并下发不同的处置指令,比如系统判定为无风险/低风险时,则放行;系统判定为中风险是,则需进行人机验证;系统判断为高风险时,则立即阻断。

最后,在数据的分析总结层面,可根据数据报表进行监控回溯,查看历史触发情况,进而对反爬策略进行优化升级。
2.png
综上,反爬虫不再是一个简易工具,而是具备智能交互,数据采集,实时计算,模型分析,决策判断等能力综合性安全系统。

顶象反爬解决方案基于设备指纹对实现对各类风险和模拟器、真机的识别,以及Dinsight风险决策引擎毫秒级实时决策对行为分析(鼠标的滑动轨迹、键盘的敲击速率、滑动验证码的滑动轨迹、速率、按钮点击等行为轨迹等),实现对恶意“爬虫”行为的有效识别;通过智能无感验证的人机交互防护,直接拦截“爬虫”对敏感数据的爬取;利用Xintell智能模型平台建立基于业务场景的策略模型,从而对反爬效果进行实时优化,良好防范恶意爬取的风险。

此外,顶象反爬解决方案依托多年攻防对抗实战经验,提供了动态策略的精准防护;全链路纵深防护,避免“爬虫”的单点绕过;多维度防御,有效拦截各种恶意“爬虫”行为;无感的人机交互验证,有效反爬又不影响正常用户体验。

值得注意的是,顶象最新推出的第五代验证码搭载了顶象业务安全防御云,通过顶象防御云线上的全链路风险防控产品对互联网、金融等行业的作弊手段进行监控、黑产特征分析、业务风险识别形成风险情报,通过同行业、跨行业的风险情报信息共享,打通上下游防控链路,链接各行业的“信息孤岛",从而赋予了新一代验证码根据风险动态实现自我升级迭代的能力。

在防破解方面,第五代验证码更是有自己的“秘密武器”,不仅能够行为轨迹模型检测来进行识别,并且集成了验证魔方,实现主动对抗。同时,第五代验证码专有的动态加解密混淆算法也进一步增加了破解难度。

简言之,顶象第五代验证码不仅可以识别恶意爬虫,拦截爬虫,还可以通过顶象防御云的能力对恶意爬虫做出精准画像,不仅要用户知道知其为,更知其所以为。

反爬是一场全行业的集体行动

有一种说法是,爬虫贡献了互联网 50% 的流量,它对于互联网的繁荣功不可没。但该技术同时也因“用途”而充满争议。爬虫是一项见不得“阳光”的技术,它广泛运用,却少有人愿意承认在使用它。因为它常常被用作非法收集信息的工具,站上数据隐私、数据安全的对立面。

不难看出,爬虫技术本无罪,有罪的是那些拿爬虫来作恶的人。

因此,要制止反爬需要全行业的共同努力。

近几年,国家在监管层面也开始重视反爬技术。

2019 年 5 月,被称为“中国版 GDPR”的《数据安全管理办法》征求意见稿发布,第 16 条规定,网络运营者采取自动化手段访问收集网站数据,不得妨碍网站正常运行;如自动化访问收集流量超过网站日均流量三分之一,网站要求停止自动化访问收集时,应当停止。

2021年又相继颁布了一系列网络安全法律法规,包括《数据安全法》、《关键信息基础设施安全保护条例》、《网络产品安全漏洞管理规 定》、《个人信息保护法》等,将数据安全上升至国家安全层面,也使企业与组织在数据处 理与网络安全方面,进入了有法可依、有法必依的新时代。
不难想象,随着监管越来越严格,爬虫技术的使用边界也将更加明晰。企业也应当要时时注意不要触碰边界,毕竟,爬虫只是技术,灰色的是“助恶者”。

相关文章
|
7月前
BUUCTF [WUSTCTF2020]爬 1
BUUCTF [WUSTCTF2020]爬 1
150 0
|
5月前
|
数据采集 前端开发 JavaScript
被爬网站用fingerprintjs来对selenium进行反爬,怎么破?
闲暇时看到一个问题关于如何应对FingerprintJS的唯一标记技术。FingerprintJS通过收集浏览器特性如Canvas、音频、字体及插件信息生成唯一标识符,用于识别和追踪用户。常见应对策略如使用`stealth.min.js`脚本或虚拟指纹插件有局限性。高级解决方案包括: - **浏览器特征随机化**:如Canvas和音频指纹随机化,动态替换插件和字体。 - **真实用户流量模拟**:模拟自然的鼠标移动与点击、键盘输入节奏。 - **服务端策略**:使用高质量代理IP服务,如青果网络提供的代理IP,结合IP地址轮换、会话管理和合理的切换频率设置。
|
7月前
|
数据采集 存储 Shell
【Python爬虫】<万物可爬>Scrayp框架
【1月更文挑战第22天】【Python爬虫】<万物可爬>Scrayp框架
|
数据采集 XML JavaScript
猿人学-爬虫攻防大赛,题目讲解(五合一)1,2,3,4,7
该文章主要提供交流学习使用,请勿利用其进行不当行为! 如本篇文章侵犯了贵公司的隐私,请联系我立刻删除! 如因滥用解密技术而产生的风险与本人无关!
208 0
猿人学-爬虫攻防大赛,题目讲解(五合一)1,2,3,4,7
|
数据采集 搜索推荐 机器人
程序人生 - Python爬虫要违法了吗?告诉大家:守住规则,大胆去爬
程序人生 - Python爬虫要违法了吗?告诉大家:守住规则,大胆去爬
506 0
程序人生 - Python爬虫要违法了吗?告诉大家:守住规则,大胆去爬
|
数据采集 存储 数据可视化
我爬取了爬虫岗位薪资,分析后发现爬虫真香
闲着无事逛逛招聘网站,无意看到了爬虫岗位的薪资,发现真香,今天决定爬取下来并进行分析
174 0
|
数据采集 XML JavaScript
学会这些,轻轻松松搞定爬虫
学会这些,轻轻松松搞定爬虫
|
数据采集 人工智能 大数据
炒爬虫违法真的看不下去了
  这一阵看到一直有人在提爬虫违法的事情,先把一些似是而非/模棱两可的新闻和真假不明的对话一一列举,后把违法事情描述成是因为写了爬虫导致的,然后把锅甩给爬虫,这是严重误导人啊。   文章中所举新闻是某简历大数据公司非法获取/售卖个人简历的事情。这个违法事情跟是不是用爬虫抓的简历没有因果关系。你找几个人每天靠人肉去网上收集个人信息,售卖这些信息也是犯法;你就算是在垃圾堆里翻到一堆人员信息拿去卖也是犯法的。
149 0
|
Web App开发 数据采集 iOS开发
一入爬虫深似海,总结python爬虫学习笔记!
正文 〇. python 基础 先放上python 3 的官方文档:https://docs.python.org/3/ (看文档是个好习惯) 关于python 3 基础语法方面的东西,网上有很多,大家可以自行查找.
1994 0
|
数据采集 Python
Python爬虫从入门到放弃(二十二)之 爬虫与反爬虫大战
爬虫与发爬虫的厮杀,一方为了拿到数据,一方为了防止爬虫拿到数据,谁是最后的赢家? 重新理解爬虫中的一些概念 爬虫:自动获取网站数据的程序反爬虫:使用技术手段防止爬虫程序爬取数据误伤:反爬虫技术将普通用户识别为爬虫,这种情况多出现在封ip中,例如学校网络、小区网络再或者网络网络都是共享一个公共ip,这个时候如果是封ip就会导致很多正常访问的用户也无法获取到数据。
1957 1