CN107517200A - 一种Web服务器的恶意爬虫防御策略选择方法 - Google Patents
一种Web服务器的恶意爬虫防御策略选择方法 Download PDFInfo
- Publication number
- CN107517200A CN107517200A CN201710601523.5A CN201710601523A CN107517200A CN 107517200 A CN107517200 A CN 107517200A CN 201710601523 A CN201710601523 A CN 201710601523A CN 107517200 A CN107517200 A CN 107517200A
- Authority
- CN
- China
- Prior art keywords
- crawler
- malicious
- web server
- crawling
- server
- 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
- 241000270322 Lepidosauria Species 0.000 title abstract description 7
- 238000000034 method Methods 0.000 claims abstract description 35
- 230000007123 defense Effects 0.000 claims description 68
- 230000009193 crawling Effects 0.000 claims description 57
- 230000006399 behavior Effects 0.000 claims description 44
- 230000008901 benefit Effects 0.000 claims description 24
- 238000010187 selection method Methods 0.000 claims description 18
- 238000001514 detection method Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 14
- 230000009471 action Effects 0.000 claims description 12
- 230000000903 blocking effect Effects 0.000 claims description 7
- 239000011159 matrix material Substances 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 description 18
- 238000004364 calculation method Methods 0.000 description 8
- 239000000243 solution Substances 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 7
- 238000012544 monitoring process Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 239000003795 chemical substances by application Substances 0.000 description 4
- 241000282414 Homo sapiens Species 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000004883 computer application Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000004445 quantitative analysis Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004088 simulation Methods 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/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
-
- 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
- H04L63/1416—Event detection, e.g. attack signature detection
-
- 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 Mining & Analysis (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明属于网络信息安全技术领域,具体为一种Web服务器的恶意爬虫防御策略选择方法。本发明的逻辑架构包括Web服务器和爬虫,本发明方法的步骤为:计算Web服务器和爬虫的收益与代价;基于不完全信息动态博弈,计算博弈模型的均衡解,即计算Web服务器采取防御策略的期望收益和采取不防御策略时的期望收益,当这两个收益相等时即得到服务器选择防御或不防御策略的临界点;基于不完全信息重复博弈,计算博弈模型的均衡解,即计算某时刻之前爬虫采取正常访问行为,而之后分别选择恶意访问行为和正常访问行为时所获得的收益;当后者大于前者时,爬虫不会采取恶意访问行为的策略;满足这个条件的博弈参数是服务器策略的最佳选择。
Description
技术领域
本发明属于网络信息安全技术领域,具体涉及Web服务器的恶意爬虫防御策略选择方法。
背景技术
随着大数据分析技术应用的发展,互联网数据由于其良好的开放性而得到了人们的关注,作为自动采集Web页面数据的爬虫技术也就成为大数据分析应用不可或缺的技术,各种爬虫应运而生1-4。
然而,爬虫与Web服务器之间存在很大的矛盾。由于页面数据量大,恶意爬虫为了提高采集效率通常会采用各种手段来加快采集过程,但是这些技术的使用导致Web服务器系统性能的下降,从而难于为正常用户提供服务。因此,为了进行恶意爬虫的检测,Web服务器需要额外的开销来提升恶意爬虫的检测识别效果,但是由于各种检测识别方法都难于保证完全准确,因此容易误伤正常用户的访问,因此产生了更多复杂的问题。
目前,恶意爬虫主要通过以下技术手段来绕过Web服务器的检测5,6。(1)伪装User-Agent,每个浏览器有其正规且固定的User-Agent字段,以此来向服务器表明其身份,恶意爬虫可以根据这个原理伪装成正规的浏览器,从而逃避Web服务器的检测。(2)使用IP代理,使用多个不同的IP代理轮流访问Web服务器,虽然短时间内服务器收到的请求数量激增,但这些请求的客户端IP地址不尽相同,Web服务器也就难以针对特定IP采取对策。(3)模拟人类正常访问Web页面的行为特点,通过随机延时等方法限制自身访问速度与访问时间,增加Web服务器分辨正常用户与恶意爬虫的难度。
针对恶意爬虫的常用技术,Web服务器也有一些相应的回击策略5-8,主要有:(1)限制IP地址,服务器后台对访问请求进行统计,设定单个IP地址在特定时间内的访问次数阈值,如果超出了阈值限制,可以暂时封锁IP;(2)通过验证码弹框,针对爬虫模拟人类的访问习惯,反爬虫时采取行动往往容易误伤用户,而通过输入验证码来阻挡部分爬虫的技术也是当前很普遍使用的,但这必定以牺牲用户体验为代价。
虽然目前有多种检测及阻断爬虫的机制,但是Web服务器仍然难于决定是否该使用这些技术,以及在什么条件下使用这些技术来防止爬虫的恶意访问。这个问题涉及到技术实现所需要的人力、资金和时间投入,也涉及到爬虫技术的持续改善所带来的困难。因此,问题的复杂性也使得Web服务器在部署反爬虫后就一直让反爬虫机制有效,但是这样会带来服务器资源的消耗,也容易对正常用户的行为产生误判的可能。
目前的防御技术缺乏一种形式化和可靠的模型,大都依赖于人为决策和设置。针对这种情况,本发明设计了一种Web服务器的恶意爬虫防御策略选择方法。该方法以博弈论基本思想为基础,给出了爬虫在正常爬行、恶意爬行的前提下,服务器采取防御或不防御策略时,各自所获得收益的计算分析方法,并基于不完全信息动态博弈和基于不完全信息重复博弈,给出了两种典型博弈状态下的均衡解求解方法,给出了服务器采取不同防御策略的分析方法。
发明内容
本发明的目的在于提供一种基于理性决策、避免主观盲目监测的Web服务器的恶意爬虫防御策略选择方法。
本发明从新的角度设计Web服务器的恶意爬虫防御策略选择方法,运用博弈论的思想,将这种策略选择方法看作是Web服务器和爬虫之间博弈的结果。在本发明中,给出了在爬虫正常爬行、恶意爬行的前提下,服务器采取防御策略或不防御策略时,双方各自所获得收益的计算分析方法。在此基础上,基于不完全信息动态博弈和不完全信息重复博弈,给出了两种典型博弈条件下的均衡解求解方法,给出了服务器采取不同防御策略的分析方法。相比现在盲目或主观的反爬虫决策方法而言,在博弈论的框架下考虑Web服务器的恶意爬虫防御策略选择方法,可以从双方的收益与代价的角度来选择防御策略,从而使得这种选择方法具有很好的理论基础,极大提升了防御策略选择的有效性。
本发明所针对的应用架构是一种Browser/Server架构,如图1所示,Web服务器对外发布页面,这些页面可以被客户端访问,客户端的数量和类型不限。而客户端可能是正常用户,也可能是爬虫软件。而爬虫软件可以采用类似正常用户的访问行为,也可以采用恶意的访问行为,例如在短时间内频繁访问服务器上的页面。因此,对于服务器来说,它能监测到客户端的访问行为类型,即正常访问行为、恶意访问行为。恶意访问行为给服务器带来许多负面影响,例如造成服务器计算资源的快速消耗、用户的访问体验大大降低等,因此Web服务器进行恶意访问行为的监测和防御是非常必要的。然而由于监测技术无法保证100%的准确率,可能导致正常访问行为的误判或恶意行为的误判、漏判,因此,尽管在服务器上投资部署一些软硬件监测防御设施,服务器上的Web应用系统并非都能获得正的收益。
针对这样的应用架构,本发明所采取的恶意爬虫防御的逻辑架构见图2所示,将用户及爬虫程序统一看作爬虫。尽管实际中的爬虫数量不限,但是从访问时间和Web服务器处理访问的方式来看,对每个爬虫访问请求是独立进行响应的。因此,在该逻辑架构中,爬虫是为完成页面数据获取而进行的一系列访问行为的抽象,具备过程特征。
在这样的逻辑架构下,爬虫有两种爬行方式,即正常爬行和恶意爬行。Web服务器则有两种策略,即防御和不防御。当爬虫采取正常爬行方式时,即对应于用户的正常访问方式和爬虫程序的正常访问方式,反之当采取恶意爬行时,即代表爬虫程序或用户的恶意访问。
综上可见,本发明所针对的恶意爬虫防御策略选择问题既针对爬虫程序的恶意爬行,也能应对用户的恶意访问,将两者统一在一个逻辑框架中进行分析设计,使得该方法具有更广泛的应用价值。同时该方法也考虑到了爬虫访问的过程特征,使得该逻辑框架能应对爬虫持续访问过程中出现的恶意行为。
在该逻辑视图中,Web服务器采取何种防御策略取决于爬虫的爬行方式,而爬虫的爬行方式也受限于服务器的策略。因此,双方之间存在一种博弈现象,二者不断自我完善的同时也刺激了对方的技术发展,由此带来二者的行动成本同时上升的结果。本发明将Web服务器和爬虫抽象为博弈双方,代入各自的成本与收益,计算博弈均衡解即可得到Web服务器的爬虫防御策略,这是一种考虑双方各自代价与收益的平衡之后,在理性决策的前提下所做出的决定,因此对于Web服务器来说是一种最佳选择。
博弈模型是计算均衡解的基础,本发明选择两种博弈模型,分别是基于不完全信息的动态博弈和基于不完全信息的重复博弈。这两种模型考虑到了博弈时对对方特征是否知晓、博弈过程中双方行动的顺序性,符合实际的Web应用场景。选择这两种博弈模型的依据是,
1、在爬虫方采取恶意爬取的行动之前服务器方并不知道爬虫的真实身份,而只有对其身份估计的先验概率,当爬虫方实质采取了符合其身份的真实行为之后服务器方才能通过后验概率进行修正判断,所以在博弈中双方并未对所有参与人的特征、策略空间及收益函数都有准确的信息,因此在这种情况下进行的博弈是不完全信息动态博弈。
2、当爬虫方采取行动之后,服务器方可以根据监测结果采取相应的对策,继而爬虫方也可以进一步作出回应,采取正常爬行方式或恶意爬行方式,因此,参与人的行动有先后顺序,而且行动在后的一方可以观察到行动在先的一方的选择结果,并据此作出相应的策略选择。由此,在这种情况下进行的博弈是基于不完全信息重复博弈。
根据以上对方法描述和分析,本发明提出Web服务器的恶意爬虫防御策略选择方法,具体步骤如下:
(1)、计算Web服务器和爬虫的收益与代价。对于Web服务器而言,其付出的代价在于部署各种软硬件设施用于辨别正常访问行为和恶意访问行为,以及对恶意行为实施阻断;而其收益在于广告推送、信息反馈等。对于爬虫而言,其代价在于恶意访问所需要的投入,其收益在于在预期的时间内获得所需要的页面内容。
(2)、基于不完全信息动态博弈,计算博弈模型的均衡解。根据步骤(1)的收益与代价,计算Web服务器采取防御策略的期望收益和采取不防御策略时的期望收益,当这两个收益相等时即可得到服务器选择防御或不防御策略的临界点。
(3)、基于不完全信息重复博弈,计算博弈模型的均衡解。从爬虫方的角度,计算当某时刻之前爬虫采取正常访问行为,而之后分别选择恶意访问行为和正常访问行为时所获得的收益。当后者大于前者时,爬虫不会采取恶意访问行为的策略。因此,满足这个条件的博弈参数是服务器策略的最佳选择。
本发明运用博弈论基本思想,在Web服务器和爬虫双方收益计算的基础上,基于不完全信息动态博弈模型和基于不完全信息重复博弈,给出了服务器在单次博弈和多轮博弈时采取防御或不防御策略的条件,从而为Web服务器的主动防御提供了一种可靠的理论模型。相比于现有的盲目决策而言,该模型使得Web服务器能够在理性的前提下做出最佳的决策,具有更好的实际参考价值。
综上所述,本发明具有实质性特点和显著进步:
(1)在统一的逻辑框架内描述爬虫程序、真实用户的正常访问行为、恶意访问行为,同时也考虑到了爬虫访问的过程特征,使得该逻辑框架能应对持续性爬虫访问时的策略选择问题。对该逻辑框架进行了形式化建模,为Web服务器的恶意爬虫防御策略选择方法提供了量化分析的基础。相比于现有的过于主观的选择方法而言,具有实质性进步。
(2)给出了Web服务器和爬虫在博弈过程中的收益和代价计算方法,充分考虑了防御设施的防御性能,即恶意访问行为的检测率和正常访问行为的误判率。同时,在计算过程中,考虑到了Web服务器进行防御所需要的投入、对恶意访问行为的惩罚、防御成功之后的收益,以及爬虫发起恶意攻击所需要的投入、被惩罚时所付出的代价等。本发明完整地考虑了博弈双方各种可能的收益和代价,与现实的Web应用情境更加接近。
(3)基于博弈论给出了Web服务器防御爬虫恶意行为的策略选择方法,采用基于不完全信息动态博弈模型和基于不完全信息重复博弈这两种博弈模型来描述单次博弈和多轮博弈。这与实际Web服务器的页面访问行为模式相对应,因此所得到的均衡解既是理性假设下的结果,也能对各种典型页面访问行为的防御策略选择问题给出合理的选择条件,从而为Web服务器的主动防御提供了一种可靠的理论模型。
附图说明
图1为本发明针对的应用架构。
图2为本发明的恶意爬虫防御的逻辑架构。
具体实施方式
以下针对该发明的三个步骤所涉及到的主要技术进行详细说明,包括收益与代价的形式化与计算、博弈的收益矩阵、基于不完全信息动态博弈下的策略选择方法、基于不完全信息重复博弈下的策略选择方法。
1、收益与代价的形式化与计算
收益与代价按照Web服务器和爬虫两方分别计算。对于Web服务器而言,它可以采取的策略有防御和不防御,而对于爬虫而言,其策略有正常爬行和恶意爬行两种。在不同的策略下,它们付出的代价和获得的收益与多个不同因素有关,在计算时需要按照策略分开计算。
(1)Web服务器
当Web服务器选择防御策略时,表明Web服务器采取各种检测爬虫和阻断恶意爬虫访问的技术手段。根据目前的技术现状,这些技术主要包括爬虫方的IP地址识别、对Http协议数据包的实时监测和分析、基于一定时间的访问行为特征统计等,而阻断技术则包括发送特定响应码、列入黑名单等。由此可见,为了实现这些技术手段,Web服务器方需要有一定的经济投入来完成检测工具的实现,即为代价或成本。
如果Web服务器不进行防御,则网站可能遭受恶意爬虫的拒绝服务攻击、服务器网络带宽被恶意爬虫占用、甚至Web服务器上的机密文本被窃取。因此,在不防御的情况下,Web服务器可能需要付出一定的代价。
从收益的角度看,服务器采取防御策略后,如果有恶意爬虫访问,则可以避免网站遭受攻击,保护自身的商业机密信息,因此,可以获得相应的收益。此外,服务器在正常访问时可获得一定收益,体现在网站的知名度提高或广告收入等方面。当然,即使爬虫采取恶意爬行方式,仍存在爬虫向服务器反馈正面信息的可能,例如大量的恶意爬虫对Web服务器进行了压力测试,服务器可以据此进行自我技术上的完善。恶意爬行方式也给服务器带来损失,如用户体验变差,不仅仅是未成功防御导致的访问速度延慢,还有防御过程中诸如添加验证码等措施造成的用户不良体验。
综上各种因素,定义如下的Web服务器收益、代价:
bc:服务器方的防御成本;
bs:服务器方成功防御之后的收益;
b1:服务器不加以防御带来的损失;
R:服务器被正常访问时带来的收益,或者是恶意爬虫给Web服务器带来的正面反馈;
I:爬虫恶意爬取时给Web服务器带来的损失。
(2)爬虫
爬虫在采取恶意爬行时需要针对每种具体措施付出一定的代价,例如针对服务器的IP地址检测,它需要批量购买IP地址,针对验证码的二次验证,它需要一定的时间消耗或软件升级。爬虫采取恶意爬行方式后,可能被服务器上的监测设备检测出来,由此带来一些相应的惩罚,如被加入黑名单,封锁IP地址等。从收益的角度看,爬虫采取正常访问方式和恶意访问方式都能获得一定的收益,当然获得相同收益所付出的时间并不相同。
综上各种因素,定义如下的爬虫收益、代价。
ac:爬虫方的攻击成本,即选择恶意爬行所需要的付出;
a1:恶意爬虫被Web服务器识别出后所带来的惩罚;
a2:爬虫以正常方式访问Web服务器时所获得的收益;
as:爬虫方成功实现恶意爬取之后所带来的收益。
2、博弈的收益矩阵
根据上述的收益与代价的定义,这里给出双方博弈时的收益矩阵,以便进行均衡解的求解。前面定义的变量,并没有反映爬虫被Web服务器检测的结果。由于现有各种检测设施不可能完全成功检测恶意攻击,存在正确检测和错误检测两种可能,因此,在计算收益时,需要考虑这种可能性,在此定义两个变量表明这种检测的性能。
pd:Web服务器将采取恶意爬行方式的爬虫判断为恶意爬虫的概率,即正确检测;
pn:Web服务器将采取正常访问方式的爬虫判断为恶意爬虫的概率,即错误检测。
基于前述定义的变量,Web服务器和爬虫在各自策略下的收益矩阵如下表所示。矩阵中的每个元素的形式是(a,b),其中a表示爬虫的收益,b表示Web服务器的收益。
表1收益矩阵
3、基于不完全信息动态博弈下的策略选择方法
在不完全信息下,Web服务器无法知道爬虫的信息,但是可以根据历史数据或其他途径对每个来访的爬虫做事先估计,判断其为恶意爬虫访问的概率,即假设恶意爬行的先验概率为p,则正常行为爬虫的先验概率为1-P。但不管哪种情况,爬虫在爬行过程中可以采取恶意爬行或正常爬行,假设这两种行为出现的概率分别为t、1-t。因此,对于Web服务器而言,其采取防御策略的期望收益为:
Ef=p[t(-bc+pdbs-(1-pd)(b1+I-R))+(1-t)(-bc-pnR+(1-pn)R]+
(1-p)(-bc-pnR+(1-pn)R) (1)
当采取不防御的策略时,其期望收益为:
Enf=p[t(-b1-I+R)+(1-t)R]+(1-p)R (2)
那么,当Web服务器决定采取何种策略时,在理性的情况下,当Ef<Enf时它应当采取不防御的策略,当Ef>Enf时,它应当采取防御策略。
因此,当Ef=Enf时,服务器选择防御策略与不防御策略时的收益相当,此时求得的恶意爬行概率t为临界点t*,可以求得:
当爬虫选择恶意爬行方式的概率t<t*时,则Web服务器选择不防御所能获得的收益较大,反之则采取防御策略为最佳选择。
4、基于不完全信息重复博弈下的策略选择方法
不完全信息重复博弈针对的是多轮博弈,这是基于重复博弈原理。例如,拥有特定IP地址的爬虫可能对特定Web服务器发起多次恶意攻击,通过伪装自己恶意爬虫的身份来换取服务器的信任,甚至于被添加进入白名单,从而在之后的恶意爬取行为中获得更多的收益。因此,这种博弈需要考虑到访问的时间先后顺序,后行动的一方可以观察到先行动的一方的选择结果。
针对这种情况,本发明给出的策略选择方法如下:
假设pt为在T时段爬虫采取正常爬行方式的先验概率。那么,在T时间,爬虫的期望收益为:
EDT=(1-pt)(-ac-pdal+(1-pd)as)+pt(-ac+as) (4)
假设在T-1时间之前爬虫方都没有暴露身份,即采取正常爬行方式,而在T-1发起恶意爬取行为,令δ为时段T的贴现因子,该因子与经济学中的概念类似,把未来的收益乘以贴现值折算成现值,即把将来的收益放在当前考虑。则爬虫方的期望收益为:
在T-1时段不发起恶意行为,而等到T时间再发起恶意爬行时的收益:
EDT-1+δEDT=(1-pt-1)(a2-pna2-pna1)+pt-1(a2)+δ(-ac+as) (6)
可以假设两个时段的先验概率相等,即pt-1=pt
由此,为了保证T-1时段正常爬行的收益大于恶意爬行的收益,根据公式5、6,可以得到:
a2+pn(a1+a2)(pt-1)-as+ac+pd(a1+as)(1-pt+δ)>0 (7)
该式子说明,为了使得爬虫继续采取正常爬行行为,Web服务器可以通过改变一些参数来确保该条件成立。根据(7)这个条件,Web服务器可以采取的具体措施包括:增大惩罚a1,减小恶意爬行可能获得的收益as等。
参考文献
[1]彭纪奔,吴林,陈贤,黄雷君.基于爬虫技术的网络负面情绪挖掘系统设计与实现,计算机应用与软件,2016.10
[2]彭赓,范明钰.基于改进网络爬虫技术的SQL注入漏洞检测,计算机应用研究,2010.7
[3]孙艺乘,张建敏.大数据数字媒体时代网络爬虫技术下的精准招商,贵州大学学报(自然科学版),2017.2
[4]徐雁飞,刘渊,吴文鹏.社交网络数据采集技术研究与应用,计算机科学,2017.1
[5]李兴涛.WEB反抓取系统的研究与实现,中国科学院大学(学位论文),
[6]陈楚楠.大众点评反爬虫系统的设计与实现,南京大学(学位论文),2015
[7]胡琴.搜索引擎中反爬虫子系统的设计与实现,北京大学(学位论文),2013
[8]陈利婷.大数据时代的反爬虫技术,电脑与信息技术,2016.6。
Claims (4)
1.一种Web服务器的恶意爬虫防御策略选择方法,其特征在于,逻辑架构包括Web服务器和爬虫,在这样的逻辑架构下,爬虫有两种爬行方式,即正常爬行和恶意爬行;当爬虫采取正常爬行方式时,即对应于用户的正常访问方式和爬虫程序的正常访问方式,反之当采取恶意爬行时,即代表爬虫程序或用户的恶意访问;在这逻辑架构下,恶意爬虫防御策略选择方法的具体步骤为:
(1)计算Web服务器和爬虫的收益与代价
对于Web服务器而言,其付出的代价在于部署各种软硬件设施用于辨别正常访问行为和恶意访问行为,以及对恶意行为实施阻断;而其收益在于广告推送、信息反馈等;对于爬虫而言,其代价在于恶意访问所需要的投入,其收益在于在预期的时间内获得所需要的页面内容;
(2)基于不完全信息动态博弈,计算博弈模型的均衡解
根据步骤(1)的收益与代价,计算Web服务器采取防御策略的期望收益和采取不防御策略时的期望收益,当这两个收益相等时即可得到服务器选择防御或不防御策略的临界点;
(3)基于不完全信息重复博弈,计算博弈模型的均衡解
从爬虫方的角度,计算当某时刻之前爬虫采取正常访问行为,而之后分别选择恶意访问行为和正常访问行为时所获得的收益;当后者大于前者时,爬虫不会采取恶意访问行为的策略;因此,满足这个条件的博弈参数是服务器策略的最佳选择。
2.根据权利要求1所述的Web服务器的恶意爬虫防御策略选择方法,其特征在于,步骤(1)中所述的Web服务器和爬虫的收益与代价如下:
Web服务器的收益、代价:
bc:服务器方的防御成本;
bs:服务器方成功防御之后的收益;
b1:服务器不加以防御带来的损失;
R:服务器被正常访问时带来的收益,或者是恶意爬虫给Web服务器带来的正面反馈;
I:爬虫恶意爬取时给Web服务器带来的损失;
爬虫的收益、代价:
ac:爬虫方的攻击成本,即选择恶意爬行所需要的付出;
a1:恶意爬虫被Web服务器识别出后所带来的惩罚;
a2:爬虫以正常方式访问Web服务器时所获得的收益;
as:爬虫方成功实现恶意爬取之后所带来的收益;
在计算收益时,定义两个变量表明Web服务器检测恶意爬虫的性能:
pd:Web服务器将采取恶意爬行方式的爬虫判断为恶意爬虫的概率,即正确检测;
pn:Web服务器将采取正常访问方式的爬虫判断为恶意爬虫的概率,即错误检测;
基于前述定义的变量,Web服务器和爬虫在各自策略下的收益矩阵如下表所示;矩阵中的每个元素的形式是(a,b),其中a表示爬虫的收益,b表示Web服务器的收益;
3.根据权利要求2所述的Web服务器的恶意爬虫防御策略选择方法,其特征在于,步骤(2)所述基于不完全信息动态博弈,计算博弈模型的均衡解的流程如下:
在不完全信息下,Web服务器无法知道爬虫的信息,但是可以根据历史数据或其他途径对每个来访的爬虫做事先估计,判断其为恶意爬虫访问的概率,即假设恶意爬行的先验概率为p,则正常行为爬虫的先验概率为1-P;但不管哪种情况,爬虫在爬行过程中可以采取恶意爬行或正常爬行,假设这两种行为出现的概率分别为t、1-t;因此,对于Web服务器而言,其采取防御策略的期望收益为:
Ef=p[t(-bc+pdbs-(1-pd)(b1+I-R))+(1-t)(-bc-pnR+(1-pn)R]+(1-p)(-bc-pnR+(1-pn)R) (1)
当采取不防御的策略时,其期望收益为:
Enf=p[t(-b1-I+R)+(1-t)R]+(1-p)R (2)
那么,当Web服务器决定采取何种策略时,在理性的情况下,当Ef<Enf时,采取不防御的策略,当Ef>Enf时,它应当采取防御策略;
因此,当Ef=Enf时,服务器选择防御策略与不防御策略时的收益相当,此时求得的恶意爬行概率t为临界点t*,求得:
<mrow>
<mi>t</mi>
<mo>*</mo>
<mo>=</mo>
<mfrac>
<mrow>
<msub>
<mi>b</mi>
<mi>c</mi>
</msub>
<mo>+</mo>
<mn>2</mn>
<msub>
<mi>p</mi>
<mi>n</mi>
</msub>
<mi>R</mi>
</mrow>
<mrow>
<mi>p</mi>
<mo>&lsqb;</mo>
<msub>
<mi>p</mi>
<mi>d</mi>
</msub>
<mrow>
<mo>(</mo>
<msub>
<mi>b</mi>
<mi>s</mi>
</msub>
<mo>+</mo>
<msub>
<mi>b</mi>
<mn>1</mn>
</msub>
<mo>+</mo>
<mi>I</mi>
<mo>-</mo>
<mi>R</mi>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mn>2</mn>
<msub>
<mi>p</mi>
<mi>n</mi>
</msub>
<mi>R</mi>
<mo>&rsqb;</mo>
</mrow>
</mfrac>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>3</mn>
<mo>)</mo>
</mrow>
</mrow>
当爬虫选择恶意爬行方式的概率t<t*时,则Web服务器选择不防御所能获得的收益较大,反之则采取防御策略为最佳选择。
4.根据权利要求2所述的Web服务器的恶意爬虫防御策略选择方法,其特征在于,步骤(3)所述基于不完全信息重复博弈,计算博弈模型的均衡解的流程如下:
假设pt为在T时段爬虫采取正常爬行方式的先验概率,那么,在T时间,爬虫的期望收益为:
EDT=(1-pt)(-ac-pdal+(1-pd)as)+pt(-ac+as) (4)
假设在T-1时间之前爬虫方都没有暴露身份,即采取正常爬行方式,而在T-1发起恶意爬取行为,令δ为时段T的贴现因子,把未来的收益乘以贴现值折算成现值,即把将来的收益放在当前考虑,则爬虫方的期望收益为:
<mrow>
<msub>
<mi>ED</mi>
<mrow>
<mi>T</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>+</mo>
<msub>
<mi>&delta;ED</mi>
<mi>T</mi>
</msub>
<mo>=</mo>
<mtable>
<mtr>
<mtd>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>-</mo>
<msub>
<mi>p</mi>
<mrow>
<mi>t</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>)</mo>
<mo>(</mo>
<mo>-</mo>
<msub>
<mi>a</mi>
<mi>c</mi>
</msub>
<mo>-</mo>
<msub>
<mi>p</mi>
<mi>d</mi>
</msub>
<msub>
<mi>a</mi>
<mn>1</mn>
</msub>
<mo>+</mo>
<mo>(</mo>
<mrow>
<mn>1</mn>
<mo>-</mo>
<msub>
<mi>p</mi>
<mi>d</mi>
</msub>
</mrow>
<mo>)</mo>
<msub>
<mi>a</mi>
<mi>s</mi>
</msub>
<mo>)</mo>
<mo>+</mo>
<msub>
<mi>p</mi>
<mrow>
<mi>t</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msub>
<mo>(</mo>
<mo>-</mo>
<msub>
<mi>a</mi>
<mi>c</mi>
</msub>
<mo>+</mo>
<msub>
<mi>a</mi>
<mi>s</mi>
</msub>
<mo>)</mo>
<mo>+</mo>
<mi>&delta;</mi>
<mo>(</mo>
<mo>-</mo>
<msub>
<mi>a</mi>
<mi>c</mi>
</msub>
<mo>-</mo>
<msub>
<mi>p</mi>
<mi>d</mi>
</msub>
<msub>
<mi>a</mi>
<mn>1</mn>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>+</mo>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>-</mo>
<msub>
<mi>p</mi>
<mi>d</mi>
</msub>
<mo>)</mo>
</mrow>
<msub>
<mi>a</mi>
<mi>s</mi>
</msub>
<mo>)</mo>
</mrow>
</mtd>
</mtr>
</mtable>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>5</mn>
<mo>)</mo>
</mrow>
</mrow>
在T-1时段不发起恶意行为,而等到T时间再发起恶意爬行时的收益:
EDT-1+δEDT=(1-pt-1)(a2-pna2-pna1)+pt-1(a2)+δ(-ac+as) (6)
假设两个时段的先验概率相等,即pt-1=pt;
由此,根据公式(5)、(6),得到:
a2+pn(a1+a2)(pt-1)-as+ac+pd(a1+as)(1-pt+δ)>0 (7)
为了使得爬虫继续采取正常爬行行为,应当保证T-1时段正常爬行的收益大于恶意爬行的收益,而Web服务器可以通过改变一些参数来确保该条件成立;根据(7)式条件,Web服务器采取的具体措施包括:增大惩罚a1,减小恶意爬行可能获得的收益as。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710601523.5A CN107517200B (zh) | 2017-07-21 | 2017-07-21 | 一种Web服务器的恶意爬虫防御策略选择方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710601523.5A CN107517200B (zh) | 2017-07-21 | 2017-07-21 | 一种Web服务器的恶意爬虫防御策略选择方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107517200A true CN107517200A (zh) | 2017-12-26 |
CN107517200B CN107517200B (zh) | 2020-05-26 |
Family
ID=60722628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710601523.5A Expired - Fee Related CN107517200B (zh) | 2017-07-21 | 2017-07-21 | 一种Web服务器的恶意爬虫防御策略选择方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107517200B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108494809A (zh) * | 2018-05-31 | 2018-09-04 | 博雅创智(天津)科技有限公司 | 一种基于服务器封包镜像的反爬系统 |
CN111181933A (zh) * | 2019-12-19 | 2020-05-19 | 贝壳技术有限公司 | 网络爬虫检测方法、装置、存储介质及电子设备 |
CN112202784A (zh) * | 2020-09-30 | 2021-01-08 | 成都新潮传媒集团有限公司 | 反爬虫方法、装置及存储介质 |
CN113364753A (zh) * | 2021-05-31 | 2021-09-07 | 平安国际智慧城市科技股份有限公司 | 反爬虫方法、装置、电子设备及计算机可读存储介质 |
CN115632891A (zh) * | 2022-12-23 | 2023-01-20 | 上海飞旗网络技术股份有限公司 | 一种面向主动安全防御技术的对抗模型设计方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420442A (zh) * | 2008-12-11 | 2009-04-29 | 北京航空航天大学 | 基于博弈理论的网络安全风险评估系统 |
CN101808020A (zh) * | 2010-04-19 | 2010-08-18 | 吉林大学 | 基于不完全信息动态博弈的入侵响应决策方法 |
CN103401838A (zh) * | 2013-07-02 | 2013-11-20 | 中北大学 | 一种基于僵尸程序传播行为的僵尸网络预防方法 |
CN106936855A (zh) * | 2017-05-12 | 2017-07-07 | 中国人民解放军信息工程大学 | 基于攻防微分博弈的网络安全防御决策确定方法及其装置 |
-
2017
- 2017-07-21 CN CN201710601523.5A patent/CN107517200B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420442A (zh) * | 2008-12-11 | 2009-04-29 | 北京航空航天大学 | 基于博弈理论的网络安全风险评估系统 |
CN101808020A (zh) * | 2010-04-19 | 2010-08-18 | 吉林大学 | 基于不完全信息动态博弈的入侵响应决策方法 |
CN103401838A (zh) * | 2013-07-02 | 2013-11-20 | 中北大学 | 一种基于僵尸程序传播行为的僵尸网络预防方法 |
CN106936855A (zh) * | 2017-05-12 | 2017-07-07 | 中国人民解放军信息工程大学 | 基于攻防微分博弈的网络安全防御决策确定方法及其装置 |
Non-Patent Citations (1)
Title |
---|
徐翔 等: "基于博弈论的无线传感网络DDoS攻击防御优化策略", 《智能计算机与应用》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108494809A (zh) * | 2018-05-31 | 2018-09-04 | 博雅创智(天津)科技有限公司 | 一种基于服务器封包镜像的反爬系统 |
CN111181933A (zh) * | 2019-12-19 | 2020-05-19 | 贝壳技术有限公司 | 网络爬虫检测方法、装置、存储介质及电子设备 |
CN112202784A (zh) * | 2020-09-30 | 2021-01-08 | 成都新潮传媒集团有限公司 | 反爬虫方法、装置及存储介质 |
CN112202784B (zh) * | 2020-09-30 | 2023-04-18 | 成都新潮传媒集团有限公司 | 反爬虫方法、装置及存储介质 |
CN113364753A (zh) * | 2021-05-31 | 2021-09-07 | 平安国际智慧城市科技股份有限公司 | 反爬虫方法、装置、电子设备及计算机可读存储介质 |
CN113364753B (zh) * | 2021-05-31 | 2022-10-14 | 深圳赛安特技术服务有限公司 | 反爬虫方法、装置、电子设备及计算机可读存储介质 |
CN115632891A (zh) * | 2022-12-23 | 2023-01-20 | 上海飞旗网络技术股份有限公司 | 一种面向主动安全防御技术的对抗模型设计方法及装置 |
CN115632891B (zh) * | 2022-12-23 | 2023-03-10 | 上海飞旗网络技术股份有限公司 | 一种面向主动安全防御技术的对抗模型设计方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107517200B (zh) | 2020-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107517200B (zh) | 一种Web服务器的恶意爬虫防御策略选择方法 | |
US11122067B2 (en) | Methods for detecting and mitigating malicious network behavior and devices thereof | |
Dou et al. | A confidence-based filtering method for DDoS attack defense in cloud environment | |
CN103428224B (zh) | 一种智能防御DDoS攻击的方法和装置 | |
US9807092B1 (en) | Systems and methods for classification of internet devices as hostile or benign | |
US20140157415A1 (en) | Information security analysis using game theory and simulation | |
Yu et al. | Fool me if you can: Mimicking attacks and anti-attacks in cyberspace | |
Li et al. | Botnet economics: uncertainty matters | |
US20160241576A1 (en) | Detection of anomalous network activity | |
US20100235879A1 (en) | Systems, methods, and media for enforcing a security policy in a network including a plurality of components | |
CN109711173B (zh) | 一种口令文件泄漏检测方法 | |
CN102685081A (zh) | 一种网页请求安全处理方法及系统 | |
CN113381975B (zh) | 基于区块链与雾节点信誉的物联网安全访问控制方法 | |
CN109589607A (zh) | 一种基于区块链的游戏防作弊方法及游戏防作弊系统 | |
Black et al. | An overview on detection and prevention of application layer DDoS attacks | |
CN108234516B (zh) | 一种网络泛洪攻击的检测方法及装置 | |
CN108600145A (zh) | 一种确定DDoS攻击设备的方法及装置 | |
CN107395553A (zh) | 一种网络攻击的检测方法及装置 | |
Veprytska et al. | AI powered attacks against AI powered protection: Classification, scenarios and risk analysis | |
CN108282443A (zh) | 一种爬虫行为识别方法和装置 | |
Prabha et al. | Mitigation of application traffic DDoS attacks with trust and AM based HMM models | |
CN107528859B (zh) | 一种DDoS攻击的防御方法及设备 | |
Shi et al. | Game Analysis and Optimization for Evolutionary Dynamic Heterogeneous Redundancy | |
CN112702349B (zh) | 一种网络攻击防御方法、装置及电子招标投标交易平台 | |
CN112202821B (zh) | 一种cc攻击的识别防御系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200526 |
|
CF01 | Termination of patent right due to non-payment of annual fee |