CN115037526A - 反爬虫方法、装置、设备以及计算机存储介质 - Google Patents
反爬虫方法、装置、设备以及计算机存储介质 Download PDFInfo
- Publication number
- CN115037526A CN115037526A CN202210544972.1A CN202210544972A CN115037526A CN 115037526 A CN115037526 A CN 115037526A CN 202210544972 A CN202210544972 A CN 202210544972A CN 115037526 A CN115037526 A CN 115037526A
- Authority
- CN
- China
- Prior art keywords
- data
- user
- crawler
- behavior
- probe
- 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
- 238000000034 method Methods 0.000 title claims abstract description 74
- 230000004044 response Effects 0.000 claims abstract description 41
- 238000012545 processing Methods 0.000 claims abstract description 31
- 230000006399 behavior Effects 0.000 claims description 98
- 239000000523 sample Substances 0.000 claims description 74
- 230000006854 communication Effects 0.000 claims description 16
- 238000004891 communication Methods 0.000 claims description 15
- 238000000605 extraction Methods 0.000 claims description 3
- 238000004088 simulation Methods 0.000 claims description 3
- 230000003068 static effect Effects 0.000 description 15
- 230000008569 process Effects 0.000 description 11
- 230000000694 effects Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000002513 implantation Methods 0.000 description 3
- 239000000243 solution Substances 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000009193 crawling Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 231100000572 poisoning Toxicity 0.000 description 2
- 230000000607 poisoning effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005242 forging Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000001376 precipitating effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
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/1441—Countermeasures against malicious traffic
- H04L63/1491—Countermeasures against malicious traffic using deception as countermeasure, e.g. honeypots, honeynets, decoys or entrapment
-
- 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]
Abstract
本发明实施例涉及网络安全技术领域,公开了一种反爬虫方法,该方法包括:针对用户发送的数据访问请求返回响应数据;所述响应数据中包括仿造数据;针对所述用户对所述仿造数据的操作对所述用户进行反爬处理。通过上述方式,本发明实施例提高了反爬虫的准确率。
Description
技术领域
本发明实施例涉及计算机安全技术领域,具体涉及一种反爬虫方法、装置、设备以及计算机存储介质。
背景技术
随着互联网技术以及互联网应用的发展,SQL注入、数据泄露、网页挂马、网络爬虫等安全事件,频繁发生,为了保护网站的数据安全,数据处理系统建立和采用的技术和管理的安全保护,保护计算机硬件、软件和数据不因偶然和恶意的原因遭到破坏、更改和泄露。
本申请的发明人在实施本发明实施例的过程中发现:现有解决方案针对爬虫等行为一般统一进行限制网站访问频率并采用熔断降级处理,这容易导致对正常用户的误判。
发明内容
鉴于上述问题,本发明实施例提供了一种反爬虫方法,用于解决现有技术中存在的爬虫鉴定的准确率较低的问题。
根据本发明实施例的一个方面,提供了一种反爬虫方法,所述方法包括:
针对用户发送的数据访问请求返回响应数据;所述响应数据中包括仿造数据;
针对所述用户对所述仿造数据的操作对所述用户进行反爬处理。
在一种可选的方式中,所述方法还包括:
拦截业务系统针对所述数据访问请求返回的原始数据;
根据所述业务系统的数据仿造策略对所述原始数据进行仿造,得到所述仿造数据。
在一种可选的方式中,所述方法还包括:
在访问页面中植入探针,所述探针用于收集所述用户的用户行为数据;所述访问页面用于接收所述数据访问请求;
根据所述用户行为数据对所述用户进行反爬处理。
在一种可选的方式中,所述方法还包括:
在所述访问页面中植入初始探针,所述初始探针用于收集所述用户的设备指纹;
当检测到所述用户对所述仿造数据存在访问时,将所述初始探针替换为目标探针;所述目标探针用于采集客户端行为数据以及所述设备指纹。
在一种可选的方式中,所述方法还包括:
根据业务系统的安全需求信息构造所述目标探针。
在一种可选的方式中,所述探针用于收集所述用户的设备指纹以及客户端行为数据;所述方法还包括:
根据所述设备指纹从所述客户端行为数据中提取出所述用户的行为轨迹;
对所述行为轨迹进行分析,得到所述用户对应的爬虫鉴定结果。
在一种可选的方式中,所述方法还包括:
根据预设的爬虫特征维度对所述行为轨迹进行特征提取,得到所述用户对应的爬虫特征信息;所述爬虫特征维度包括自动化驱动行为维度、用户行为事件维度以及访问频次维度中的至少一项;
根据所述爬虫特征信息确定所述爬虫鉴定结果。
根据本发明实施例的另一方面,提供了一种反爬虫装置,包括:
返回模块,用于针对用户发送的数据访问请求返回响应数据;所述响应数据中包括仿造数据;
处理模块,用于针对所述用户对所述仿造数据的操作对所述用户进行反爬处理。
根据本发明实施例的另一方面,提供了一种反爬虫设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如所述的反爬虫方法实施例的操作。
根据本发明实施例的又一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使反爬虫设备执行以下操作:
针对用户发送的数据访问请求返回响应数据;所述响应数据中包括仿造数据;
针对所述用户对所述仿造数据的操作对所述用户进行反爬处理。
本发明实施例中针对用户发送的数据访问请求返回响应数据;所述响应数据中包括仿造数据;由此通过仿造数据构造一个“蜜罐”来吸引潜在攻击者的作用;针对所述用户对所述仿造数据的操作对所述用户进行反爬处理;当用户点击了仿造数据时,则通过探针来对用户的行为轨迹进行收集,根据收集到用户的行为轨迹对用户进行爬虫鉴定,从而区别于现有技术中采取的为攻击者专门设置一个虚假的资源入口以及服务器,对于爬虫用户的吸引力较低,并且针对识别到的爬虫采取基于访问频率直接熔断从而导致反爬效果不佳的问题,本发明实施例能够提高反爬虫的准确率以及效率。
上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
附图仅用于示出实施方式,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的反爬虫方法的流程示意图;
图2示出了本发明再一实施例提供的反爬虫方法的系统架构图;
图3示出了本发明再一实施例提供的反爬虫方法中的探针植入示意图;
图4示出了本发明再一实施例提供的反爬虫方法中的首次访问请求的处理流程示意图;
图5示出了本发明再一实施例提供的反爬虫方法的再次访问请求的处理流程示意图;
图6示出了本发明再一实施例提供的反爬虫方法的流程示意图;
图7示出了本发明实施例提供的反爬虫装置的结构示意图;
图8示出了本发明实施例提供的反爬虫设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。
在进行本发明实施例的说明之前,先对现有技术中的反爬虫方法进行说明。
现有解决方案针对爬虫行为一般进行限制网站访问频率并采用熔断降级处理。其中,在识别爬虫时,一般是针对爬虫者特别设置一个虚拟的一般的蜜罐技术是通过布置虚拟的服务器和url来诱导爬虫访问。而一般的正常用户并不会接触到前述虚拟的服务器和url。
图1示出了本发明实施例提供的反爬虫方法的流程图,该方法由计算机处理设备执行。该计算机处理设备可以包括手机、笔记本电脑等。如图1所示,该方法包括以下步骤:
步骤10:针对用户发送的数据访问请求返回响应数据;所述响应数据中包括仿造数据。
在本发明的一个实施例中,数据访问请求可以是用于调用动态或静态资源的请求。其中,区别于页面样式等静态资源的调用,针对动态资源调用请求的响应需要业务系统的服务器在数据库中进行数据查询从而响应,由此爬虫攻击者更大概率会通过发送动态资源调用请求来爬取业务服务器的数据。在本发明的一个实施例中,响应数据中可以包括仿造数据,或者真实数据和仿造数据,其中,真实数据可以是可以是业务系统的业务服务器针对访问请求所返回的数据,是业务系统中真实的业务数据,业务系统可以是线上购物系统、员工信息管理系统等,真实数据可以如订单信息、用户号码等,与此同时,为了进一步引诱爬虫对仿造数据进行访问,还可以根据真实数据中较为敏感的数据进行仿造,得到仿造数据。其中,考虑到不同的业务系统吸引的爬虫类型以及反爬需求不同,因此在进行数据仿造时,可以根据业务系统的数据仿造策略进行仿造。
需要说明的是,为了进一步提高反爬的安全性,可以在业务系统的服务器与用户之间设置一个防护系统作为中间层,本发明实施例基于该防护系统执行。该防护系统能在其访问请求在未到达业务服务器之前就作出相应的拦截措施,并对数据进行处理,如嵌入仿造数据或植入探针之后再转发至用户,从而避免用户直接与业务系统进行通信,减少业务系统被攻击的可能。
另一方面,通过设置防护系统,将反爬策略的制定者和执行者相互分离与解耦,从而可以进一步提升防护系统的通用性,使得一个防护系统可以为多个不同的业务系统分别提供该业务系统对应的反爬服务,使得反爬方法的适用场景更加广泛,反爬策略配置更加灵活。
因此,在步骤10之前,还包括:
步骤101:拦截业务系统针对所述数据访问请求返回的原始数据。
在本发明的一个实施例中,原始数据可以是业务系统针对动态资源调用类型的数据访问请求所返回的。动态资源调用请求用于调用业务系统中的动态资源,如数据库中的订单数据等会动态变化的数据。动态资源往往是爬虫比较感兴趣的数据,因此一般爬虫都会通过向业务系统发起动态资源调用请求来爬取数据。拦截原始数据指的是将动态资源调用请求转发至业务系统,从而使得业务系统返回对应的原始数据,获取该原始数据,但是并不直接将原始数据发送至用户。
步骤102:根据所述业务系统的数据仿造策略对所述原始数据进行仿造,得到所述仿造数据。
在本发明的一个实施例中,数据仿造策略中包括仿造数据的仿造类型、嵌入位置、数据内容以及数据数量等信息。其中,仿造类型可以包括修改、替换、混合等。数据仿造策略可以是业务系统根据自身的数据价值、数据结构、敏感数据的特征信息以及历史爬虫鉴定结果进行构造的。可选地,数据仿造策略还可以是由防护系统根据历史反爬数据以及业务系统的类型以及安全需求确定的。其中,防护系统的实现可以通过反向代理的形式,在本发明的再一个实施例中,所述方法基于一反向代理,反向代理可以包括nginx;所述反向代理设置在所述用户与所述业务系统之间。
当数据仿造策略是由业务系统确定时,如图2所示,业务系统可以将其存储于一策略池中,防护系统在需要仿造数据时,到云策略池中进行查询得到,而当在策略池中未查询到时,防护系统可以向业务系统询问数据仿造策略,业务系统返回其所指定的数据仿造策略至防护系统。
在本发明的一个实施例中,在获得数据仿造策略后,根据数据仿造策略中的数据结构、数据修改方式、数据价值等对真实数据进行修改、替换或者混合编码等,得到仿造数据。由于仿造数据还是根据真实数据得到的,因此一方面对应爬虫的吸引力较大,另一方面又不会暴露真实的数据,由此在吸引爬虫点击从而便于对爬虫进行捕捉的同时,保证了数据的安全性。
在本发明的再一个实施例中,返回至用户的数据中除了包括仿造数据外,还可以包括一定数量的真实数据,即可以将原始数据与仿造数据进行组合,得到响应数据。
步骤20:针对所述用户对所述仿造数据的操作对所述用户进行反爬处理。
在本发明的一个实施例中,首先对用户是否访问仿造数据进行检测,因为一般的用户并不会对服务器的所有数据进行爬取,因此并不会对仿造数据进行访问,在检测用户对仿造数据存在访问时,则对用户的行为数据进行收集,实现对用户的追踪,根据行为轨迹进行爬虫特征的鉴定,得到用户的爬虫鉴定结果并进行对应的处置。
其中,在对用户的行为数据进行收集时可以采取探针技术,通过在用户发送请求的访问页面中植入探针,来对用户的客户端行为数据以及设备指纹进行收集。
因此,在本发明的一个实施例中,步骤20还包括:
步骤201:在访问页面中植入探针,所述探针用于收集所述用户的用户行为数据;所述访问页面用于接收所述数据访问请求。
在本发明的一个实施例中,探针的类型可以是js(JavaScript)类型。考虑到js指针只有在静态资源调用页面才能植入,并且,一般在用户发起动态资源请求前都会先请求页面样式以及图片等静态资源,因此,数据访问请求可以是静态资源调用请求。探针可以根据业务系统的反爬需求进行设定,从而收集特定类型的用户行为数据。具体地,用户行为数据中可以包括用户的设备指纹以及客户端的行为数据,如点击、浏览等客户端事件。
在本发明的再一个实施例中,为了提高探针设置的灵活性,提高防护系统的可用性,实现可以根据业务系统的反爬需求对应地收集对应的用户行为数据,考虑到所有的业务系统都需要收集用户的设备指纹的探针,从而实现对特定用户的行为轨迹的追踪,但是所收集的客户端数据可能存在不同,并且频繁地收集客户端行为数据会影响用户的体验。因此,可以首先设置一个只收集设备指纹的初始探针,后续在检测到用户访问仿造数据时,再按照需要将初始探针替换为收集设备指纹以及客户端行为数据的目标探针。
因此,在本发明的一个实施例中,步骤201还包括:
步骤2011:在所述访问页面中植入初始探针,所述初始探针用于收集所述用户的设备指纹。
在本发明的一个实施例中,考虑到在用户发起任何的动态资源请求之前,为了展示初始的页面供用户访问,用户都会发送静态页面资源获取请求,用于请求获取如图片、页面样式等静态的页面展示资源。并且由于探针的植入需要依附于web页面,因此只有在用户访问网站的静态页面的时候才能够植入js探针,并且区别于css等其他类型的静态资源页面,只有html类型的静态资源页面才需要植入JS(JavaScript)探针。因此,在用户用于发送静态页面资源获取请求的访问页面上植入所述初始探针。
在本发明的一个实施例中,初始探针具体可以是JS探针,植入初始探针发生在nginx的Proxy Server的响应阶段中,可以通过业务系统配置的一系列规则判定当前请求是否是静态html页面资源请求并且根据需求插入不同的JS探针,从而对用户的设备指纹进行采集,而根据设备指纹即能对用户的行为数据进行追踪。
具体地,对原始响应数据中植入初始探针的过程可以参考图3。如图3所示,常规的html页面会满足</body>\\s*</html>格式,因此,在本发明的一个实施例中,通过在\s*处,嵌入<script type=\"text/javascript\"src=\"%s\"></script>,其中%s代表所选取的初始探针对应的JS文件路径。可选地,初始探针嵌入页面的位置还可以根据业务系统所返回的真实的页面进行适应性改造,从而使得探针更加隐蔽。
在本发明的一个实施例中,通过将植入了初始探针的植入后响应数据返回至用户,从而通过后续与客户端通信的过程中,用户的行为数据会伴随着cache上传至防护系统,系统通过解析cache数据中得到该设备指纹对应的用户行为数据。
步骤2012:当检测到所述用户对所述仿造数据存在访问时,将所述初始探针替换为目标探针;所述目标探针用于采集客户端行为数据以及所述设备指纹。
在本发明的一个实施例中,用户访问伪造数据,会触发伪造数据特定的URL,即发起了http请求数据传递给后台,后台获取到请求的路径,就可以确定用户访问的是伪造数据。目标探针可以是JS探针。
在本发明的一个实施例中,目标探针用于采集客户端行为数据以及设备指纹;其中,设备指纹用于特异性标识客户端的用户,客户端行为数据中包括UA(User Agent,用户代理)、webdriver(网页内驱动软件)、网卡信息、操作数据等信息。
目标探针可以采集客户端的行为数据以及对应的设备指纹,从而根据设备指纹可以定位到特定的用户的行为数据,根据行为数据可以构造出用户的行为轨迹,从而根据该行为轨迹进行爬虫的识别。其中,目标探针可以由防护系统统一构造,还可以是根据从业务系统的策略池中获取的探针构造策略来确定。
在本发明的再一个实施例中,步骤2012还包括:
步骤121:根据业务系统的安全需求信息构造所述目标探针。
在本发明的一个实施例中,安全需求信息包括如安全需求等级、敏感数据特征信息等。其中,安全需求等级越高,目标探针收集的数据越全量,敏感数据特征信息包括敏感数据的数据结构、数据价值、存储位置等,敏感数据特征信息用于表征敏感数据,而敏感数据一般属于爬虫所爬取的目标,因此根据敏感数据特征信息构造目标探针,针对性地对爬虫是否对敏感数据进行访问进行收集。
步骤202:根据所述用户行为数据对所述用户进行反爬处理。
在本发明的一个实施例中,根据用户行为数据是否满足预设的爬虫事件特征,来确定用户的爬虫概率,根据爬虫概率对用户进行对应的处置。其中,爬虫事件特征用于表征爬虫者所通常具有的事件特征,可以包括特定的行为事件,如页面点击以及滑动距离等,还可以包括访问的频次以及自动存在自动化驱动访问等行为。可选地,根据爬虫行为轨迹特征判断用户的爬虫概率,根据爬虫概率进行对应的爬虫处理。
因此,在本发明的一个实施例中,所述探针用于收集所述用户的设备指纹以及客户端行为数据;步骤202还包括:
步骤2021:根据所述设备指纹从所述客户端行为数据中提取出所述用户的行为轨迹。
在本发明的一个实施例中,根据设备指纹从客户端行为数据中提取该设备指纹对应的行为数据,按照行为时间对行为数据进行组合,得到行为轨迹。
步骤2022:对所述行为轨迹进行分析,得到所述用户对应的爬虫鉴定结果。
在本发明的一个实施例中,爬虫鉴定结果可以包括设备指纹标识、爬虫用户概率、鉴定时间以及鉴定明细等。其中,爬虫用户概率用于表征用户为爬虫的概率。
在本发明的再一个实施例中,可以由防护系统确定爬虫鉴定结果之后,由业务服务通过对鉴定结果分析而进行安全仲裁,如当爬虫用户概率>50%时,确定为爬虫用户,20%<爬虫用户概率<50%确定为疑似用户,爬虫用户概率<20%确定为普通用户。其中爬虫概率阈值可根据其爬取的业务数据的敏感度进行动态调整。
在本发明的再一个实施例中,步骤2022还包括:
步骤221:根据预设的爬虫特征维度对所述行为轨迹进行特征提取,得到所述用户对应的爬虫特征信息;所述爬虫特征维度包括自动化驱动行为维度、用户行为事件维度以及访问频次维度中的至少一项。
在本发明的一个实施例中,爬虫特征信息包括爬虫特征维度下的特征值。自动化驱动行为包括通过脚本或者程序自动化访问浏览器并实现自动化爬取数据等行为。用户行为时间维度指的是访问该接口的特定的行为事件,如是否包括页面点击以及滑动距离等行为事件。高频访问是指单位时间内访问数据接口的频次,过于频繁的访问数据接口,会加剧系统鉴定为爬虫行为的依据。
步骤222:根据所述爬虫特征信息确定所述爬虫鉴定结果。
在本发明的一个实施例中,将爬虫特征值与对应的爬虫特征维度对应的阈值进行比较,当爬虫特征值满足至少一项特征维度阈值时,则将其判定为爬虫。
在本发明的再一个实施例中,还可以对各项特征维度下的特征值进行加权求和,将加权和与预设的特征值和阈值进行比较,若加权和大于特征值和阈值,则判定为爬虫。其中,各个爬虫特征维度对应的权重可以根据业务系统的安全需求对应设置,如驱动行为权重占比20%,用户行为权重占比30%,高频访问权重占比50%。
在本发明的再一个实施例中,还可以根据爬虫鉴定结果进行爬虫处置。处置的方式可以包括:数据投毒、服务转移、拒绝服务、持续追踪、频次限制。其中,数据投毒包括伪造虚假数据并返回给客户端,让其无法获取到真实有效的数据。服务转移包括将该客户端的请求服务,转移到其他虚拟服务中,防止其占用业务流量。拒绝服务包括将该客户端纳入黑名单,拦截其后续请求;持续追踪包括替换js探针文件,采集客户端的特征信息,为未来AI智能判断,沉淀特征数据。频次限制包括降低其访问次数。防止其占用大量业务带宽导致业务服务不可用。可选地,可以是防护系统把用户对应的爬虫行为结果上报至业务服务,业务服务返回响应的处置结果,防护系统根据该处理结果对用户进行处置。
在本发明的再一个实施例中,反爬过程的时序图可以参考图4以及图5。
其中,图4示出了通过伪造数据构建蜜罐来吸引爬虫访问以及植入初始探针用于记录用户的设备指纹的过程。图5示出了在检测到爬虫对仿造数据进行访问时,将初始探针替换为收集设备指纹以及用户行为数据的目标探针,并根据目标探针追踪用户,最终实现爬虫鉴定的过程。
首先,参考图4,用户登陆网站时首先会发起网站静态资源的请求,防护系统(即backend,后端)会选取第一JS文件(第一JS文件只用于采集设备指纹,无其他作用)并返回给Nginx,Nginx继续转发客户端请求至业务服务器。当业务服务器响应网页数据的时候,Nginx的lua层会自动判定当前静态资源文件请求是否是Html页面请求,如果是则植入JS,如果不是,则不植入。并返回静态页面资源响应数据。
构造高仿数据流程采用“一对多”模式,即一套防护系统对应多套业务系统,针对不同的业务的不同敏感数据仿造相似的数据。用户(client)、防护系统(即backend,后端)、Nginx以及业务服务器之间进行交互以完成数据仿造的流程图可以参考图6。如图4以及图6所示,用户发起数据请求至Nginx,Nginx转发至防护系统,系统通过请求的URL首先会去策略池查找相关的策略信息,如果无或者策略已失效,则会去发起请求询问业务服务当前URL相关的策略信息,防护系统获取到策略信息,可选地,业务系统会动态调整策略信息,比如调整仿造数据的位置,修改仿造数据的内容、数量等,防止爬虫用户摸清业务规则,混淆真实数据。会解析成Nginx能识别的数据格式信息并返回给Nginx,Nginx得到策略数据会缓存到本地并继续转发数据请求至业务服务,当业务服务返回数据信息,Nginx的lua层会根据策略数据修改响应的返回数据,返回数据中包括仿造数据,将修改后的响应数据返回给前端的用户。
随后在初始探针植入以及仿造数据发送至用户之后,即蜜罐构造完成后,参考图5,当检测到用户访问了伪造数据,系统捕获到这一行为,则会调用策略池或者从业务服务获取第二jS文件并替换之前的第一JS文件,第二JS文件不仅只是采集设备指纹信息,还用于收集用户行为数据特征值,用于作为后面爬虫行为鉴定的依据。
随后进入爬虫行为鉴定流程,当客户端再次发起数据请求,用户的行为数据会伴随着cache上传至防护系统,系统解析cache数据得到上报的用户行为,通过对浏览器启动行为规则、用户行为检测规则以及高频访问规则建立爬虫行为鉴定模型。判定当前客户端是否触发鉴定模型。鉴定结果包含字段为:设备指纹id、爬虫用户概率、时间、鉴定明细,并把鉴定结果上报至业务服务,由业务服务通过对鉴定结果分析进行安全仲裁,如当爬虫用户概率>50%时,则将用户确定为爬虫用户,当20%<爬虫用户概率<50%则将用户确定为疑似用户,爬虫用户概率<20%视为普通用户。其业务服务的概率可根据其爬取的业务数据的敏感度进行动态调整。同时业务服务会把相应的处置方式返回给防护系统,交由由防护系统代为执行。
由此,在本发声明实施例中,防护系统与多个业务系统之间采用“问询”交互形式。业务系统是策略定制者,防护系统是策略执行者。系统角色分工明确,不同的角色之间独立性高,由此整体系统的鲁棒性较强。针对多业务多数据模型,动态构造无侵入式的高仿制页面嵌套数据,混淆真实数据。并且为了防止爬虫用户摸清业务规则,本发明实施例基于浏览器驱动行为规则、用户行为检测规则以及高频访问规则等多个维度构建爬虫行为鉴定模型,获取客户端爬虫概率,提供爬虫检测的准确率。最后,本发明实施例基于业务需求特性,多元化处置爬虫行为,并且可以根据目标探针持续追踪爬虫行为,沉淀爬虫特征数据。
本发明实施例提供的反爬虫方法通过针对用户发送的数据访问请求返回响应数据;所述响应数据中包括仿造数据;由此通过仿造数据构造一个“蜜罐”来吸引潜在攻击者的作用;针对所述用户对所述仿造数据的操作对所述用户进行反爬处理;当用户点击了仿造数据时,则通过探针来对用户的行为轨迹进行收集,根据收集到用户的行为轨迹对用户进行爬虫鉴定,从而区别于现有技术中采取的为攻击者专门设置一个虚假的资源入口以及服务器,对于爬虫用户的吸引力较低,并且针对识别到的爬虫采取基于访问频率直接熔断从而导致反爬效果不佳的问题,本发明实施例能够提高反爬虫的准确率以及效率。
图7示出了本发明实施例提供的反爬虫装置的结构示意图。如图7所示,该装置30包括:返回模块301以及处理模块302。
返回模块301,用于针对用户发送的数据访问请求返回响应数据;所述响应数据中包括仿造数据;
处理模块302,用于针对所述用户对所述仿造数据的操作对所述用户进行反爬处理。
本发明实施例提供的反爬虫装置用于执行的操作过程与前述方法实施例大致相同,不再赘述。
本发明实施例提供的反爬虫装置通过针对用户发送的数据访问请求返回响应数据;所述响应数据中包括仿造数据;由此通过仿造数据构造一个“蜜罐”来吸引潜在攻击者的作用;针对所述用户对所述仿造数据的操作对所述用户进行反爬处理;当用户点击了仿造数据时,则通过探针来对用户的行为轨迹进行收集,根据收集到用户的行为轨迹对用户进行爬虫鉴定,从而区别于现有技术中采取的为攻击者专门设置一个虚假的资源入口以及服务器,对于爬虫用户的吸引力较低,并且针对识别到的爬虫采取基于访问频率直接熔断从而导致反爬效果不佳的问题,本发明实施例能够提高反爬虫的准确率以及效率。
图8示出了本发明实施例提供的反爬虫设备的结构示意图,本发明具体实施例并不对反爬虫设备的具体实现做限定。
如图8所示,该反爬虫设备可以包括:处理器(processor)402、通信接口(Communications Interface)404、存储器(memory)406、以及通信总线408。
其中:处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。处理器402,用于执行程序410,具体可以执行上述用于反爬虫方法实施例中的相关步骤。
具体地,程序410可以包括程序代码,该程序代码包括计算机可执行指令。
处理器402可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。反爬虫设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器406,用于存放程序410。存储器406可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序410具体可以被处理器402调用使反爬虫设备执行以下操作:
针对用户发送的数据访问请求返回响应数据;所述响应数据中包括仿造数据;
针对所述用户对所述仿造数据的操作对所述用户进行反爬处理。
本发明实施例提供的反爬虫设备所执行的操作过程与前述方法实施例大致相同,不再赘述。
本发明实施例提供的反爬虫设备通过针对用户发送的数据访问请求返回响应数据;所述响应数据中包括仿造数据;由此通过仿造数据构造一个“蜜罐”来吸引潜在攻击者的作用;针对所述用户对所述仿造数据的操作对所述用户进行反爬处理;当用户点击了仿造数据时,则通过探针来对用户的行为轨迹进行收集,根据收集到用户的行为轨迹对用户进行爬虫鉴定,从而区别于现有技术中采取的为攻击者专门设置一个虚假的资源入口以及服务器,对于爬虫用户的吸引力较低,并且针对识别到的爬虫采取基于访问频率直接熔断从而导致反爬效果不佳的问题,本发明实施例能够提高反爬虫的准确率以及效率。
本发明实施例提供了一种计算机可读存储介质,所述存储介质存储有至少一可执行指令,该可执行指令在反爬虫设备上运行时,使得所述反爬虫设备执行上述任意方法实施例中的反爬虫方法。
可执行指令具体可以用于使得反爬虫设备执行以下操作:
针对用户发送的数据访问请求返回响应数据;所述响应数据中包括仿造数据;
针对所述用户对所述仿造数据的操作对所述用户进行反爬处理。
本发明实施例提供的计算机可读存储介质所存储的可执行指令所执行的操作过程与前述方法实施例大致相同,不再赘述。
本发明实施例提供的计算机可读存储介质所存储的可执行指令通过针对用户发送的数据访问请求返回响应数据;所述响应数据中包括仿造数据;由此通过仿造数据构造一个“蜜罐”来吸引潜在攻击者的作用;针对所述用户对所述仿造数据的操作对所述用户进行反爬处理;当用户点击了仿造数据时,则通过探针来对用户的行为轨迹进行收集,根据收集到用户的行为轨迹对用户进行爬虫鉴定,从而区别于现有技术中采取的为攻击者专门设置一个虚假的资源入口以及服务器,对于爬虫用户的吸引力较低,并且针对识别到的爬虫采取基于访问频率直接熔断从而导致反爬效果不佳的问题,本发明实施例能够提高反爬虫的准确率以及效率。
本发明实施例提供一种反爬虫装置,用于执行上述反爬虫方法。
本发明实施例提供了一种计算机程序,所述计算机程序可被处理器调用使反爬虫设备执行上述任意方法实施例中的反爬虫方法。
本发明实施例提供了一种计算机程序产品,计算机程序产品包括存储在计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令在计算机上运行时,使得所述计算机执行上述任意方法实施例中的反爬虫方法。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。
本领域技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
Claims (10)
1.一种反爬虫方法,其特征在于,所述方法包括:
针对用户发送的数据访问请求返回响应数据;所述响应数据中包括仿造数据;
针对所述用户对所述仿造数据的操作对所述用户进行反爬处理。
2.根据权利要求1所述的方法,其特征在于,所述针对用户发送的数据访问请求返回响应数据,包括:
拦截业务系统针对所述数据访问请求返回的原始数据;
根据所述业务系统的数据仿造策略对所述原始数据进行仿造,得到所述仿造数据。
3.根据权利要求1所述的方法,其特征在于,所述针对所述用户对所述仿造数据的操作对所述用户进行反爬处理,包括:
在访问页面中植入探针,所述探针用于收集所述用户的用户行为数据;所述访问页面用于接收所述数据访问请求;
根据所述用户行为数据对所述用户进行反爬处理。
4.根据权利要求3所述的方法,其特征在于,所述在访问页面中植入探针,包括:
在所述访问页面中植入初始探针,所述初始探针用于收集所述用户的设备指纹;
当检测到所述用户对所述仿造数据存在访问时,将所述初始探针替换为目标探针;所述目标探针用于采集客户端行为数据以及所述设备指纹。
5.根据权利要求6所述的方法,其特征在于,所述当检测到所述用户对所述仿造数据存在访问时,将所述初始探针替换为目标探针,包括:
根据业务系统的安全需求信息构造所述目标探针。
6.根据权利要求3所述的方法,其特征在于,所述探针用于收集所述用户的设备指纹以及客户端行为数据;所述根据所述用户行为数据对所述用户进行反爬处理,包括:
根据所述设备指纹从所述客户端行为数据中提取出所述用户的行为轨迹;
对所述行为轨迹进行分析,得到所述用户对应的爬虫鉴定结果。
7.根据权利要求6所述的方法,其特征在于,所述对所述行为轨迹进行分析,得到所述爬虫鉴定结果,包括:
根据预设的爬虫特征维度对所述行为轨迹进行特征提取,得到所述用户对应的爬虫特征信息;所述爬虫特征维度包括自动化驱动行为维度、用户行为事件维度以及访问频次维度中的至少一项;
根据所述爬虫特征信息确定所述爬虫鉴定结果。
8.一种反爬虫装置,其特征在于,所述装置包括:
返回模块,用于针对用户发送的数据访问请求返回响应数据;所述响应数据中包括仿造数据;
处理模块,用于针对所述用户对所述仿造数据的操作对所述用户进行反爬处理。
9.一种反爬虫设备,其特征在于,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7任意一项所述的反爬虫方法的操作。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一可执行指令,所述可执行指令在反爬虫设备上运行时,使得反爬虫设备执行如权利要求1-7任意一项所述的反爬虫方法的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210544972.1A CN115037526B (zh) | 2022-05-19 | 2022-05-19 | 反爬虫方法、装置、设备以及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210544972.1A CN115037526B (zh) | 2022-05-19 | 2022-05-19 | 反爬虫方法、装置、设备以及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115037526A true CN115037526A (zh) | 2022-09-09 |
CN115037526B CN115037526B (zh) | 2024-04-19 |
Family
ID=83121594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210544972.1A Active CN115037526B (zh) | 2022-05-19 | 2022-05-19 | 反爬虫方法、装置、设备以及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115037526B (zh) |
Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007076714A1 (en) * | 2005-12-31 | 2007-07-12 | Metaswarm (Hongkong) Ltd. | System and method for generalizing an antispam blacklist |
US20110276716A1 (en) * | 2010-05-06 | 2011-11-10 | Desvio, Inc. | Method and system for monitoring and redirecting http requests away from unintended web sites |
CN102737019A (zh) * | 2011-03-31 | 2012-10-17 | 阿里巴巴集团控股有限公司 | 机器行为确定方法、网页浏览器及网页服务器 |
CN105577701A (zh) * | 2016-03-09 | 2016-05-11 | 携程计算机技术(上海)有限公司 | 网络爬虫的识别方法及系统 |
CN105871850A (zh) * | 2016-04-05 | 2016-08-17 | 携程计算机技术(上海)有限公司 | 爬虫检测方法和系统 |
CN107147640A (zh) * | 2017-05-09 | 2017-09-08 | 网宿科技股份有限公司 | 识别网络爬虫的方法及系统 |
CN107392022A (zh) * | 2017-07-20 | 2017-11-24 | 北京小度信息科技有限公司 | 爬虫识别、处理方法及相关装置 |
CN109067780A (zh) * | 2018-09-17 | 2018-12-21 | 平安科技(深圳)有限公司 | 爬虫用户的检测方法、装置、计算机设备和存储介质 |
CN109275145A (zh) * | 2018-09-21 | 2019-01-25 | 腾讯科技(深圳)有限公司 | 设备行为检测及阻隔处理方法、介质及电子设备 |
CN109600272A (zh) * | 2017-09-30 | 2019-04-09 | 北京国双科技有限公司 | 爬虫检测的方法及装置 |
CN110472178A (zh) * | 2019-08-20 | 2019-11-19 | 北京博睿宏远数据科技股份有限公司 | 一种探针注入方法、装置、计算机设备及存储介质 |
US20200092326A1 (en) * | 2018-02-09 | 2020-03-19 | RedMarlin, Inc. | Real-time detection and redirecton from counterfeit websites |
US20210120034A1 (en) * | 2019-10-22 | 2021-04-22 | Palo Alto Networks, Inc. | Intelligent signature-based anti-cloaking web recrawling |
US11032319B1 (en) * | 2018-08-31 | 2021-06-08 | NortonLifeLock Inc. | Systems and methods for preparing honeypot computer files |
CN112953958A (zh) * | 2021-03-09 | 2021-06-11 | 拉扎斯网络科技(上海)有限公司 | 一种爬虫检测方法、装置及电子设备 |
US20210350006A1 (en) * | 2020-05-08 | 2021-11-11 | NortonLifeLock Inc. | Systems and methods for identifying software vulnerabilities in embedded device firmware |
CN113645234A (zh) * | 2021-08-10 | 2021-11-12 | 东方财富信息股份有限公司 | 基于蜜罐的网络防御方法、系统、介质及装置 |
CN114024728A (zh) * | 2021-10-28 | 2022-02-08 | 杭州默安科技有限公司 | 一种蜜罐搭建方法以及应用方法 |
CN114124414A (zh) * | 2020-08-11 | 2022-03-01 | 奇安信科技集团股份有限公司 | 蜜罐服务的生成方法、装置和攻击行为数据的捕获方法 |
-
2022
- 2022-05-19 CN CN202210544972.1A patent/CN115037526B/zh active Active
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007076714A1 (en) * | 2005-12-31 | 2007-07-12 | Metaswarm (Hongkong) Ltd. | System and method for generalizing an antispam blacklist |
US20110276716A1 (en) * | 2010-05-06 | 2011-11-10 | Desvio, Inc. | Method and system for monitoring and redirecting http requests away from unintended web sites |
CN102737019A (zh) * | 2011-03-31 | 2012-10-17 | 阿里巴巴集团控股有限公司 | 机器行为确定方法、网页浏览器及网页服务器 |
CN105577701A (zh) * | 2016-03-09 | 2016-05-11 | 携程计算机技术(上海)有限公司 | 网络爬虫的识别方法及系统 |
CN105871850A (zh) * | 2016-04-05 | 2016-08-17 | 携程计算机技术(上海)有限公司 | 爬虫检测方法和系统 |
CN107147640A (zh) * | 2017-05-09 | 2017-09-08 | 网宿科技股份有限公司 | 识别网络爬虫的方法及系统 |
CN107392022A (zh) * | 2017-07-20 | 2017-11-24 | 北京小度信息科技有限公司 | 爬虫识别、处理方法及相关装置 |
CN109600272A (zh) * | 2017-09-30 | 2019-04-09 | 北京国双科技有限公司 | 爬虫检测的方法及装置 |
US20200092326A1 (en) * | 2018-02-09 | 2020-03-19 | RedMarlin, Inc. | Real-time detection and redirecton from counterfeit websites |
US11032319B1 (en) * | 2018-08-31 | 2021-06-08 | NortonLifeLock Inc. | Systems and methods for preparing honeypot computer files |
CN109067780A (zh) * | 2018-09-17 | 2018-12-21 | 平安科技(深圳)有限公司 | 爬虫用户的检测方法、装置、计算机设备和存储介质 |
CN109275145A (zh) * | 2018-09-21 | 2019-01-25 | 腾讯科技(深圳)有限公司 | 设备行为检测及阻隔处理方法、介质及电子设备 |
CN110472178A (zh) * | 2019-08-20 | 2019-11-19 | 北京博睿宏远数据科技股份有限公司 | 一种探针注入方法、装置、计算机设备及存储介质 |
US20210120034A1 (en) * | 2019-10-22 | 2021-04-22 | Palo Alto Networks, Inc. | Intelligent signature-based anti-cloaking web recrawling |
US20210350006A1 (en) * | 2020-05-08 | 2021-11-11 | NortonLifeLock Inc. | Systems and methods for identifying software vulnerabilities in embedded device firmware |
CN114124414A (zh) * | 2020-08-11 | 2022-03-01 | 奇安信科技集团股份有限公司 | 蜜罐服务的生成方法、装置和攻击行为数据的捕获方法 |
CN112953958A (zh) * | 2021-03-09 | 2021-06-11 | 拉扎斯网络科技(上海)有限公司 | 一种爬虫检测方法、装置及电子设备 |
CN113645234A (zh) * | 2021-08-10 | 2021-11-12 | 东方财富信息股份有限公司 | 基于蜜罐的网络防御方法、系统、介质及装置 |
CN114024728A (zh) * | 2021-10-28 | 2022-02-08 | 杭州默安科技有限公司 | 一种蜜罐搭建方法以及应用方法 |
Non-Patent Citations (1)
Title |
---|
余豪士;匡芳君;: "基于Python的反反爬虫技术分析与应用", 智能计算机与应用, no. 04 * |
Also Published As
Publication number | Publication date |
---|---|
CN115037526B (zh) | 2024-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105184159B (zh) | 网页篡改的识别方法和装置 | |
US10567407B2 (en) | Method and system for detecting malicious web addresses | |
Vastel et al. | FP-Crawlers: studying the resilience of browser fingerprinting to block crawlers | |
CN110413908B (zh) | 基于网站内容对统一资源定位符进行分类的方法和装置 | |
CN101340434B (zh) | 网站恶意内容检测与认证方法及系统 | |
Srinivasa Rao et al. | Detecting phishing websites using automation of human behavior | |
CN110035075A (zh) | 钓鱼网站的检测方法、装置、计算机设备及存储介质 | |
US11463462B2 (en) | Bot behavior detection | |
RU2697950C2 (ru) | Система и способ выявления скрытого поведения расширения браузера | |
Weng et al. | Towards understanding the security of modern image captchas and underground captcha-solving services | |
US10958684B2 (en) | Method and computer device for identifying malicious web resources | |
US11500952B1 (en) | Indexing access limited native applications | |
CN110708339B (zh) | 一种基于web日志的关联分析方法 | |
CN113518064B (zh) | 挑战黑洞攻击的防御方法、装置、计算机设备和存储介质 | |
CN111641588A (zh) | 网页模拟输入检测方法、装置、计算机设备及存储介质 | |
CN109344614B (zh) | 一种Android恶意应用在线检测方法 | |
CN111209601A (zh) | 一种用于反欺诈的人机识别系统 | |
Sanchez-Rola et al. | Bakingtimer: privacy analysis of server-side request processing time | |
CN114157568B (zh) | 一种浏览器安全访问方法、装置、设备及存储介质 | |
CN109522501A (zh) | 页面内容管理方法及其装置 | |
Koide et al. | To get lost is to learn the way: Automatically collecting multi-step social engineering attacks on the web | |
CN115037526B (zh) | 反爬虫方法、装置、设备以及计算机存储介质 | |
CN106326419B (zh) | 网络自动机处理方法及装置 | |
US20140040227A1 (en) | Method and Apparatus for Locating Phishing Kits | |
Koide et al. | To Get Lost is to Learn the Way: An Analysis of Multi-Step Social Engineering Attacks on the Web |
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 | ||
GR01 | Patent grant |