基于机器学习的反爬虫应用策略研究

2020-12-23 21:46林楚苓关春喜梁焰豪
科学导报·学术 2020年48期
关键词:网络爬虫机器学习信息安全

林楚苓 关春喜 梁焰豪

摘  要:网络的迅速发展,让万维网成为大量信息的载体,搜索引擎进入大众的生活。为了定向的帮助搜索引擎抓取相关网页资源,网络爬虫应运而生。网络爬虫是一个自动提取网页的程序,一些恶意的网络爬虫不仅会对网站的信息进行窃取,还会对网站造成不可弥补的伤害。随之进入我们生活的还有网络爬虫的死对头——反爬虫。本文研究使用机器学习进行爬虫识别,从而使得更好的制定反爬虫策略,用机器识别代替人工识别,减少了人为识别爬虫的工作量,降低了识别爬虫的人力物力的损耗,还能提高爬虫的识别率,从而做到保护网站信息以及网站设备。

关键词:网络爬虫;反爬虫策略;机器学习;信息安全

1  引言

现阶段,科技不断地发展,人们的搜索引擎变得多种多样,为了快速从互联网中获得大量目标数据,就需要编写一些脚本程序,按照一定规律批量获取数据,这就是所谓的爬虫[1]。网络爬虫的出现,既是造福了社会,也是污染了网络环境,恶意爬虫会严重增加了网站服务器的负担,还可能造成僵尸网络的出现。不仅如此,恶意爬虫的出现还为盗取他人网站重要数据提供了便利的途径,非法爬取网站的重要数据会造成网站重要数据和用户信息的泄露,导致网站重大的商业损失。针对网络爬虫,反爬虫机制孕育而生,如今大部分的网络爬虫还依靠着人为进行识别,这样的反爬虫工作即费时又费力。近几年来,机器学习由于可以大大减少人为工作量,减少了对人力物力损耗而出现在人们的生活中。本文将研究基于机器学习实现反爬虫的应用策略,针对网络爬虫的特征实现机器学习自动化识别恶意网络爬虫,从而实现反爬虫策略,使得能够对网站及其重要数据进行更好的保护。

2  机器学习爬虫识别的实现

2.1  机器学习

目前人工智能已经为人类创造出了非常可观的经济效益,人工智能可以代替人类做大量人类不想做、不能做的工作,而且机器犯错误的概率比人低,并且能够持续工作,大大的提升工作效率,节约了大量的成本。机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科,是人工智能的一个分支。

2.2  爬虫特征

为了更好的识别网络爬虫,从而进行反爬虫策略的实施,收集了网络爬虫的特征。目前网络上的网络爬虫具有以下特征:①相同IP的请求频率大、②相同的IP每次访问的时间间隔小、③IP所在地不稳定、④user-agent不是常见标识、⑤验证码的请求次数多、⑥激活爬虫陷阱、⑦图片访问百分比高、⑧错误响应高、⑨不对robot.txt进行访问。

2.3  识别算法

决策树是机器学习的经典算法之一,决策树(Decision tree)由一个决策图和可能的结果(包括资源成本和风险)组成,用来创建到达目标的规划。决策树建立并用来辅助决策,是一种特殊的树结构。根据网络爬虫的特征,使用决策树算法对训练集训练生成概率运算的决策模型,从而使用该决策模型进行识别网络爬虫。

2.4  实现流程

通过连接需检测网络爬虫的网站数据库,遍历需检测网站的所有访问请求特征,再使用决策数通过训练集训练出来的识别模块对收集到的访问请求特征进行请求分析,从而实现对访问中网络爬虫的识别,最后输出对应IP的检测结果和判断依据。通过这样的反馈可以使得网站管理员对网站访问进行限制、人工纠错等相关操作。使用机器学习识别爬虫,在降低了人工成本和提高网站運行效率的同时还能避免特殊访问节点的爬虫检测误判。流程图如图1所示。

3  反爬虫策略的实现

有矛必有盾,网络爬虫的反制机制便是针对恶意爬虫而制定的、为防止爬虫对网站进行侵害的一种策略。反爬虫机制是针对爬虫特征对网络爬虫进行防御的一系列计策。反爬虫机制大大减小了爬虫对网站的危害,在一定程度上保护了网站的数据安全、减小了网站服务器的负担。但在现阶段,大部分的反爬虫工作仍然依靠着人为操作,人工判断、识别爬虫,从而实现对爬虫的封禁等操作,浪费了大量的人力、物力、财力等,而且识别爬虫的效率也处于较低的状态。

通过机器学习识别网络爬虫,不仅可以让网站管理人员可以对可疑的IP进行限制等相关操作,网站设计者还可以根据识别爬虫后输出的信息优化自身系统中的反爬虫机制,从而做到更好的保护网站的安全。如同一IP访问频率过高的情况出现过多时,可以在服务端增加对IP访问频率的限制,当超过一定频率便认定为网络爬虫,从而进行防御。网站管理人员也可以直接根据爬虫检测对系统的爬虫检测数据进行数据分析,设计出合理的主题反爬虫方案,从而更有效的实现对网站的保护,减少网络爬虫对网站硬件资源侵害和重要数据盗取,使得网站在互联网时代的潮流中保持的竞争优势。

4  总结

目前网络上超过60%的访问请求都来源于爬虫机器人,而其中便有不少爬虫属于恶意爬虫。这类爬虫拥有一些共性,如盗窃站点数据、偷取敏感信息、对站点进行攻击等。[3]由于网络爬虫的策略是尽可能多的“爬过”网站中的高价值信息,会根据特定策略尽可能多的访问页面,占用网络带宽并增加Web服务器的处理开销,不少小型站点的站长发现当网络爬虫光顾的时候,访问流量将会有明显的增长。恶意用户可以利用爬虫程序对Web站点发动DoS攻击,使Web服务在大量爬虫程序的暴力访问下,资源耗尽而不能提供正常服务。恶意用户还可能通过网络爬虫抓取各种敏感资料用于不正当用途。网络爬虫及其对应的技术为网站带来了可观访问量的同时,也带来了直接与间接的安全威胁,越来越多的网站开始关注对网络爬虫的限制问题。在网络世界中,作为站点管理员,保障网站及其数据安全是一件十分重要的事情。本文研究了机器学习与网络爬虫识别相结合,使得更加有效智能的识别网络爬虫,降低网络爬虫对网站的侵害,还大大减小了人为识别网络爬虫的误差,在一定程度上阻止了网络爬虫对网站的侵害,达到数据保护、系统稳定性保障、竞争优势保持的目的。

参考文献

[1]  周立柱,林玲.聚焦爬虫技术研究综述[J].计算机应用,2005(09):1965-1969.

[2]  刘宇,程学林.基于决策树算法的爬虫识别技术[J].软件,2017,38(07):122-125.

[3]  梁焰豪,关春喜,林楚苓,等.基于机器学习的电商网站知识产权保护[J].电脑迷,2018,000(021):188.

猜你喜欢
网络爬虫机器学习信息安全
信息安全不止单纯的技术问题
基于模糊综合评价法的信息安全风险评估模型
基于模糊综合评价法的信息安全风险评估模型
炼铁厂铁量网页数据获取系统的设计与实现
基于网络搜索数据的平遥旅游客流量预测分析
前缀字母为特征在维吾尔语文本情感分类中的研究
基于支持向量机的金融数据分析研究
基于社会网络分析的权威网页挖掘研究
主题搜索引擎中网络爬虫的实现研究
浅析如何应对网络爬虫流量