CN108737333B - 一种数据检测方法以及装置 - Google Patents
一种数据检测方法以及装置 Download PDFInfo
- Publication number
- CN108737333B CN108737333B CN201710249568.0A CN201710249568A CN108737333B CN 108737333 B CN108737333 B CN 108737333B CN 201710249568 A CN201710249568 A CN 201710249568A CN 108737333 B CN108737333 B CN 108737333B
- Authority
- CN
- China
- Prior art keywords
- field
- target
- terminal information
- service request
- 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.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 145
- 230000002159 abnormal effect Effects 0.000 claims abstract description 349
- 238000004458 analytical method Methods 0.000 claims abstract description 110
- 238000000034 method Methods 0.000 claims abstract description 61
- 238000004364 calculation method Methods 0.000 claims description 16
- 238000004891 communication Methods 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 18
- 239000000284 extract Substances 0.000 description 11
- 230000005856 abnormality Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 241000238413 Octopus Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- 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/1425—Traffic logging, e.g. anomaly detection
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
本发明实施例公开了一种数据检测方法以及装置,所述方法包括:从第一业务请求数据包中提取至少一个目标头字段,并在预设的异常分析规则库中,对其进行异常分析,并根据分析结果计算第一业务请求数据包对应的字段异常分值,作为目标字段异常分值,并将各目标头字段中的目标终端信息与目标字段异常分值的关联关系存储至存储数据库中;当接收到业务服务器发送的异常查询请求时,获取异常查询请求中的查询参数,并在存储数据库中检测到查询参数与目标终端信息相匹配时,将与目标终端信息对应的目标字段异常分值作为结果数据发送至业务服务器。采用本发明,可降低对恶意爬虫的误判率和漏判率,并避免业务服务器中的正常业务流程中的网络请求中断。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种数据检测方法以及装置。
背景技术
网络爬虫是一种自动获取网页内容的程序。对于一个网站而言,恶意爬虫的大量请求会消耗服务器的性能,甚至会造成服务器宕机。现有的网络爬虫技术可以包括高频率脚本爬虫和采集器爬虫。
目前主流的实时检测恶意爬虫的方法具体可以为:业务服务器在时间窗口中实时统计某个IP(Internet Protocol,网络协议)地址对应的访问量,并根据访问量和时间窗口的时间区间,计算该IP地址对应的访问频率,并根据访问频率决策是否对包含该IP地址的业务请求进行拦截或放行。
由于现有的实时检测恶意爬虫的方法所依赖的维度过于单一(即仅仅访问量维度),所以现有的实时检测恶意爬虫的方法容易产生较高的误判率和漏判率。在现有的实时检测恶意爬虫的方法中,还需要在业务服务器的内存中开辟临时存储空间,并同时进行阈值和判断逻辑的设定,容易导致业务服务器的系统资源被大量占用。而且,在现有的实时检测恶意爬虫的方法中,业务服务器需要等待爬虫检测系统执行完对业务请求的爬虫检测操作后,才能继续后续业务流程,因此,在对业务请求进行爬虫检测的过程中出现异常时,可能会导致业务服务器中的正常业务流程中的网络请求中断。
发明内容
本发明实施例提供一种数据检测方法以及装置,可降低检测恶意爬虫的误判率和漏判率,并降低对业务服务器的系统资源的占用,并可以有效避免业务服务器中的正常业务流程中的网络请求中断。
本发明实施例提供了一种数据检测方法,包括:
获取第一业务请求数据包,并从所述第一业务请求数据包中提取至少一个目标头字段;
在预设的异常分析规则库中,对所述至少一个目标头字段进行异常分析,并根据分析结果计算所述第一业务请求数据包对应的字段异常分值;
将所述第一业务请求数据包对应的字段异常分值作为目标字段异常分值,并将所述至少一个目标头字段中的目标终端信息与所述目标字段异常分值的关联关系存储至存储数据库中;
当接收到业务服务器发送的与第二业务请求数据包对应的异常查询请求时,获取所述异常查询请求中的查询参数,并在所述存储数据库中检测到所述查询参数与所述目标终端信息相匹配时,将所述存储数据库中与所述目标终端信息对应的所述目标字段异常分值作为结果数据,并将所述结果数据发送至所述业务服务器,以使所述业务服务器根据所述结果数据对所述第二业务请求数据包进行业务处理。
相应地,本发明实施例还提供了一种数据检测装置,包括:
数据包获取模块,用于获取第一业务请求数据包;
提取模块,用于从所述第一业务请求数据包中提取至少一个目标头字段;
分析计算模块,用于在预设的异常分析规则库中,对所述至少一个目标头字段进行异常分析,并根据分析结果计算所述第一业务请求数据包对应的字段异常分值;
关系存储模块,用于将所述第一业务请求数据包对应的字段异常分值作为目标字段异常分值,并将所述至少一个目标头字段中的目标终端信息与所述目标字段异常分值的关联关系存储至存储数据库中;
参数获取模块,用于当接收到业务服务器发送的与第二业务请求数据包对应的异常查询请求时,获取所述异常查询请求中的查询参数;
发送模块,用于在所述存储数据库中检测到所述查询参数与所述目标终端信息相匹配时,将所述存储数据库中与所述目标终端信息对应的所述目标字段异常分值作为结果数据,并将所述结果数据发送至所述业务服务器,以使所述业务服务器根据所述结果数据对所述第二业务请求数据包进行业务处理。
本发明实施例通过获取第一业务请求数据包,并从第一业务请求数据包中提取至少一个目标头字段,并在预设的异常分析规则库中,对至少一个目标头字段进行异常分析,并根据分析结果计算第一业务请求数据包对应的字段异常分值,并将第一业务请求数据包对应的字段异常分值作为目标字段异常分值,并将至少一个目标头字段中的目标终端信息与目标字段异常分值的关联关系存储至存储数据库中。由于通过分析请求的头字段,可以更好地检测出请求是否来自于恶意爬虫,所以可以降低检测恶意爬虫的误判率和漏判率。当接收到业务服务器发送的与第二业务请求数据包对应的异常查询请求时,获取异常查询请求中的查询参数,并在存储数据库中检测到查询参数与目标终端信息相匹配时,将存储数据库中与目标终端信息对应的目标字段异常分值作为结果数据,并将结果数据发送至业务服务器,以使业务服务器根据结果数据对第二业务请求数据包进行业务处理。由此可见,本发明中的业务服务器无需对请求进行检测,业务服务器只需发送异常查询请求到爬虫检测系统即可,从而可以降低业对业务服务器的系统资源的占用;而且尽管爬虫检测系统在对业务请求进行爬虫检测的过程中出现异常时,业务服务器依然可以发送异常查询请求到爬虫检测系统,以获取爬虫检测系统中的存储数据库中已存储的目标字段异常分值,使得业务服务器根据目标字段异常分值可以继续后续业务流程,即业务服务器无需等待当前业务请求被检测完毕才能继续后续流程,从而可以有效避免业务服务器中的正常业务流程中的网络请求中断。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种爬虫检测系统的网络架构示意图;
图2是本发明实施例提供的一种数据检测方法的流程示意图;
图3是本发明实施例提供的一种检测服务器中用于计算异常分值的局部结构示意图;
图4是本发明实施例提供的另一种数据检测方法的流程示意图;
图5是本发明实施例提供的另一种检测服务器中用于计算异常分值的局部结构示意图;
图6是本发明实施例提供的一种数据检测装置的结构示意图;
图7是本发明实施例提供的另一种数据检测装置的结构示意图;
图8是本发明实施例提供的一种发送模块的结构示意图;
图9是本发明实施例提供的一种分析计算模块的结构示意图;
图10是本发明实施例提供的一种关系存储模块的结构示意图;
图11是本发明实施例提供的又一种数据检测装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,是本发明实施例提供的一种爬虫检测系统的网络架构示意图。如图1所示,所述网络架构可以包括多个用户终端,网络连接设备、业务服务器(如Web服务器)和检测服务器;
所述检测服务器包括:解析判定模块、存储数据库、查询API(ApplicationProgram Interface,应用程序接口)和缓存区,所述检测服务器分别与所述网络连接设备和所述业务服务器进行网络连接,且所述网络连接设备和所述业务服务器进行网络连接,此外,所述多个用户终端与所述网络连接设备进行网络连接。其中,在所述检测服务器中,所述解析判断模块与所述存储数据库进行连接,所述存储数据库与所述缓存区进行连接,所述缓存区与所述查询API进行连接。所述网络连接设备可以包括交换机、路由器、集线器等等。
如图1所示,当用户终端和爬虫程序发送的业务请求流经互联网所属站点的网络连接设备和业务服务器时,所述网络连接设备可用于获取与所述业务请求对应的第一业务请求数据包,并可进一步对获取到的第一业务请求数据包进行复制,然后将复制得到的业务请求数据包作为第一业务请求数据包发送给检测服务器;
其中,所述网络连接设备发送的所述第一业务请求数据包是由所述网络连接设备通过分光器或带有复制功能的网络设备对获取到的所述第一业务请求数据包进行复制后所得到的业务请求数据包。
可选地,如图1所示,所述网络连接设备在将获取到的第一业务请求数据包发送给业务服务器(Web服务器)后,所述业务服务器可以基于数据发送队列将所述第一业务请求数据包异步上报至所述检测服务器。其中,所述数据发送队列的作用可在同一时间段内支持高并发的多个用户对应的业务请求,并保证所述业务请求之间的时间有序性。
其中,所述多个用户终端可以是多个共用同一出口网络地址或公网网络地址并发访问网站的用户终端集群;
可选地,所述多个用户终端也可以包括多个分别采用不同的个人网络地址对该网站进行访问的用户终端集群。
进一步地,所述检测服务器可获取由所述网络连接设备发送的或由所述业务服务器异步上报的第一业务请求数据包,并通过所述解析判定模块从所述第一业务请求数据包中提取至少一个目标头字段(例如,至少一个互联网协议(IP,Internet Protocol)中携带的IP字段);
进一步地,所述检测服务器可通过所述解析判定模块在预设的异常分析规则库中,对所述至少一个目标头字段进行异常分析,并根据分析结果计算所述第一业务请求数据包对应的字段异常分值;进一步地,所述检测服务器还可将所述第一业务请求数据包对应的字段异常分值作为目标字段异常分值,并将所述至少一个目标头字段中的目标终端信息与所述目标字段异常分值的关联关系存储至存储数据库中;可见,通过在预设的异常分析规则库中,对所述至少一个目标头字段进行异常分析,即通过分析请求中提取到的头字段,可以更好地检测出请求是否来自于恶意爬虫,所以可以降低检测恶意爬虫的误判率和漏判率。
进一步地,当所述检测服务器中的查询API接收到业务服务器发送的与第二业务请求数据包对应的异常查询请求时,可进一步获取所述异常查询请求中的查询参数(例如,IP地址和用户标识信息),并在所述存储数据库中检测到所述查询参数与所述目标终端信息相匹配时,将所述存储数据库中与所述目标终端信息对应的所述目标字段异常分值作为结果数据,并将所述结果数据发送至所述业务服务器,以使所述业务服务器根据所述结果数据对所述第二业务请求数据包进行业务处理。
其中,当所述第二业务请求数据包和所述第一业务请求数据包为同一个业务请求数据包时,若在所述存储数据库中未存储有与目标终端信息具有关联关系的所述目标字段异常分值,则所述检测服务器需要在计算所述第一业务请求数据包对应的字段异常分值,并将所述第一业务请求数据包对应的字段异常分值作为目标字段异常分值存储至所述存储数据库后,再根据所述第二业务请求数据包(即所述第一业务请求数据包)对应的异常查询请求将所述存储数据库中的所述目标终端信息对应的所述目标字段异常分值作为结果数据,以发送至所述业务服务器;若存储数据库中已存储有与目标终端信息具有关联关系的所述目标字段异常分值,则所述检测服务器在计算所述第一业务请求数据包对应的字段异常分值的同时,可同步根据所述第二业务请求数据包(即所述第一业务请求数据包)对应的所述异常查询请求将已存储的目标终端信息对应的所述目标字段异常分值作为结果数据发送至所述业务服务器。即所述业务服务器无需等待对所述第一业务请求数据包的爬虫检测操作,即可同步根据所述第一业务请求数据包对应的异常查询请求在所述存储数据库中获取所述第一业务请求数据包对应的目标字段异常分值。即所述检测服务器可以同步执行分值计算操作和分值查询操作。
可选地,当所述第二业务请求数据包和所述第一业务请求数据包为不同的业务请求数据包(所述第二业务请求数据包和所述第一业务请求数据包具有相同的终端信息)时,所述检测服务器可将与所述第一业务请求数据包对应的字段异常分值作为目标字段异常分值,并将所述目标字段异常分值存储至所述存储数据库中。当通过查询API接收到所述业务服务器发送的所述第二业务请求数据包对应的异常查询请求时,可直接根据查询请求在存储数据库中获取已存储有的与目标终端信息(即所述第一业务请求数据包的终端信息)具有关联关系的所述目标字段异常分值,并将已存储的目标终端信息对应的所述目标字段异常分值作为结果数据返回到所述业务服务器。其中,所述检测服务器在返回所述第二业务请求数据包对应的结果数据的同时,也会计算所述第二业务请求数据包对应的字段异常分值。
可见,所述业务服务器只需发送所述异常查询请求到所述检测服务器,以使所述检测服务器来进行爬虫检测与存储,即所述业务服务器无需进行爬虫检测和存储,进而可以降低对业务服务器的系统资源的占用。而且,即使所述检测服务器在对业务请求数据包计算字段异常分值时出现异常,所述业务服务器仍可进一步发送所述异常查询请求到所述检测服务器,且所述检测服务器可进一步根据所述数据存储库中历史存储的字段异常分值将与目标终端信息相关联的目标字段异常分值返回到所述业务服务器,从而可确保所述业务服务器能继续后续业务流程,避免所述业务服务器中的网络请求中断,即所述检测服务器可对识别存储过程和查询过程实现异步处理,进而避免了业务服务器中的网络请求中断。
可选地,在如图1所示的所述检测服务器中,所述查询API,用于当接收到所述Web服务器发送的与第二业务请求数据包对应的异常查询请求时,获取所述异常查询请求中的查询参数,并可进一步根据所述查询参数在缓存区中查找是否存在与所述查询参数相匹配的终端信息;若在缓存区中未查找到与所述查询参数相匹配的终端信息,则进一步在所述存储数据库中查找是否存在与所述查询参数相匹配的终端信息;若所述存储数据库中存在与所述查询参数相匹配的终端信息,且与所述查询参数相匹配的终端信息为所述目标终端信息,则将所述存储数据库中与所述目标终端信息对应的所述目标字段异常分值作为结果数据,并将所述结果数据发送至所述业务服务器;
与此同时,所述缓存区可用于将所述结果数据与所述目标终端信息的关联关系进行存储处理,并进一步为所述结果数据与所述目标终端信息的关联关系设置第一生命周期;此外,所述存储数据库,可用于对所述目标终端信息与所述目标字段异常分值的关联关系进行存储,并为所述目标终端信息与所述目标字段异常分值的关联关系设置第二生命周期;其中,所述第二生命周期大于第一生命周期。
本发明实施例通过获取第一业务请求数据包,并从第一业务请求数据包中提取至少一个目标头字段,并在预设的异常分析规则库中,对至少一个目标头字段进行异常分析,并根据分析结果计算第一业务请求数据包对应的字段异常分值,并将第一业务请求数据包对应的字段异常分值作为目标字段异常分值,并将至少一个目标头字段中的目标终端信息与目标字段异常分值的关联关系存储至存储数据库中。由于通过分析请求的头字段,可以更好地检测出请求是否来自于恶意爬虫,所以可以降低检测恶意爬虫的误判率和漏判率。当接收到业务服务器发送的与第二业务请求数据包对应的异常查询请求时,获取异常查询请求中的查询参数,并在存储数据库中检测到查询参数与目标终端信息相匹配时,将存储数据库中与目标终端信息对应的目标字段异常分值作为结果数据,并将结果数据发送至业务服务器,以使业务服务器根据结果数据对第二业务请求数据包进行业务处理。由此可见,本发明中的业务服务器无需对请求进行检测,业务服务器只需发送异常查询请求到爬虫检测系统即可,从而可以降低业对业务服务器的系统资源的占用;而且尽管爬虫检测系统在对业务请求进行爬虫检测的过程中出现异常时,业务服务器依然可以发送异常查询请求到爬虫检测系统,以获取爬虫检测系统中的存储数据库中已存储的目标字段异常分值,使得业务服务器根据目标字段异常分值可以继续后续业务流程,即业务服务器无需等待当前业务请求被检测完毕才能继续后续流程,从而可以有效避免业务服务器中的正常业务流程中的网络请求中断。
请参见图2,是本发明实施例提供的一种数据检测方法的流程示意图,所述方法可以包括:
S201,获取第一业务请求数据包,并从所述第一业务请求数据包中提取至少一个目标头字段;
具体的,检测服务器接收网络连接设备发送的第一业务请求数据包,并从所述第一业务请求数据包中提取至少一个目标头字段;
可选地,所述检测服务器还可接收所述业务服务器基于数据发送队列进行异步上报的第一业务请求数据包;
其中,所述网络连接设备发送的所述第一业务请求数据包是由所述网络连接设备对获取到的所述第一业务请求数据包进行复制后所得到的业务请求数据包;
其中,所述网络连接设备与所述业务服务器具备网络连接关系,即所述网络连接设备可通过网络连接关系将获取到的所述第一业务请求数据包发送给所述业务服务器;所述网络连接设备可以包括交换机、路由器、集线器等等。
其中,所述目标头字段可以包括:IP字段,CGI(Common Gateway Interface,公共网关接口)字段,User Agent(用户代理)字段,UID(User Identifier,用户身份标识)字段,和host字段等。
S202,在预设的异常分析规则库中,对所述至少一个目标头字段进行异常分析,并根据分析结果计算所述第一业务请求数据包对应的字段异常分值;
具体地,所述检测服务器可检测各目标头字段中的字段值,并进一步检测所述各目标头字段之间的排列顺序;若存在至少一个字段值和/或所述排列顺序与所述异常分析规则库中的异常特征规则相匹配,则根据相匹配的异常特征规则对应的预设优先级,增加所述第一业务请求数据包对应的字段异常分值;若存在至少一个字段值和/或所述排列顺序与所述异常分析规则库中的正常特征规则相匹配,则根据相匹配的正常特征规则对应的预设优先级,减少所述第一业务请求数据包对应的字段异常分值;若存在至少一个字段值和/或所述排列顺序与所述异常分析规则库中的采集器特征规则相匹配,则将所述第一业务请求数据包对应的字段异常分值设置为预设的异常分值区间内的最大值。
其中,所述目标头字段中的字段值可以包括:IP字段中的IP地址,CGI字段中的CGI路径,User Agent字段中的用户代理信息,UID字段中的用户身份标识等等。
比如,在提取到所述第一业务请求数据包(HTTP协议包体)中的各目标头字段时,可首先根据所述异常特征规则匹配User Agent字段中的用户代理信息是否为主流爬虫框架名,并匹配HTTP协议版本是否为异常协议版本,并匹配目标头字段中是否使用GET请求方法但带有POST请求方法特征,并匹配host字段值是否带端口号,并可以匹配是否有至少一个目标头字段之间的顺序为异常顺序(如host字段排名靠后时,说明可能存在异常),并按照所匹配到的异常类型对应的优先级对字段异常分值进行分数加权。例如,不同的主流爬虫框架名可以分别对应不同的优先级,那么当User Agent字段中的用户代理信息匹配到优先级越高的主流爬虫框架名时,则对字段异常分值加的分数越多。所述字段异常分值越高,说明越符合恶意爬虫请求的类型。
例如,正常业务请求中的host字段可以为Host:xxxx.qq.com;而异常业务请求中的host字段可以为Host:xxxx.qq.com:80,由于host字段中包含端口号“:80”,所以该host字段为异常字段。又例如,正常业务请求中的HTTP协议版本可以为HTTP/1.1,异常业务请求中的HTTP协议版本可以为HTTP/1.0。又例如,某个业务请求包括字段:GET http://xxxx.qq.com:80/HTTP/1.1,Host:xxxx.qq.com,Content-Type:application/x-www-form-urlencoded,由此可见,该业务请求为HTTP GET请求,但是该业务请求却包含POST请求才有的特征(字段Content-Type:application/x-www-form-urlencoded是POST请求中才有的字段),因此,该业务请求为异常业务请求。
又比如,在所述异常分析规则库中,所述检测服务器可提取所述第一业务请求数据包(HTTP协议包体)中的各目标头字段(比如,IP字段、UID字段、host字段等等),并确定各目标头字段与所述正常特征规则中的正常头字段(所述正常头字段可以为预先设定的主流浏览器和路由器转发后携带的HTTP头部值中的头字段)之间的匹配程度,并可以确定各目标头字段之间的顺序与所述正常特征规则中的正常顺序之间的匹配程度。不同的正常类型对应不同的优先级,因此,可以根据所匹配到的正常类型对应的优先级对字段异常分值进行减分。其中,正常类型对应的优先级越高,减的分数越多,即说明业务请求数据包越贴近正常的业务请求。
又比如,在所述异常分析规则库中的采集器特征规则包括在关关采集器、神射手采集器、八爪鱼采集器等主流采集器中采集到的稳定的请求头部顺序或字段值特征。所述检测服务器可以使用正则表达式匹配流经的HTTP请求(如所述第一业务请求数据包)的目标头字段的字段值和顺序是否满足所述采集器特征规则,即当存在至少一个字段值和/或所述排列顺序与所述异常分析规则库中的采集器特征规则相匹配时,可将所述第一业务请求数据包对应的字段异常分值设置为预设的异常分值区间内的最大值。
例如,通过分析关关采集器的业务请求样本,可以知道关关采集器对应的字段顺序可以为“Accept”-“User-Agent”-“Referer”或“Accept”-“Referer”-“User-Agent”,且关关采集器对应的固定字段值可以包括:“Accept”的字段值为“*/*”、“Content-Type”的字段值为“application/x-www-form-urlencoded”。因此,当某个业务请求中的各字段值和字段的排列顺序满足关关采集器对应的固定字段值和字段顺序时,即可确定该业务请求满足所述采集器特征规则。
在具体的应用场景中,所述检测服务器解析业务请求数据包A的各目标头字段的字段值,以及各目标头字段之间的排列顺序;然后,先基于异常特征规则对业务请求数据包A进行分析,若目标头字段a1中的字段值与异常特征规则中的异常字段值b1相匹配(异常字段值b1对应中优先级,中优先级对应40分),则对业务请求数据包A的字段异常分值加40分(得到当前的字段异常分值为40分);并且若目标头字段a1与目标头字段a2之间的顺序与异常特征规则中的异常顺序b2相匹配(异常字段值b2对应低优先级,低优先级对应20分),则对业务请求数据包A的字段异常分值加20分(得到当前的字段异常分值为60分);然后,在基于正常特征规则对业务请求数据包A进行分析,若目标头字段a3和目标头字段a4之间的顺序与正常特征规则中的正常顺序b3相匹配(正常字段值b3对应低优先级,低优先级对应20分),则对业务请求数据包A的字段异常分值减20分(得到当前的字段异常分值为40分);之后若检测出业务请求数据包A未满足采集器特征规则,则可以最终确定业务请求数据包A对应的字段异常分值为40分。若检测出业务请求数据包A满足采集器特征规则,则可以将当前的字段异常分值(即40分)直接设置为最大值(如100分为最大值),即最终确定业务请求数据包A对应的字段异常分值为100分。
可选地,所述检测服务器可在第一预设时间窗口内,获取多个包含所述目标终端信息的待统计业务请求数据包,并根据所述待统计业务请求数据包的数量计算所述目标终端信息对应的访问频率,作为第一访问频率,并在所述第一访问频率大于预设频率阈值时,根据所述第一访问频率计算所述目标终端信息对应的第一频率异常分值。
其中,所述目标终端信息可以包括:IP地址和UID;进一步的,所述目标终端信息还可以包括业务请求数据包中的目标域名。
比如,在所述异常分析规则库中,所述检测服务器可在第一预设时间窗口内(例如,1分钟内),获取多个包含所述目标终端信息(比如,IP地址和用户身份标识)的待统计业务请求数据包,并根据所述待统计业务请求数据包的数量(300个)计算所述目标终端信息对应的访问频率,作为第一访问频率(即5次/秒),并在所述第一访问频率大于预设频率阈值(1次/秒)时,根据所述第一访问频率计算所述目标终端信息对应的第一频率异常分值。
进一步地,请一并参见图3,是本发明实施例提供的一种检测服务器中用于计算异常分值的局部结构示意图。如图3所示,对于获取到的至少一个目标头字段,可采用以下两种方式分别获取所述目标字段异常分值和所述第一频率异常分值,并分别对其进行存储;如图3所示,第一种方式为,在第一预设时间窗口内,所述检测服务器可根据单位时间内统计到的目标终端信息对应的访问频率计算第一频率异常分值;第二种方式为,所述检测服务器还可按照所述异常分析规则库中的异常特征规则、正常特征规则以及采集器特征规则,分别对所述第一业务请求数据包对应的字段异常分值进行加分处理、减分处理或最大化处理。计算后的目标字段异常分值和所述目标终端信息的关联关系、所述第一频率分值和所述目标终端信息的关联关系均可以被同步存储至所述存储数据库(DB)中。例如,以业务请求数据包A为例,当该业务请求数据包A中提取到的所述至少一个目标头字段(User-Agent字段、IP字段、UID字段、host字段)中的某一部分目标头字段的字段值(如host字段值带端口号59)满足异常特征规则时,可对字段异常分值进行异常加分(比如,增加60分);且当另一部分目标头字段符合正常特征规则(即该部分目标头部值与主流浏览器和路由器转发后携带的HTTP头部值匹配)时,可字段异常分值进行减分(比如,减50分,此时得到的字段异常分值为60-50=10);又比如,当业务请求数据包B对应的至少一个目标头字段满足采集器特征规则时,直接将业务请求数据包B对应的字段异常分值设为异常分值区间(0分至100分)内的最大值100分,即此时可以不用再根据异常特征规则和正常特征规则对所述第一业务请求数据包对应的至少一个字段值和/或排列顺序进行分析。
S203,将所述第一业务请求数据包对应的字段异常分值作为目标字段异常分值,并将所述至少一个目标头字段中的目标终端信息与所述目标字段异常分值的关联关系存储至存储数据库中;
可选地,所述检测服务器还可在所述第一访问频率大于预设频率阈值时,根据所述第一访问频率计算所述目标终端信息对应的第一频率异常分值,并将所述目标终端信息与所述第一频率异常分值的关联关系存储至所述存储数据库中。
可选地,所述检测服务器还可以在所述第一预设时间窗口内,重新计算所述目标终端信息对应的访问频率,作为第二访问频率,并在所述第二访问频率大于所述预设频率阈值时,根据所述第二访问频率计算所述目标终端信息对应的第二频率异常分值,若所述第二频率异常分值大于所述第一频率异常分值,则将所述存储数据库中所述目标终端信息对应的所述第一频率异常分值更新为所述第二频率异常分值。
可见,在所述第一预设时间窗口内,可对统计到的所述目标终端信息对应访问频率进行实时统计,并在所第二频率异常分值大于所述第一频率异常分值时,对所述存储数据库中所述目标终端信息对应的所述第一频率异常分值进行更新处理。
S204,当接收到业务服务器发送的与第二业务请求数据包对应的异常查询请求时,获取所述异常查询请求中的查询参数,并在所述存储数据库中检测到所述查询参数与所述目标终端信息相匹配时,将所述存储数据库中与所述目标终端信息对应的所述目标字段异常分值作为结果数据,并将所述结果数据发送至所述业务服务器,以使所述业务服务器根据所述结果数据对所述第二业务请求数据包进行业务处理。
具体地,当所述检测服务器接收到业务服务器发送的与第二业务请求数据包对应的异常查询请求时,获取所述异常查询请求中的查询参数,在所述存储数据库中检测到所述查询参数与所述目标终端信息相匹配时,在所述目标终端信息对应的所述目标字段异常分值和所述目标终端信息对应的所述第一频率异常分值中选择数值较大者,作为结果数据,并将所述结果数据发送至所述业务服务器。所述业务服务器可以根据所述结果数据中的数值确定所述第二业务请求数据包为正常请求还是恶意爬虫请求,若确定为正常请求,则可以响应所述第二业务请求数据包以执行后续业务流程;若确定为恶意爬虫请求,则拦截所述第二业务请求数据包。
本发明实施例通过获取第一业务请求数据包,并从第一业务请求数据包中提取至少一个目标头字段,并在预设的异常分析规则库中,对至少一个目标头字段进行异常分析,并根据分析结果计算第一业务请求数据包对应的字段异常分值,并将第一业务请求数据包对应的字段异常分值作为目标字段异常分值,并将至少一个目标头字段中的目标终端信息与目标字段异常分值的关联关系存储至存储数据库中。由于通过分析请求的头字段,可以更好地检测出请求是否来自于恶意爬虫,所以可以降低检测恶意爬虫的误判率和漏判率。当接收到业务服务器发送的与第二业务请求数据包对应的异常查询请求时,获取异常查询请求中的查询参数,并在存储数据库中检测到查询参数与目标终端信息相匹配时,将存储数据库中与目标终端信息对应的目标字段异常分值作为结果数据,并将结果数据发送至业务服务器,以使业务服务器根据结果数据对第二业务请求数据包进行业务处理。由此可见,本发明中的业务服务器无需对请求进行检测,业务服务器只需发送异常查询请求到爬虫检测系统即可,从而可以降低业对业务服务器的系统资源的占用;而且尽管爬虫检测系统在对业务请求进行爬虫检测的过程中出现异常时,业务服务器依然可以发送异常查询请求到爬虫检测系统,以获取爬虫检测系统中的存储数据库中已存储的目标字段异常分值,使得业务服务器根据目标字段异常分值可以继续后续业务流程,即业务服务器无需等待当前业务请求被检测完毕才能继续后续流程,从而可以有效避免业务服务器中的正常业务流程中的网络请求中断。
进一步地,请参见图4,是本发明实施例提供的另一种数据检测方法的流程示意图。如图4所示,所述方法可以包括:
S401,获取第一业务请求数据包,并从所述第一业务请求数据包中提取至少一个目标头字段;
S402,在预设的异常分析规则库中,对所述至少一个目标头字段进行异常分析,并根据分析结果计算所述第一业务请求数据包对应的字段异常分值;
其中,S401-S402步骤的具体实现方式可以参见上述图2对应实施例中的S201-S202,这里不再进行赘述。
步骤S403,将所述第一业务请求数据包对应的字段异常分值作为目标字段异常分值,并将所述至少一个目标头字段中的目标终端信息与所述目标字段异常分值的关联关系存储至存储数据库中;
具体地,所述检测服务器还可将所述第一业务请求数据包作为待统计业务请求数据包,并在第二预设时间窗口内继续获取多个包含所述目标终端信息的待统计业务请求数据包,并计算在所述第二预设时间窗口内所获取到的各待统计业务请求数据包分别对应的字段异常分值,并统计所述字段异常分值大于预设分值阈值的待统计业务请求数据包的数量,并在所述数量大于预设数量阈值时,在所述各待统计业务请求数据包分别对应的字段异常分值中选择数值最大者,作为目标字段异常分值,并将所述至少一个目标头字段中的目标终端信息与所述目标字段异常分值的关联关系存储至存储数据库中。通过在所述第二预设时间窗口内确定所述目标字段异常分值,可以提高所述第一业务请求数据包对应的字段异常分值的准确性,即基于字段异常分值可以更准确的判定所述第一业务请求数据包是否为恶意爬虫请求。
可选的,所述检测服务器还可以在第一预设时间窗口内,获取多个包含所述目标终端信息的待统计业务请求数据包,并根据所述待统计业务请求数据包的数量计算所述目标终端信息对应的访问频率,作为第一访问频率,并在所述第一访问频率大于预设频率阈值时,根据所述第一访问频率计算所述目标终端信息对应的第一频率异常分值,并在所述第一访问频率大于预设频率阈值时,根据所述第一访问频率计算所述目标终端信息对应的第一频率异常分值,并将所述目标终端信息与所述第一频率异常分值的关联关系存储至所述存储数据库中。其中,对所述第一频率异常分值的具体描述可以参见上述图2对应实施例中对所述第一频率异常分值的描述,这里不再进行赘述。
进一步地,请一并参见图5,是本发明实施例提供的另一种检测服务器中用于计算异常分值的局部结构示意图。如图5所示,所述目标字段异常分值的获取方式可以为:通过异常分析规则库中不同的预设规则(异常特征规则、正常特征规则和采集器特征规则)计算第一业务请求数据包(所述第一业务请求数据包即为待统计业务请求数据包,且所述第一业务请求数据包包含目标终端信息)对应的字段异常分值,并进一步在第二预设时间窗口内,继续获取多个包含所述目标终端信息的待统计业务请求数据包,并计算在所述第二预设时间窗口内所获取到的各待统计业务请求数据包分别对应的字段异常分值;比如,在第二预设时间窗口(例如,1分钟)内,所述检测服务器统计到包含IP地址为CCDD的待统计业务请求数据包的数量为3,且各待统计业务请求数据包对应的字段异常分值为70分、80分、85分,因此,可统计所述字段异常分值大于预设分值阈值(60分)的待统计业务请求数据包的数量依然是3个,并在所述数量大于预设数量阈值(如2个)时,在所述各待统计业务请求数据包分别对应的字段异常分值中选择数值最大者,作为目标字段异常分值(即可85分的字段异常分值作为目标字段异常分值)。最后,再将所述至少一个目标头字段中的目标终端信息与所述目标字段异常分值的关联关系存储至存储数据库(DB)中。
步骤S404,当接收到业务服务器发送的与第二业务请求数据包对应的异常查询请求时,获取所述异常查询请求中的查询参数,并在所述存储数据库中检测到所述查询参数与所述目标终端信息相匹配时,将所述存储数据库中与所述目标终端信息对应的所述目标字段异常分值作为结果数据,并将所述结果数据发送至所述业务服务器,以使所述业务服务器根据所述结果数据对所述第二业务请求数据包进行业务处理。
具体地,当所述检测服务器接收到业务服务器发送的与第二业务请求数据包对应的异常查询请求时,获取所述异常查询请求中的查询参数,并在缓存区中查找是否存在与所述查询参数相匹配的终端信息,若在缓存区中未查找到与所述查询参数相匹配的终端信息,则在所述存储数据库中查找是否存在与所述查询参数相匹配的终端信息;若所述存储数据库中存在与所述查询参数相匹配的终端信息,且与所述查询参数相匹配的终端信息为所述目标终端信息,则将所述存储数据库中与所述目标终端信息对应的所述目标字段异常分值作为结果数据,并将所述结果数据发送至所述业务服务器,并将所述结果数据与所述目标终端信息的关联关系存储至所述缓存区中,并在所述缓存区中为所述结果数据与所述目标终端信息的关联关系设置第一生命周期。所述业务服务器可以根据所述结果数据中的数值确定所述第二业务请求数据包为正常请求还是恶意爬虫请求,若确定为正常请求,则可以响应所述第二业务请求数据包以执行后续业务流程;若确定为恶意爬虫请求,则拦截所述第二业务请求数据包。
其中,存储于所述存储数据库中的所述目标终端信息与所述目标字段异常分值的关联关系具有第二生命周期。第二生命周期大于第一生命周期。例如,第一生命周期为3小时,第二生命周期为5天,当将所述存储数据库中的目标终端信息对应的目标字段异常分值作为结果数据时,可以一并将有效期为3小时的结果数据存储在所述缓存区中,因此,后续3小时内接收到的异常查询请求中依然包括所述目标终端信息时,可以直接在所述缓存区中查找到包含所述目标字段异常分值的结果数据,在3小时后,所述缓存区中将删除包含所述目标字段异常分值的结果数据,此后,又接收到包含所述目标终端信息的异常查询请求时,将重新再所述存储数据库中查找目标终端信息对应的目标字段异常分值(此时的目标字段异常分值可以是更新后的分值)。通过在所述缓存区中读取结果数据,可以提高数据读取效率,但是为了保证所述目标终端信息对应的目标字段异常分值的准确性,则需要将所述第一生命周期设置的短一些,这样在所述缓存区中的结果数据失效后,可以重新在所述存储数据库中获取更新后的目标字段异常分值(更新后的目标字段异常分值具备更高的可信度,即通过更新后的目标字段异常分值可以更准确的判定包含所述目标终端信息的业务请求是否为恶意爬虫请求),以保证反馈给业务服务器的目标字段异常分值的准确性。
可选地,若在所述缓存区中查找到与所述查询参数相匹配的终端信息,且与所述查询参数相匹配的终端信息为所述目标终端信息,则将所述缓存区中与所述目标终端信息对应的所述结果数据发送至所述业务服务器。
步骤S405,当获取到包含所述目标终端信息的第三业务请求数据包时,计算所述第三业务请求数据包对应的字段异常分值;
具体地,当所述检测服务器在获取到所述网络连接设备或所述业务服务器继续发送的第三业务请求数据包时,可从所述第三业务请求数据包中提取至少一个目标头字段,并在所述异常分析规则库中,对所述至少一个目标头字段进行异常分析,并根据分析结果计算所述第三业务请求数据包对应的字段异常分值,并判断所述第三业务请求数据包中目标终端信息对应的字段异常分值是否已存储在所述存储数据库;若目标终端信息对应的字段异常分值已存储在所述存储数据库,则进一步判断所述第三业务请求数据包对应的字段异常分值是否大于所述第一业务请求数据包对应的字段异常分值;若所述第三业务请求数据包对应的字段异常分值大于所述第一业务请求数据包对应的字段异常分值,则进一步执行步骤S406中的更新步骤;可选地,若所述第三业务请求数据包对应的字段异常分值小于或等于所述第一业务请求数据包对应的字段异常分值所述目标终端信息,则在继续保存所述第一业务请求数据包对应的字段异常分值。
步骤S406,当所述第三业务请求数据包对应的字段异常分值大于所述第一业务请求数据包对应的字段异常分值时,将所述存储数据库中与所述目标终端信息关联的所述目标字段异常分值更新为所述第三业务请求数据包对应的字段异常分值。
可选地,所述检测服务器还可增加或删除所述异常分析规则库中的所述异常特征规则、所述正常特征规则、所述采集器特征规则中的至少一种规则。如有新增的爬虫样本和恶意分值策略,则可灵活的在所述异常分析规则库中添加或修改相应规则。例如,爬虫使用者可能采用神射手采集器默认配置或自定义配置,前者需要单独对其请求中未携带referer字段和host字段的位置进行匹配,后者则需严格提取header字段中的指纹特征进行匹配,针对此类需扩展场景的情形,可以更轻易的在所述异常分析规则库中更新相应规则。
可选的,对于同一个终端信息(例如,包含IP地址为EEFF的终端信息),所述检测服务器可在所述存储数据库中存储不同时间节点下的与该终端信息相关联的字段异常分值。例如,若以1天为一个时间节点,则存储数据库中可以同时存储有:前天的该终端信息与字段异常分值(如75分)的关联关系、昨天的该终端信息与字段异常分值(如80分)的关联关系、今天的该终端信息与字段异常分值(如85分)的关联关系,且所述检测服务器不再对昨天的和前天的字段异常分值进行更新,并仅更新今天的字段异常分值。所述检测服务器可以将存储的多个不同时间节点的字段异常分值作为历史分值数据,可在所述检测服务器在检测到对业务请求数据包分析出现异常时,确保所述检测服务器能进一步在所述存储数据库中获取到与该终端信息相关联的历史分值数据,并把查询到的历史分值数据(具体可以在多个与该终端信息相关联的历史分值数据中选择最大的历史分值数据)作为结果数据返回到所述业务服务器,以使所述业务服务器能根据接收到的结果数据继续后续业务流程。可选的,所述检测服务器也可以将与该终端信息相关联的所有历史分值数据都反馈给业务服务器,由业务服务器可以基于更多因素来判定业务请求是否为恶意爬虫请求。其中,若所述存储数据库中所设置的第二生命周期为3天,则所述存储数据库中可以保存有3条某终端信息与字段异常分值的关联关系,这3条关联关系分别为今天、昨天、前天所保存的关联关系,前天所保存的关联关系对应的剩余有效期为1天,昨天所保存的关联关系对应的剩余有效期为2天,今天所保存的关联关系对应的剩余有效期为3天。
本发明实施例通过获取第一业务请求数据包,并从第一业务请求数据包中提取至少一个目标头字段,并在预设的异常分析规则库中,对至少一个目标头字段进行异常分析,并根据分析结果计算第一业务请求数据包对应的字段异常分值,并将第一业务请求数据包对应的字段异常分值作为目标字段异常分值,并将至少一个目标头字段中的目标终端信息与目标字段异常分值的关联关系存储至存储数据库中。由于通过分析请求的头字段,可以更好地检测出请求是否来自于恶意爬虫,所以可以降低检测恶意爬虫的误判率和漏判率。当接收到业务服务器发送的与第二业务请求数据包对应的异常查询请求时,获取异常查询请求中的查询参数,并在存储数据库中检测到查询参数与目标终端信息相匹配时,将存储数据库中与目标终端信息对应的目标字段异常分值作为结果数据,并将结果数据发送至业务服务器,以使业务服务器根据结果数据对第二业务请求数据包进行业务处理。由此可见,本发明中的业务服务器无需对请求进行检测,业务服务器只需发送异常查询请求到爬虫检测系统即可,从而可以降低业对业务服务器的系统资源的占用;而且尽管爬虫检测系统在对业务请求进行爬虫检测的过程中出现异常时,业务服务器依然可以发送异常查询请求到爬虫检测系统,以获取爬虫检测系统中的存储数据库中已存储的目标字段异常分值,使得业务服务器根据目标字段异常分值可以继续后续业务流程,即业务服务器无需等待当前业务请求被检测完毕才能继续后续流程,从而可以有效避免业务服务器中的正常业务流程中的网络请求中断。
进一步地,请参见图6,是本发明实施例提供的一种数据检测装置的结构示意图。如图6所示,所述数据检测装置1可应用于上述图1所对应实施例中的检测服务器,所述数据检测装置1可以包括:数据包获取模块10,提取模块20,分析计算模块30,关系存储模块40,参数获取模块50和发送模块60;
所述数据包获取模块10,用于获取第一业务请求数据包;
具体的,所述数据包获取模块10,具体用于接收网络连接设备发送的第一业务请求数据包,或者所述数据包获取模块10,具体用于接收所述业务服务器基于数据发送队列进行异步上报的第一业务请求数据包;
其中,所述网络连接设备发送的所述第一业务请求数据包是由所述网络连接设备对获取到的所述第一业务请求数据包进行复制后所得到的业务请求数据包;
其中,所述网络连接设备与所述业务服务器具备网络连接关系,即所述网络连接设备可通过网络连接关系将获取到的所述第一业务请求数据包发送给所述业务服务器。
所述提取模块20,用于从所述第一业务请求数据包中提取至少一个目标头字段;
其中,所述目标头字段包括:IP字段,CGI字段,User Agent(用户代理)字段,UID(用户身份标识)字段,和host字段等。
所述分析计算模块30,用于在预设的异常分析规则库中,对所述至少一个目标头字段进行异常分析,并根据分析结果计算所述第一业务请求数据包对应的字段异常分值;
其中,所述目标头字段中的字段值可以包括:IP字段中的IP地址,CGI字段中的CGI路径,User Agent字段中的用户代理信息,UID字段中的用户身份标识等等。
所述关系存储模块40,用于将所述第一业务请求数据包对应的字段异常分值作为目标字段异常分值,并将所述至少一个目标头字段中的目标终端信息与所述目标字段异常分值的关联关系存储至存储数据库中;
所述参数获取模块50,用于当接收到业务服务器发送的与第二业务请求数据包对应的异常查询请求时,获取所述异常查询请求中的查询参数;
所述发送模块60,用于在所述存储数据库中检测到所述查询参数与所述目标终端信息相匹配时,将所述存储数据库中与所述目标终端信息对应的所述目标字段异常分值作为结果数据,并将所述结果数据发送至所述业务服务器,以使所述业务服务器根据所述结果数据对所述第二业务请求数据包进行业务处理
其中,所述数据包获取模块10、所述提取模块20、所述分析计算模块30、所述关系存储模块40、所述参数获取模块50以及所述发送模块60的具体功能实现方式可以参见上述图2对应实施例中的S201-S204,这里不再进行赘述。
本发明实施例通过获取第一业务请求数据包,并从第一业务请求数据包中提取至少一个目标头字段,并在预设的异常分析规则库中,对至少一个目标头字段进行异常分析,并根据分析结果计算第一业务请求数据包对应的字段异常分值,并将第一业务请求数据包对应的字段异常分值作为目标字段异常分值,并将至少一个目标头字段中的目标终端信息与目标字段异常分值的关联关系存储至存储数据库中。由于通过分析请求的头字段,可以更好地检测出请求是否来自于恶意爬虫,所以可以降低检测恶意爬虫的误判率和漏判率。当接收到业务服务器发送的与第二业务请求数据包对应的异常查询请求时,获取异常查询请求中的查询参数,并在存储数据库中检测到查询参数与目标终端信息相匹配时,将存储数据库中与目标终端信息对应的目标字段异常分值作为结果数据,并将结果数据发送至业务服务器,以使业务服务器根据结果数据对第二业务请求数据包进行业务处理。由此可见,本发明中的业务服务器无需对请求进行检测,业务服务器只需发送异常查询请求到爬虫检测系统即可,从而可以降低业对业务服务器的系统资源的占用;而且尽管爬虫检测系统在对业务请求进行爬虫检测的过程中出现异常时,业务服务器依然可以发送异常查询请求到爬虫检测系统,以获取爬虫检测系统中的存储数据库中已存储的目标字段异常分值,使得业务服务器根据目标字段异常分值可以继续后续业务流程,即业务服务器无需等待当前业务请求被检测完毕才能继续后续流程,从而可以有效避免业务服务器中的正常业务流程中的网络请求中断。
进一步地,请参见图7,是本发明实施例提供的另一种数据检测装置的结构示意图。如图7所示,所述数据检测装置1仍可应用于上述图1所对应实施例中的检测服务器,所述数据检测装置1可以包含上述图6所对应实施例中的所述数据包获取模块10,提取模块20,分析计算模块30,关系存储模块40,参数获取模块50和发送模块60;进一步地,所述数据检测装置1还包括:频率计算模块70,计算存储模块80,规则更新模块90,字段分值更新模块100和频率分值更新模块110;
所述频率计算模块70,用于在第一预设时间窗口内,获取多个包含所述目标终端信息的待统计业务请求数据包,并根据所述待统计业务请求数据包的数量计算所述目标终端信息对应的访问频率,作为第一访问频率;
可选地,所述频率计算模块70,还用于在所述第一预设时间窗口内,重新计算所述目标终端信息对应的访问频率,作为第二访问频率;
所述计算存储模块80,用于在所述第一访问频率大于预设频率阈值时,根据所述第一访问频率计算所述目标终端信息对应的第一频率异常分值,并将所述目标终端信息与所述第一频率异常分值的关联关系存储至所述存储数据库中;
所述计算存储模块80,还可以用于在所述第二访问频率大于预设频率阈值时,根据所述第二访问频率计算所述目标终端信息对应的第二频率异常分值,并将所述目标终端信息与所述第二频率异常分值的关联关系存储至所述存储数据库中;
所述频率分值更新模块110,用于若所述第二频率异常分值大于所述第一频率异常分值,则将所述存储数据库中所述目标终端信息对应的所述第一频率异常分值更新为所述第二频率异常分值;
可选地,所述分析计算模块30,还用于当获取到包含所述目标终端信息的第三业务请求数据包时,计算所述第三业务请求数据包对应的字段异常分值;
所述字段分值更新模块100,用于若所述第三业务请求数据包对应的字段异常分值大于所述第一业务请求数据包对应的字段异常分值,则将所述存储数据库中与所述目标终端信息关联的所述目标字段异常分值更新为所述第三业务请求数据包对应的字段异常分值。
所述规则更新模块90,用于修正所述异常分析规则库中的所述异常特征规则、所述正常特征规则、所述采集器特征规则中的至少一种规则;
所述规则更新模块90,还用于增加或删除所述异常分析规则库中的所述异常特征规则、所述正常特征规则、所述采集器特征规则中的至少一种规则。
进一步地,请参见图8,是本发明实施例提供的一种发送模块的结构示意图。如图8所示,所述发送模块60包括:第一查找单元601,第二查找单元602,第一发送单元603,存储设置单元604和第二发送单元605;
所述第一查找单元601,用于在缓存区中查找是否存在与所述查询参数相匹配的终端信息;
所述第二查找单元602,用于若在缓存区中未查找到与所述查询参数相匹配的终端信息,则在所述存储数据库中查找是否存在与所述查询参数相匹配的终端信息;
所述第一发送单元603,用于若所述存储数据库中存在与所述查询参数相匹配的终端信息,且与所述查询参数相匹配的终端信息为所述目标终端信息,则将所述存储数据库中与所述目标终端信息对应的所述目标字段异常分值作为结果数据,并将所述结果数据发送至所述业务服务器;
所述存储设置单元604,用于将所述结果数据与所述目标终端信息的关联关系存储至所述缓存区中,并在所述缓存区中为所述结果数据与所述目标终端信息的关联关系设置第一生命周期;
其中,存储于所述存储数据库中的所述目标终端信息与所述目标字段异常分值的关联关系具有第二生命周期。
所述第二发送单元605,用于若在所述缓存区中查找到与所述查询参数相匹配的终端信息,且与所述查询参数相匹配的终端信息为所述目标终端信息,则将所述缓存区中与所述目标终端信息对应的所述结果数据发送至所述业务服务器;
其中,所述第一查找单元601、所述第二查找单元602、所述第一发送单元603、所述存储设置单元604以及所述第二发送单元605的具体功能实现方式可以参见上述图4对应实施例中的S404,这里不再进行赘述。
进一步地,请参见图9,是本发明实施例提供的一种分析计算模块的结构示意图。如图9所示,所述分析计算模块30包括:字段检测单元301,加分单元302,减分单元303和分值设置单元304;
所述字段检测单元301,用于检测各目标头字段中的字段值,并检测所述各目标头字段之间的排列顺序;
所述加分单元302,用于若存在至少一个字段值和/或所述排列顺序与所述异常分析规则库中的异常特征规则相匹配,则根据相匹配的异常特征规则对应的预设优先级,增加所述第一业务请求数据包对应的字段异常分值;
所述减分单元303,用于若存在至少一个字段值和/或所述排列顺序与所述异常分析规则库中的正常特征规则相匹配,则根据相匹配的正常特征规则对应的预设优先级,减少所述第一业务请求数据包对应的字段异常分值;
所述分值设置单元304,用于若存在至少一个字段值和/或所述排列顺序与所述异常分析规则库中的采集器特征规则相匹配,则将所述第一业务请求数据包对应的字段异常分值设置为预设的异常分值区间内的最大值;
其中,所述字段检测单元301、所述加分单元302、所述减分单元303以及所述分值设置单元304的具体功能实现方式可以参见上述图2对应实施例中的S202,这里将不再进行描述。
进一步地,请参见图10,是本发明实施例提供的一种关系存储模块的结构示意图。如图10所示,所述关系存储模块40包括:获取计算单元401,统计单元402,确定单元403和关系存储单元404;
所述获取计算单元401,用于将所述第一业务请求数据包作为待统计业务请求数据包,并在第二预设时间窗口内继续获取多个包含所述目标终端信息的待统计业务请求数据包,并计算在所述第二预设时间窗口内所获取到的各待统计业务请求数据包分别对应的字段异常分值;
所述统计单元402,用于统计所述字段异常分值大于预设分值阈值的待统计业务请求数据包的数量;
所述确定单元403,用于在所述数量大于预设数量阈值时,在所述各待统计业务请求数据包分别对应的字段异常分值中选择数值最大者,作为目标字段异常分值;
所述关系存储单元404,用于将所述至少一个目标头字段中的目标终端信息与所述目标字段异常分值的关联关系存储至存储数据库中。
其中,所述获取计算单元401、所述统计单元402、所述确定单元403以及所述关系存储单元404的具体功能实现方式可以参见上述图4所对应实施例中的S403,这里将不再进行描述。
本发明实施例通过获取第一业务请求数据包,并从第一业务请求数据包中提取至少一个目标头字段,并在预设的异常分析规则库中,对至少一个目标头字段进行异常分析,并根据分析结果计算第一业务请求数据包对应的字段异常分值,并将第一业务请求数据包对应的字段异常分值作为目标字段异常分值,并将至少一个目标头字段中的目标终端信息与目标字段异常分值的关联关系存储至存储数据库中。由于通过分析请求的头字段,可以更好地检测出请求是否来自于恶意爬虫,所以可以降低检测恶意爬虫的误判率和漏判率。当接收到业务服务器发送的与第二业务请求数据包对应的异常查询请求时,获取异常查询请求中的查询参数,并在存储数据库中检测到查询参数与目标终端信息相匹配时,将存储数据库中与目标终端信息对应的目标字段异常分值作为结果数据,并将结果数据发送至业务服务器,以使业务服务器根据结果数据对第二业务请求数据包进行业务处理。由此可见,本发明中的业务服务器无需对请求进行检测,业务服务器只需发送异常查询请求到爬虫检测系统即可,从而可以降低业对业务服务器的系统资源的占用;而且尽管爬虫检测系统在对业务请求进行爬虫检测的过程中出现异常时,业务服务器依然可以发送异常查询请求到爬虫检测系统,以获取爬虫检测系统中的存储数据库中已存储的目标字段异常分值,使得业务服务器根据目标字段异常分值可以继续后续业务流程,即业务服务器无需等待当前业务请求被检测完毕才能继续后续流程,从而可以有效避免业务服务器中的正常业务流程中的网络请求中断。
进一步地,请参见图11,是本发明实施例提供的又一种数据检测装置的结构示意图。如图11所示,所述数据检测装置1000可以应用于上述图1对应实施例中的检测服务器,所述数据检测装置1000可以包括:至少一个处理器1001,例如CPU,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图11所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图11所示的数据检测装置1000中,网络接口1004主要用于连接网络连接设备和业务服务器;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取第一业务请求数据包,并从所述第一业务请求数据包中提取至少一个目标头字段;
在预设的异常分析规则库中,对所述至少一个目标头字段进行异常分析,并根据分析结果计算所述第一业务请求数据包对应的字段异常分值;
将所述第一业务请求数据包对应的字段异常分值作为目标字段异常分值,并将所述至少一个目标头字段中的目标终端信息与所述目标字段异常分值的关联关系存储至存储数据库中;
当接收到业务服务器发送的与第二业务请求数据包对应的异常查询请求时,获取所述异常查询请求中的查询参数,并在所述存储数据库中检测到所述查询参数与所述目标终端信息相匹配时,将所述存储数据库中与所述目标终端信息对应的所述目标字段异常分值作为结果数据,并将所述结果数据发送至所述业务服务器,以使所述业务服务器根据所述结果数据对所述第二业务请求数据包进行业务处理。
在一个实施例中,所述处理器1001在执行所述获取第一业务请求数据包时,具体执行以下步骤:
接收网络连接设备发送的第一业务请求数据包;所述网络连接设备与所述业务服务器具备网络连接关系;所述网络连接设备发送的所述第一业务请求数据包是由所述网络连接设备对获取到的所述第一业务请求数据包进行复制后所得到的业务请求数据包;或者,
接收所述业务服务器基于数据发送队列进行异步上报的第一业务请求数据包。
在一个实施例中,所述处理器1001,还执行以下步骤:
在第一预设时间窗口内,获取多个包含所述目标终端信息的待统计业务请求数据包,并根据所述待统计业务请求数据包的数量计算所述目标终端信息对应的访问频率,作为第一访问频率;
在所述第一访问频率大于预设频率阈值时,根据所述第一访问频率计算所述目标终端信息对应的第一频率异常分值,并将所述目标终端信息与所述第一频率异常分值的关联关系存储至所述存储数据库中。
在一个实施例中,所述处理器1001在执行所述在所述存储数据库中检测到所述查询参数与所述目标终端信息相匹配时,将所述存储数据库中与所述目标终端信息对应的所述目标字段异常分值作为结果数据,并将所述结果数据发送至所述业务服务器时,具体执行以下步骤:
在所述存储数据库中检测到所述查询参数与所述目标终端信息相匹配时,在所述目标终端信息对应的所述目标字段异常分值和所述目标终端信息对应的所述第一频率异常分值中选择数值较大者,作为结果数据,并将所述结果数据发送至所述业务服务器。
在一个实施例中,所述处理器1001在执行所述在所述存储数据库中检测到所述查询参数与所述目标终端信息相匹配时,将所述存储数据库中与所述目标终端信息对应的所述目标字段异常分值作为结果数据,并将所述结果数据发送至所述业务服务器时,具体执行以下步骤:
在缓存区中查找是否存在与所述查询参数相匹配的终端信息;
若在缓存区中未查找到与所述查询参数相匹配的终端信息,则在所述存储数据库中查找是否存在与所述查询参数相匹配的终端信息;
若所述存储数据库中存在与所述查询参数相匹配的终端信息,且与所述查询参数相匹配的终端信息为所述目标终端信息,则将所述存储数据库中与所述目标终端信息对应的所述目标字段异常分值作为结果数据,并将所述结果数据发送至所述业务服务器;
将所述结果数据与所述目标终端信息的关联关系存储至所述缓存区中,并在所述缓存区中为所述结果数据与所述目标终端信息的关联关系设置第一生命周期;
其中,存储于所述存储数据库中的所述目标终端信息与所述目标字段异常分值的关联关系具有第二生命周期。
在一个实施例中,所述处理器1001,还执行以下步骤:
若在所述缓存区中查找到与所述查询参数相匹配的终端信息,且与所述查询参数相匹配的终端信息为所述目标终端信息,则将所述缓存区中与所述目标终端信息对应的所述结果数据发送至所述业务服务器。
在一个实施例中,所述处理器1001在执行所述在预设的异常分析规则库中,对所述至少一个目标头字段进行异常分析,并根据分析结果计算所述第一业务请求数据包对应的字段异常分值时,具体执行以下步骤:
检测各目标头字段中的字段值,并检测所述各目标头字段之间的排列顺序;
若存在至少一个字段值和/或所述排列顺序与所述异常分析规则库中的异常特征规则相匹配,则根据相匹配的异常特征规则对应的预设优先级,增加所述第一业务请求数据包对应的字段异常分值;
若存在至少一个字段值和/或所述排列顺序与所述异常分析规则库中的正常特征规则相匹配,则根据相匹配的正常特征规则对应的预设优先级,减少所述第一业务请求数据包对应的字段异常分值;
若存在至少一个字段值和/或所述排列顺序与所述异常分析规则库中的采集器特征规则相匹配,则将所述第一业务请求数据包对应的字段异常分值设置为预设的异常分值区间内的最大值。
在一个实施例中,所述处理器1001在执行所述将所述第一业务请求数据包对应的字段异常分值作为目标字段异常分值,并将所述至少一个目标头字段中的目标终端信息与所述目标字段异常分值的关联关系存储至存储数据库中时,具体执行以下步骤:
将所述第一业务请求数据包作为待统计业务请求数据包,并在第二预设时间窗口内继续获取多个包含所述目标终端信息的待统计业务请求数据包,并计算在所述第二预设时间窗口内所获取到的各待统计业务请求数据包分别对应的字段异常分值;
统计所述字段异常分值大于预设分值阈值的待统计业务请求数据包的数量;
在所述数量大于预设数量阈值时,在所述各待统计业务请求数据包分别对应的字段异常分值中选择数值最大者,作为目标字段异常分值;
将所述至少一个目标头字段中的目标终端信息与所述目标字段异常分值的关联关系存储至存储数据库中。
在一个实施例中,所述处理器1001,还执行以下步骤:
修正所述异常分析规则库中的所述异常特征规则、所述正常特征规则、所述采集器特征规则中的至少一种规则;或者,
增加或删除所述异常分析规则库中的所述异常特征规则、所述正常特征规则、所述采集器特征规则中的至少一种规则。
在一个实施例中,所述处理器1001,还执行以下步骤:
当获取到包含所述目标终端信息的第三业务请求数据包时,计算所述第三业务请求数据包对应的字段异常分值;
若所述第三业务请求数据包对应的字段异常分值大于所述第一业务请求数据包对应的字段异常分值,则将所述存储数据库中与所述目标终端信息关联的所述目标字段异常分值更新为所述第三业务请求数据包对应的字段异常分值。
在一个实施例中,所述处理器1001,还执行以下步骤:
在所述第一预设时间窗口内,重新计算所述目标终端信息对应的访问频率,作为第二访问频率;
在所述第二访问频率大于所述预设频率阈值时,根据所述第二访问频率计算所述目标终端信息对应的第二频率异常分值;
若所述第二频率异常分值大于所述第一频率异常分值,则将所述存储数据库中所述目标终端信息对应的所述第一频率异常分值更新为所述第二频率异常分值。
本发明实施例通过获取第一业务请求数据包,并从第一业务请求数据包中提取至少一个目标头字段,并在预设的异常分析规则库中,对至少一个目标头字段进行异常分析,并根据分析结果计算第一业务请求数据包对应的字段异常分值,并将第一业务请求数据包对应的字段异常分值作为目标字段异常分值,并将至少一个目标头字段中的目标终端信息与目标字段异常分值的关联关系存储至存储数据库中。由于通过分析请求的头字段,可以更好地检测出请求是否来自于恶意爬虫,所以可以降低检测恶意爬虫的误判率和漏判率。当接收到业务服务器发送的与第二业务请求数据包对应的异常查询请求时,获取异常查询请求中的查询参数,并在存储数据库中检测到查询参数与目标终端信息相匹配时,将存储数据库中与目标终端信息对应的目标字段异常分值作为结果数据,并将结果数据发送至业务服务器,以使业务服务器根据结果数据对第二业务请求数据包进行业务处理。由此可见,本发明中的业务服务器无需对请求进行检测,业务服务器只需发送异常查询请求到爬虫检测系统即可,从而可以降低业对业务服务器的系统资源的占用;而且尽管爬虫检测系统在对业务请求进行爬虫检测的过程中出现异常时,业务服务器依然可以发送异常查询请求到爬虫检测系统,以获取爬虫检测系统中的存储数据库中已存储的目标字段异常分值,使得业务服务器根据目标字段异常分值可以继续后续业务流程,即业务服务器无需等待当前业务请求被检测完毕才能继续后续流程,从而可以有效避免业务服务器中的正常业务流程中的网络请求中断。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (17)
1.一种数据检测方法,其特征在于,包括:
获取第一业务请求数据包,并从所述第一业务请求数据包中提取至少一个目标头字段;
在预设的异常分析规则库中,对所述至少一个目标头字段进行异常分析,并根据分析结果计算所述第一业务请求数据包对应的字段异常分值;其中,若各目标头字段中的字段值中存在至少一个字段值与所述异常分析规则库中的采集器特征规则相匹配,则所述第一业务请求数据包对应的字段异常分值设置为预设的异常分值区间内的最大值;
将所述第一业务请求数据包对应的字段异常分值作为目标字段异常分值,并将所述至少一个目标头字段中的目标终端信息与所述目标字段异常分值的关联关系存储至存储数据库中;
当接收到业务服务器发送的与第二业务请求数据包对应的异常查询请求时,获取所述异常查询请求中的查询参数,并在所述存储数据库中检测到所述查询参数与所述目标终端信息相匹配时,将所述存储数据库中与所述目标终端信息对应的所述目标字段异常分值作为结果数据,并将所述结果数据发送至所述业务服务器,以使所述业务服务器根据所述结果数据对所述第二业务请求数据包进行业务处理。
2.如权利要求1所述的方法,其特征在于,所述获取第一业务请求数据包,具体包括:
接收网络连接设备发送的第一业务请求数据包;所述网络连接设备与所述业务服务器具备网络连接关系;所述网络连接设备发送的所述第一业务请求数据包是由所述网络连接设备对获取到的所述第一业务请求数据包进行复制后所得到的业务请求数据包;或者,
接收所述业务服务器基于数据发送队列进行异步上报的第一业务请求数据包。
3.如权利要求1所述的方法,其特征在于,还包括:
在第一预设时间窗口内,获取多个包含所述目标终端信息的待统计业务请求数据包,并根据所述待统计业务请求数据包的数量计算所述目标终端信息对应的访问频率,作为第一访问频率;
在所述第一访问频率大于预设频率阈值时,根据所述第一访问频率计算所述目标终端信息对应的第一频率异常分值,并将所述目标终端信息与所述第一频率异常分值的关联关系存储至所述存储数据库中;
所述方法还包括:
在所述第一预设时间窗口内,重新计算所述目标终端信息对应的访问频率,作为第二访问频率;
在所述第二访问频率大于所述预设频率阈值时,根据所述第二访问频率计算所述目标终端信息对应的第二频率异常分值;
若所述第二频率异常分值大于所述第一频率异常分值,则将所述存储数据库中所述目标终端信息对应的所述第一频率异常分值更新为所述第二频率异常分值。
4.如权利要求3所述的方法,其特征在于,所述在所述存储数据库中检测到所述查询参数与所述目标终端信息相匹配时,将所述存储数据库中与所述目标终端信息对应的所述目标字段异常分值作为结果数据,并将所述结果数据发送至所述业务服务器,具体包括:
在所述存储数据库中检测到所述查询参数与所述目标终端信息相匹配时,在所述目标终端信息对应的所述目标字段异常分值和所述目标终端信息对应的所述第一频率异常分值中选择数值较大者,作为结果数据,并将所述结果数据发送至所述业务服务器。
5.如权利要求1所述的方法,其特征在于,所述在所述存储数据库中检测到所述查询参数与所述目标终端信息相匹配时,将所述存储数据库中与所述目标终端信息对应的所述目标字段异常分值作为结果数据,并将所述结果数据发送至所述业务服务器,包括:
在缓存区中查找是否存在与所述查询参数相匹配的终端信息;
若在缓存区中未查找到与所述查询参数相匹配的终端信息,则在所述存储数据库中查找是否存在与所述查询参数相匹配的终端信息;
若所述存储数据库中存在与所述查询参数相匹配的终端信息,且与所述查询参数相匹配的终端信息为所述目标终端信息,则将所述存储数据库中与所述目标终端信息对应的所述目标字段异常分值作为结果数据,并将所述结果数据发送至所述业务服务器;
将所述结果数据与所述目标终端信息的关联关系存储至所述缓存区中,并在所述缓存区中为所述结果数据与所述目标终端信息的关联关系设置第一生命周期;
若在所述缓存区中查找到与所述查询参数相匹配的终端信息,且与所述查询参数相匹配的终端信息为所述目标终端信息,则将所述缓存区中与所述目标终端信息对应的所述结果数据发送至所述业务服务器;
其中,存储于所述存储数据库中的所述目标终端信息与所述目标字段异常分值的关联关系具有第二生命周期。
6.如权利要求1所述的方法,其特征在于,所述在预设的异常分析规则库中,对所述至少一个目标头字段进行异常分析,并根据分析结果计算所述第一业务请求数据包对应的字段异常分值,包括:
检测各目标头字段中的字段值,并检测所述各目标头字段之间的排列顺序;
若存在至少一个字段值和/或所述排列顺序与所述异常分析规则库中的异常特征规则相匹配,则根据相匹配的异常特征规则对应的预设优先级,增加所述第一业务请求数据包对应的字段异常分值;
若存在至少一个字段值和/或所述排列顺序与所述异常分析规则库中的正常特征规则相匹配,则根据相匹配的正常特征规则对应的预设优先级,减少所述第一业务请求数据包对应的字段异常分值;
若存在至少一个字段值和/或所述排列顺序与所述异常分析规则库中的采集器特征规则相匹配,则将所述第一业务请求数据包对应的字段异常分值设置为预设的异常分值区间内的最大值。
7.如权利要求1或6所述的方法,其特征在于,所述将所述第一业务请求数据包对应的字段异常分值作为目标字段异常分值,并将所述至少一个目标头字段中的目标终端信息与所述目标字段异常分值的关联关系存储至存储数据库中,包括:
将所述第一业务请求数据包作为待统计业务请求数据包,并在第二预设时间窗口内继续获取多个包含所述目标终端信息的待统计业务请求数据包,并计算在所述第二预设时间窗口内所获取到的各待统计业务请求数据包分别对应的字段异常分值;
统计所述字段异常分值大于预设分值阈值的待统计业务请求数据包的数量;
在所述数量大于预设数量阈值时,在所述各待统计业务请求数据包分别对应的字段异常分值中选择数值最大者,作为目标字段异常分值;
将所述至少一个目标头字段中的目标终端信息与所述目标字段异常分值的关联关系存储至存储数据库中。
8.如权利要求6所述的方法,其特征在于,还包括:
修正所述异常分析规则库中的所述异常特征规则、所述正常特征规则、所述采集器特征规则中的至少一种规则;或者,
增加或删除所述异常分析规则库中的所述异常特征规则、所述正常特征规则、所述采集器特征规则中的至少一种规则。
9.如权利要求1所述的方法,其特征在于,还包括:
当获取到包含所述目标终端信息的第三业务请求数据包时,计算所述第三业务请求数据包对应的字段异常分值;
若所述第三业务请求数据包对应的字段异常分值大于所述第一业务请求数据包对应的字段异常分值,则将所述存储数据库中与所述目标终端信息关联的所述目标字段异常分值更新为所述第三业务请求数据包对应的字段异常分值。
10.一种数据检测装置,其特征在于,包括:
数据包获取模块,用于获取第一业务请求数据包;
提取模块,用于从所述第一业务请求数据包中提取至少一个目标头字段;
分析计算模块,用于在预设的异常分析规则库中,对所述至少一个目标头字段进行异常分析,并根据分析结果计算所述第一业务请求数据包对应的字段异常分值;其中,若各目标头字段中的字段值中存在至少一个字段值与所述异常分析规则库中的采集器特征规则相匹配,则所述第一业务请求数据包对应的字段异常分值设置为预设的异常分值区间内的最大值;
关系存储模块,用于将所述第一业务请求数据包对应的字段异常分值作为目标字段异常分值,并将所述至少一个目标头字段中的目标终端信息与所述目标字段异常分值的关联关系存储至存储数据库中;
参数获取模块,用于当接收到业务服务器发送的与第二业务请求数据包对应的异常查询请求时,获取所述异常查询请求中的查询参数;
发送模块,用于在所述存储数据库中检测到所述查询参数与所述目标终端信息相匹配时,将所述存储数据库中与所述目标终端信息对应的所述目标字段异常分值作为结果数据,并将所述结果数据发送至所述业务服务器,以使所述业务服务器根据所述结果数据对所述第二业务请求数据包进行业务处理。
11.如权利要求10所述的装置,其特征在于,所述发送模块包括:
第一查找单元,用于在缓存区中查找是否存在与所述查询参数相匹配的终端信息;
第二查找单元,用于若在缓存区中未查找到与所述查询参数相匹配的终端信息,则在所述存储数据库中查找是否存在与所述查询参数相匹配的终端信息;
第一发送单元,用于若所述存储数据库中存在与所述查询参数相匹配的终端信息,且与所述查询参数相匹配的终端信息为所述目标终端信息,则将所述存储数据库中与所述目标终端信息对应的所述目标字段异常分值作为结果数据,并将所述结果数据发送至所述业务服务器;
存储设置单元,用于将所述结果数据与所述目标终端信息的关联关系存储至所述缓存区中,并在所述缓存区中为所述结果数据与所述目标终端信息的关联关系设置第一生命周期;
第二发送单元,用于若在所述缓存区中查找到与所述查询参数相匹配的终端信息,且与所述查询参数相匹配的终端信息为所述目标终端信息,则将所述缓存区中与所述目标终端信息对应的所述结果数据发送至所述业务服务器;
其中,存储于所述存储数据库中的所述目标终端信息与所述目标字段异常分值的关联关系具有第二生命周期。
12.如权利要求10所述的装置,其特征在于,所述分析计算模块包括:
字段检测单元,用于检测各目标头字段中的字段值,并检测所述各目标头字段之间的排列顺序;
加分单元,用于若存在至少一个字段值和/或所述排列顺序与所述异常分析规则库中的异常特征规则相匹配,则根据相匹配的异常特征规则对应的预设优先级,增加所述第一业务请求数据包对应的字段异常分值;
减分单元,用于若存在至少一个字段值和/或所述排列顺序与所述异常分析规则库中的正常特征规则相匹配,则根据相匹配的正常特征规则对应的预设优先级,减少所述第一业务请求数据包对应的字段异常分值;
分值设置单元,用于若存在至少一个字段值和/或所述排列顺序与所述异常分析规则库中的采集器特征规则相匹配,则将所述第一业务请求数据包对应的字段异常分值设置为预设的异常分值区间内的最大值。
13.如权利要求10或12所述的装置,其特征在于,所述关系存储模块包括:
获取计算单元,用于将所述第一业务请求数据包作为待统计业务请求数据包,并在第二预设时间窗口内继续获取多个包含所述目标终端信息的待统计业务请求数据包,并计算在所述第二预设时间窗口内所获取到的各待统计业务请求数据包分别对应的字段异常分值;
统计单元,用于统计所述字段异常分值大于预设分值阈值的待统计业务请求数据包的数量;
确定单元,用于在所述数量大于预设数量阈值时,在所述各待统计业务请求数据包分别对应的字段异常分值中选择数值最大者,作为目标字段异常分值;
关系存储单元,用于将所述至少一个目标头字段中的目标终端信息与所述目标字段异常分值的关联关系存储至存储数据库中。
14.如权利要求12所述的装置,其特征在于,还包括:
规则更新模块,用于修正所述异常分析规则库中的所述异常特征规则、所述正常特征规则、所述采集器特征规则中的至少一种规则;
所述规则更新模块,还用于增加或删除所述异常分析规则库中的所述异常特征规则、所述正常特征规则、所述采集器特征规则中的至少一种规则。
15.如权利要求10所述的装置,其特征在于,还包括:
所述分析计算模块,还用于当获取到包含所述目标终端信息的第三业务请求数据包时,计算所述第三业务请求数据包对应的字段异常分值;
字段分值更新模块,用于若所述第三业务请求数据包对应的字段异常分值大于所述第一业务请求数据包对应的字段异常分值,则将所述存储数据库中与所述目标终端信息关联的所述目标字段异常分值更新为所述第三业务请求数据包对应的字段异常分值。
16.一种数据检测装置,其特征在于,包括:处理器、存储器以及网络接口;
所述处理器与所述存储器、所述网络接口相连,其中,所述网络接口用于提供数据通信功能,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行权利要求1-9任一项所述的方法。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行权利要求1-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710249568.0A CN108737333B (zh) | 2017-04-17 | 2017-04-17 | 一种数据检测方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710249568.0A CN108737333B (zh) | 2017-04-17 | 2017-04-17 | 一种数据检测方法以及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108737333A CN108737333A (zh) | 2018-11-02 |
CN108737333B true CN108737333B (zh) | 2021-08-24 |
Family
ID=63924565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710249568.0A Active CN108737333B (zh) | 2017-04-17 | 2017-04-17 | 一种数据检测方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108737333B (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299135B (zh) * | 2018-11-26 | 2024-05-14 | 平安科技(深圳)有限公司 | 基于识别模型的异常查询识别方法、识别设备及介质 |
CN109756479B (zh) * | 2018-11-29 | 2021-03-23 | 武汉极意网络科技有限公司 | 浏览器中伪造请求检测方法及装置 |
CN109783325B (zh) * | 2018-12-14 | 2023-07-25 | 平安证券股份有限公司 | 业务监控方法、装置、设备及存储介质 |
CN111651425A (zh) * | 2019-03-04 | 2020-09-11 | 北京沃东天骏信息技术有限公司 | 数据集市的数据提取方法、装置、终端及存储介质 |
CN110033360B (zh) * | 2019-03-11 | 2023-10-03 | 创新先进技术有限公司 | 资金流数据的异常检测方法、装置及设备 |
CN109905293B (zh) * | 2019-03-12 | 2021-06-08 | 北京奇虎科技有限公司 | 一种终端设备识别方法、系统及存储介质 |
CN110069416B (zh) * | 2019-04-29 | 2023-05-16 | 腾讯音乐娱乐科技(深圳)有限公司 | 一种测试数据处理方法、装置以及相关设备 |
CN110650142B (zh) * | 2019-09-25 | 2022-05-24 | 腾讯科技(深圳)有限公司 | 访问请求处理方法、装置、系统、存储介质和计算机设备 |
CN111177176B (zh) * | 2019-11-18 | 2023-05-16 | 腾讯科技(深圳)有限公司 | 数据检测方法、装置及存储介质 |
CN111988305B (zh) * | 2019-12-18 | 2022-06-03 | 北京神州慧安科技有限公司 | 应用于物联网的数据节点异常行为检测方法及服务器 |
CN111010409B (zh) * | 2020-01-07 | 2021-08-17 | 南京林业大学 | 加密攻击网络流量检测方法 |
CN111782728B (zh) * | 2020-06-30 | 2024-02-02 | 北京金山云网络技术有限公司 | 一种数据同步方法、装置、电子设备及介质 |
CN112053521B (zh) * | 2020-08-12 | 2022-07-08 | 长沙理工大学 | 一种小区楼宇泄漏电流边缘指纹库判断系统 |
CN112732711B (zh) * | 2020-12-28 | 2024-06-04 | 北京金山云网络技术有限公司 | 一种数据存储方法、装置及电子设备 |
CN112835934B (zh) * | 2021-02-01 | 2024-04-05 | 京东科技控股股份有限公司 | 查询信息采集方法、装置、电子设备和存储介质 |
CN115085957A (zh) * | 2021-03-12 | 2022-09-20 | 中国电信股份有限公司 | 恶意访问数据判定方法、装置、介质及电子设备 |
CN113360348B (zh) * | 2021-06-30 | 2022-09-09 | 北京字节跳动网络技术有限公司 | 异常请求处理方法、装置、电子设备和存储介质 |
CN114328762A (zh) * | 2021-12-29 | 2022-04-12 | 北京连屏科技有限公司 | 大数据处理方法 |
CN114615034B (zh) * | 2022-03-01 | 2023-09-29 | 中铁第四勘察设计院集团有限公司 | 业务传输的控制方法、装置、处理设备及存储介质 |
CN117040777A (zh) * | 2023-06-13 | 2023-11-10 | 五矿国际信托有限公司 | 一种针对数据接口恶意请求行为进行检测过滤的方法 |
CN116582370A (zh) * | 2023-07-13 | 2023-08-11 | 陕西科威盛电子科技有限公司 | 多级风险管控数字安全系统及安全监测管理方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685222A (zh) * | 2013-09-05 | 2014-03-26 | 北京科能腾达信息技术股份有限公司 | 基于确定性有穷状态自动机的数据匹配检测方法 |
CN105763561B (zh) * | 2016-04-15 | 2019-06-28 | 新华三技术有限公司 | 一种攻击防御方法和装置 |
CN106254368B (zh) * | 2016-08-24 | 2019-09-06 | 杭州迪普科技股份有限公司 | Web漏洞扫描的检测方法及装置 |
-
2017
- 2017-04-17 CN CN201710249568.0A patent/CN108737333B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108737333A (zh) | 2018-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108737333B (zh) | 一种数据检测方法以及装置 | |
CN106778260B (zh) | 攻击检测方法和装置 | |
US20150120914A1 (en) | Service monitoring system and service monitoring method | |
CN109768992B (zh) | 网页恶意扫描处理方法及装置、终端设备、可读存储介质 | |
CN111181798B (zh) | 网络时延测量方法、装置、电子设备及存储介质 | |
US10536360B1 (en) | Counters for large flow detection | |
CN109495467B (zh) | 拦截规则的更新方法、设备及计算机可读存储介质 | |
CN111756728B (zh) | 一种漏洞攻击检测的方法、装置、计算设备及存储介质 | |
US9948540B2 (en) | Method and system for detecting proxy internet access | |
CN107426132B (zh) | 网络攻击的检测方法和装置 | |
CN111740868A (zh) | 告警数据的处理方法和装置及存储介质 | |
CN114785567B (zh) | 一种流量识别方法、装置、设备及介质 | |
CN112953938A (zh) | 网络攻击防御方法、装置、电子设备及可读存储介质 | |
CN113472798B (zh) | 一种网络数据包的回溯解析方法、装置、设备及介质 | |
US20240022507A1 (en) | Information flow recognition method, network chip, and network device | |
CN115017502A (zh) | 一种流量处理方法、及防护系统 | |
CN117093627A (zh) | 信息挖掘的方法、装置、电子设备和存储介质 | |
WO2023010823A1 (zh) | 网络故障根因的确定方法、装置、设备及存储介质 | |
TW201928746A (zh) | 偵測惡意程式的方法和裝置 | |
JP5925287B1 (ja) | 情報処理装置、方法およびプログラム | |
CN106254375A (zh) | 一种无线热点设备的识别方法及装置 | |
CN113839948A (zh) | 一种dns隧道流量检测方法、装置、电子设备和存储介质 | |
KR101467942B1 (ko) | 고속 어플리케이션 인지 시스템 및 처리 방법 | |
KR20100022926A (ko) | 확률적 손실 카운팅 | |
CN114531307B (zh) | 主动防御网关的api模型构建与防御方法及系统 |
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 | ||
GR01 | Patent grant |