一种基于SDN的反过度爬虫方法与流程

文档序号:16672664发布日期:2019-01-18 23:41阅读:241来源:国知局
一种基于SDN的反过度爬虫方法与流程

本发明涉及到信息安全技术领域,尤其涉及一种基于sdn的反过度爬虫方法。



背景技术:

sdn最早起源于斯坦福大学的一个叫做cleanslate的校园项目。它是一种创新型的网络体系架构,其核心思想是把转发平面和控制平面进行分离。通过集中式的控制器controller使用标准的接口来对各种不同的网络设备进行配置和管理,使得对网络的管理更加集中化、精细化。openflow作为sdn的原型实现模式,充分体现了sdn的这种管控分离思想。因此通常人们把openflow作为sdn的通信标准,就像tcp/ip协议作为互联网的通信标准一样。

网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的url开始,获得初始网页上的url,在抓取网页的过程中,不断从当前页面上抽取新的url放入队列,直到满足系统的一定停止条件。聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的url队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页url,并重复上述过程,直到达到系统的某一条件时停止。另外,所有被爬虫抓取的网页将会被系统存储,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;对于聚焦爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。

公开号为cn106657057a,公开日为2017年05月10日的中国专利文献公开了一种反爬虫系统,其特征在于,包括:分析模块,其判断访问行为是否正常;获取模块,其获取经所述分析模块判断为不正常访问行为的访问日志;学习模块,其具有可更新的黑名单规则库,所述学习模块根据不正常访问行为的访问日志提取出新的黑名单规则,以更新所述黑名单规则库;过滤模块,其禁止所述黑名单规则库所囊括的访问行为。

公开号为cn107707574a,公开日为2018年2月16日的中国专利文献公开了一种基于访问行为的反爬虫方法,其特征在于,包括以下步骤:a、网站设计阶段,使用mvc的模式,将静态资源、动态资源分离部署;b、通过分析的方式,得到一个正常请求在特定时间内静态资源、动态资源的数目比例t;c、当网站收到客户端的访问请求时,分析该访问请求在所述特定时间内要访问的资源数目是否符合数目比例t,如果不符合,则认为该访问请求为恶意请求,封禁此客户端的请求一段时间;如果符合,则认为该访问请求为正常请求,按正常请求处理。

以上述专利文献为代表的现有技术,均存在如下缺陷:

不能有效的针对数据中心的敏感数据区域和具体服务需求对爬虫进行态势感知,对非法爬虫没有针对性的防御手段,数据中心敏感数据的安全性得不到保障。



技术实现要素:

本发明为了克服上述现有技术的缺陷,提供一种基于sdn的反过度爬虫方法,本发明通过在数据中心部署特定的sdn网络,针对数据中心的敏感数据区域和具体服务需求,对爬虫进行态势感知,根据服务需求,对非法爬虫采用针对性的防御手段,从而能够有效保障数据中心敏感数据的安全性。

本发明通过下述技术方案实现:

一种基于sdn的反过度爬虫方法,其特征在于,包括以下步骤:

a、搭建反爬虫sdn环境

在数据中心搭建反爬虫sdn环境;

b、在sdn控制器上部署敏感数据区

通过编写api使sdn控制器会抓取每一个新加入的服务器公开的robots.txt文件,获取制定的爬虫访问规则,并对其中关于相同user_agent的规则进行整合,将整合好的的disallow的页面目录定义为敏感数据区,并把这些信息部署在sdn控制器上;

c、黑名单等级限制

通过sdn监测器对所有请求访问网络的爬虫程序进行监测,若ip在黑名单内,则对此次访问操作出限制;若未请求访问任何敏感数据区,则定义为安全的爬虫;若有爬虫程序试图访问sdn控制器中规定的敏感数据区,sdn防御模块则对其进行标记并监控,且阻止其访问敏感数据区的操作;若多次请求访问sdn控制器中规定的敏感数据区,则对其解除监控,仅针对访问敏感数据区的操作进行阻止;若后续仍多次请求访问敏感数据区或采用不同ip分别请求访问sdn控制器中规定的敏感数据区,则作出不同等级限制。

还包括自动生成爬虫访问规则步骤,自动生成爬虫访问规则是指当有新加入网络的服务器需要生成一个robots.txt文件时,该服务器的管理员向sdn控制器发送请求,sdn控制器通过编写的api去遍历该服务器的目录,再根据现有的其他服务器的规则自动生成一个适合该服务器的规则。

所述步骤a中,反爬虫sdn环境包括sdn控制器、sdn监测器、sdn防御模块、黑名单模块和sdn交换机;sdn控制器,用于检测访问敏感区域网络爬虫;sdn监测器,用于监测访问敏感区域网络爬虫;sdn防御模块,用于针对访问敏感区域网络爬虫;黑名单模块,用于识别访问敏感区域网络爬虫安全性;黑名单模块内储存有需要被限制操作的ip序列的哈希特征值,sdn防御模块根据请求访问的ip的哈希特征决定是否对访问做出限制操作。

所述步骤c中,不同等级限制包括一级黑名单、二级黑名单和三级黑名单,一级黑名单是指收到危险请求次数达到一级阈值,则将其ip列入一级黑名单,若sdn防御模块仍收到危险请求,则反馈一个验证码,禁止爬虫程序访问,预警等级低;二级黑名单是指收到危险请求次数达到二级阈值,则将其ip列入二级黑名单,sdn防御模块反馈一个验证码,禁止爬虫程序访问,预警等级中;三级黑名单是指收到危险请求次数达到三级阈值,则将其ip列入三级黑名单,拒绝该ip的一切访问请求,禁止爬虫程序访问,预警等级高。

本发明所述api为应用程序接口;sdn为软件定义网络;robots.txt文件为爬虫协议文本文件;user_agent为用户代理;disallow为禁止搜索引擎抓取。

本发明的有益效果主要表现在以下方面:

1、本发明,通过“a、搭建反爬虫sdn环境;b、在sdn控制器上部署敏感数据区;c、黑名单等级限制”,能够将所有服务器的数据集中在数据中心,利用sdn对其进行统一管理,能够感知爬虫对敏感数据区数据进行爬取的行为,并且可以通过拦截特定ip报文段进行防御。数据中心会被各种爬虫程序来爬取数据,部分数据是公开可供爬取的,也有部分敏感数据区是不允许爬虫程序任意爬取的。通过利用sdn对其进行统一管理,能够对敏感数据区进行一个态势感知,在服务器端,有一个声明文件robots.txt会对各种类型的爬虫能访问的数据范围进行声明,配置sdn网络,sdn控制器通过各个服务器给出的robots.txt文件来确定数据中心中的常规页面和敏感页面位置。若检测到同一ip大量访问受保护的敏感数据区或者有多个ip交替访问不同的敏感数据区,则网络会对其进行一个态势感知,并反馈有疑似爬虫正在爬取受保护的敏感区数据,此时sdn防御模块会将这些ip地址根据严重程度列入黑名单的不同等级,并根据不同等级设置规则对这些ip发出的报文进行拦截和限制访问,保护敏感区数据。当有新的服务器a加入sdn网络但是不清楚自己该如何制定robots.txt文档去保护自己的敏感区域数据时,sdn控制器会通过编写的api去遍历该服务器a的目录,然后根据现有的其他服务器的规则自动生成一个适合该服务器的规则。作为一个完整的技术方案,较现有技术而言,通过在数据中心部署特定的sdn网络,能够针对数据中心的敏感数据区域和具体服务需求对爬虫进行态势感知,根据服务需求,对非法爬虫采用针对性的防御手段,从而能够有效保障数据中心敏感数据的安全性。

2、本发明,还包括自动生成爬虫访问规则步骤,自动生成爬虫访问规则是指当有新加入网络的服务器需要生成一个robots.txt文件时,该服务器的管理员向sdn控制器发送请求,sdn控制器通过编写的api去遍历该服务器的目录,再根据现有的其他服务器的规则自动生成一个适合该服务器的规则,增加了一个自动生成robots.txt规则的功能,便于让那些对robots.txt文件不熟悉的服务器管理员同样能够使用robots.txt文件,进而对敏感数据区进行保护。

3、本发明,步骤a中,反爬虫sdn环境包括sdn控制器、sdn监测器、sdn防御模块、黑名单模块和sdn交换机;sdn控制器,用于检测访问敏感区域网络爬虫;sdn监测器,用于监测访问敏感区域网络爬虫;sdn防御模块,用于针对访问敏感区域网络爬虫;黑名单模块,用于识别访问敏感区域网络爬虫安全性;黑名单模块内储存有需要被限制操作的ip序列的哈希特征值,sdn防御模块根据请求访问的ip的哈希特征决定是否对访问做出限制操作,采用这种特定的sdn环境,能够将所有服务器的数据集中在数据中心,利用sdn对其进行统一管理,并对非法爬虫进行监测和防御,避免了各个服务器各自为政的情况,提高了监测、防御和管理的规范性。

4、本发明,步骤c中,不同等级限制包括一级黑名单、二级黑名单和三级黑名单,一级黑名单是指收到危险请求次数达到一级阈值,则将其ip列入一级黑名单,若sdn防御模块仍收到危险请求,则反馈一个验证码,禁止爬虫程序访问,预警等级低;二级黑名单是指收到危险请求次数达到二级阈值,则将其ip列入二级黑名单,sdn防御模块反馈一个验证码,禁止爬虫程序访问,预警等级中;三级黑名单是指收到危险请求次数达到三级阈值,则将其ip列入三级黑名单,拒绝该ip的一切访问请求,禁止爬虫程序访问,预警等级高,现阶段robots.txt文件并没有得到足够的重视,网站敏感数据区还是经常会被非法访问,通过划分黑名单等级,进行黑名单的不同等级限制,能够缩短反爬响应时间,提高反爬速度和反爬准确度,加强对敏感数据区的保护。

附图说明

下面将结合说明书附图和具体实施方式对本发明作进一步的具体说明:

图1为本发明反过度爬虫的架构示意图;

图2为本发明反过度爬虫的流程示意图。

具体实施方式

实施例1

一种基于sdn的反过度爬虫方法,包括以下步骤:

a、搭建反爬虫sdn环境

在数据中心搭建反爬虫sdn环境;

b、在sdn控制器上部署敏感数据区

通过编写api使sdn控制器会抓取每一个新加入的服务器公开的robots.txt文件,获取制定的爬虫访问规则,并对其中关于相同user_agent的规则进行整合,将整合好的的disallow的页面目录定义为敏感数据区,并把这些信息部署在sdn控制器上;

c、黑名单等级限制

通过sdn监测器对所有请求访问网络的爬虫程序进行监测,若ip在黑名单内,则对此次访问操作出限制;若未请求访问任何敏感数据区,则定义为安全的爬虫;若有爬虫程序试图访问sdn控制器中规定的敏感数据区,sdn防御模块则对其进行标记并监控,且阻止其访问敏感数据区的操作;若多次请求访问sdn控制器中规定的敏感数据区,则对其解除监控,仅针对访问敏感数据区的操作进行阻止;若后续仍多次请求访问敏感数据区或采用不同ip分别请求访问sdn控制器中规定的敏感数据区,则作出不同等级限制。

通过“a、搭建反爬虫sdn环境;b、在sdn控制器上部署敏感数据区;c、黑名单等级限制”,能够将所有服务器的数据集中在数据中心,利用sdn对其进行统一管理,能够感知爬虫对敏感数据区数据进行爬取的行为,并且可以通过拦截特定ip报文段进行防御。数据中心会被各种爬虫程序来爬取数据,部分数据是公开可供爬取的,也有部分敏感数据区是不允许爬虫程序任意爬取的。通过利用sdn对其进行统一管理,能够对敏感数据区进行一个态势感知,在服务器端,有一个声明文件robots.txt会对各种类型的爬虫能访问的数据范围进行声明,配置sdn网络,sdn控制器通过各个服务器给出的robots.txt文件来确定数据中心中的常规页面和敏感页面位置。若检测到同一ip大量访问受保护的敏感数据区或者有多个ip交替访问不同的敏感数据区,则网络会对其进行一个态势感知,并反馈有疑似爬虫正在爬取受保护的敏感区数据,此时sdn防御模块会将这些ip地址根据严重程度列入黑名单的不同等级,并根据不同等级设置规则对这些ip发出的报文进行拦截和限制访问,保护敏感区数据。当有新的服务器a加入sdn网络但是不清楚自己该如何制定robots.txt文档去保护自己的敏感区域数据时,sdn控制器会通过编写的api去遍历该服务器a的目录,然后根据现有的其他服务器的规则自动生成一个适合该服务器的规则。作为一个完整的技术方案,较现有技术而言,通过在数据中心部署特定的sdn网络,能够针对数据中心的敏感数据区域和具体服务需求对爬虫进行态势感知,根据服务需求,对非法爬虫采用针对性的防御手段,从而能够有效保障数据中心敏感数据的安全性。

实施例2

一种基于sdn的反过度爬虫方法,包括以下步骤:

a、搭建反爬虫sdn环境

在数据中心搭建反爬虫sdn环境;

b、在sdn控制器上部署敏感数据区

通过编写api使sdn控制器会抓取每一个新加入的服务器公开的robots.txt文件,获取制定的爬虫访问规则,并对其中关于相同user_agent的规则进行整合,将整合好的的disallow的页面目录定义为敏感数据区,并把这些信息部署在sdn控制器上;

c、黑名单等级限制

通过sdn监测器对所有请求访问网络的爬虫程序进行监测,若ip在黑名单内,则对此次访问操作出限制;若未请求访问任何敏感数据区,则定义为安全的爬虫;若有爬虫程序试图访问sdn控制器中规定的敏感数据区,sdn防御模块则对其进行标记并监控,且阻止其访问敏感数据区的操作;若多次请求访问sdn控制器中规定的敏感数据区,则对其解除监控,仅针对访问敏感数据区的操作进行阻止;若后续仍多次请求访问敏感数据区或采用不同ip分别请求访问sdn控制器中规定的敏感数据区,则作出不同等级限制。

进一步,还包括自动生成爬虫访问规则步骤,自动生成爬虫访问规则是指当有新加入网络的服务器需要生成一个robots.txt文件时,该服务器的管理员向sdn控制器发送请求,sdn控制器通过编写的api去遍历该服务器的目录,再根据现有的其他服务器的规则自动生成一个适合该服务器的规则。

还包括自动生成爬虫访问规则步骤,自动生成爬虫访问规则是指当有新加入网络的服务器需要生成一个robots.txt文件时,该服务器的管理员向sdn控制器发送请求,sdn控制器通过编写的api去遍历该服务器的目录,再根据现有的其他服务器的规则自动生成一个适合该服务器的规则,增加了一个自动生成robots.txt规则的功能,便于让那些对robots.txt文件不熟悉的服务器管理员同样能够使用robots.txt文件,进而对敏感数据区进行保护。

实施例3

一种基于sdn的反过度爬虫方法,包括以下步骤:

a、搭建反爬虫sdn环境

在数据中心搭建反爬虫sdn环境;

b、在sdn控制器上部署敏感数据区

通过编写api使sdn控制器会抓取每一个新加入的服务器公开的robots.txt文件,获取制定的爬虫访问规则,并对其中关于相同user_agent的规则进行整合,将整合好的的disallow的页面目录定义为敏感数据区,并把这些信息部署在sdn控制器上;

c、黑名单等级限制

通过sdn监测器对所有请求访问网络的爬虫程序进行监测,若ip在黑名单内,则对此次访问操作出限制;若未请求访问任何敏感数据区,则定义为安全的爬虫;若有爬虫程序试图访问sdn控制器中规定的敏感数据区,sdn防御模块则对其进行标记并监控,且阻止其访问敏感数据区的操作;若多次请求访问sdn控制器中规定的敏感数据区,则对其解除监控,仅针对访问敏感数据区的操作进行阻止;若后续仍多次请求访问敏感数据区或采用不同ip分别请求访问sdn控制器中规定的敏感数据区,则作出不同等级限制。

还包括自动生成爬虫访问规则步骤,自动生成爬虫访问规则是指当有新加入网络的服务器需要生成一个robots.txt文件时,该服务器的管理员向sdn控制器发送请求,sdn控制器通过编写的api去遍历该服务器的目录,再根据现有的其他服务器的规则自动生成一个适合该服务器的规则。

所述步骤a中,反爬虫sdn环境包括sdn控制器、sdn监测器、sdn防御模块、黑名单模块和sdn交换机;sdn控制器,用于检测访问敏感区域网络爬虫;sdn监测器,用于监测访问敏感区域网络爬虫;sdn防御模块,用于针对访问敏感区域网络爬虫;黑名单模块,用于识别访问敏感区域网络爬虫安全性;黑名单模块内储存有需要被限制操作的ip序列的哈希特征值,sdn防御模块根据请求访问的ip的哈希特征决定是否对访问做出限制操作。

步骤a中,反爬虫sdn环境包括sdn控制器、sdn监测器、sdn防御模块、黑名单模块和sdn交换机;sdn控制器,用于检测访问敏感区域网络爬虫;sdn监测器,用于监测访问敏感区域网络爬虫;sdn防御模块,用于针对访问敏感区域网络爬虫;黑名单模块,用于识别访问敏感区域网络爬虫安全性;黑名单模块内储存有需要被限制操作的ip序列的哈希特征值,sdn防御模块根据请求访问的ip的哈希特征决定是否对访问做出限制操作,采用这种特定的sdn环境,能够将所有服务器的数据集中在数据中心,利用sdn对其进行统一管理,并对非法爬虫进行监测和防御,避免了各个服务器各自为政的情况,提高了监测、防御和管理的规范性。

实施例4

一种基于sdn的反过度爬虫方法,包括以下步骤:

a、搭建反爬虫sdn环境

在数据中心搭建反爬虫sdn环境;

b、在sdn控制器上部署敏感数据区

通过编写api使sdn控制器会抓取每一个新加入的服务器公开的robots.txt文件,获取制定的爬虫访问规则,并对其中关于相同user_agent的规则进行整合,将整合好的的disallow的页面目录定义为敏感数据区,并把这些信息部署在sdn控制器上;

c、黑名单等级限制

通过sdn监测器对所有请求访问网络的爬虫程序进行监测,若ip在黑名单内,则对此次访问操作出限制;若未请求访问任何敏感数据区,则定义为安全的爬虫;若有爬虫程序试图访问sdn控制器中规定的敏感数据区,sdn防御模块则对其进行标记并监控,且阻止其访问敏感数据区的操作;若多次请求访问sdn控制器中规定的敏感数据区,则对其解除监控,仅针对访问敏感数据区的操作进行阻止;若后续仍多次请求访问敏感数据区或采用不同ip分别请求访问sdn控制器中规定的敏感数据区,则作出不同等级限制。

还包括自动生成爬虫访问规则步骤,自动生成爬虫访问规则是指当有新加入网络的服务器需要生成一个robots.txt文件时,该服务器的管理员向sdn控制器发送请求,sdn控制器通过编写的api去遍历该服务器的目录,再根据现有的其他服务器的规则自动生成一个适合该服务器的规则。

所述步骤a中,反爬虫sdn环境包括sdn控制器、sdn监测器、sdn防御模块、黑名单模块和sdn交换机;sdn控制器,用于检测访问敏感区域网络爬虫;sdn监测器,用于监测访问敏感区域网络爬虫;sdn防御模块,用于针对访问敏感区域网络爬虫;黑名单模块,用于识别访问敏感区域网络爬虫安全性;黑名单模块内储存有需要被限制操作的ip序列的哈希特征值,sdn防御模块根据请求访问的ip的哈希特征决定是否对访问做出限制操作。

所述步骤c中,不同等级限制包括一级黑名单、二级黑名单和三级黑名单,一级黑名单是指收到危险请求次数达到一级阈值,则将其ip列入一级黑名单,若sdn防御模块仍收到危险请求,则反馈一个验证码,禁止爬虫程序访问,预警等级低;二级黑名单是指收到危险请求次数达到二级阈值,则将其ip列入二级黑名单,sdn防御模块反馈一个验证码,禁止爬虫程序访问,预警等级中;三级黑名单是指收到危险请求次数达到三级阈值,则将其ip列入三级黑名单,拒绝该ip的一切访问请求,禁止爬虫程序访问,预警等级高。

本发明所述api为应用程序接口;sdn为软件定义网络;robots.txt文件为爬虫协议文本文件;user_agent为用户代理;disallow为禁止搜索引擎抓取。

通过“a、搭建反爬虫sdn环境;b、在sdn控制器上部署敏感数据区;c、黑名单等级限制”,能够将所有服务器的数据集中在数据中心,利用sdn对其进行统一管理,能够感知爬虫对敏感数据区数据进行爬取的行为,并且可以通过拦截特定ip报文段进行防御。数据中心会被各种爬虫程序来爬取数据,部分数据是公开可供爬取的,也有部分敏感数据区是不允许爬虫程序任意爬取的。通过利用sdn对其进行统一管理,能够对敏感数据区进行一个态势感知,在服务器端,有一个声明文件robots.txt会对各种类型的爬虫能访问的数据范围进行声明,配置sdn网络,sdn控制器通过各个服务器给出的robots.txt文件来确定数据中心中的常规页面和敏感页面位置。若检测到同一ip大量访问受保护的敏感数据区或者有多个ip交替访问不同的敏感数据区,则网络会对其进行一个态势感知,并反馈有疑似爬虫正在爬取受保护的敏感区数据,此时sdn防御模块会将这些ip地址根据严重程度列入黑名单的不同等级,并根据不同等级设置规则对这些ip发出的报文进行拦截和限制访问,保护敏感区数据。当有新的服务器a加入sdn网络但是不清楚自己该如何制定robots.txt文档去保护自己的敏感区域数据时,sdn控制器会通过编写的api去遍历该服务器a的目录,然后根据现有的其他服务器的规则自动生成一个适合该服务器的规则。作为一个完整的技术方案,较现有技术而言,通过在数据中心部署特定的sdn网络,能够针对数据中心的敏感数据区域和具体服务需求对爬虫进行态势感知,根据服务需求,对非法爬虫采用针对性的防御手段,从而能够有效保障数据中心敏感数据的安全性。

步骤c中,不同等级限制包括一级黑名单、二级黑名单和三级黑名单,一级黑名单是指收到危险请求次数达到一级阈值,则将其ip列入一级黑名单,若sdn防御模块仍收到危险请求,则反馈一个验证码,禁止爬虫程序访问,预警等级低;二级黑名单是指收到危险请求次数达到二级阈值,则将其ip列入二级黑名单,sdn防御模块反馈一个验证码,禁止爬虫程序访问,预警等级中;三级黑名单是指收到危险请求次数达到三级阈值,则将其ip列入三级黑名单,拒绝该ip的一切访问请求,禁止爬虫程序访问,预警等级高,现阶段robots.txt文件并没有得到足够的重视,网站敏感数据区还是经常会被非法访问,通过划分黑名单等级,进行黑名单的不同等级限制,能够缩短反爬响应时间,提高反爬速度和反爬准确度,加强对敏感数据区的保护。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1