CN101902438A - 一种自动识别网页爬虫的方法和装置 - Google Patents
一种自动识别网页爬虫的方法和装置 Download PDFInfo
- Publication number
- CN101902438A CN101902438A CN2009100847017A CN200910084701A CN101902438A CN 101902438 A CN101902438 A CN 101902438A CN 2009100847017 A CN2009100847017 A CN 2009100847017A CN 200910084701 A CN200910084701 A CN 200910084701A CN 101902438 A CN101902438 A CN 101902438A
- Authority
- CN
- China
- Prior art keywords
- web
- distance host
- page requests
- time interval
- spiders
- 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.)
- Granted
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种自动识别网页爬虫的方法和装置;装置包括:获取单元,用于获取一段时间内远程主机到Web服务器的网页请求;判断单元,用于判断各相邻网页请求的时间间隔是否大于或等于一预定的相邻网页请求时间间隔阈值δ;识别单元,用于根据各判断结果是否满足预设条件,来判断所述远程主机的操作是否为网络爬虫。本发明可以快速检测出各种类型的网页爬虫,从而为后续的安全响应提供了宝贵的响应时间。
Description
技术领域
本发明涉及网络安全技术领域,尤其涉及一种自动识别网页爬虫的方法和装置。
背景技术
由于Web服务的方便性和易用性,目前越来越多的网络业务从传统采用专用客户端和专用服务器模式(C/S模式)转移到了采用标准Web浏览器作为客户端的浏览器和Web服务器模式(B/S模式)。这些采用了B/S模式的网络业务一般被称为Web应用系统。Web应用系统在给人们带来方便的同时,也带来了很多安全问题,比较常见的安全问题包括网页木马病毒、SQL注入攻击、XSS攻击等。Web应用系统的这些安全问题存在的根源大多是因为Web应用系统本身存在程序代码上的缺陷,引入了Web安全漏洞,从而使得黑客有机可乘。
网络攻击者攻击一个Web应用系统(有时候也成为一个Web网站)时,首先需要对整个Web应用系统进行漏洞扫描,找到可以攻击利用的Web安全漏洞,然后对这个漏洞进行攻击,从而达到其恶意目的。对于一个全新的Web应用系统,网络攻击者需要采取网页爬虫技术对该Web应用系统进行扫描,找到所有可能存在安全问题的网页,然后对该网页进行攻击尝试,从而确认该网页是否存在漏洞。
发明内容
本发明要解决的技术问题是提供一种自动识别网页爬虫的方法和装置,可以快速检测出各种类型的网页爬虫,从而为后续的安全响应提供了宝贵的响应时间。
为了解决上述问题,本发明提供了一种自动识别网页爬虫的方法,包括
获取一段时间内远程主机到Web服务器的网页请求,判断各相邻网页请求的时间间隔是否大于或等于一预定的相邻网页请求时间间隔阈值δ,根据各判断结果是否满足预设条件,来判断所述远程主机的操作是否为网络爬虫。
进一步地,所述的方法具体包括以下步骤:
A1、收集一段时间内远程主机到Web服务器的网页请求序列;
A2、计算所述网页请求序列W中各相邻网页请求之间的时间间隔;
A3、分别判断各时间间隔是否大于或等于预先设定的相邻网页请求时间间隔阈值δ,如果是则将此时间间隔对应的事件元素ei记为0,否则记为1;各时间间隔对应的事件元素ei组成一个基本事件序列E;
A4、用所述基本事件序列E分别匹配假设H0和H1,其中H0表示远程主机的操作为正常网页浏览行为,H1表示远程主机的操作为网页爬虫;如果所述基本事件序列E匹配假设H1的程度,与基本事件序列E匹配假设H0的程度之间的差距大于一程度阈值,则判定远程主机的操作为网页爬虫,否则为正常网页浏览行为。
进一步地,所述步骤A4包括:
A41、提出两个假设H0和H1,其中H0表示远程主机的操作为正常网页浏览行为,H1表示远程主机的操作为网页爬虫;
A42、设定正常网页浏览过程中产生的两个相邻网页请求之间的时间间隔大于或等于δ的概率Pr[ei=0|H0]为θ0,小于δ的概率Pr[ei=1|H0]为1-θ0,设定网页爬虫过程中产生的两个相邻网页请求之间的时间间隔大于等于δ的概率Pr[ei=0|H1]为θ1,小于δ的概率Pr[ei=1|H1]为1-θ1;θ0>θ1,且条件随机变量ei|Hi满足独立同分布;
A43、计算在两个假设H0和H1下产生基本事件序列E的似然比V(E):
A44、将V(E)分别与两个固定阈值η0和η1比较。其中η0<η1:如果V(E)≥η1,则判定远程主机的操作为网页爬虫;如果V(E)≤η0,则判定远程主机的操作为正常网页浏览。
进一步地,所述步骤A44中:
当从远程主机到Web服务器的连续m个网页请求都满足相邻网页请求时间间隔大于或等于网页请求时间间隔阈值δ时,得到所述阈值η0:
当从远程主机到Web服务器的连续m个网页请求都满足相邻网页请求时间间隔小于网页请求时间间隔阈值δ时,得到所述阈值η1:
其中,m为正整数。
进一步地,所述δ为1秒、2秒或3秒;
当δ为3秒时,所述θ0和θ1分别为0.6和0.4。
本发明还提供了一种自动识别网页爬虫的装置,包括:
获取单元,用于获取一段时间内远程主机到Web服务器的网页请求;
判断单元,用于判断各相邻网页请求的时间间隔是否大于或等于一预定的相邻网页请求时间间隔阈值δ;
识别单元,用于根据各判断结果是否满足预设条件,来判断所述远程主机的操作是否为网络爬虫。
进一步地,所述判断单元包括:
计算模块,用于计算所述网页请求序列W中各相邻网页请求之间的时间间隔;
记录模块,用于分别判断各时间间隔是否大于或等于预先设定的相邻网页请求时间间隔阈值δ,如果是则将此时间间隔对应的事件元素ei记为0,否则记为1;得到包括各时间间隔对应的事件元素ei的一基本事件序列E;
所述识别单元根据各判断结果是否满足预设条件,来判断所述远程主机的操作是否为网络爬虫是指:
所述识别单元用所述基本事件序列E分别匹配假设H0和H1,其中H0表示远程主机r的操作为正常网页浏览行为,H1表示远程主机r的操作为网页爬虫;如果所述基本事件序列E匹配假设H1的程度,与基本事件序列E匹配假设H0的程度之间的差距大于一程度阈值,则判定远程主机r的操作为网页爬虫,否则为正常网页浏览行为。
进一步地,所述识别单元包括:
假设模块,用于提出两个假设H0和H1,其中H0表示远程主机r的操作为正常网页浏览行为,H1表示远程主机r的操作为网页爬虫;
设定模块,用于设定正常网页浏览过程中产生的两个相邻网页请求之间的时间间隔大于或等于δ的概率Pr[ei=0|H0]为θ0,小于δ的概率Pr[ei=1|H0]为1-θ0,设定网页爬虫过程中产生的两个相邻网页请求之间的时间间隔大于等于δ的概率Pr[ei=0|H1]为θ1,小于δ的概率Pr[ei=1|H1]为1-θ1;θ0>θ1,且条件随机变量ei|Hj满足独立同分布;
似然比计算模块,用于计算在两个假设H0和H1下产生基本事件序列E的似然比V(E):
判决模块,用于将V(E)分别与两个固定阈值η0和η1比较,其中η0<η1:如果V(E)≥η1,则判定远程主机r的操作为网页爬虫;如果V(E)≤η0,则判定远程主机r的操作为正常网页浏览。
进一步地,所述识别单元还包括:
阈值设置模块,用于设置所述固定阈值η0和η1;当从远程主机r到Web服务器s的连续m个网页请求都满足相邻网页请求时间间隔大于或等于网页请求时间间隔阈值δ时,得到所述阈值η0:
当从远程主机r到Web服务器s的连续m个网页请求都满足相邻网页请求时间间隔小于网页请求时间间隔阈值δ时,得到所述阈值η1:
其中,m为正整数。
进一步地,所述δ为1秒、2秒或3秒;
当δ为3秒时,所述θ0和θ1分别为0.6和0.4。
本发明提出对攻击前期准备活动进行识别的思想,以在攻击开始前就能做好防御准备,或是中止攻击准备活动,从而增强了网络的安全可靠性;为了识别攻击前期准备活动,本发明根据网页请求的时间间隔来识别网页爬虫,其优化方案采用严谨的数学模型,可以简单、快速地检测出各种类型的网页爬虫,并且适用性强,能够为后续的安全响应提供宝贵的响应时间。
附图说明
图1为实施例一中自动识别网页爬虫的方法的流程示意图;
图2为实施例一中自动识别网页爬虫的方法中步骤A4的流程示意图。
具体实施方式
下面将结合附图及实施例对本发明的技术方案进行更详细的说明。
本发明的提出是基于以下思想:
从Web防御者的角度看,如果在网络攻击者扫描Web应用系统的初期就能够识别出采取网页爬虫技术对Web应用系统进行扫描这种异常行为,那么就可以对黑客的攻击做出及时的响应,比如阻止黑客的网页爬虫对该Web应用系统的进一步扫描行为,或者记录其后续的Web访问行为,并对其发起的Web攻击进行防御。
网页爬虫为一个自动运行的软件模块,它自动从Web应用系统上下载网页,然后自动分析网页中的超级链接,然后根据提取出的超级链接自动获取下一级网页,直到整个Web应用系统的网页都被下载完为止。由于网页爬虫完全模拟了人的网页浏览行为,因此,要准确识别网页爬虫存在很大的困难。
而本发明的技术方案通过观察一段时间内从某远程主机r与某Web服务器s之间的网页请求序列来判定该远程主机r的操作是否为网页爬虫;通过分析相邻两个网页请求之间的时间间隔来区分正常网页浏览行为和自动网页爬虫行为,主要依据是:人工浏览网页时,从一个Web网页切换到另一个Web网页需要比较长的时间,一般情况下大于2秒,而网页爬虫从一个网页切换到另一个网页是自动的,切换时间明显比手工网页切换短。
基于所收集的从远程主机r到Web服务器之间的网页请求序列来分析远程主机r的网页切换行为,采用序列假设检验方法,首先提出两个假设H0和H1,其中H0表示远程主机r的操作为正常网页浏览行为,H1表示远程主机r的操作为网页爬虫,然后基于所观察到的网页切换行为来检验哪个假设成立,当发现假设H1成立时,则判定远程主机r的操作为网页爬虫。
实施例一,一种自动识别网页爬虫的方法,基于所观察到的网页请求序列来判定远程主机r的操作是否为网页爬虫,包括:
获取一段时间内远程主机r到Web服务器s的网页请求,判断各相邻网页请求的时间间隔是否大于或等于一预定的相邻网页请求时间间隔阈值δ,根据各判断结果是否满足预设条件,来判断所述远程主机r的操作是否为网络爬虫。
如图1所示,所述方法具体包括以下步骤:
A1、收集一段时间内远程主机r到Web服务器s的网页请求序列;
A2、对收集到的从远程主机r到Web服务器s的包含n个网页请求的网页请求序列W(序列中各元素用wi表示,其中i取值为1到n的各整数,包括1和n),计算相邻两个网页请求之间的时间间隔,得到一个包含(n-1)个元素的相邻网页请求时间间隔序列T(序列中各元素用ti表示,其中i取值为1到n-1的各整数,包括1和n-1);
A3、根据预先设定的相邻网页请求时间间隔阈值δ,对步骤A2中得到的相邻网页请求时间间隔序列T中各元素ti进行分析,得到一个包含(n-1)个元素的基本事件序列E(序列中各元素用ei表示,其中i取值为1到n-1的各整数,包括1和n-1),其中,基本事件序列E中各元素ei按如下方法确定:如果ti≥δ,则ei=0,否则ei=1;
A4、提出两个假设H0和H1,用所述基本事件序列E分别匹配H0和H1;其中H0表示远程主机r的操作为正常网页浏览行为,H1表示远程主机r的操作为网页爬虫;采用步骤A3中得到的基本事件序列E对这两个假设进行检验,预设条件为基本事件序列E明显支持假设H1,当满足该预设条件时,则判定该远程主机的操作为网页爬虫。
这里所说的明显支持可以是指:基本事件序列E匹配假设H1的程度,与基本事件序列E匹配假设H0的程度之间的差距大于一程度阈值。所述程度可以是概率、相似度等,所述的差距可以是比值、差值等。
实际应用时,也可以直接根据各判断结果来识别网络爬虫,比如预设一条件为基本事件序列E中等于0的ei的个数大于E中等于1的ei的个数,当各判断结果满足该预设条件时,判断所述远程主机r的操作为正常主机,否则为网络爬虫;再比如预设一条件为基本事件序列E中等于0的ei的个数与E中总元素个数的比值小于一比例阈值,当当各判断结果满足该预设条件时,判断所述远程主机r的操作为网络爬虫,否则为正常主机。
本实施例中,步骤A1需要收集一段时间内由远程主机r到Web服务器s的所有一次成功的网页请求。这里所说的一次成功的网页请求过程是指:远程主机r首先向Web服务器s发送一个网页请求消息,请求指定的网页;Web服务器s接收到该网页请求消息后,取出所请求的网页然后发送给远程主机r;如果所请求的网页为一个动态网页,则Web服务器s需要首先执行相应的外部程序才能够获取的远程主机r所需要的网页。
值得注意的是:目前常见的网页都为多媒体网页,它同时包括文字和图像,一次成功的网页请求将同时包括对一个HTML文件对象和多个相关图片对象的获取,因此,一次成功的网页请求将包括远程主机r和Web服务器s之间的多个HTTP请求消息的发送和响应(并且这些HTTP请求消息可能是同时发送的),但这些HTTP请求消息中只有一个是用来获取HTML文件对象的。
因此,本发明所述方法在收集从远程主机r到Web服务器s的网页请求时不能简单的将远程主机r和Web服务器s之间的单次HTTP请求和相关响应看成为一次成功的网页请求,而必须检查HTTP响应消息头部的Content-Type协议字段来判定其获取的对象的类型。根据公知的HTTP协议规范知道,如果某HTTP请求消息目的是获取HTML文件对象,那么相关的HTTP响应消息头部的Content-Type字段取值为”text/html”。因此,本实施例中,在收集从远程主机r到Web服务器s的网页请求时,只考虑将那些HTTP响应消息头部Content-Type字段取值为”text/html”的单次HTTP请求消息和响应消息看成一次成功的网页请求,以避免将从远程主机r到Web服务器s的图片对象获取也当作一次网页请求。
假设步骤A1在指定时间段内收集了从远程主机r到Web服务器s的n个网页请求,这n个网页请求将构成一个网页请求序列W(W中各元素用wi表示,其中i取值为从1到n的各整数,包括1和n-1),按照步骤A2,下面基于该网页请求序列W计算相邻网页请求时间间隔序列T:假设网页请求序列W中每个网页请求wi的发生时间为则相邻的两个网页请求wi和wi+1之间的时间间隔为因此,相邻网页请求时间间隔序列T中各元素其中i取值为从1到(n-1)的各整数的各整数,包括1和n-1。
本实施例中,步骤A3需要基于相邻网页请求时间间隔序列T生成基本事件序列E。这里需要预先设定相邻网页请求时间间隔阈值δ,以判定两个相邻的网页请求是否为网页爬虫发出还是由正常网页浏览行为发出。这个相邻网页请求时间间隔阈值δ从经验数据中获得。通过对正常Web网页浏览行为发出的相邻两个网页请求之间的时间间隔观察发现,在多数情况下,其相邻网页请求时间间隔为3至8秒;而通过对目前常见的网站扫描工具中网页爬虫所发出的相邻两个网页请求时间间隔的观察发现,在多数情况下,其相邻网页请求时间间隔为小于1秒钟。因此,在本发明方法实施过程中,可以取相邻网页请求时间间隔阈值δ为1秒、2秒或3秒。
在确定了相邻网页请求时间间隔阈值δ后,步骤A3中由相邻网页请求时间间隔序列T生成基本事件序列E的过程如下:对相邻网页请求时间间隔序列T中各元素ti进行分析,如果ti≥δ,则基本事件序列E中对应元素ei=0,否则ei=1。
本实施例中,步骤A4采用序列假设检验方法对基本事件序列E进行分析,从而判定远程主机r的操作是否为网页爬虫,具体步骤如图2所示,包括:
A41、提出两个假设H0和H1,其中H0表示远程主机r的操作为正常网页浏览行为,H1表示远程主机r的操作为网页爬虫;
A42、设定正常网页浏览过程中产生的两个相邻网页请求之间的时间间隔大于或等于δ的概率为θ0,即Pr[ei=0|H0]=θ0,小于δ的概率为1-θ0,即Pr[ei=1|H0]=1-θ0;设定网页爬虫过程中产生的两个相邻网页请求之间的时间间隔大于等于δ的概率为θ1,即Pr[ei=0|H1]=θ1,小于δ的概率为1-θ1,即Pr[ei=1|H1]=1-θ1;假设θ0>θ1,且条件随机变量ei|Hj满足独立同分布;
A43、计算在两个假设H0和H1下产生基本事件序列E的似然比V(E);
A44、给定两个固定阈值η0和η1(其中η0<η1),将V(E)分别与η0和η1比较:如果V(E)≥η1,则判定远程主机r的操作为网页爬虫;如果V(E)≤η0,则判定远程主机r的操作为正常网页浏览;如果η0<V(E)<η1,则需要继续观察从远程主机r到Web服务器s的网页请求才能做出判定,此时可以继续收集一段时间网页请求,然后与原先收集的网页请求集中在一起,返回步骤A2执行。
本实施例中,步骤A41中提出了两个假设H0,和H1,其中H0表示远程主机r的操作为正常网页浏览行为,H1表示远程主机r的操作为网页爬虫。然后本实施例通过所观察到的基本事件序列E来判定哪个假设成立的可能性更大。
本实施例中,步骤A42中假设θ0>θ1,这意味着正常网页浏览过程中产生两个相邻的时间间隔大于或等于δ的网页请求的概率比网页爬虫要大,这正是本实施例区分正常网页浏览行为和网页爬虫行为的关键所在;θ0和θ1的值可以根据经验值或试验,结合δ的大小确定;当δ取为不同的值时,θ0和θ1的值也会变化。
本实施例中,步骤A43中计算基本事件序列E在两个假设H0和H1下的似然比V(E)时,采用了上述计算公式,其主要依据是,条件随机变量ei|Hj满足独立同分布。
其中,步骤A44中需要预先给定两个固定阈值η0和η1(其中η0<η1)。其中,下限阈值η0用来判定远程主机r的操作是否为正常网页浏览行为,作为上限的所述阈值η1用来判定远程主机r的操作是否为网页爬虫行为。
在具体实施过程中,可以采用如下方法估计作为下限的阈值η0和作为上限的阈值η1:假设只要观测到从远程主机r到Web服务器s的连续m个网页请求都满足相邻网页请求时间间隔大于或等于网页请求时间间隔阈值δ就可以判定远程主机r的操作为正常网页行为,则所述阈值η0可以取值为:
假设只要观测到从远程主机r到Web服务器s的连续m个网页请求都满足相邻网页请求时间间隔小于网页请求时间间隔阈值δ就可以判定远程主机r的操作为网页爬虫,则所述阈值η1可以取值为:
其中,m为正整数,其取值可以根据实际情况设定,并且得到η0和η1时,m可以取相同值,也可以取不同值;η0和η1也可以直接根据实际经验或试验来确定。
下面用几个具体的例子进一步加以说明:
在几个例子中,假设用来区分手工网页切换和自动网页切换行为的相邻网页请求时间间隔阈值δ取值为3秒(3000毫秒);假设正常网页浏览过程中产生的两个相邻网页之间的时间请求间隔大于或等于3秒的概率为0.6,那么,其产生的两个相邻网页之间的时间请求间隔小于3秒的概率为0.4;假设网页爬虫产生的两个相邻网页之间的时间请求间隔大于或等于3秒的概率为0.4,那么,其产生的两个相邻网页之间的时间请求间隔小于3秒的概率为0.6;假设只要观测到从远程主机r到Web服务器s的连续5个网页请求都满足“相邻网页请求时间间隔大于等于网页请求时间间隔阈值δ”这个条件就可以判定远程主机r的操作为正常网页浏览行为(即m=5),则所述阈值η0设置为(0.4/0.6)^5=0.132;假设只要观测到从远程主机r到Web服务器s的连续5个网页请求都满足“相邻网页请求时间间隔小于网页请求时间间隔阈值δ”这个条件就可以判定远程主机r的操作为网页爬虫,则所述阈值η1设置为(0.6/0.4)^5=7.59。
例1
假设根据网页爬虫自动识别方法步骤A1,收集到了从远程主机r到Web服务器s的10个网页请求,这10网页请求的发起时间如表1所示。
表1
根据网页爬虫自动识别方法步骤A2,计算得到元素个数为9的相邻网页请求时间间隔序列T如表2所示。
表2
根据步骤网页爬虫自动识别方法步骤A3以及预先设定的相邻网页时间间隔阈值δ=3000毫秒,得到如表3所示的基本事件序列E。
表3
根据步骤网页爬虫自动识别方法步骤A4以及预先设定的下限阈值η0为0.132和上限阈值η1为7.59,首先按照子步骤A43计算基本事件序列E的似然比:
V(E)=(0.4/0.6)*(0.6/0.4)*(0.4/0.6)*(0.4/0.6)*(0.4/0.6)*(0.4/0.6)*(0.4/0.6)*(0.6/0.4)*(0.4/0.6)=0.131,它小于下限阈值η0(其值为0.132),因此,判定该远程主机r的操作为正常网页浏览行为。
例2
假设根据网页爬虫自动识别方法步骤A1,收集到了从远程主机r到Web服务器s的10个网页请求,这10网页请求的发起时间如表4所示。
表4
网页请求序号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
发起时间(毫秒) | 0 | 3600 | 3710 | 3880 | 7820 | 7900 | 7920 | 8010 | 8120 | 8260 |
根据网页爬虫自动识别方法步骤A2,计算得到元素个数为9的相邻网页请求时间间隔序列T如表5所示。
表5
元素序号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
相邻请求间隔(毫秒) | 3600 | 110 | 170 | 3940 | 80 | 20 | 90 | 110 | 140 |
根据步骤网页爬虫自动识别方法步骤A.3以及预先设定的相邻网页时间间隔阈值δ=3000毫秒,得到如表6所示的基本事件序列E。
表6
元素序号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
相邻请求间隔(毫秒) | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 |
根据步骤网页爬虫自动识别方法步骤A.4以及预先设定的下限阈值η0为0.132和上限阈值η1为7.59,首先按照子步骤A.4.3计算基本事件序列E的似然比V(E)=(0.4/0.6)*(0.6/0.4)*(0.6/0.4)*(0.4/0.6)*(0.6/0.4)*(0.6/0.4)*(0.6/0.4)*(0.6/0.4)*(0.6/0.4)=7.60,它大于等于上限阈值η1(其值为7.59),因此,判定该远程主机r的操作为网页爬虫。
例3
假设根据网页爬虫自动识别方法步骤A.1,收集到了从远程主机r到Web服务器s的10个网页请求,这10网页请求的发起时间如表7所示。
表7
根据网页爬虫自动识别方法步骤A.2,计算得到元素个数为9的相邻网页请求时间间隔序列T如表8所示。
表8
元素序号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
相邻请求间隔(毫秒) | 3600 | 4110 | 170 | 9940 | 2080 | 8020 | 2090 | 8110 | 1140 |
根据步骤网页爬虫自动识别方法步骤A.3以及预先设定的相邻网页时间间隔阈值δ=3000毫秒,得到如表9所示的基本事件序列E。
表9
元素序号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
相邻请求间隔(毫秒) | 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
根据步骤网页爬虫自动识别方法步骤A.4以及预先设定的下限阈值η0为0.132和上限阈值η1为7.59,首先按照子步骤A.4.3计算基本事件序列E的似然比V(E)=(0.4/0.6)*(0.4/0.6)*(0.6/0.4)*(0.4/0.6)*(0.6/0.4)*(0.4/0.6)*(0.6/0.4)*(0.4/0.6)*(0.6/0.4)=0.67,它位于下限阈值η0(其值为0.132)和上限阈值η1(其值为7.59)之间,因此,无法判定该远程主机r的操作是否为正常网络访问行为还是网页爬虫,需要进一步观察其网页请求。
实施例二,一种自动识别网页爬虫的装置,包括:
获取单元,用于获取一段时间内远程主机到Web服务器的网页请求;
判断单元,用于判断各相邻网页请求的时间间隔是否大于或等于一预定的相邻网页请求时间间隔阈值δ;
识别单元,用于根据各判断结果是否满足预设条件,来判断所述远程主机的操作是否为网络爬虫。
本实施例中,所述判断单元包括:
计算模块,用于计算所述网页请求序列W中各相邻网页请求之间的时间间隔;
记录模块,用于分别判断各时间间隔是否大于或等于预先设定的相邻网页请求时间间隔阈值δ,如果是则将此时间间隔对应的事件元素ei记为0,否则记为1;得到包括各时间间隔对应的事件元素ei的一基本事件序列E;
所述识别单元根据各判断结果是否满足预设条件,来判断所述远程主机的操作是否为网络爬虫是指:
所述识别单元用所述基本事件序列E分别匹配假设H0和H1,其中H0表示远程主机r的操作为正常网页浏览行为,H1表示远程主机r的操作为网页爬虫;如果所述基本事件序列E匹配假设H1的程度,与基本事件序列E匹配假设H0的程度之间的差距大于一程度阈值,则判定远程主机r的操作为网页爬虫,否则为正常网页浏览行为。
本实施例中,所述识别单元包括:
假设模块,用于提出两个假设H0和H1,其中H0表示远程主机r的操作为正常网页浏览行为,H1表示远程主机r的操作为网页爬虫;
设定模块,用于设定正常网页浏览过程中产生的两个相邻网页请求之间的时间间隔大于或等于δ的概率Pr[ei=0|H0]为θ0,小于δ的概率Pr[ei=1|H0]为1-θ0,设定网页爬虫过程中产生的两个相邻网页请求之间的时间间隔大于等于δ的概率Pr[ei=0|H1]为θ1,小于δ的概率Pr[ei=1|H1]为1-θ1;θ0>θ1,且条件随机变量ei|Hj满足独立同分布;
似然比计算模块,用于计算在两个假设H0和H1下产生基本事件序列E的似然比V(E):
判决模块,用于将V(E)分别与两个固定阈值η0和η1比较,其中η0<η1:如果V(E)≥η1,则判定远程主机r的操作为网页爬虫;如果V(E)≤η0,则判定远程主机r的操作为正常网页浏览。
本实施例中,所述识别单元还包括:
阈值设置模块,用于设置所述固定阈值η0和η1;当从远程主机r到Web服务器s的连续m个网页请求都满足相邻网页请求时间间隔大于或等于网页请求时间间隔阈值δ时,得到所述阈值η0:
当从远程主机r到Web服务器s的连续m个网页请求都满足相邻网页请求时间间隔小于网页请求时间间隔阈值δ时,得到所述阈值η1:
其中,m为正整数;阈值设置模块可以借助所述获取单元获取网页请求,借助所述判断单元进行判断,并对判断结果进行计数,如果连续m个网页请求都满足相邻网页请求时间间隔小于(或大于、等于)网页请求时间间隔阈值δ,则计算所述阈值η1(或η0);当然也可以直接获取网页请求和判断。
其他实现细节可以同实施例一。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明的权利要求的保护范围。
Claims (10)
1.一种自动识别网页爬虫的方法,包括
获取一段时间内远程主机到Web服务器的网页请求,判断各相邻网页请求的时间间隔是否大于或等于一预定的相邻网页请求时间间隔阈值δ,根据各判断结果是否满足预设条件,来判断所述远程主机的操作是否为网络爬虫。
2.如权利要求1所述的方法,其特征在于,具体包括以下步骤:
A1、收集一段时间内远程主机到Web服务器的网页请求序列;
A2、计算所述网页请求序列W中各相邻网页请求之间的时间间隔;
A3、分别判断各时间间隔是否大于或等于预先设定的相邻网页请求时间间隔阈值δ,如果是则将此时间间隔对应的事件元素ei记为0,否则记为1;各时间间隔对应的事件元素ei组成一个基本事件序列E;
A4、用所述基本事件序列E分别匹配假设H0和H1,其中H0表示远程主机的操作为正常网页浏览行为,H1表示远程主机的操作为网页爬虫;如果所述基本事件序列E匹配假设H1的程度,与基本事件序列E匹配假设H0的程度之间的差距大于一程度阈值,则判定远程主机的操作为网页爬虫,否则为正常网页浏览行为。
3.如权利要求2所述的方法,其特征在于,所述步骤A4包括:
A41、提出两个假设H0和H1,其中H0表示远程主机的操作为正常网页浏览行为,H1表示远程主机的操作为网页爬虫;
A42、设定正常网页浏览过程中产生的两个相邻网页请求之间的时间间隔大于或等于δ的概率Pr[ei=0|H0]为θ0,小于δ的概率Pr[ei=1|H0]为1-θ0,设定网页爬虫过程中产生的两个相邻网页请求之间的时间间隔大于等于δ的概率Pr[ei=0|H1]为θ1,小于δ的概率Pr[ei=1|H1]为1-θ1;θ0>θ1,且条件随机变量ei|Hj满足独立同分布;
A43、计算在两个假设H0和H1下产生基本事件序列E的似然比V(E):
A44、将V(E)分别与两个固定阈值η0和η1比较。其中η0<η1:如果V(E)≥η1,则判定远程主机的操作为网页爬虫;如果V(E)≤η0,则判定远程主机的操作为正常网页浏览。
4.如权利要求3所述的方法,其特征在于,所述步骤A44中:
当从远程主机到Web服务器的连续m个网页请求都满足相邻网页请求时间间隔大于或等于网页请求时间间隔阈值δ时,得到所述阈值η0:
当从远程主机到Web服务器的连续m个网页请求都满足相邻网页请求时间间隔小于网页请求时间间隔阈值δ时,得到所述阈值η1:
其中,m为正整数。
5.如权利要求3或4所述的方法,其特征在于:
所述δ为1秒、2秒或3秒;
当δ为3秒时,所述θ0和θ1分别为0.6和0.4。
6.一种自动识别网页爬虫的装置,其特征在于,包括:
获取单元,用于获取一段时间内远程主机到Web服务器的网页请求;
判断单元,用于判断各相邻网页请求的时间间隔是否大于或等于一预定的相邻网页请求时间间隔阈值δ;
识别单元,用于根据各判断结果是否满足预设条件,来判断所述远程主机的操作是否为网络爬虫。
7.如权利要求6所述的装置,其特征在于,所述判断单元包括:
计算模块,用于计算所述网页请求序列W中各相邻网页请求之间的时间间隔;
记录模块,用于分别判断各时间间隔是否大于或等于预先设定的相邻网页请求时间间隔阈值δ,如果是则将此时间间隔对应的事件元素ei记为0,否则记为1;得到包括各时间间隔对应的事件元素ei的一基本事件序列E;
所述识别单元根据各判断结果是否满足预设条件,来判断所述远程主机的操作是否为网络爬虫是指:
所述识别单元用所述基本事件序列E分别匹配假设H0和H1,其中H0表示远程主机r的操作为正常网页浏览行为,H1表示远程主机r的操作为网页爬虫;如果所述基本事件序列E匹配假设H1的程度,与基本事件序列E匹配假设H0的程度之间的差距大于一程度阈值,则判定远程主机r的操作为网页爬虫,否则为正常网页浏览行为。
8.如权利要求7所述的装置,其特征在于,所述识别单元包括:
假设模块,用于提出两个假设H0和H1,其中H0表示远程主机r的操作为正常网页浏览行为,H1表示远程主机r的操作为网页爬虫;
设定模块,用于设定正常网页浏览过程中产生的两个相邻网页请求之间的时间间隔大于或等于δ的概率Pr[ei=0|H0]为θ0,小于δ的概率Pr[ei=1|H0]为1-θ0,设定网页爬虫过程中产生的两个相邻网页请求之间的时间间隔大于等于δ的概率Pr[ei=0|H1]为θ1,小于δ的概率Pr[ei=1|H1]为1-θ1;θ0>θ1,且条件随机变量ei|Hi满足独立同分布;
似然比计算模块,用于计算在两个假设H0和H1下产生基本事件序列E的似然比V(E):
判决模块,用于将V(E)分别与两个固定阈值η0和η1比较,其中η0<η1:如果V(E)≥η1,则判定远程主机r的操作为网页爬虫;如果V(E)≤η0,则判定远程主机r的操作为正常网页浏览。
9.如权利要求8所述的装置,其特征在于,所述识别单元还包括:
阈值设置模块,用于设置所述固定阈值η0和η1;当从远程主机r到Web服务器s的连续m个网页请求都满足相邻网页请求时间间隔大于或等于网页请求时间间隔阈值δ时,得到所述阈值η0:
当从远程主机r到Web服务器s的连续m个网页请求都满足相邻网页请求时间间隔小于网页请求时间间隔阈值δ时,得到所述阈值η1:
其中,m为正整数。
10.如权利要求8或9所述的装置,其特征在于:
所述δ为1秒、2秒或3秒;
当δ为3秒时,所述θ0和θ1分别为0.6和0.4。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910084701 CN101902438B (zh) | 2009-05-25 | 2009-05-25 | 一种自动识别网页爬虫的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910084701 CN101902438B (zh) | 2009-05-25 | 2009-05-25 | 一种自动识别网页爬虫的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101902438A true CN101902438A (zh) | 2010-12-01 |
CN101902438B CN101902438B (zh) | 2013-05-15 |
Family
ID=43227645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910084701 Expired - Fee Related CN101902438B (zh) | 2009-05-25 | 2009-05-25 | 一种自动识别网页爬虫的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101902438B (zh) |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102495861A (zh) * | 2011-11-24 | 2012-06-13 | 中国科学院计算技术研究所 | 一种网络爬虫识别系统及方法 |
CN102571547A (zh) * | 2010-12-29 | 2012-07-11 | 北京启明星辰信息技术股份有限公司 | 一种http流量的控制方法及装置 |
CN102752288A (zh) * | 2012-06-06 | 2012-10-24 | 华为技术有限公司 | 网络访问行为识别方法和装置 |
CN102790700A (zh) * | 2011-05-19 | 2012-11-21 | 北京启明星辰信息技术股份有限公司 | 一种识别网页爬虫的方法和装置 |
CN102833212A (zh) * | 2011-06-14 | 2012-12-19 | 阿里巴巴集团控股有限公司 | 网页访问者身份识别方法及系统 |
CN102870118A (zh) * | 2012-06-30 | 2013-01-09 | 华为技术有限公司 | 用户行为的获取方法、设备及系统 |
CN102916935A (zh) * | 2011-08-04 | 2013-02-06 | 深圳华强电子交易网络有限公司 | 一种网站内容防抓取的方法 |
CN103279516A (zh) * | 2013-05-27 | 2013-09-04 | 百度在线网络技术(北京)有限公司 | 网络爬虫识别方法 |
CN103902912A (zh) * | 2012-12-26 | 2014-07-02 | 深圳市腾讯计算机系统有限公司 | 网页漏洞的检测方法和装置 |
CN104320400A (zh) * | 2014-10-31 | 2015-01-28 | 北京神州绿盟信息安全科技股份有限公司 | web漏洞扫描方法及装置 |
CN104462580A (zh) * | 2014-12-24 | 2015-03-25 | 携程计算机技术(上海)有限公司 | 基于直线生成算法的爬虫方法及爬虫系统 |
CN104537384A (zh) * | 2015-01-21 | 2015-04-22 | 西安电子科技大学 | 一种结合似然比判决的sar目标鉴别方法 |
CN105100032A (zh) * | 2014-05-23 | 2015-11-25 | 腾讯科技(北京)有限公司 | 一种防止资源盗取的方法及装置 |
CN106021552A (zh) * | 2016-05-30 | 2016-10-12 | 深圳市华傲数据技术有限公司 | 基于人群行为模拟的互联网爬虫并发数据采集方法及系统 |
CN106294368A (zh) * | 2015-05-15 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 网络爬虫识别方法和装置 |
CN107026839A (zh) * | 2016-11-16 | 2017-08-08 | 阿里巴巴集团控股有限公司 | 一种攻击请求处理方法和装置 |
CN108429721A (zh) * | 2017-02-15 | 2018-08-21 | 腾讯科技(深圳)有限公司 | 一种网络爬虫的识别方法及装置 |
CN108959524A (zh) * | 2018-06-28 | 2018-12-07 | 中译语通科技股份有限公司 | 一种识别数据爬虫的方法、系统及信息数据处理终端 |
CN109284434A (zh) * | 2018-09-12 | 2019-01-29 | 东莞数汇大数据有限公司 | 基于r语言的网页内容爬取方法、系统和存储介质 |
CN111641643A (zh) * | 2020-05-29 | 2020-09-08 | 深圳壹账通智能科技有限公司 | 网络爬虫检测方法、网络爬虫检测装置及终端设备 |
CN113806614A (zh) * | 2021-10-10 | 2021-12-17 | 北京亚鸿世纪科技发展有限公司 | 一种基于分析Http请求的网络爬虫快速识别装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101178736A (zh) * | 2007-12-11 | 2008-05-14 | 腾讯科技(深圳)有限公司 | 网页抓取方法和网页抓取服务器 |
CN101187925A (zh) * | 2006-11-17 | 2008-05-28 | 北京酷讯科技有限公司 | 自动优化爬虫的抓取方法 |
-
2009
- 2009-05-25 CN CN 200910084701 patent/CN101902438B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101187925A (zh) * | 2006-11-17 | 2008-05-28 | 北京酷讯科技有限公司 | 自动优化爬虫的抓取方法 |
CN101178736A (zh) * | 2007-12-11 | 2008-05-14 | 腾讯科技(深圳)有限公司 | 网页抓取方法和网页抓取服务器 |
Cited By (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571547A (zh) * | 2010-12-29 | 2012-07-11 | 北京启明星辰信息技术股份有限公司 | 一种http流量的控制方法及装置 |
CN102571547B (zh) * | 2010-12-29 | 2015-07-01 | 北京启明星辰信息技术股份有限公司 | 一种http流量的控制方法及装置 |
CN102790700A (zh) * | 2011-05-19 | 2012-11-21 | 北京启明星辰信息技术股份有限公司 | 一种识别网页爬虫的方法和装置 |
CN102790700B (zh) * | 2011-05-19 | 2015-06-10 | 北京启明星辰信息技术股份有限公司 | 一种识别网页爬虫的方法和装置 |
CN102833212B (zh) * | 2011-06-14 | 2016-01-06 | 阿里巴巴集团控股有限公司 | 网页访问者身份识别方法及系统 |
CN102833212A (zh) * | 2011-06-14 | 2012-12-19 | 阿里巴巴集团控股有限公司 | 网页访问者身份识别方法及系统 |
CN102916935A (zh) * | 2011-08-04 | 2013-02-06 | 深圳华强电子交易网络有限公司 | 一种网站内容防抓取的方法 |
CN102495861A (zh) * | 2011-11-24 | 2012-06-13 | 中国科学院计算技术研究所 | 一种网络爬虫识别系统及方法 |
CN102495861B (zh) * | 2011-11-24 | 2013-09-04 | 中国科学院计算技术研究所 | 一种网络爬虫识别系统及方法 |
WO2013181972A1 (zh) * | 2012-06-06 | 2013-12-12 | 华为技术有限公司 | 网络访问行为识别方法和装置 |
CN102752288A (zh) * | 2012-06-06 | 2012-10-24 | 华为技术有限公司 | 网络访问行为识别方法和装置 |
WO2014000293A1 (zh) * | 2012-06-30 | 2014-01-03 | 华为技术有限公司 | 用户行为的获取方法、设备及系统 |
CN102870118A (zh) * | 2012-06-30 | 2013-01-09 | 华为技术有限公司 | 用户行为的获取方法、设备及系统 |
CN103902912B (zh) * | 2012-12-26 | 2017-09-19 | 深圳市腾讯计算机系统有限公司 | 网页漏洞的检测方法和装置 |
CN103902912A (zh) * | 2012-12-26 | 2014-07-02 | 深圳市腾讯计算机系统有限公司 | 网页漏洞的检测方法和装置 |
CN103279516A (zh) * | 2013-05-27 | 2013-09-04 | 百度在线网络技术(北京)有限公司 | 网络爬虫识别方法 |
CN103279516B (zh) * | 2013-05-27 | 2016-09-14 | 百度在线网络技术(北京)有限公司 | 网络爬虫识别方法 |
CN105100032A (zh) * | 2014-05-23 | 2015-11-25 | 腾讯科技(北京)有限公司 | 一种防止资源盗取的方法及装置 |
CN104320400A (zh) * | 2014-10-31 | 2015-01-28 | 北京神州绿盟信息安全科技股份有限公司 | web漏洞扫描方法及装置 |
CN104462580A (zh) * | 2014-12-24 | 2015-03-25 | 携程计算机技术(上海)有限公司 | 基于直线生成算法的爬虫方法及爬虫系统 |
CN104462580B (zh) * | 2014-12-24 | 2017-09-19 | 上海携程商务有限公司 | 基于直线生成算法的爬虫方法及爬虫系统 |
CN104537384A (zh) * | 2015-01-21 | 2015-04-22 | 西安电子科技大学 | 一种结合似然比判决的sar目标鉴别方法 |
CN104537384B (zh) * | 2015-01-21 | 2017-09-01 | 西安电子科技大学 | 一种结合似然比判决的sar目标鉴别方法 |
CN106294368A (zh) * | 2015-05-15 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 网络爬虫识别方法和装置 |
CN106294368B (zh) * | 2015-05-15 | 2019-11-05 | 阿里巴巴集团控股有限公司 | 网络爬虫识别方法和装置 |
CN110851680B (zh) * | 2015-05-15 | 2023-06-30 | 阿里巴巴集团控股有限公司 | 网络爬虫识别方法和装置 |
CN110851680A (zh) * | 2015-05-15 | 2020-02-28 | 阿里巴巴集团控股有限公司 | 网络爬虫识别方法和装置 |
CN106021552A (zh) * | 2016-05-30 | 2016-10-12 | 深圳市华傲数据技术有限公司 | 基于人群行为模拟的互联网爬虫并发数据采集方法及系统 |
CN107026839A (zh) * | 2016-11-16 | 2017-08-08 | 阿里巴巴集团控股有限公司 | 一种攻击请求处理方法和装置 |
CN107026839B (zh) * | 2016-11-16 | 2020-08-04 | 阿里巴巴集团控股有限公司 | 一种攻击请求处理方法和装置 |
CN108429721B (zh) * | 2017-02-15 | 2020-08-04 | 腾讯科技(深圳)有限公司 | 一种网络爬虫的识别方法及装置 |
CN108429721A (zh) * | 2017-02-15 | 2018-08-21 | 腾讯科技(深圳)有限公司 | 一种网络爬虫的识别方法及装置 |
CN108959524A (zh) * | 2018-06-28 | 2018-12-07 | 中译语通科技股份有限公司 | 一种识别数据爬虫的方法、系统及信息数据处理终端 |
CN109284434A (zh) * | 2018-09-12 | 2019-01-29 | 东莞数汇大数据有限公司 | 基于r语言的网页内容爬取方法、系统和存储介质 |
CN111641643A (zh) * | 2020-05-29 | 2020-09-08 | 深圳壹账通智能科技有限公司 | 网络爬虫检测方法、网络爬虫检测装置及终端设备 |
CN113806614A (zh) * | 2021-10-10 | 2021-12-17 | 北京亚鸿世纪科技发展有限公司 | 一种基于分析Http请求的网络爬虫快速识别装置 |
CN113806614B (zh) * | 2021-10-10 | 2024-05-17 | 北京亚鸿世纪科技发展有限公司 | 一种基于分析Http请求的网络爬虫快速识别装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101902438B (zh) | 2013-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101902438B (zh) | 一种自动识别网页爬虫的方法和装置 | |
CN102790700B (zh) | 一种识别网页爬虫的方法和装置 | |
CN110324311B (zh) | 漏洞检测的方法、装置、计算机设备和存储介质 | |
CN101370008B (zh) | Sql注入web攻击的实时入侵检测系统 | |
CN106685936B (zh) | 网页篡改的检测方法及装置 | |
CN103279710B (zh) | Internet信息系统恶意代码的检测方法和系统 | |
Najafabadi et al. | User behavior anomaly detection for application layer ddos attacks | |
CN102739663A (zh) | 网页检测方法与扫描引擎 | |
CN105930727A (zh) | 基于Web的爬虫识别算法 | |
CN109257393A (zh) | 基于机器学习的xss攻击防御方法及装置 | |
CN106549959B (zh) | 一种代理网际协议ip地址的识别方法及装置 | |
CN103179132A (zh) | 一种检测和防御cc攻击的方法及装置 | |
CN104462152A (zh) | 一种网页的识别方法及装置 | |
CN102880830A (zh) | 一种原始测试数据的采集方法及装置 | |
CN109842858B (zh) | 一种业务异常订购检测方法及装置 | |
CN114244564B (zh) | 攻击防御方法、装置、设备及可读存储介质 | |
CN104852916A (zh) | 一种基于社会工程学的网页验证码识别方法及系统 | |
CN107454118A (zh) | 验证码获取方法及装置、登录方法及系统 | |
CN107135212A (zh) | 一种基于行为差异的Web环境下的人机识别装置及方法 | |
CN110572397B (zh) | 一种基于流量的webshell的检测方法 | |
CN112769827B (zh) | 一种网络攻击代理端检测及溯源方法与装置 | |
JPWO2017018377A1 (ja) | 分析方法、分析装置、および分析プログラム | |
CN103457909A (zh) | 一种僵尸网络检测方法及装置 | |
CN107547490A (zh) | 一种扫描器识别方法、装置及系统 | |
CN111478892A (zh) | 基于浏览器指纹的攻击者画像多维度分析方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130515 Termination date: 20190525 |
|
CF01 | Termination of patent right due to non-payment of annual fee |