最近在网上看到一个有趣的问题:整个互联网的流量中,真人的占比有多少?根据 Aberdeen Group在近期发布的以北美几百家公司数据为样本的爬虫调查报告显示,最近三年网站流量中的真人访问平均仅为总流量的50%,剩余的流量由28.11%的善意爬虫和21.89%的恶意爬虫构成,可见爬虫数量是多么惊人。
什么是网络爬虫?
网络爬虫(又被称为网页蜘蛛,网络机器人),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。
如何定义恶意爬虫?
正常的爬虫,会先访问/robots.txt文件,看哪些路径允许爬,哪些路径禁爬
恶意的爬虫,会无视禁爬路径,依然对那些路径进行访问,甚至都不去访问/robots.txt文件
恶意爬虫的危害
可能很多人认为,恶意爬虫只会威胁到少数以文本为核心价值的网站,其实这些能改变自己请求路径和请求方式的伪装者可能潜伏在任何一个网站的每一个角落,文本、图片、价格、评论、接口、架构等方方面面均有可能成为爬虫的囊中物。
核心文件被爬不说,商品信息,价格或者注册账号被扫描等都将会给运营者带来大量的麻烦和损失。
为什么恶意爬虫屡禁不止?
爬与反爬的斗争从未间断。过去的初级爬虫能很明显从异常的Headers信息甄别,但爬虫制造者从一次次爬与反爬中总结出可能被封的原因,通过不断的测试和改善爬虫程序,更新换代后的高持续性恶意爬虫通常具有以下特点中的某几个:
模仿真人行为
加载 JavaScript 和外部资源
模拟cookie和 useragent
浏览器自动化操作
变化的IP地址池
这些,无疑都给防爬虫带来了巨大的麻烦。
天泰OpenWAF的防爬虫功能
针对恶意爬虫,OpenWAF针对以下行为进行分析,有效拦截恶意爬虫
访问禁爬路径(暗链陷阱)
访问过/robots.txt文件,且访问除了GET和HEAD还有其他方法,如POST请求
携带恶意爬虫cookie进行访问
OpenWAF行为分析引擎中,包含恶意爬虫检测模块。针对不访问/robots.txt文件的爬虫,OpenWAF设置暗链陷阱,凡是访问此暗链的均为恶意爬虫。对于没有/robots.txt文件的站点也不用担心,OpenWAF会自动生成一个/robots.txt文件,供他人访问。
有些爬虫工具,不带有js模块,OpenWAF返回的恶意爬虫cookie,下次请求时不会携带此cookie。针对这类工具,OpenWAF会在内存中将此工具进行标记(默认5分钟),即使不带有此cookie,再次访问时,依然会被识别出来。
其实防扫描也是一个道理,若扫描工具未访问/robots.txt,且访问了暗链,则也会被视为恶意爬虫,因此OpenWAF的防恶意爬虫模块也会拦截大部分扫描工具
我们始终坚信“愈分享,愈安全”,希望有更多人能够尝试OpenWAF,并加入防护WEB安全的队伍,并给我们提出您的宝贵意见。
本文来自开源中国社区 [http://www.oschina.net]