美国气象学家爱德华·罗伦兹(Edward N.Lorenz)1963年在一篇提交纽约科学院的论文中分析了一个叫做蝴蝶效应的理论:“一个气象学家提及,如果这个理论被证明正确,一只海鸥扇动翅膀足以永远改变天气变化。”在以后的演讲和论文中他用了更加有诗意的蝴蝶。对于这个效应最常见的阐述是:


“一只南美洲亚马逊河流域热带雨林中的蝴蝶,偶尔扇动几下翅膀,可以在两周以后引起美国德克萨斯州的一场龙卷风。”


“蝴蝶效应”主要是关于混沌学的一个比喻,也是蝴蝶效应的真实反应。不起眼的一个小动作却能引起一连串的巨大反应——由于误差会以指数形式增长,在这种情况下,一个微小的误差随着不断推移造成了巨大的后果。


在互联网的世界中,蝴蝶效应的呈现则更为明显,身为互联网使用者,你的每一次点击,每一个打开,每一个保存与分享都不仅仅只是点击、打开、保存、分享,它们都将汇集成为数据,成为你互联网畅游的路径。

拥有蝴蝶效应的爬虫如何进行防护_IP

而对于企业来说,由上述数据推导出你的用户画像(根据你的社会属性、生活习惯和消费行为等信息而抽象出的一个标签化的用户模型)早已不是难事。


不过你也无需担忧,对于大多数企业而言,一两个行为标本作用不大,企业所需要的是一个甚至多个受众群体的大数据行为模型。


最初,爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本,帮助搜索引擎作为一个辅助人们检索信息的工具。不过,正如同光明与黑暗同时诞生、出生与死亡同存于这个世界,爬虫的出现,也带来恶意爬虫的降生。


以下仅针对互联网业务风控层面阐述。


爬虫是所有攻击链中的重要构成,无论是采集竞争对手网站的数据,尝试破解用户口令还是自动下单,其实都离不开爬虫。


与传统金融类风控不同,会更加关心整个风险事件前端的问题,从最开始用户进入网站的行为进行分析。例如用户在页面的停留时间,是否多次修改输入的内容等,这些行为让风险判断的准确性有了巨大的提升。举个例子:


一、恶意爬取网站→ 注册用户扫描


虽然现在大部分平台的注册页面上会有图片验证码,在一定程度上可以防范爬虫自动化程序遍历手机号查询已注册的用户。


但在不同的终端上,还是可以通过简单的请求判断出用户是否已经注册。


二、爬取注册用户→ 进行业务欺诈


这个数据可以拿来做什么?


一方面,我们已知某个手机号码是某网站的注册用户,这个信息可以用作欺诈,比如模仿官方的服务号向用户发送欺诈短信骗取验证码短信,进行资金盗取。


另外,可以将这些数据向竞争对手出售,协助对方进行精准营销争夺用户。


三、业务欺诈→ 短信轰炸操作


国内每天都在发生大量的业务欺诈等案件,比如模仿官方的服务号向用户发送欺诈短信骗取验证码短信,进行资金盗取。


在欺诈手法中,还经常使用短信轰炸,比如在盗卡盗刷时,为了增加自己的作案时间,用大量的验证短信掩盖掉真正的消费短信,让受害者无法快速的发现并冻结自己的银行卡。


为了达到这种目的,攻击者会使用多家网站的短信接口对受害者发送短信,进而产生短信轰炸问题。


四、短信轰炸→ 账户盗用


个人账户被盗后:垃圾注册→ 产生羊毛党→ 刷单 ……


职业团队产生:爬取评论→ 差评师→ 恶意竞争攻 ……


其它模式→……


我们可以看到,最基础的爬虫所带来的,犹如那只南美洲亚马逊河流域热带雨林中的蝴蝶,拍一拍翅膀,或许只是抖抖阳光雨露,潇洒飞去,或许带来的就是一连串由它而起,又似乎与它无关的后续风暴。

拥有蝴蝶效应的爬虫如何进行防护_IP_02

那么要禁用爬虫吗?


显然不可能,如果没有爬虫的存在,你将不再有可能被搜索引擎抓到,在重度依赖搜索引擎的现代用户世界中,你也就成为了‘存在而不可见的’透明人。我相信这是所有企业都不愿意看到的。


所以,互联网世界正如真实世界一样,有好人和坏人,数据和爬虫技术本身没有好坏之分,关键点在于使用它们的那些人。根据网站内容的安全性及敏感性,区别对待爬虫是比较理想的措施。我们所做的事情,就是要把好人和坏人区分开来。


那么问题来了,如何防止恶意爬虫?


反爬机制主要有两大策略:


一、控制IP访问频率

最常见的基本都会使用代理IP来进行访问,但是对于一般人来说,几万ip差不多是极限了,所以一个ip还是可能多次请求。意味着爬虫需要付出更多的成本投入在IP资源上,IP越多,爬取的成本越高,自然容易劝退一部分人。


二、控制爬取策略

如果简单的只对目标数据进行爬取,反爬系统只要对访问情况和用户行为进行相关分析,其实很简单就能判定爬虫的那堆ip,你除了这堆数据什么都没访问,一看就不是正经用户。当然策略这个东西,就需要更多的博弈了。爬虫要增加迷惑度,需要去访问一些无关的东西,最后是研究正常用户的访问流程,然后模拟一遍。再者,控制速度。毕竟反爬系统的统计区间是肯定有限制的,不可能拿一个月的数据都分析一遍找出爬虫。反爬系统的存在,意义就在于增加这个成本。当然也需要衡量自身的成本,毕竟不能本末倒置,反爬成本太高就没价值了。


那网站一般用什么措施防范爬虫呢?主要有以下几种:


1.使用验证码机制

在登录、注册或搜索等重要操作时,引入验证码机制。验证码是一种动态生成的字符,用于验证用户是否为人类。通过在验证码中加入随机性和难以识别的字符,可以有效防止机器自动识别。


2.检测和限制访问频率

通过监控用户的访问频率和访问模式,可以识别出异常行为。一旦检测到异常,可以采取相应的措施,如暂时限制访问或发送警告信息。


3.使用IP黑白名单

对于已知的恶意IP地址,可以将其加入黑名单,禁止其对目标网站的访问。相反,对于可信任的IP地址,可以将其加入白名单,允许其对目标网站的访问。


4.检测和过滤恶意请求

通过分析用户请求的内容和特征,可以识别出恶意请求。例如,可以检测请求中是否包含大量的垃圾数据、是否包含特定的恶意关键词等。一旦检测到恶意请求,可以将其过滤掉或暂时限制其访问。

拥有蝴蝶效应的爬虫如何进行防护_IP_03

5.漏洞扫描服务


漏洞扫描服务(Vulnerability Scan Service)集Web漏洞扫描、操作系统漏洞扫描、资产内容合规检测、配置基线扫描、弱密码检测五大核心功能,自动发现网站或服务器在网络中的安全风险,为云上业务提供多维度的安全检测服务,满足合规要求,让安全弱点无所遁形。主要的优势在于:


一、扫描全面


涵盖多种类型资产扫描,支持云内外网站和主机扫描,支持内网扫描、智能关联各资产之间的联系,自动发现资产指纹信息,避免扫描盲区。


二、高效精准


采用web2.0智能爬虫技术,内部验证机制不断自测和优化,提高检测准确率,时刻关注业界紧急CVE爆发漏洞情况,自动扫描,最快速了解资产安全风险。


三、简单易用


配置简单,一键全网扫描。可自定义扫描事件,分类管理资产安全,让运维工作更简单,风险状况更清晰了然。


四、报告全面


清晰简洁的扫描报告,多角度分析资产安全风险,多元化数据呈现,将安全数据智能分析和整合,使安全现状清晰明了。


总之,防御爬虫攻击是一项复杂而重要的任务,需要采取多种技术策略和管理措施,以确保网站的安全性和稳定性。