CN116471047A - 自动化框架爬虫的检测方法、设备及可读存储介质 - Google Patents
自动化框架爬虫的检测方法、设备及可读存储介质 Download PDFInfo
- Publication number
- CN116471047A CN116471047A CN202310259522.2A CN202310259522A CN116471047A CN 116471047 A CN116471047 A CN 116471047A CN 202310259522 A CN202310259522 A CN 202310259522A CN 116471047 A CN116471047 A CN 116471047A
- Authority
- CN
- China
- Prior art keywords
- crawler
- request
- access
- target
- abnormal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 37
- 238000001514 detection method Methods 0.000 claims abstract description 96
- 230000002159 abnormal effect Effects 0.000 claims abstract description 74
- 230000009193 crawling Effects 0.000 claims abstract description 12
- 230000006399 behavior Effects 0.000 claims description 16
- 235000014510 cooky Nutrition 0.000 claims description 15
- 230000008859 change Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 8
- 238000001914 filtration Methods 0.000 claims description 3
- 230000002547 anomalous effect Effects 0.000 claims 3
- 239000000758 substrate Substances 0.000 claims 1
- 238000004458 analytical method Methods 0.000 abstract description 96
- 238000012545 processing Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- BUGBHKTXTAQXES-UHFFFAOYSA-N Selenium Chemical compound [Se] BUGBHKTXTAQXES-UHFFFAOYSA-N 0.000 description 5
- 230000009471 action Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 229910052711 selenium Inorganic materials 0.000 description 5
- 239000011669 selenium Substances 0.000 description 5
- 238000004451 qualitative analysis Methods 0.000 description 3
- 238000004140 cleaning Methods 0.000 description 2
- 230000009194 climbing Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 241000894007 species Species 0.000 description 2
- 241000239290 Araneae Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005206 flow analysis Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种自动化框架爬虫的检测方法、设备及可读存储介质,分析服务器周期性的获取目标网站的流量数据,根据流量数据中各访问请求的IP地址对流量数据进行分组,从而得到对应不同IP地址的分组。之后,分析服务器对各分组进行特征统计从而确定出异常IP,并根据异常IP检测持续爬取目标网站的自动化框架爬虫。采用该种方案,分析服务器利用自动化框架爬虫的特性,通过对大数据进行分析,利用数据统计的方式检测出持续进行爬取的自动化框架爬虫,实现提高网络安全性的目的。
Description
技术领域
本申请实施例涉及网络安全技术领域,特别涉及一种自动化框架爬虫的检测方法、设备及可读存储介质。
背景技术
网络爬虫,也叫网络蜘蛛,是一种按照一定的规则自动地抓取网络信息的程序或者脚本。有些不法份子利用网络爬虫进行恶意的爬虫操作。
传统的网络爬虫检测方法,主要通过监控IP访问次数来进行爬虫检测。例如,记录一个IP地址在一定时间内的访问次数,若访问次数超过阈值,则认为是网络爬虫。
然而,随着爬虫的升级,一些自动化框架爬虫,如基于selenium框架的爬虫能够模仿真人行为,这种网络爬虫的行为与真人的正常访问行为非常相似,传统的爬虫检测方法难以检测出这类爬虫行为。
发明内容
本申请实施例提供一种自动化框架爬虫的检测方法、设备及可读存储介质,利用自动化框架爬虫的特性,通过对大数据进行分析,利用数据统计的方式检测出持续进行爬取的自动化框架爬虫,实现提高网络安全性的目的。
第一方面,本申请实施例提供一种自动化框架爬虫的检测方法,包括:
周期性获取请求访问目标网站的访问请求以得到流量数据;
根据各访问请求的IP地址划分所述流量数据,以得到多个分组,不同分组对应不同的IP地址;
对所述多个分组进行特征统计以确定出异常IP;
根据所述异常IP检测持续爬取所述目标网站的自动化框架爬虫。
第二方面,本申请实施例提供一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时使得所述电子设备实现如上第一方面各种可能的实现方式所述的方法。
第三方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,所述计算机指令在被处理器执行时用于实现如上第一方面各种可能的实现方式所述的方法。
本申请实施例提供的自动化框架爬虫的检测方法、设备及可读存储介质,分析服务器周期性的获取目标网站的流量数据,根据流量数据中各访问请求的IP地址对流量数据进行分组,从而得到对应不同IP地址的分组。之后,分析服务器对各分组进行特征统计从而确定出异常IP,并根据异常IP检测持续爬取目标网站的自动化框架爬虫。采用该种方案,分析服务器利用自动化框架爬虫的特性,通过对大数据进行分析,利用数据统计的方式检测出持续进行爬取的自动化框架爬虫,实现提高网络安全性的目的。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的自动化框架爬虫的检测方法所适用的网络架构示意图;
图2是本申请实施例提供的自动化框架爬虫的检测方法的流程图;
图3是本申请实施例提供的自动化框架爬虫的检测方法的过程示意图;
图4为本申请实施例提供的一种自动化框架爬虫的检测装置的示意图;
图5为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为了防止网络爬虫爬取网站内容,业界通过机器人协议对网络爬虫的行为进行规范,机器人协议也称之为爬虫协议、robots协议等。然而,一些恶意的网络爬虫并不遵守机器人协议,需利用爬虫检测技术检测出该类爬虫。
当前网络爬虫检测技术主要依赖于频率限制、cookie/js特性检测、浏览器指纹分析、业务流分析等方式,从而实现对异常的网络爬虫的检测、拦截等。随着爬虫和反爬虫的对抗升级,一些低级的网络爬虫很容易被常规的检测方法检测出。但是,一些高级爬虫,如基于selenium的自动化框架爬虫的行为与真实用户的正常访问行为非常类似,甚至可以模拟点击等动作,传统的爬虫检测方法难以有效检测出这类爬虫。这类爬虫严重威胁网络安全。
基于此,本申请实施例提供一种自动化框架爬虫的检测方法、设备及可读存储介质,利用自动化框架爬虫的特性,通过对大数据进行分析,利用数据统计的方式检测出持续进行爬取的自动化框架爬虫,实现提高网络安全性的目的。
图1是本申请实施例提供的自动化框架爬虫的检测方法所适用的网络架构示意图。请参照图1,该网络架构包括检测服务器11、分析服务器12、网站服务器13和终端设备14。检测服务器11与分析服务器12之间建立网络连接,检测服务器11与网站服务器13之间建立网络连接,检测服务器11还与终端设备14建立网络连接。
检测服务器11上部署bot边缘引擎等,对终端设备发起的、请求访问网站服务器13的访问请求进行爬虫检测,若一条访问请求是爬虫程序发起的,则对该访问请求进行拦截、监控等处理。若一条访问请求是正常用户发起的,则将该访问请求发送给网站服务器13。
分析服务器12周期性的获取目标网站,即网站服务器13的流量数据,如每五分钟获取一次网络流量,对5分钟的网络流量进行特征统计,从而确定出异常IP,并将该异常IP下发给检测服务器11。检测服务器接收到新的访问请求后,确定访问请求的IP地址,如发起访问请求的用户的IP地址,若IP地址为异常IP,则认为该访问请求是自动化框架爬虫发起的。
网站服务器13用于提供各种业务,可以是硬件也可以是软件。当网站服务器13为硬件时,该网站服务器13为单个服务器或多个服务器组成的分布式服务器集群。当网站服务器13为软件时,可以为多个软件模块或单个软件模块等,本申请实施例并不限制。
终端设备14可以是硬件也可以是软件。当终端设备14为硬件时,终端设备14例如为手机、平板电脑、电子书阅读器、膝上型便携电脑、台式计算机、服务器等。当终端设备14为软件时,其可以安装在上述列举的硬件设备中,此时,终端设备14例如为多个软件模块或单个软件模块等,本申请实施例并不限制。
应当理解的是,图1中检测服务器11、分析服务器12、网站服务器13和终端设备14的数量仅仅是示意性的。实际实现中,根据实际需求部署任意数量的检测服务器11、分析服务器12、网站服务器13和终端设备14。
下面,基于图1所示网络架构,对本申请实施例提供的自动化框架爬虫的检测方法进行详细说明。示例性的,请参照图2。
图2是本申请实施例提供的自动化框架爬虫的检测方法的流程图。本实施例是从图1所示架构中分析服务器12的角度进行说明。本实施例包括:
201、周期性获取请求访问目标网站的访问请求以得到流量数据。
本申请实施例中,分析服务器周期性的获取目标网站的流量数据,检测周期例如是5分钟、10分钟等,本申请实施例并不限制。
202、根据各访问请求的IP地址划分所述流量数据,以得到多个分组,不同分组对应不同的IP地址。
每次获取到一个检测周期的流量数据后,分析服务器确定出流量数据中每个访问请求的IP地址。
分析服务器确定出每个访问请求的IP地址后,根据IP地址对流量数据进行分组,从而将IP地址相同的访问请求放到一个分组中。有多少个分组,则表示该检测周期内有多少个IP在访问目标网站。
203、对所述多个分组进行特征统计以确定出异常IP。
对于每个分组,分析服务器分析该分组,得到该分组的分组特征。接着,分析服务器综合多个分组的分组特征得到统计特征,结合统计特征和爬虫程序自身的特征等,确定出一些目标阈值。然后,分析服务器根据目标阈值从多个IP地址中确定出异常IP。多个IP地址中的不同IP地址对应多个分组中的不同分组。
204、根据所述异常IP检测持续爬取所述目标网站的自动化框架爬虫。
分析服务器确定出异常IP后,将该些异常IP发送给检测服务器,检测服务器将该些异常IP存储在列表中,列表中列出的IP均为异常IP。之后,检测服务器每次接收到新的访问请求后,确定出访问请求的IP地址,再判断该IP地址是否为列表中的IP地址。若新的访问请求的IP地址为列表中的IP地址,则说明新的访问请求的IP地址是异常IP地址,新的访问请求是自动化框架爬虫发起的。
本申请实施例中,分析服务器周期性的获取目标网站的流量数据,并对流量数据进行分组、特征统计等确定出异常IP。显然,不同的检测周期,分析服务器确定出的异常IP很有可能不同。而且,每次确定出异常IP后,根据该些异常IP确定未来一段时间内,访问请求的IP地址是否为异常IP,从而实现检测出持续爬虫目标网站的自动化框架爬虫的目的。
以一个检测周期为5分钟为例,分析服务器获取10:00~10:05分的流量数据。获取到该5分钟的流量数据后,分析服务器自10:05分起对5分钟的流量数据进行分析,从而确定出异常IP。同时,自10:05分,进入下一个检测周期,分析服务器获取10:05~10:10分的流量数据。
假设分析时长为1分钟,即分析服务器10:06分析完毕,并将异常IP下发给检测服务器,则10:06~10:11这一时间段内,检测服务器每次接收到来自终端设备的访问请求后,确定该访问请求的IP地址,并确定该IP地址是否为异常IP。若IP地址为异常IP,则检测服务器对该访问请求进行监控、拦截等处理。
10:11分时,检测服务器接收到新的检测周期的异常IP,并根据接收到的异常IP更新列表,根据更新的列表继续检测自动化框架爬虫。其中,列表指示最新的异常IP地址。
需要说明的是,虽然上述是以一个检测周期为5分钟为例,对本申请实施例所述的自动化框架爬虫的检测方法进行说明。然而,本申请实施例并不限制,其他可行的实现方式中,检测周期可以是3分钟、10分钟、15分钟等,本申请实施例并不限制。
另外,还需要说明的是,虽然上述实施例中,分析时长为1分钟。然而,本申请实施例并不以此限制,其他可选的实现方式中,分析时长例如是1秒、5秒、10秒等。
可以理解的是,对于第一个检测周期,由于暂时没有异常IP,因此,检测服务器接收到访问请求后,对访问请求进行常规的爬虫检测,无需进行本申请实施例所述的自动化框架爬虫的检测。若访问请求通过常规的爬虫检测,则将该访问请求转发给网站服务器;若访问请求未通过常规的爬虫检测,则对该访问请求进行监督、拦截等处理。
本申请实施例提供的自动化框架爬虫的检测方法,分析服务器周期性的获取目标网站的流量数据,根据流量数据中各访问请求的IP地址对流量数据进行分组,从而得到对应不同IP地址的分组。之后,分析服务器对各分组进行特征统计从而确定出异常IP,并根据异常IP检测持续爬取目标网站的自动化框架爬虫。采用该种方案,分析服务器利用自动化框架爬虫的特性,通过对大数据进行分析,利用数据统计的方式检测出持续进行爬取的自动化框架爬虫,实现提高网络安全性的目的。
可选的,上述实施例中,分析服务器根据各访问请求的IP地址划分所述流量数据,以得到多个分组之前,还根据预设策略从所述流量数据中识别出已知爬虫的爬虫数据,并过滤掉所述流量数据中的爬虫数据。
示例性的,常规的、已知的爬虫程序访问目标网站产生爬虫数据,分析服务器从流量数据中识别出该些爬虫数据并排除,使得剩余流量数据不包含已知爬虫的爬虫数据,进而根据剩余的流量数据确定异常IP等,避免已知爬虫的爬虫数据带来污染,实现准确确定出异常IP的目的。
另外,过滤掉已知爬虫的爬虫数据的动作,可以由分析服务器执行,也可以由检测服务器执行,本申请实施例并不限制。当检测服务器过滤爬虫数据时,每个检测周期内,检测服务器对流量数据中的每条访问请求进行已知的爬虫检测,若一条访问请求为已知爬虫发起的,则排除该访问请求。
已知爬虫程序又称作低级爬虫、常规爬虫等,具有行为单一、特征明确等特定。例如,低级爬虫访问A站点,假设A站点有翻页功能,低级爬虫会在很短的时间内,比如1秒内访问数十个不同的页面,而正常用户显然是做不到的。另外,低级爬虫的访问请求的一个明显特征是携带curl、requests、python等关键字。
已知爬虫以外的其他爬虫,简称高级爬虫,如基于selenium的自动化框架爬虫等,高级爬虫的访问行为几乎与正常用户完全一致,甚至能够模拟真实用户的点击行为。例如,一个机票购买站点,正常用户访问顺序是查票→选票→购票。高级爬虫利用自动化框架等工具,完全模拟用户的购买行为,访问顺序也是查票→选票→购票。
本申请实施例中,根据异常IP检测出的爬虫程序往往是持续爬取目标网站的高级爬虫。这种高级爬虫包括使用了自动化框架的爬虫,如基于selenium的自动化框架爬虫。
采用该种方案,通过过滤掉流量数据中已知爬虫的爬虫数据,避免已知爬虫的爬虫数据带来污染,实现准确确定出异常IP的目的,进而实现准确确定出持续爬取目标网站的爬虫程序的目的。
图3是本申请实施例提供的自动化框架爬虫的检测方法的过程示意图。请参照图3,本申请实施例中,爬虫检测过程包括:数据清洗、特征计算、阈值分析、爬虫检测和防护等步骤。下面,对该些步骤进行详细说明。
首先,数据清洗。
通常情况下,流量数据粗略的包括如下四种流量:正常流量,可检测到的爬虫数据、无法检测到的爬虫数据以及其他流量。其中,正常流量指正常用户访问目标网站的流量。
可检测到的爬虫数据是指已知爬虫访问目标网站的流量数据。
无法检测到的爬虫数据指高级爬虫访问目标网站的流量数据,高级爬虫是当前传统的爬虫检测方法无法识别的爬虫程序,包括但不限于基于selenium的自动化框架爬虫等。
其他流量虽然是非正常流量,但也不是爬虫程序产生的流量,包括但不限于扫描器流量、挑战黑洞(Challenge Collapsar,CC)攻击流量。
通常情况下,检测服务器上部署反爬策略,利用反爬策略能够识别出大多数的爬虫。因此,检测服务器将目标网站的流量数据进行清洗,以过滤掉可检测到的爬虫数据,并将过滤后的流量数据发送给分析服务器。这样一来,由于提前过滤掉当前可检测到的爬虫的爬虫数据,能够避免对后续的数据分析造成影响。
例如,检测服务器上部署bot边缘引擎,利用bot边缘引擎的防护能力,识别出流量数据中的爬虫数据并打上标签,将所有打上爬虫标签的爬虫数据过滤掉。经过数据清洗,会将一部分稍微低级的自动化框架爬虫的爬虫数据过滤掉,但是还有大量高级的自动化框架爬虫的爬虫数据被漏掉。
另外,分析服务器也可以对流量数据进行过滤,本申请实施例并不限制。例如,检测服务器对流量数据中的爬虫数据打上标签后,将流量数据发送给分析服务器,由分析服务器过滤掉已打上标签的爬虫数据。
其次,特征计算。
分析服务器根据多个分组确定统计特征,这些统计特征后续用于确定目标阈值。确定出目标阈值后,对于多个IP地址中的每个IP地址,分析服务器根据目标阈值和该IP地址对应分组的分组特征等,确定该IP地址是否为异常IP。
采用该种方案,分析服务器综合各分组确定出用于确定目标阈值的统计特征,进而确定出目标阈值,并根据目标阈值从多个IP地址中确定出异常IP,实现快速、准确确定出异常IP的目的。
可选的,上述实施例中,统计特征是结合每个分组的分组特征确定出的,可以将分组特征理解为一个分组自身的特征,而统计特征是综合各分组特征得出的。不同分组对应不同的IP地址,以分组对应的IP地址为IP1为例,该分组的分组特征包括但不限于下述特征:
a.访问次数,表示IP1访问目标网站的次数。
b.访问的URL的种类数
对于分组中的每个访问请求,分析服务器确定出该访问请求访问的URL。之后,分析服务器对该些URL进行去重处理,并确定出去重后的URL的个数,该个数即为IP1访问的URL的种类数。例如,分析服务器根据访问请求确定出10个URL,去重后剩余7个URL,则表示IP1访问了7个URL,URL的种类数为7。
c.平均访问间隔
分析服务器确定IP1发起的相邻两次访问请求的时间间隔,得到多个时间间隔,之后求平均值,从而得到该IP地址的平均访问间隔。
d.访问请求的字节数
分析服务器确定分组中每个访问请求的字节数,并求平均值,从而得到该IP地址的访问请求的平均字节数。
e.访问请求对应的响应报文的字节数.
分析服务器确定分组中每个访问请求对应的响应报文的字节数,并求平均值,从而得到该IP地址的响应报文的平均字节数。
f.UA请求头的种类数。
分析服务器确定分组中各访问请求的UA请求头的值,得到多个UA请求头的值。之后,分析服务器根据该些UA请求头的值,确定IP1是否频繁切换UA。例如,分析服务器对UA请求头的值进行去重处理,得到UA请求头的种类数。若UA请求头的种类数的数量超过预设数量,则表示IP1频繁切换UA。
g.Cookie请求头的种类数
Cookie是一种常见的请求头,分析服务器确定分组中各访问请求的Cookie请求头的值,从而得到多个Cookie请求头的值。根据该些Cookie请求头的值,分析服务器确定IP1是否频繁切换Cookie请求头。例如,分析服务器对Cookie请求头的值进行去重处理,得到Cookie请求头的种类数。若Cookie请求头的种类数的数量超过预设数量,则表示IP1频繁切换Cookie请求头。
对于每个分组,分组特征包括但不限于上述的特征a~g。例如,分析服务器还可以计算出均值、方差、中位数、27/75分位数、信息熵重合指数等分组特征。
之后,分析服务器综合各分组特征以确定统计特征,整体统计特征用于确定目标阈值,目标阈值是判断一个IP地址是否为异常IP的依据。统计特征包括但不限于如下特征:
A.各IP的访问次数的平均值
例如,分析服务器根据IP对流量数据进行分组,得到3个分组,分别对应IP1、IP2和IP3。根据各IP对应的分组特征a可知:IP1的访问次数为60次,IP2的访问次数为65次,IP3的访问次数为58次,则各IP的访问次数的平均值为61次。
B.各IP的访问次数的方差。
分析服务器计算出各IP的访问次数的平均值之后,根据方差计算方式即可确定方差,根据方差即可确定出标准差等。继续沿用上述的例子,平均值为61,则总体方差约为6.67,样本方差为13。计算过程如下:
[(60–61)^2+(65–61)^2+(58–61)^2]=1+16+9=26
总体方差=26/3=8.67
样本方差=26/(3-1)=13
本申请实施例中,若未做特殊说明,计算方差指计算样本方差。
C.各IP访问的URL的种类数的平均值
例如,分析服务器根据IP对流量数据进行分组,得到3个分组,分别对应IP1、IP2和IP3。根据各IP的统计特征b可知:IP1访问的URL的种类数为20次,IP2访问的URL的种类数为25次,IP3访问的URL的种类数为21次,则种类数的平均值为22次。
D.各IP访问的URL的种类数的方差
分析服务器计算出各IP访问的URL的种类数的平均值之后,根据方差计算方式即可确定方差,根据方差即可确定出标准差等。继续沿用上述的例子,平均值为61,则样本方差为13。
E.各IP的访问的时间间隔的均值
分析服务器各IP对应的分组的特征c,即可确定出各IP的访问的时间间隔的均值。
F.时间间隔的方差
分析服务器确定出统计特征E后,即可根据方差公式等计算出时间间隔的方差。
G.时间间隔的中位数
H.访问次数与URL的种类数的比值的平均值
对于多个分组中的每个分组,分析服务器根据该分组的分组特征a和分组特征b,确定出一个比值,从而得到多个比值,进而确定该些比值的平均值,以得到访问次数与URL的种类数的比值的均值。
I.访问次数与URL的种类数的比值的方差。
分析服务器确定出统计特征H后,即可根据方差公式等计算出方差。
除了上述的统计特征外,分析服务器还可以确定各分组的平均响应时间、信息熵重合指数等。另外,除了统计特征H外,分析服务器还可以根据各分组的分组特征确定出不同分组特征之间的交叉特征,如响应时间和响应字节数的比值等。
分析服务器确定出统计特征后,即可进一步的根据统计特征确定出目标阈值。
采用该种方案,分析服务器综合各分组的分组特征确定统计特征,实现准确确定出统计特征的目的的同时,进而实现全面、多角度的检测出爬虫程序的目的。
可选的,上述实施例中,分析服务器确定目标阈值的过程中,首先,分析服务器确定当前周期是否满足阈值变更条件。之后,当所述当前周期满足所述阈值变更条件时,根据所述统计特征确定所述目标阈值。当所述当前周期不满足所述阈值变更条件时,确定所述当前周期沿用上一周期的目标阈值。
示例性的,对于同一个目标网站,分析服务器无需每个检测周期都重新确定目标阈值,而是只有在目标网站的业务发生变化或爬虫程序的行为发生变化的时候,才重新确定目标阈值。若目标网站的业务发生变化或爬虫程序的行为均未发生变化,则沿用上一个检测的目标阈值。
采用该种方案,分析服务器无需每个检测周期都重新确定目标阈值,降低计算量的同时,提高爬虫检测速度。
接着,阈值分析。
分析服务器根据上述的统计特征,结合传统检测方法无法检测出的爬虫程序(以下简称高级爬虫)的特点,对爬虫程序的数据特点进行定性分析,进而确定出目标阈值。其中,传统检测方法无法检测出的爬虫程序包括自动化框架爬虫等。
传统检测方法无法检测出的爬虫程序具有如下一个或多个特点:
1)访问的URL比较固定。
高级爬虫主要访问几个至几十个固定的URL。当目标网站是WEB站点时,高级爬虫会访问多个静态资源页面以进行伪装。
2)随机插入其他URL。
高级爬虫除了访问固定的URL外,还会随机插入一些其他的URL进行混淆。
3)访问路径包括数据接口或数据页面
高级爬虫访问的URL的访问路径包括数据接口或数据页面,如商品价格界面、订票信息接口等。这些访问路径是攻击者的爬取目标。一次爬取中,会访问多次数据接口或数据页面。
4)时间间隔较为固定。
高级爬虫相邻两次访问目标网站的时间间隔比较固定,随机性较小。但这取决于高级爬虫是否对此进行了特别的优化。
5)每轮爬取之间的时间间隔不固定。
异常IP会进行多轮爬取以最大化利用IP资源,每轮爬取之间的时间间隔不固定。
基于以上所述的高级爬虫的特征,分析服务器对高级爬虫的数据特点进行定性分析,发现高级爬虫(对应异常IP)的流量数据具有如下特点:
Ⅰ)异常IP的访问次数较多,高于平均访问次数;
Ⅱ)异常IP访问的URL种类数较为固定,在一定范围内,且略低于平均种类数;
Ⅲ)访问行为具有重复性,即异常IP的访问次数和URL的种类数的比值高于平均比值;
Ⅳ)异常IP对各URL的访问次数较为平均,即访问各URL次数的方差较小,在一定阈值范围内;
Ⅴ)异常IP访问的URL的访问路径包含关键的数据接口或数据页面;
Ⅵ)高级爬虫具体为自动化框架爬虫时,每轮爬取之后会切换UA或Cookie;
Ⅶ)高级爬虫使用的参数通常比较规律。
基于上述的定性分析,分析服务器利用数据分布模型处理上述的统计特征A~统计特征I,从而确定出所述目标阈值。其中,数据分布模型包括但不限于正态分布模型、泊松分布模型等。分析服务器还可利用启发探索方法等处理统计特征,从而确定出目标阈值。目标阈值包括但不限于如下阈值:
ⅰ)访问次数阈值:大于平均访问次数加上三倍的第一标准差。其中,平均访问次数即为上述的统计特征A。
当目标阈值包括所述访问次数阈值、所述统计特征包括各IP的访问次数的平均值时,分析服务器根据所述各IP的访问次数的方差确定第一标准差,根据所述第一标准差和各IP的访问次数的平均值确定访问次数阈值。
ⅱ)访问的URL的种类数阈值:大于平均种类数减去两倍第二标准差,且小于平均种类数。其中,平均种类数即为上述的统计特征C。
示例性的,当目标阈值包括URL种类数阈值、统计特征包括各IP访问的URL的种类数的平均值时,分析服务器根据所述各IP访问的URL的种类数确定第二标准差,根据第二标准差和所述各IP访问的URL的种类数的平均值确定所述目标阈值。
ⅲ)访问次数与URL种类数的比值:大于平均比值的两倍。其中,平均比值即为上述的统计特征H。
ⅳ)访问各URL的次数的方差:小于20。该阈值通过启发式探索方式得出。
ⅲ)URL信息熵阈值:小于各I P的平均信息熵的0.7倍。倍数关系可灵活设置,此处0.7倍仅是举例。
ⅱ)利用切比雪夫不等式,确定重点cooki e请求头出现概率小于5%的阈值,超过该阈值上下限的值为异常值。
ⅰ)重复次数阈值:可根据上述的统计特征H确定出,例如,当根据历史检测结果判断出目标网站已经受到BOT攻击时,对于每个分组,分析服务器利用该分组的访问次数除以URL种类数,即可得到一个分组的重复次数。之后,分析服务器对各分组的重复次数按照从大到小的顺序排队,从队列中确定出位于3%位置处的分组,将该分组的重复次数作为重复次数阈值。
确定异常I P地址的过程中,将重复次数大于重复次数阈值的I P作为异常I P,将重复次数小于重复次数阈值的IP作为正常I P。
采用该种方案,分析服务器利用数据分布模型处理各统计特征,并得到目标阈值,实现自动、准确确定出目标阈值的目的。
需要说明的是,上述的目标阈值等仅仅是示例性的,实际阈值的确定需要结合目标网站的实际业务和真实流量数据等。例如,假设一个目标网站的正常用户通常会进行一次查票、购票操作,不会超过两次,因此访问次数和URL种类数的比值这一目标阈值设置为大于2即可。该目标阈值对其他网站并不适用。
接着,爬虫检测。
分析服务器确定目标阈值后,对于多个I P中的每个I P,根据该些目标阈值和I P对应的分组特征a-分组特征g,确定I P是否为异常I P。若I P不满足上述目标阈值,则确定该I P为异常I P。例如,I P不满足所有的目标阈值;再如,I P不满足至少一个目标阈值;又如,I P不满足部分目标阈值。具体取决于实际业务场景的需要。
除了上述的数值型的目标阈值外,分析服务器还可以制定一些预设规则。后续判断访问请求是否为自动化框架爬虫发起时,分析服务器接收待检测请求,确定待检测请求是否满足预设规则。当待检测请求满足预设规则时,进一步确定出待检测请求的I P地址,根据预先确定出的异常IP检测持续爬取所述目标网站的爬虫程序。
例如,预设规则包括:待检测请求的URL携带所述目标网站的目标接口或请求访问所述目标网站的首页。若待检测请求的URL满足任意一个条件,则分析服务器进一步的判断待检测请求的IP地址是否为异常IP。若待检测请求的URL不满足任意一个预设规则,则认为待检测请求为正常访问。
另外,预设规则也可以设置在检测服务器上,分析服务器将异常IP下发给检测服务器后。检测服务器每次接收到来自终端设备的待检测请求后,先判断待检测请求是否满足预设规则。若待检测请求满足预设规则,则进一步的判断待检测请求的IP地址是否为异常IP。
采用该种方案,分析服务器结合预设规则和异常IP确定一个IP地址是否为异常IP,进一步的提高爬虫检测的准确性。
最后,防护动作。
分析服务器或检测服务器对待检测请求进行检测。若一个待检测请求为自动化框架爬虫发起的,则对该待检测请求进行防护。防护动作包括但不限于拦截、监控、验证码挑战等。
以检测服务器对待检测请求进行检测为例,检测服务器上部署bot边缘引擎,并周期性的更新异常IP。每次接收到待检测请求后,利用bot边缘引擎对待检测请求进行常规检测,以确定待检测请求是否为常规的低级爬虫。若待检测请求为低级爬虫,则根据低级爬虫的防护策略对待检测请求进行处理。若待检测请求不是低级爬虫发起的,则进一步的判断该待检测请求的IP是否为异常IP。若待检测请求的IP不是异常IP,则说明待检测请求是一个正常访问请求,将其转发给网站服务器。若待检测请求的IP是异常IP,则对待检测请求进行防护处理。防护动作包括但不限于拦截、监控、验证码挑战等。
可选的上述实施例中,分析服务器或检测服务器每次确定出待检测请求的IP是异常IP后,并不立即将待检测请求归类为自动化框架爬虫发起的请求。而是确定待检测请求的次数,即接收到异常IP地址的待检测请求的次数。当次数大于预设次数时,确定所述待检测请求由自动化框架爬虫发起,并对待检测请求进行防护处理。若次数小于或等于预设次数,则认为待检测请求不是自动化框架爬虫发起的,无需对待检测请求进行防护处理。
采用该种方案,分析服务器确定待检测请求是否为自动化框架爬虫发起时,考虑次数,从而避免误判,实现准确确定出爬虫程序的目的。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图4为本申请实施例提供的一种自动化框架爬虫的检测装置的示意图。该自动化框架爬虫的检测装置400包括:收发模块41、分组模块42、处理模块43和检测模块44。
收发模块41,用于周期性获取请求访问目标网站的访问请求以得到流量数据;
分组模块42,用于根据各访问请求的IP地址划分所述流量数据,以得到多个分组,不同分组对应不同的IP地址;
处理模块43,用于对所述多个分组进行特征统计以确定出异常IP;
检测模块44,用于根据所述异常IP检测持续爬取所述目标网站的自动化框架爬虫。
一种可行的实现方式中,所述处理模块43,用于确定所述多个分组中每个分组的分组特征,根据各分组的分组特征,确定统计特征;根据所述统计特征确定目标阈值;根据所述目标阈值从多个IP地址中确定出所述异常IP。
一种可行的实现方式中,所述统计特征包括下述特征中的至少一个:对于每个IP地址对应的分组,所述分组特征包括下述特征中的至少一个:所述IP的访问次数、所述IP访问的URL的种类数、所述IP多次访问的平均访问间隔、所述IP的访问请求的字节数、所述IP访问请求对应的响应报文的字节数、所述IP的UA请求头的种类数、所述IP的Cookie请求头的种类数;所述统计特征包括下述特征中的至少一个:各IP的访问次数的平均值、各IP的访问次数的方差、各IP访问的URL的种类数的平均值、各IP访问的URL的种类数的方差、各IP的访问的时间间隔的均值、时间间隔的方差、时间间隔的中位数、访问次数与URL的种类数的比值的均值、访问次数与URL的种类数的比值的方差。
一种可行的实现方式中,所述处理模块43,用于确定当前周期是否满足阈值变更条件,所述阈值变更条件包括下述条件中的至少一个:所述目标网站的业务变更、所述爬虫程序的行为变化;当所述当前周期满足所述阈值变更条件时,根据所述统计特征,确定所述目标阈值。
一种可行的实现方式中,在所述分组模块42据各访问请求的IP地址划分所述流量数据,以得到多个分组之前,所述处理模块43,还用于根据预设策略从所述流量数据中识别出已知爬虫的爬虫数据;过滤掉所述流量数据中已知爬虫的爬虫数据。
一种可行的实现方式中,所述收发模块41,还用于接收待检测请求;
所述处理模块43,还用于当所述待检测请求的IP地址为所述异常IP时,确定接收到所述待检测请求的次数;
所述检测模块44,用于当所述次数大于预设次数时,确定所述待检测请求由自动化框架爬虫发起。
一种可行的实现方式中,所述收发模块41,还用于接收待检测请求;
所述处理模块43,还用于确定所述待检测请求是否满足预设规则,所述预设规则包括下述条件中的至少一个:携带所述目标网站的目标接口、请求访问所述目标网站的首页;
所述检测模块44,用于当所述待检测请求满足所述预设规则时,根据所述异常IP检测持续爬取所述目标网站的自动化框架爬虫。
本申请实施例提供的自动化框架爬虫的检测装置,可以执行上述实施例中分析服务器的动作,其实现原理和技术效果类似,在此不再赘述。
图5为本申请实施例提供的一种电子设备的结构示意图。该电子设备500例如为上述的分析服务器,该电子设备500包括:
处理器51和存储器52;
所述存储器52存储计算机指令;
所述处理器51执行所述存储器52存储的计算机指令,使得所述处理器51执行如上分析服务器实施的自动化框架爬虫的检测方法。
处理器51的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
可选地,该电子设备500还包括通信部件53。其中,处理器51、存储器52以及通信部件53可以通过总线54连接。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,所述计算机指令被处理器执行时用于实现如上分析服务器实施的自动化框架爬虫的检测方法。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包含计算机程序,计算机程序被处理器执行时实现如上分析服务器实施的自动化框架爬虫的检测方法。
本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (10)
1.一种自动化框架爬虫的检测方法,其特征在于,包括:
周期性获取请求访问目标网站的访问请求以得到流量数据;
根据各访问请求的IP地址划分所述流量数据,以得到多个分组,不同分组对应不同的IP地址;
对所述多个分组进行特征统计以确定出异常IP;
根据所述异常IP检测持续爬取所述目标网站的自动化框架爬虫。
2.根据权利要求1所述的方法,其特征在于,所述对所述多个分组进行特征统计以确定出异常IP,包括:
确定所述多个分组中每个分组的分组特征;
根据各分组的分组特征,确定统计特征;
根据所述统计特征确定目标阈值;
根据所述目标阈值从多个IP地址中确定出所述异常IP。
3.根据权利要求2所述的方法,其特征在于,
对于每个IP地址对应的分组,所述分组特征包括下述特征中的至少一个:所述IP的访问次数、所述IP访问的URL的种类数、所述IP多次访问的平均访问间隔、所述IP的访问请求的字节数、所述IP访问请求对应的响应报文的字节数、所述IP的UA请求头的种类数、所述IP的Cookie请求头的种类数;
所述统计特征包括下述特征中的至少一个:各IP的访问次数的平均值、各IP的访问次数的方差、各IP访问的URL的种类数的平均值、各IP访问的URL的种类数的方差、各IP的访问的时间间隔的均值、时间间隔的方差、时间间隔的中位数、访问次数与URL的种类数的比值的均值、访问次数与URL的种类数的比值的方差。
4.根据权利要求2所述的方法,其特征在于,所述根据所述统计特征确定目标阈值,包括:
当所述统计特征包括各IP的访问次数的平均值时,根据所述各IP的访问次数的方差确定第一标准差,根据所述第一标准差和各IP的访问次数的平均值确定访问次数阈值,所述目标阈值包括所述访问次数阈值;
当所述统计特征包括各IP访问的URL的种类数的平均值时,根据所述各IP访问的URL的种类数确定第二标准差,根据所述标准差和所述各IP访问的URL的种类数的平均值确定所述目标阈值。
5.根据权利要求2所述的方法,其特征在于,所述根据所述统计特征确定目标阈值,包括:
确定当前周期是否满足阈值变更条件,所述阈值变更条件包括下述条件中的至少一个:所述目标网站的业务变更、所述自动化框架爬虫的行为变化;
当所述当前周期满足所述阈值变更条件时,根据所述统计特征,更新所述目标阈值。
6.根据权利要求1~5任一项所述的方法,其特征在于,所述根据各访问请求的IP地址划分所述流量数据,以得到多个分组之前,还包括:
根据预设策略从所述流量数据中识别出已知爬虫的爬虫数据;
过滤掉所述流量数据中已知爬虫的爬虫数据。
7.根据权利要求1~5任一项所述的方法,其特征在于,所述根据所述异常IP检测持续爬取所述目标网站的自动化框架爬虫,包括:
接收待检测请求;
当所述待检测请求的IP地址为所述异常IP时,确定接收到所述待检测请求的次数;
当所述次数大于预设次数时,确定所述待检测请求由自动化框架爬虫发起。
8.根据权利要求1~5任一项所述的方法,其特征在于,所述根据所述异常IP检测持续爬取所述目标网站的自动化框架爬虫,包括:
接收待检测请求;
确定所述待检测请求是否满足预设规则,所述预设规则包括下述条件中的至少一个:携带所述目标网站的目标接口、请求访问所述目标网站的首页;
当所述待检测请求满足所述预设规则时,根据所述异常IP检测持续爬取所述目标网站的自动化框架爬虫。
9.一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时使得所述电子设备实现如权利要求1至8任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310259522.2A CN116471047A (zh) | 2023-03-16 | 2023-03-16 | 自动化框架爬虫的检测方法、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310259522.2A CN116471047A (zh) | 2023-03-16 | 2023-03-16 | 自动化框架爬虫的检测方法、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116471047A true CN116471047A (zh) | 2023-07-21 |
Family
ID=87181402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310259522.2A Pending CN116471047A (zh) | 2023-03-16 | 2023-03-16 | 自动化框架爬虫的检测方法、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116471047A (zh) |
-
2023
- 2023-03-16 CN CN202310259522.2A patent/CN116471047A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8356001B2 (en) | Systems and methods for application-level security | |
US9154516B1 (en) | Detecting risky network communications based on evaluation using normal and abnormal behavior profiles | |
EP1665011B1 (en) | Method and system for displaying network security incidents | |
US8191149B2 (en) | System and method for predicting cyber threat | |
US20180309772A1 (en) | Method and device for automatically verifying security event | |
CN107465648B (zh) | 异常设备的识别方法及装置 | |
CN114679338A (zh) | 一种基于网络安全态势感知的网络风险评估方法 | |
US11269995B2 (en) | Chain of events representing an issue based on an enriched representation | |
US20100162350A1 (en) | Security system of managing irc and http botnets, and method therefor | |
CN111600865B (zh) | 一种异常通信检测方法、装置及电子设备和存储介质 | |
CN1297101C (zh) | 检测拒绝服务攻击的方法 | |
US20180183819A1 (en) | System to detect machine-initiated events in time series data | |
CN114244564A (zh) | 攻击防御方法、装置、设备及可读存储介质 | |
CN112217777A (zh) | 攻击回溯方法及设备 | |
CN114357447A (zh) | 攻击者威胁评分方法及相关装置 | |
Rahman | Detection of distributed denial of service attacks based on machine learning algorithms | |
US20240171598A1 (en) | Systems and methods for prioritizing url review for sandboxing based on accelerated velocities of url features in network traffic | |
CN114257403A (zh) | 误报检测方法、设备及可读存储介质 | |
CN113765850B (zh) | 物联网异常检测方法、装置、计算设备及计算机存储介质 | |
Garcia-Lebron et al. | A framework for characterizing the evolution of cyber attacker-victim relation graphs | |
CN116471047A (zh) | 自动化框架爬虫的检测方法、设备及可读存储介质 | |
Ling et al. | Real-time Detection of DDoS Attacks Based on Hurst Index | |
TW202205116A (zh) | 察覺惡意攻擊的方法及網路安全管理裝置 | |
Hiruta et al. | Ids alert priority determination based on traffic behavior | |
Sood et al. | SlowTrack: detecting slow rate Denial of Service attacks against HTTP with behavioral parameters |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |