什么是网络爬虫?
网络爬虫,又被称为网页蜘蛛,网络机器人,是按照一定的规则,自动地抓取网络信息和数据的程序或者脚本。通俗点讲,网络爬虫模拟人的行为,用程序代替了人的操作,从一个链接跳转到下一个链接,就像是在网络上爬行一样遍历网页。爬虫跳转、打开、浏览等动作比人的速度快,浏览的网站的层次也更深,所以被称为网络爬虫。
1993年,麻省理工学院的学生马休·格雷写了一个名为“互联网漫游者”的程序,用来统计互联网上的服务器数量,并检索网站的域名。由此,世界上第一个网络爬虫诞生。随着互联网的迅速发展,网页以爆发式增长,快速、精准的检索越来越困难。开发者在“互联网漫游者”程序的基础上进行了很多改进优化,用来检索整个互联网。同时,搜索引擎的普及,推动网络爬虫向多策略、负载均衡及大规模增量抓取等方向发展。
按照系统结构和实现技术,网络爬虫可以分为:主要应用与搜索引擎和大型数据采集的通用网络爬虫、面向指定主题和目标页面采集的聚焦网络网络爬虫、只采集有更新有变化网页的增量式网络爬虫,以及能够采集静态链接后面、隐藏在搜索表单后信息不断变化的深层网络爬虫。
《攻守道—企业数字业务安全风险与防范》认为,网络爬虫的爬取行为分为两类,一类是便于搜索检索的常规网络爬取,另一类是盗取数据的恶意网络爬取。并认为,恶意网络爬取会带来数字资产损失、用户隐私泄露和扰乱业务正常运行等三大危害,并将其列为十大业务欺诈手段之一。
恶意爬取与技术反爬的三个阶段
恶意爬取与反爬随着技术发展不断演进,是一个动态的攻防过程。基于网络爬虫的发展以及恶意爬取行为的变化,大体来看是三个阶段。
第一阶段,限制IP和账号、验证码拦截
起初网站的反爬措施,是对于非源于浏览器的访问直接拒绝。当恶意网络爬虫访问时,就会出现403错误响应码,或者收到“抱歉,无法访问“的提示。
为了绕过反爬机制,网络爬虫设置Headers信息,模拟成浏览器,多线程的对静态页面进行大规模恶意抓取。
Headers是Http请求和相应的核心,承载了用户访问网页的主要信息,包含Cookie(用户名、密码)、host(请求的服务器主机)、User Agent(浏览器、浏览器内核、厂商等)、Referer(浏览轨迹,比如上一个页面)等。
针对恶意爬取行为,网站和平台对频繁变化UserAgent(模拟浏览器)、频繁使用代理IP的账号、设备进行限制和拦截:当同一IP、同一设备在一定时间内访问网站的次数,系统自动限制其访问浏览;当某一访问者访问次数过多后,就自动让请求跳转到一个验证码页面,只有在输入正确的验证码之后才能继续访问。
第二阶段,动态网页保护
面对反爬技术的升级,网络爬虫也随之升级。网络爬虫能够自动识别并填写验证码,绕过二次核验的拦截;同时使用多个账号,配置IP代理工具,绕过平台对账号和IP地址的限制。
针对网络爬虫的变化,很多网站和平台采用动态网页开技术。基于动态网页技术,网页的URL地址不固定,后台实时与前端用户交互,完成用户查询、提交等动作。而且不同时间、不同用户、访问同一URL地址时会产生不同的页面。相比与传统的静态网页,动态网页有效保护重要的数据信息,有效遏制了网络爬虫的恶意爬取行为。
第三阶段,多维度综合防控
道高一尺魔高一丈。为了绕过新的反爬措施,网络爬虫使用Selenium和Phantomjs技术,完全模拟人的操作。
Selenium是一个用于Web应用程序测试的工具,能够直接运行在浏览器中。它支持所有主流的浏览器,能够根据开发者的指令,让浏览器自动加载页面,获取需要的信息数据,甚至页面截屏,或者判断网站上某些动作是否发生。由于Selenium 需要与第三方浏览器结合在一起才能使用,因此开发者使用Phantomjs工具(或称之为"虚拟浏览器")代替真实的浏览器。
随着网络爬虫的不断迭代,单一的防控措施已不能奏效,平台和企业需要立体的防御措施,才能有效应对恶意爬取行为。
顶象的全流程反爬方案
攻击的是一个点,防护却需要一个面。顶象的全流程的立体防控措施,有效防范恶意爬取行为。
首先,定期对平台、App的运行环境进行检测,对App、客户端进行安全加固,对通讯链路的加密,保障端到端全链路的安全。其次,部署基于顶象防御云、风控引擎和智能模型平台,构建多维度防御体系。
顶象智能验证码。作为防御云的一部分,顶象智能验证码能够阻挡恶意爬虫盗用、盗取数据行为。并能够在注册、登录、查询时,对恶意账号、恶意爬取行为进行实时的核验、判定和拦截。
顶象设备指纹。作为防御云的一部分,顶象设备指纹能够对代码注入、hook、模拟器、云手机、root、越狱等风险做到有效监控和拦截。
顶象风控引擎。根据业务查询场景的请求、客户端采集的设备指纹信息、用户行为数据行为(鼠标的滑动轨迹、键盘的敲击速率、滑动验证码的滑动轨迹、速率、按钮点击等行为轨迹等),实现对恶意“爬虫”行为的有效识别,基于安全防控策略,有效地恶意爬取行为进行识别和拦截。
顶象智能模型平台。基于业务、爬取风险与反爬策略变化,构建专属风控模型,实现安全策略的实时更迭,从而有效拦截各种恶意爬取风险。