近日,针对马蜂窝“数据造假”的文章刷屏网络。文章指出,马蜂窝 2100 万条真实点评中,有 1800 万条是通过机器人从点评、携程等其他平台抄袭而来。作者表示,在马蜂窝上发现了 7454 个抄袭账号,平均每个账号从携程、艺龙、美团、Agoda、Yelp 上抄袭搬运了数千条点评,合计抄袭 572 万条餐饮点评,1221 万条酒店点评。
其实,不仅旅游网站遭到网络爬虫的恶意抓取,航空、视频等平台也是被恶意爬取的重灾区。
今年 2 月,视频弹幕网站哔哩哔哩(bilibili)大量用户的视频、昵称、头像及用户评论,出现在某新成立的视频网站上,就是非法网络爬虫的盗取;而航空公司的官网上的机票、订座等信息,长期被代理公司将机票信息爬取、占座,然后在其他网站上加价销售。
网络爬虫:数据造假背后的“恶人”
网络爬虫,又被称为网页蜘蛛、网络机器人,是按照一定的规则,自动地抓取网络信息的程序或者脚本。
网络爬虫分为两类:一类是搜索引擎爬虫,一类是其他爬虫。前者是为搜索引擎从广域网下载网页,便于搜索检索,后者则是在指定目标下载信息,用于存储或其他用途。
网络爬虫不仅能够抓取网页商品、服务、文字、图片等关键的静态网页信息,还能够爬取用户评价、价格和账户等动态信息等。在知识产权日益受到重视的今天,数据是互联网平台的重要资产。网络爬虫的非法操作不仅窃取了平台的数据资产,更消耗了平台的服务和带宽资源。
被网络爬虫窃取的信息不仅可以用于同类型平台制作,还可能被转售或者可能用于钓鱼网站制作等其他违法行为。这不但会给平台带来重大损失,更可能导致平台上的用户敏感信息泄露,进而使用户遭遇各类网络和电信诈骗。
如何识别搜索引擎爬虫和恶意爬虫?
针对网络爬虫的识别一般是通过用户 HTTP 请求中的 UA(UserAgent)、IP 地址字段以及以及浏览器 cookie。
首先,很多的恶意爬虫程序头或者 UA 中默认含有类似 python-requests/2.18.4 等固定字符串,很容易被系统辨别出来;其次,爬虫经常使用某些固定 IP,当某一个 IP 访问量特别特别大、某一段时间内访问了多次的网页等,也可以被快速识别。
常规防御是拒绝访问,或直接封杀 IP。但是,UA 可以伪造装成搜索爬虫或者其他浏览器,而 IP 地址可以通过频繁变更代理 IP 绕过。此外,通过模拟登录或者手动登录 Cookie 也能绕过系统监测。所以,这三类方式均不完善。
验证码是比较有效的一种方式,当某一用户访问次数过多后,就自动让请求跳转到一个验证码页面,只有在输入正确的验证码之后才能继续访问网站。而验证码不仅可以检测访问者行为,还集合设备指纹和风控等多种因素综合判断。
顶象数据反爬解决方案就是基于验证码和风控。该方案在登录端部署顶象的智能无感验证,直接拦截爬虫对重点数据的爬取。同时,结合顶象设备指纹和实时风险决策系统,实现对于爬虫的总体拦截。再基于对抗过程中的数据积累,利用智能分析平台对数据进行分析,建立基于符合业务场景和需求的风控策略,实时优化风控效果,良好防范数据遭恶意爬取的风险。
验证码后面的技术
在用户访问方面,无感验证通过人机交互行为进行防护。如鼠标在页面内的滑动轨迹、键盘的敲击速率、滑动验证码的滑动轨迹、速率、按钮点击等行为轨迹模型检测来进行防护。
基于顶象机器学习模型平台创建优化相关模型,用于验证码机器模拟轨迹防护。这里面包含轨迹耗时检测、异常轨迹检测(包括直线、匀速、聚合曲线等常规信号发生器生成的轨迹和通过异常检测算法发现的离群行为)。
在异常检测方面,顶象技术使用的其中一种异常检测算法为孤立森林(Isolation Forest),Isolation Forest 中提出 Isolation 概念,即将异常数据从既有数据分布中孤立,用以实现异常检测的目的,这种算法较基于正常数据点创建 profile 进行异常检测的算法,如 Replicator Neural Network、one-class SVM 有更高的异常识别能力和准确度。
除此外,二分类器还可以根据既有的验证码数据进行训练,对采集到的人机交互行为数据进行预测区分,进一步提升识别恶意行为的精确度。
此为了防止网络爬虫对验证码的防暴力破解,无感验证通过图片乱序切条、图片更新定时加工、图片变异等技术,结合关联性检测进行防护,通过内置规则和策略,判断相关关联性,如同一设备关联性、同一 IP 关联性、滑动失败关联性、验证次数关联性等,有效识别短时间内异常关联性。
验证码背后的机器学习
顶象技术将深度学习技术应用于验证码的轨迹分析,通过 LSTM 等深度学习技术,对滑动验证码的滑动轨迹进行特征提取,然后基于 LargeVis,对提取的特征进行可视化分析,如下图所示,通过历史数据的可视化对比分析,可以发现一些异常的轨迹数据。
LSTM 是一种递归神经网络,适合于处理和预测时序及行为数据。基于 LSTM 的系统可以学习翻译语言、控制机器人、图像分析、文档摘要、语音识别、图像识别等任务,由于验证码的轨迹是连续的行为数据,因此非常适合使用 LSTM 来进行特征提取。
除此之外,顶象将深度学习技术应用于点选验证码中,对点选验证码进行“风格迁移”,可大大增加验证码被破解的难度。
风格迁移是深度学习领域很有创意的研究成果,通过神经网络,将一张图片的艺术风格应用在另外一张图片上,例如上图中是将梵高的名作“星空”的艺术风格应用于点选验证码图片上。通过风格迁移,可以将点选图片中的内容进行变换,例如文字变得扭曲及模糊,使得机器破解的难度增加。但是又不会完全改变图片的内容,使用户又可以很容易的识别图片中的文字。