分布式网络爬虫技术及对其安全防御研究

2018-03-04 19:42◆杨
网络安全技术与应用 2018年4期
关键词:爬虫网页页面

◆杨 建

分布式网络爬虫技术及对其安全防御研究

◆杨 建

(国防大学 北京 100091)

分布式网络爬虫技术是为快速、全面搜索网络数据资源而发明的一项技术,在网络服务中得到广泛应用。然而,在别有用心的人手中,它也成为非法获取敏感数据、个人隐私的“利器”。研究网络爬虫技术原理并防范其攻击,对于维护网络安全、数据安全具有重要的现实意义。

分布式;网络爬虫;防御

0 引言

网络爬虫(Web Crawler),又称网络蜘蛛或网络机器人,是一种按照一定规则自动搜索获取网络空间数据资源的程序或者脚本,已被广泛应用于互联网领域。当前,很多搜索引擎使用分布式网络爬虫抓取网页、文档、图片,甚至是音乐、视频等资源,为大数据分析、情报获取等工作提供有效的数据支撑。而针对一些敏感网站和数据库,聚焦网络爬虫技术也成为获取其数据的重要手段。在数据安全意识日益提升的情况下,防御网络爬虫技术的攻击也就愈发重要。

1 分布式网络爬虫的基本情况

随着信息技术的发展,现阶段网络爬虫已经发展为涵盖网页数据抽取、机器学习、数据挖掘、语义理解等多种方法综合应用的智能工具。为适应大数据时代的旺盛需求,网络爬虫已经从单机模式发展为分布式系统。目前,世界上一些大型互联网企业开发出了大规模分布式网络爬虫,但是其技术一直作为核心技术加以控制。有的开源企业陆续发布一些关于网络爬虫的技术,但是该领域技术复杂性高、使用门槛高的现状短期内无法改变。

分布式网络爬虫的基本工作原理是,由主系统和多个具有相似功能模块的部分组成,在主系统的总体控制协调下,分布式的各功能模块针对一组给定的URL种子集合,通过爬虫程序的多个线程分别获取种子URL后,将URL对应的页面内容下载到本地进行分析,数据提取模块将页面中的可供搜索引擎建立索引的信息获取到本地保存起来,种子提取模块将网络页面中新的指向其他页面的链接提取出来,经过一系列处理存储供后续继续爬行。目前,世界上比较著名的分布式爬虫有Google Crawler、Internet Archive Crawler 、Mercator、UbiCrawler等。随着信息技术的迅速发展,聚焦网络爬取技术已经成为主流的爬虫技术。

2 分布式聚焦网络爬虫技术的特点

聚焦型网络爬虫(Focused Crawler),也叫作主题网络爬虫,其主要是按照预先定义的主题、有目的地进行网络资源爬取的一种爬虫。从功能上看,分布式聚焦型网络爬取技术将爬取目标定位在与主题相关的网络页面上,因此可以大大提高爬取的效率,同时针对有关锁定目标数据的获取也更加全面和有力,因而一旦被非法使用,产生的危害也更大。其特点主要有:

一是工作原理更加先进。与通用的网络爬虫技术不同,聚焦网络爬虫并非从一个或多个初始网页的URL开始工作,从当前页面提取相关URL放到队列当中,重复这一过程,直到满足程序的停止条件;而是对爬行的范围进行控制,查找过滤与主题无关的URL,保留有用的URL,通过一定的搜索策略,选择下一步要爬取的网页,并循环往复。

二是搜索范围更加聚焦。在通用爬虫技术的基础上,聚焦型网络爬虫进一步缩小爬行范围,提高搜索的精确性。其不仅支持关键字搜索,而且支持根据语义的搜索,能够对诸如图片、音频等信息含量较大且具有一定结构性的数据进行爬取。

三是搜索功能更加完备。针对搜索任务,增加了相应的网页分析算法和内容搜索策略。对于被爬取的网页内容,将被爬虫系统进行存储,并进行分析过滤、建立索引,以便进一步的查询和检索。在前期分析的基础上,形成搜索结果,对后续的爬取过程进行校正和指导。

3 分布式网络爬虫的应用和对网络安全的影响

分布式网络爬虫的策略是尽可能多、尽可能快地爬取网络中的高价值信息,会根据定制的策略尽可能多地访问页面。恶意用户就能通过网络爬虫爬取各种敏感数据,并用于不正当用途,其主要做法如下:

3.1搜索网络用户个人资料

网络用户在网络浏览和使用的过程中,会使用和产生相关的个人信息,包括姓名、Email地址、电话等,以及个人兴趣爱好、关注领域、有关联系人等信息。网络爬虫会针对某些特定用户,将页面中的元数据信息进行爬取,并下载到后台服务器中进行存储分析。对于静态页面来说,这些元数据信息中可能包括页面的标签、关键词、热词等,对于目前大量应用的动态页面来说,元数据中包含的将是用户名、登录时间、IP地址、购物清单等,甚至是个人密码、邮件内容等重要信息。掌握这些信息后,恶意用户利用社会工程学实施攻击或诈骗的成功几率将大幅提高。

3.2搜索网络中存在的安全缺陷

爬虫程序可以通过某些算法,在爬取页面信息的同时,获取网站后台的敏感数据,如系统配置、重要参数、测试页面等,并利用掌握的有关信息扫描掌握网络系统存在的安全漏洞,有的系统信息甚至能够提供绕过认证直接访问服务数据的方法。其中,比较常见的一种是,根据动态查询或提交URL,在参数部分试探性插入符号以及script标签,并根据服务器返回的结果判断是否存在跨站脚本漏洞。一些技术先进的网络爬虫能够轻而易举将网站后台的所有敏感信息转移到爬虫程序的后台服务器中,并进行存储。

3.3搜索系统目录列表

在互联网中,有很多Web服务器在用户请求该站点中某个没有的页面目录时,往往会返回一个目录列表。这个目录列表通常包括可供用户点击的目录和文件链接,通过这些链接能够访问当前及下一层目录中的有关文件。网络爬虫程序通过获取目录列表,能够达成掌握系统目录结构、敏感文件以及相关配置信息等数据的目的,甚至是直接获取日志文件、密码文件、数据库文件等。这些数据的丢失,将给网站或个人产生严重的安全威胁。

4 对分布式爬虫攻击的防御

在数据安全愈发重要的今天,如何防御爬虫攻击,已经成为维护网络安全的一个重要组成部分。针对分布式网络爬虫,特别是聚焦型网络爬虫的攻击应当引起重视,并采取有效措施加以应对。

4.1识别并限制爬虫攻击

对于在网页打开请求的User Agent字段刻意伪装成通用浏览器的网络爬虫,可以通过识别其行为特征进行限制。网络爬虫的访问一般情况下,规律性比较强、频率比较高,明显区别于真实用户浏览使用时的特征。针对此类爬虫的防御原理与DDos攻击防御的原理相似,都是基于统计数据,并通过应用识别设备、IPS等能够进行深度识别的安全设备来实现。使用专门的网络设备来识别和限制网络爬虫攻击,不仅比较全面,而且适合在多服务器条件下的统一管理、各自管理产生的疏漏。

4.2加密网页内容

随着网络安全技术的快速发展,密码技术全面应用于网络安全的各个方面,并成为一道关键的安全防线。一种简便的方法是,通过页面脚本程序加密页面内容,使得网络爬虫无法采集到网页上的任何有效信息,从而杜绝了爬虫的进一步爬取数据。但是,存在的不利一面是,加密后的网页无法通过搜索引擎找到这个页面。

4.3采取防盗链措施

对于采取ASP和PHP技术的网站,可以通过读取请求的HTTP_REFERER属性,来判断该请求是否来自本网站,从而限制网络爬虫的数据爬取。此外,由于目前网络爬虫仍无法高效处理多媒体类的内容,所以将有关内容以静态、动态图片的形式展现出来。即便是网络爬虫爬取了图片,也难以从图片中提取网络系统和用户的敏感数据。

5 结语

当前,网络爬虫技术发展很快,在别有用心的人手里,它已经成为快速获取大量数据的利器,对网络安全和有关数据安全带来严峻挑战。而应对网络爬虫的攻击也需要根据威胁的变化不断改进和完善,正所谓“魔高一尺、道高一丈”,以更为先进的技术和管理来抵制有关网络非法行径,使网络空间成为既能够方便大众工作生活,又能保护大众信息安全的安宁空间。

[1]李毓丽.关于网络web服务器中攻击信息优化检测仿真[J].计算机仿真, 2017.

[2]柳毅,洪俊斌.基于网络爬虫与页面代码行为的XSS漏洞动态检测方法[J].电信科学, 2016.

[3]赵艳. 基于网络爬虫的跨站脚本漏洞动态检测技术研究[D].成都:西南交通大学, 2011.

猜你喜欢
爬虫网页页面
利用网络爬虫技术验证房地产灰犀牛之说
刷新生活的页面
答案
基于Python的网络爬虫和反爬虫技术研究
基于HTML5与CSS3的网页设计技术研究
基于CSS的网页导航栏的设计
基于HTML5静态网页设计
大数据背景下校园舆情的爬虫应用研究
基于URL和网页类型的网页信息采集研究
大数据环境下基于python的网络爬虫技术