CN112019575B - 数据包处理方法、装置、计算机设备以及存储介质 - Google Patents
数据包处理方法、装置、计算机设备以及存储介质 Download PDFInfo
- Publication number
- CN112019575B CN112019575B CN202011137281.7A CN202011137281A CN112019575B CN 112019575 B CN112019575 B CN 112019575B CN 202011137281 A CN202011137281 A CN 202011137281A CN 112019575 B CN112019575 B CN 112019575B
- Authority
- CN
- China
- Prior art keywords
- fingerprint
- data packet
- target
- confidence
- network data
- 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
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/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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0254—Stateful filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- 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
-
- 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
-
- 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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
Abstract
本申请实施例公开了一种数据包处理方法、装置、计算机设备以及存储介质,可以用于抵抗网络攻击,提高网络安全。数据包处理方法包括:获取目标网络数据包;生成所述目标网络数据包的数据包指纹,所述数据包指纹包括目标流量属性指纹和目标流量负载指纹;根据所述目标流量负载指纹在指纹数据库中的出现频率以及所述目标流量属性指纹,确定所述目标网络数据包的类型;所述指纹数据库包括多个历史网络数据包的历史流量负载指纹;若所述目标网络数据包的类型是异常类型,则阻断所述目标网络数据包所在的网络连接。采用本申请,可以提高数据包类型识别的精确性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据包处理方法、装置、计算机设备以及存储介质。
背景技术
随着计算机技术的不断发展,计算机网络已经成为信息时代的重要特征,但网络攻击、密码窃取等信息安全事故频发,因此防护系统安全性,不受外界的干扰、攻击、入侵变得尤为重要。
网络中的数据传输都是以数据包的形式进行传输,目前对数据包的安全性的检测手段是:获取发送数据包的IP地址(Internet Protocol Address, 互联网协议地址),若发送数据包的IP地址在黑名单上,就可以认定为该数据包是具有安全威胁的数据包。一旦检测到具有安全威胁的数据包,可以将该数据包抛弃,或者断开数据包所在的连接。
可见,现有的数据包检测方式是基于IP地址进行检测,一旦攻击者在发起网络攻击时不断变换自己的IP地址,基于IP地址检测数据包的方式就会失效,进而降低数据包安全性检测的精确度。
发明内容
本申请实施例提供一种数据包处理方法、装置、计算机设备以及存储介质,可以提高数据包类型识别的精确性。
本申请实施例一方面提供了一种数据包处理方法,包括:
获取目标网络数据包;
生成所述目标网络数据包的数据包指纹,所述数据包指纹包括目标流量属性指纹和目标流量负载指纹;
根据所述目标流量负载指纹在指纹数据库中的出现频率以及所述目标流量属性指纹,确定所述目标网络数据包的类型;所述指纹数据库包括多个历史网络数据包的历史流量负载指纹;
若所述目标网络数据包的类型是异常类型,则阻断所述目标网络数据包所在的网络连接。
本申请实施例一方面提供了一种数据包处理装置,包括:
第一获取模块,用于获取目标网络数据包;
生成模块,用于生成所述目标网络数据包的数据包指纹,所述数据包指纹包括目标流量属性指纹和目标流量负载指纹;
确定模块,用于根据所述目标流量负载指纹在指纹数据库中的出现频率以及所述目标流量属性指纹,确定所述目标网络数据包的类型;所述指纹数据库包括多个历史网络数据包的历史流量负载指纹;
阻断模块,用于若所述目标网络数据包的类型是异常类型,则阻断所述目标网络数据包所在的网络连接。
本申请实施例一方面提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述各实施例中的方法。
本申请实施例一方面提供了一种计算机存储介质,计算机存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时,执行上述各实施例中的方法。
本申请实施例一方面提供了一种计算机程序产品或计算机程序,计算机程序产品或计算机程序包括计算机指令,计算机指令存储在计算机可读存储介质中,计算机指令被计算机设备的处理器执行时,执行上述各实施例中的方法。
本申请通过检测网络数据包的数据包指纹来确定网络数据包是否为异常数据包,数据包指纹可以表达该数据包的行为,从行为本质上确定该数据包是否为异常数据包,相比根据发送数据包的IP地址来确定是否为异常数据包,可以更准确地识别出异常数据包,提高网络安全性;再有,即使攻击者不断地变换自己的IP地址,只要检测到数据包的内容存在安全威胁,就会中断网络连接,可以避免黑名单IP的防护方案可能失效或误封的情况,本申请可以做到精准防控和实时阻断。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种数据包处理的系统架构图;
图2a-图2d是本申请实施例提供的一种数据包处理的场景示意图;
图3是本申请实施例提供的一种数据包处理方法的流程示意图;
图4是本申请实施例提供的一种多维度构建流量指纹的示意图;
图5是本申请实施例提供的一种数据包类型检测的流程示意图;
图6是本申请实施例提供的一种数据包处理方法的流程示意图;
图7是本申请实施例提供的一种确定相似负载指纹数据库的流程示意图;
图8是本申请实施例提供的一种确定连续攻击指纹数据库的流程示意图;
图9-图10是本申请实施例提供的一种数据包检测框架图;
图11是本申请实施例提供的一种数据包处理装置的结构示意图;
图12是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
目前,云技术主要分为云基础技术类以及云应用类;云基础技术类可以进一步细分为:云计算、云储存、数据库以及大数据等;云应用类可以进一步细分为:医疗云、云物联、云安全、云呼叫、私有云、公有云、混合云、云游戏、云教育、云会议、云社交以及人工智能云服务等。
本申请的数据处理方法可以涉及云技术下属的云计算和云储存:
云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
在本申请中,服务器可以通过云计算技术获取足够的算力和存储空间,进而执行本申请中所涉及的生成数据包指纹以及确定数据包的类型。
云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统 (以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
在本申请中,流量负载关键词库以及指纹数据库可以由服务器通过云存储技术存储在“云”上,当需要在负载关键词库或者指纹数据库中查询数据时,可以从云存储设备中随时拉取流量负载关键词库或者指纹数据库,以降低服务器的本地存储压力。
本申请可以应用于抵抗以秒拨IP形式发起的任何网络攻击,一般来说,以秒拨IP形式发起的网络攻击是攻击者使用大量不同的IP地址向业务服务器发送相似的网络数据包,以耗尽业务服务器的连接资源,使业务服务器宕机甚至崩溃;或者刺探业务服务器中的资产数据,或者爆破业务服务器中的密码等。本申请通过识别每个网络数据包的内容是否违反规则,一旦触发,就实现精准阻断,防止业务服务器的连接资源被恶意消耗,或者防止数据包刺探业务服务器中的资产数据,或者防止数据包爆破业务服务器中的密码等。
请参见图1,是本申请实施例提供的一种数据包处理的系统架构图。本申请涉及终端设备10a、安全监控服务器10b以及业务服务器10c。当终端设备10a向业务服务器10c发出目标网络数据包时,安全监控服务器10b旁路该目标网络数据包,安全监控服务器10b生成目标网络数据包的流量属性指纹以及流量负载指纹,根据流量负载指纹在指纹数据库中的出现频率以及流量属性指纹确定目标网络数据包的类型,若安全监控服务器10b检测出数据包的类型是异常类型,则阻断目标网络数据包所在的网络连接,即阻断终端设备10a和业务服务器10c之间的网络连接。
图1所示的安全监控服务器10b和业务服务器10c可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(ContentDelivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
图1所示的终端设备10a可以是手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(MID,mobile internet device)、可穿戴设备等具有数据包处理功能的智能设备。终端设备10a和业务服务器10c与安全监控服务器10b可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
下述以安全监控服务器10b如何识别一个网络数据包的类型为例进行详细说明:
参见图2a-图2d,其是本申请实施例提供的一种数据包处理的场景示意图。如图2a所示,客户端向业务服务器发送一个网络数据包20a,安全监控服务器10d旁路该网络数据包20a,从网络数据包20a中获取该网络数据包的协议类型,发送该数据包的客户端的操作系统类型,UA(User Agent,用户代理)字段,以及该网络数据包20a的IP地址,网关定位地址(也可以称为cgi地址)。假设,网络数据包的协议类型是http协议,且操作系统类型是windows操作系统,以及IP地址是192.163.0.0。
安全监控服务器10d可以根据预设的规则确定与网络数据包20a中的UA字段对应的属性(属性可以是白、灰以及黑),假设UA字段属性是:黑。安全监控服务器10b还可以调用客户端指纹识别功能识别发送网络数据包20a的客户端的客户端指纹。
至此,安全监控服务器10b就获取到了网络数据包20a的协议类型,操作系统类型,UA字段属性,IP地址、网关定位地址以及客户端指纹。
IP地址可以分为A段、B段、C段以及D段(例如,192就是A段,163就是B段,0是C段,0是D段),安全监控服务器10b统计网络数据包20a的IP地址的B段在IP地址集合库中的多个IP地址的B段中的出现频率,以及统计网络数据包20a的IP地址的C段在IP地址集合库中的多个IP地址的C段中的出现频率,将上述确定的两个频率相加为IP地址频率。
安全监控服务器10b将网关定位地址进行分词处理,得到第一分词集合,将该第一分词集合与相似负载关键词库进行匹配,在相似负载关键词库中确定存在于第一分词集合中的相似负载关键词,将确定的相似负载关键词的MD5值确定为网络数据包20a的相似负载指纹。
网络数据包20a可以看作是一个字符串,安全监控服务器10b将网络数据包20a进行分词处理,得到第二分词集合,将该第二分词集合与连续攻击关键词库进行匹配,在连续攻击关键词库中确定存在于第二分词集合中的连续攻击关键词,将确定的连续攻击关键词的MD5值确定为网络数据包20a的连续攻击指纹。
其中,IP地址集合库、相似负载关键词库以及连续攻击关键词库是提前设置好的。
如图2b所示,安全监控服务器10b根据预设的评分规则,以及前述中确定的网络数据包20a的协议类型、操作系统类型、UA字段属性以及IP地址频率分别确定对应的置信度,将上述4个置信度相加为网络数据包20a的属性置信度,假设网络数据包20a的属性置信度是50。
如图2c所示,安全监控服务器10b查询网络数据包20a的相似负载指纹在相似负载指纹库中的出现频率,根据该出现频率确定负载置信度,假设确定的负载置信度为30。当然,网络数据包20a的相似负载指纹在相似负载指纹库中的出现频率越高,对应的负载置信度就会越高。
如图2c所示,安全监控服务器10b查询网络数据包20a的连续攻击指纹在连续攻击指纹库中的出现频率,根据该出现频率确定连续攻击置信度,假设确定的连续攻击置信度为20。当然,网络数据包20a的连续攻击指纹在连续攻击指纹库中的出现频率越高,对应的连续攻击置信度就会越高。
如图2c所示,安全监控服务器10b查询网络数据包20a的客户端指纹在客户端指纹库中的出现频率,根据该出现频率确定客户端置信度,假设确定的客户端置信度为22。当然,网络数据包20a的客户端指纹在客户端指纹库中的出现频率越高,对应的客户端置信度就会越高。
其中,相似负载指纹库包括多个历史网络数据包的相似负载指纹,连续攻击指纹库包括多个历史网络数据包的连续攻击指纹,客户端指纹库包括多个历史网络数据包的客户端指纹。
可以知道,确定网络数据包20a的负载置信度、连续攻击置信度以及客户端置信度就是在确定多个历史网络数据包中是否存在与网络数据包20a相似的数据包,以及出现的频率,出现的频率越高,说明网络数据包20a就越具有安全威胁,这是因为攻击者发起攻击时,一般会发起大量且相似的伪造数据包,以消耗业务服务器的tcp连接资源,因此,若在一定时间段内接收到大量且相似的数据包,那么这些数据包很有可能是恶意数据包。
如图2d所示,安全监控服务器10b将前述中确定的属性置信度50、连续攻击置信度20、负载置信度30以及客户端置信度22相加为网络数据包20a的置信度122,获取预设的置信度阈值,假设置信度阈值等于100,由于122>100,因此可以判定网络数据包20a的类型是异常类型。
安全监控服务器10b确定了网络数据包20a的类型后,可以阻断网络数据包20a所在的网络连接,即阻断客户端和业务服务器之间基于网络数据包20a所建立的tcp网络连接。
至此,就完成了对网络数据包的类型的识别,可以知道,基于网络数据包的数据包内容进行类型的识别,相比根据IP地址确定数据包类型,本申请的方案可以保证识别的准确率;即使攻击者不断地变换自己的IP地址,只要检测到数据包的内容存在安全威胁,就会中断网络连接,可以避免黑名单IP的防护方案可能失效或误封的情况,本申请可以做到精准防控和实时阻断。
其中,获取目标网络数据包(如上述实施例中的网络数据包20a),生成目标网络数据包的数据包指纹(如上述实施例中的协议类型、操作系统类型、UA字段、IP地址频率、相似负载指纹、连续攻击指纹以及客户端指纹),确定目标网络数据包的类型(如上述实施例中网络数据包20a的类型是异常类型)的具体过程可以参见下述图3-图10对应的实施例。
请参见图3,图3是本申请实施例提供的一种数据包处理方法的流程示意图,本实施例主要涉及如何识别网络数据包的类型,下述实施例以性能更好的服务器(如上述图2a-图2d对应实施例中的安全监控服务器10b)为执行主体进行描述,数据包处理方法包括如下步骤:
步骤S101,获取目标网络数据包。
具体的,服务器获取待识别的网络数据包(称为目标网络数据包,如上述图2a-图2d对应实施例中的网络数据包20a),其中目标网络数据包也可以被称为一个请求(或者一个流量数据),且目标网络数据包可以是服务器通过旁路导流方式获取的,旁路导流是指该目标网络数据包原本是从客户端发送至业务服务器,且目标网络数据包在经过交换机时,服务器从交换机复制一份目标网络数据包,用于检测目标网络数据包的类型。在这种情况下,可以认为业务服务器和服务器之间是并联关系。当然,在目标网络数据包的检测过程中,目标网络数据包仍然从交换机发送至业务服务器。旁路导流的好处就是不会增加业务服务器接收目标网络数据包的耗时,且对客户端、交换机和业务服务器来说不会增加架构上的负担,随时可以撤销或者安装用于检测网络数据包类型的服务器。
或者,服务器串联在交换机和业务服务器之间,在这种情况下,只有服务器对目标网络数据包的检测通过了,服务器才会将目标网络数据包转发至业务服务器。串联方式的好处是检测结果没有滞后性,针对业务服务器的任何攻击,对业务服务器都不会有任何影响,这是因为服务器识别到异常类型的网络数据包时,就会直接将该网络数据包抛弃,业务服务器根本就不会接收到异常类型的网络数据包。
步骤S102,生成所述目标网络数据包的数据包指纹,所述数据包指纹包括目标流量属性指纹和目标流量负载指纹。
具体的,服务器生成目标网络数据包的流量属性指纹(称为目标流量属性指纹)以及目标网络数据包的流量负载指纹(称为目标流量负载指纹),将确定的目标流量属性指纹以及目标流量负载指纹组合为目标网络数据包的数据包指纹。
本申请中的“指纹”是一串可以标识出数据包对应属性的密文(或者字符串),且不与其他指纹相冲突。即,流量属性指纹是一串可以标识出数据包流量属性的密文,流量负载指纹是一串可以标识出数据包流量负载的密文。
下面首先说明如何提取目标网络数据包的目标流量属性指纹:
由于在目标网络数据包中会包含该链路协议类型,因此服务器可以直接获取目标网络数据包的链路协议类型,服务器从目标网络数据包中提取发送该目标网络数据的客户端的客户端内容,其中客户端内容可以包括:客户端的操作系统类型以及UA(User Agent用户代理)字段。
服务器获取发送该目标网络数据包的协议地址,其中协议地址可以分为多个协议分段地址,多个协议分段地址分别是B段协议地址和C段协议地址,服务器分别获取目标网络数据包的B段协议地址在协议分段地址集合中的出现频率,以及获取C段协议地址在协议分段地址集合中的出现频率(均称为地址出现频率)。其中,协议分段地址集合包括B段协议地址集合和C段协议地址集合,可以知道地址出现频率是指目标网络数据包的B段协议地址在B段协议地址集合中的出现频率,以及目标网络数据包的C段协议地址在C段协议地址集合中的出现频率。
服务器将上述获取的链路协议类型、客户端内容以及2个地址出现频率作为目标网络数据包的目标流量属性指纹。
下面再说明如何提取目标网络数据包的目标流量负载指纹:
服务器从目标网络数据包中提取出网关定位地址(称为目标网关定位地址),其中,网络数据包中会包含请求地址URL(Uniform Resource Locator, 统一资源定位器),请求地址URL是由host+cgi组成,其中,cgi就是本申请中的网关定位地址。例如,现有如下URL:http://www.test.com/cgi-bin/hello.py/key1=value1&key2=value2,网关定位地址(即cgi)就是:/cgi-bin/hello.py/key1=value1&key2=value2,host就是:http://www.test.com。服务器将目标网关定位地址进行分词处理,得到多个词组(称为相似负载词组集合)。从相似负载关键词库(如上述图2a-图2d对应实施例中的相似负载关键词库)中查找属于相似负载词组集合的相似负载关键词。
服务器可以将目标网络数据包整体看作是一个字符串,对该字符串也进行分词处理,得到多个词组(称为连续攻击词组集合),服务器从连续攻击关键词库(如上述图2a-图2d对应实施例中的连续攻击关键词库)中查找属于连续攻击词组集合的连续攻击关键词。
服务器将上述查找到的相似负载关键词以及查找到的连续攻击关键词组合为负载关键词,相似负载关键词库以及连续攻击关键词库均属于流量负载关键词库。
其中,相似负载关键词库是对多个历史网络数据包中的网关定位地址进行频繁序列模式提取后所生成的,连续攻击关键词库是对属于多个攻击阶段的多个历史网络数据包进行频繁序列模式提取后生成的。
服务器调用客户端指纹识别功能确定发送目标网络数据包的客户端的客户端指纹(称为目标客户端指纹),客户端指纹可以被当做网络指纹并用来识别底层的客户端以及服务器端应用程序,避免了通过“Client”或“Server”字符串这种表面上的识别因素来判断底层实现。其中,可以客户端指纹识别功能可以是基于JA3,HASSH以及FATT等实现的。
以JA3为例,客户端指纹识别功能的具体处理过程为:收集目标网络数据包中以下字段的十进制字节值:版本、可接受的密码、扩展列表、椭圆曲线密码和椭圆曲线密码格式。然后,它将这些值串联在一起,得到一个字符串,使用“,”来分隔各个字段,同时,使用“-”来分隔各个字段中的各个值。计算该字符串的MD5值,将该MD5值作为网络数据包的客户端指纹。
服务器可以将前述中的负载关键词中的相似负载关键词使用“-”进行连接,并计算连接后的字符串的MD5值,将该MD5值作为相似负载关键词的数据指纹。同样地,服务器可以将前述中的负载关键词中的连续攻击关键词使用“-”进行连接,并计算连接后的字符串的MD5值,将该MD5值作为连续攻击关键词的数据指纹。
服务器可以将相似负载关键词的数据指纹、连续攻击关键词的数据指纹以及目标客户端指纹组合为目标网络数据包的流量负载指纹(称为目标流量负载指纹。)
至此,就确定了目标网络数据包的目标流量输属性指纹以及目标流量负载指纹。
请参见图4,图4是本申请实施例提供的一种多维度构建流量指纹的示意图,如图4所示,本申请从攻击者发起请求的过程进行分析,攻击者首先需要选择客户端,比如pc或移动端等;其次攻击者需要构造流量属性,比如链路协议,操作系统等;最后攻击者需要构造流量的有效载荷。因此,本申请从客户端、协议类型,以及流量载荷多个维度来构造流量指纹。图4中的流量属性可以对应本申请中的目标流量属性指纹,该目标流量属性指纹可以包含链路协议类型,操作系统类型以及UA字段(操作系统类型以及UA字段又可以组合为客户端内容),其中链路协议类型可以是基于链路协议识别检测到的,操作系统类型可以是基于操作系统指纹差异识别检测到的,后续基于UA字段可以确定字段属性置信度,其中该字段属性置信度是基于应用层机器识别检测到的。图4中的客户端可以对应本申请的客户端指纹,流量载荷中的相似负载指纹和连续攻击负载序列可以对应本申请中的目标流量负载指纹,其中相似负载指纹可以对应本申请中的相似负载关键词的数据指纹,连续攻击负载序列可以对应本申请中的连续攻击关键词的数据指纹。图4中的客户端指纹聚集模型可以用于构建设备指纹库,以及识别任意客户端的客户端指纹。相似负载指纹聚集模型可以用于构建相似负载关键词库以及相似负载指纹数据库,连续攻击负载序列聚集模型可以用于构建连续攻击关键词库以及连续攻击指纹数据库。
步骤S103,根据所述目标流量负载指纹在指纹数据库中的出现频率以及所述目标流量属性指纹,确定所述目标网络数据包的类型;所述指纹数据库包括多个历史网络数据包的历史流量负载指纹。
具体的,从前述可知,目标流量负载指纹包括相似负载关键词的数据指纹、目标客户端指纹以及连续攻击关键词的数据指纹,服务器统计相似负载关键词的数据指纹(相似负载关键词的数据指纹也可以称为目标网络数据包的相似负载指纹)在相似负载指纹数据库中的出现频率(称为相似负载指纹出现频率),根据该相似负载指纹出现频率确定相似负载置信度。当然,相似负载指纹出现频率越高,那么相似负载置信度就越高,相似负载指纹数据库包括多个历史网络数据包的相似负载指纹。
服务器统计目标客户端指纹在设备指纹数据库中的出现频率(称为设备指纹出现频率),根据设备指纹出现频率确定设备置信度。当然,设备指纹出现频率越高,那么设备置信度就越高,设备指纹数据库包括多个历史网络数据包的客户端指纹。
服务器统计连续攻击关键词的数据指纹(连续攻击关键词的数据指纹也可以称为目标网络数据包的连续攻击指纹)在连续攻击指纹数据库中的出现频率(称为连续攻击指纹出现频率),根据该连续攻击指纹出现频率确定连续攻击置信度。当然,连续攻击指纹出现频率越高,那么连续攻击置信度就越高,连续攻击指纹数据库包括属于多个攻击阶段的多个历史网络数据包的连续攻击指纹。进一步地,在确定连续攻击置信度时,不仅要参考连续攻击指纹出现频率,还可以进一步确定目标网络数据包的连续攻击指纹属于哪一个攻击阶段,根据确定的攻击阶段以及连续攻击指纹出现频率共同确定连续攻击置信度。多个攻击阶段包含3个攻击阶段,分别是:踩点收集目标信息阶段;建立据点阶段;横向移动阶段。
服务器将上述相似负载置信度、设备置信度以及连续攻击置信度相加为流量负载置信度。
从前述可知,目标流量属性指纹包括:链路协议类型、客户端内容和地址出现频率。服务器分别确定目标网络数据包的链路协议类似对应的置信度(称为协议置信度),确定客户端内容对应的置信度(称为客户端内容置信度)以及确定出现频率对应的置信度(称为地址频率置信度),其中服务器确定上述置信度是基于预设规则的方式确定的。服务器可以将上述协议置信度,客户端内容置信度以及地址频率置信度相加为流量属性置信度(如上述图2a-图2d对应实施例中的属性置信度“50”)。
下面首先说明如何确定链路协议确定对应的协议置信度:
服务器基于预设规则确定链路协议类型对应的分数,将该分数作为链路协议类型对应的协议置信度。例如,预设规则是:http协议类型对应的分数为10,FTP协议类型对应的分数是20,SMTP协议类型对应的分数为30。假设目标网络数据包的链路协议类型是http协议类型,那么目标网络数据包的协议置信度可以是10。
下面再说明如何根据客户端内容确定与之对应的客户端内容置信度:
从前述可知,客户端内容可以包括客户端的操作系统类型以及UA字段,服务器基于预设规则确定操作系统类型对应的分数,将该分数作为操作系统类型对应的操作系统置信度。例如,预设规则是:windows操作系统类型对应的分数为10,linux操作系统类型对应的分数是20,unix操作系统类型对应的分数为30。假设发送目标网络数据包的客户端的操作系统类型是windows操作系统类型,那么目标网络数据包操作系统置信度可以是10。
服务器检测客户端内容中的UA字段是否为空,若为空,那么可以将该UA字段的属性标记为黑;若不为空,进一步检测UA字段是否是常见自动化工具生成,若是,那么可以将该UA字段的属性标记为黑;若不是,进一步提取UA字段的header字段顺序,若header字段顺序是常见浏览器请求头,可以将该UA字段的属性标记为白,若header字段顺序是自动化工具请求头,可以将该UA字段的属性标记为灰,若header字段顺序既不是常见浏览器请求头也不是自动化工具请求头,可以将该UA字段的属性标记为黑。服务器根据UA字段的属性确定字段属性置信度,其中,被标记为黑的UA字段的字段属性置信度>被标记为灰的UA字段的字段属性置信度>被标记为白的UA字段的字段属性置信度。
服务器将前述中确定的操作系统置信度以及字段属性置信度相加为客户端内容置信度。
下面再说明如何根据地址出现频率确定与之对应地址频率置信度:
从前述可知,地址出现频率的数量是2个,分别是目标网络数据包的B段协议地址在B段协议地址集合中的地址出现频率,以及目标网络数据包的C段协议地址在C段协议地址集合中的地址出现频率。服务器基于预设规则分别确定B段协议地址的地址出现频率对应的B段置信度,以及C段协议地址的地址出现频率对应的C段置信度。将该B段置信度和C段置信度之和作为地址频率置信度。
可选的,除了采用上述方式确定地址频率置信度以外,服务器还可以采用以下方式确定地址频率置信度:服务器将B段协议地址的地址出现频率和C段协议地址的地址出现频率相加为目标地址出现频率,基于预设规则确定目标地址出现频率对应的地址频率置信度。
至此,服务器就获取了流量负载置信度以及流量属性置信度,服务器可以将流量负载置信度以及流量属性置信度相加为目标置信度,若目标置信度大于预设的第一置信度阈值,则确定目标网络数据包的类型是异常类型;
反之,若目标置信度不大于预设的第一置信度阈值,则确定目标网络数据包的类型是正常类型。
步骤S104,若所述目标网络数据包的类型是异常类型,则阻断所述目标网络数据包所在的网络连接。
具体的,若目标网络数据包的类型是正常类型,且业务服务器和服务器之间是并联关系(即目标网络数据包是服务器通过旁路导流方式获取的),服务器可以对目标网络数据包不作任何处理;
若目标网络数据包的类型是正常类型,且业务服务器和服务器之间是串联关系,服务器可以将目标网络数据包转发至业务服务器,即表示服务器认为目标网络数据包不具有任何安全威胁,业务服务器可以响应目标网络数据包的业务请求。
若目标网络数据包的类型是异常类型,且业务服务器和服务器之间是并联关系(即目标网络数据包是服务器通过旁路导流方式获取的),服务器向客户端以及业务服务器分别发送阻断报文(即是RESET报文),该RESET报文的作用是阻断客户端和业务服务器之间的网络连接(网络连接也称为tcp连接),以使业务服务器可以释放连接资源,释放后的连接资源可以用于响应其余正常数据包的请求,避免业务服务器处于宕机状态。这种情况下,业务服务器可能接收到了目标网络数据包,但业务服务器一旦接收到阻断报文,就可以不用响应目标网络数据包的业务请求了;或者,由于本申请检测目标网络数据包的类型所耗费的时间足够短,在目标网络数据包还未达到业务服务器时,服务器就检测出了目标网络数据包的类型,若类型是异常类型,就直接阻断客户端和业务服务器之间的网络连接,也就是说在业务服务器还未接收到目标网络数据包之前,网络连接就被阻断了,因此业务服务器就没有接收到目标网络数据包。
若目标网络数据包的类型是异常类型,且业务服务器和服务器之间是串联关系,服务器抛弃目标网络数据包,且向客户端以及业务服务器分别发送阻断报文(即是RESET报文),该RESET报文的作用是阻断客户端和业务服务器之间的网络连接(网络连接也称为tcp连接),以使业务服务器可以释放连接资源,释放后的连接资源可以用于响应其余正常数据包的请求,避免业务服务器处于宕机状态。在这种情况下,业务服务器必然不会接收到目标网络数据包,也不会响应目标网络数据包的业务请求。
在IPv6下的IP资源无穷无尽,且正常IP和异常IP是公用的,因此使用封IP的手法进行抵御会出现失效的情况,或者误封的情况,而本申请将网络数据包的行为翻译成规则,无论IP是否出现过,也不论IP曾经是好还是坏,一旦触发规则,就直接阻断,可以做到精准防控和实时阻断。
申请人进行了离线测试和线上测试两种测试方案,在离线测试方案中申请人收集了3类秒拨服务商(代理、VPN以及动态VPS),涵盖了7个典型的秒拨厂商,包含了9类客户端行为,共69个poc用例。采用pcap包重放的方式进行离线验证策略的有效性,其中准确率达99.9%,覆盖率为96.5%。在线上测试方案中申请人考虑在时间层面上pcap包重放无法模拟出正式秒拨攻击,因此,申请人购买了某厂商的秒拨服务并在外网搭建靶机,用真实的秒拨攻击来验证本申请的类型识别策略,实验结果证明,对12种web攻击均能覆盖,准确率达99.9%,覆盖率达95%以上。
请参见图5,图5是本申请实施例提供的一种数据包类型检测的流程示意图,数据包类型检测包括如下步骤:
步骤S201,获取单条请求。
其中,单条请求可以对应本申请的目标网络数据包。
步骤S202,识别该请求的链路协议类型。
具体的,根据预设规则确定识别到的链路协议类型对应的协议置信度(即是图6中的置信度),获取协议置信度阈值,若该请求的协议置信度大于协议置信度阈值,可以输出1,否则输出0。
步骤S203,识别请求的客户端内容中的操作系统类型以及UA字段。
具体的,根据预设规则确定识别到的操作系统类型对应的操作系统置信度,以及确定UA字段的字段属性置信度,识别UA字段的字段属性置信度是基于UA是否异常以及http头顺序差异进行识别的。
同样地,若操作系统置信度大于操作系统置信度阈值,可以输出1,否则输出0;若字段属性置信度大于属性置信度阈值,可以输出1,否则输出0。
步骤S204,根据请求中的网关定位地址确定payload指纹。
具体的,payload指纹可以对应本申请中的相似负载指纹,根据请求中的网关定位地址以及相似负载关键词库确定payload指纹,在相似负载指纹数据库中查找该payload指纹的出现频率,根据该出现频率确定相似负载置信度,输出payload指纹以及相似负载置信度。
步骤S205,确定该请求对应的客户端指纹。
具体的,调用客户端指纹识别功能确定该请求对应的客户端指纹,在设备指纹数据库中查找该客户端指纹的出现频率,根据该出现频率确定设备置信度,输出客户端指纹以及设备置信度。
步骤S206,确定该请求对应的连续序列行为。
具体的,连续序列行为可以对应本申请中的连续攻击指纹。根据该请求以及连续攻击关键词库确定该请求的连续序列行为,在连续指纹数据库中查找该连续序列行为的出现频率,根据该出现频率确定连续攻击置信度,输出连续序列行为以及连续攻击置信度。
步骤S207,确定请求的IP地址的B段和C段的地址出现频率。
具体的,根据B段的地址出现频率确定B段置信度,根据C段的地址出现频率确定C段置信度,将上述2个置信度相加,得到地址置信度。若地址置信度大于地址置信度阈值,可以输出1,否则输出0。
步骤S208,输出指纹以及将置信度加权求和。
具体的,将输出的指纹或者0/1使用“-”连接起来,将连接起来的字符串称为该请求的指纹。将输出的置信度进行加权求和。
步骤S209,若加权求和后的置信度大于阈值,则执行步骤S210,否则执行步骤S211。
步骤S210,阻断请求所在的tcp连接,以及缓存该请求对应的指纹。
步骤S211,流程结束。
请参见图6,其是本申请实施例提供的一种数据包处理方法的流程示意图,本实施例主要描述如何生成流量负载关键词库以及指纹数据库,数据包处理方法包括如下步骤:
步骤S301,获取多个历史网络数据包,从每个历史网络数据包中提取网关定位地址。
具体的,获取多个历史网络数据包,其中每个历史网络数据包的生成时间戳可以均小于目标网络数据包的生成时间戳。
提取每个历史网络数据包的网关定位地址,其中,历史网络数据包中会包含请求地址URL,请求地址URL是由host+cgi组成,其中,cgi就是本申请中的网关定位地址。
步骤S302,从所述多个网关定位地址中确定多个第一频繁序列模式,从所述多个第一频繁序列模式中筛选出相似负载高频关键词集合。
具体的,服务器对每个网关定位地址进行分词处理,得到每个网关定位地址的字符串集合,基于频繁模序列模式提取算法(频繁模序列模式算法可以具体是prefixspan算法)从所有网关定位地址的字符串集合中提取频繁序列模式(称为第一频繁序列模式),其中,第一频繁序列模式即是所有网关定位地址的字符串集合中出现频率非常高的字符串。prefixspan算法的具体过程是:从长度为1的前缀开始挖掘序列模式,搜索对应的投影数据库得到长度为1的前缀对应的频繁序列,然后递归地挖掘长度为2的前缀所对应的频繁序列,以此类推,一直递归到不能挖掘到更长的前缀对应的频繁序列为止。服务器确定了第一频繁序列模式后,采用TF-IDF算法筛选出第一频繁序列模式中的高频第一频繁序列模式,将筛选出来的高频第一频繁序列模式组合为相似负载高频关键词集合。
其中,相似负载高频关键词集合中的字符串即是网关定位地址中的param、referer、cookie以及content等结构的cgi模板信息。
需要说明的是,由于prefixspan算法它考虑了序列项集间的先后次序,同时不用产生候选序列,且后缀集合缩小的很快,内存消耗相对小,作频繁序列模式挖掘的时候效果高,因此本申请采用prefixspan算法,可以快速找出所有cgi中的共现词(即第一频繁序列模式),快速提取出所有cgi的模板。
步骤S303,根据所述相似负载高频关键词集合,确定每个历史网络数据包的网关定位地址模板。
具体的,对每个网关定位地址的字符串集合来说,分别确定既属于网关定位地址的字符串集合也属于相似负载高频关键词集合的字符串,将确定的字符串使用“-”连接,得到每个网关定位地址的网关定位地址模板。
步骤S304,调用客户端指纹识别功能确定每个历史网络数据包的客户端指纹。
具体的,服务器调用客户端指纹识别功能确定每个历史网络数据包的客户端指纹,客户端指纹可以被当做网络指纹并用来识别底层的客户端以及服务器端应用程序,避免了通过“Client”或“Server”字符串这种表面上的识别因素来判断底层实现。其中,可以客户端指纹识别功能可以是基于JA3,HASSH以及FATT等实现的。
可以知道,此处确定历史网络数据包的客户端指纹和前述确定目标网络数据包的目标客户端指纹的方式可以一致,只是处理对象发生了变化。
可选的,服务器获取每个历史网络数据包的历史流量属性指纹以及历史流量负载指纹,其中,确定历史流量属性指纹和前述中确定目标网络数据包的目标流量属性指纹方式一致,只是处理对象发生了变化。历史流量负载指纹包括历史网络数据包的网关地址地址模板的数据指纹、历史网络数据包的客户端指纹、以及历史网络数据包的攻击阶段模板的数据指纹,其中网关定位地址模板的数据指纹即是网关定位地址模板的MD5值,且网关定位地址模板的数据指纹也可以称为历史网络数据包的相似负载指纹。确定每个历史网络数据包的攻击阶段模板的数据指纹的具体过程为:将每个历史网络数据包都进行分词处理,得到每个历史网络数据包的历史字符串集合,基于频繁模序列模式提取算法(频繁模序列模式算法可以具体是prefixspan算法)从所有历史字符串集合提取频繁序列模式(称为第三频繁序列模式),其中,第三频繁序列模式即是所有历史字符串集合中出现频率非常高的字符串。服务器确定第三频繁序列模式后,采用TF-IDF算法筛选出高频第三频繁序列模式,将筛选出来的高频第三频繁序列模式作为攻击阶段高频关键词集合。对每个历史数据包的历史字符串集合的来说,分别确定既属于历史字符串集合也属于攻击阶段高频关键词集合的字符串,将确定的字符串使用“-”连接,即可得到每个历史数据包的攻击阶段模板。
服务器基于预设规则确定每个历史网络数据包的历史流量属性的置信度(称为第一置信度),此处的第一置信度即可对应前述中目标网络数据包的流量属性置信度,服务器根据每个历史网络数据包的网关定位地址模板的数据指纹在所有历史网络数据包的网关定位地址模板的数据指纹中的出现频率、每个历史网络数据包的攻击阶段模板的数据指纹在所有历史网络数据包的攻击阶段模板的数据指纹中的出现频率,以及根据每个历史网络数据包的客户端指纹在所有历史网络数据包的客户端指纹中的出现频率确定第二置信度,其中确定第二置信度和前述确定相似负载置信度、连续攻击置信度和设备置信度之和的方式相同,只是处理对象发生了变化。至此,服务器就获取了每个历史网络数据包的第一置信度和第二置信度,若所有历史网络数据包的第一置信度和第二置信度之和大于预设的第二置信度阈值,则服务器执行下述步骤S305;反之,若所有历史网络数据包的第一置信度和第二置信度之和不大于预设的第二置信度阈值,则服务器可以删除多个历史网络数据包。
上述过程可以理解为:服务器检测多个历史网络数据包是否为秒拨IP所发起的网络攻击对应的数据包,若是,才将历史网络数据包对应的网关定位地址模板的数据指纹和客户端指纹以及相似负载高频关键词集合存储至对应的数据库中,以对数据库进行更新,可以知道,更新后的数据库可以用于判断目标网络数据包的类型;若不是,就抛弃历史网络数据包相关的数据,说明这多个历史网络数据包不能用于判断目标网络数据包的类型。
步骤S305,将多个网关定位地址模板的数据指纹以及多个客户端指纹存储至所述指纹数据库,将相似负载高频关键词集合存储至相似负载关键词库。
具体的,服务器将所有历史数据包的网关定位地址模板的数据指纹存储至相似负载指纹数据库,以更新相似负载指纹数据库。更新后的相似负载指纹数据库可以用于确定目标网络数据包的相似负载置信度。
服务器将所有历史网络数据包的客户端指纹存储至设备指纹数据库,以更新设备指纹数据库。更新后的设备指纹数据库可以用于确定目标网络数据包的设备置信度。
服务器将相似负载高频关键词集合存储至相似负载关键词库,相似负载关键词库可以用于确定目标网络数据包的相似负载关键词,进而确定目标网络数据包的相似负载指纹。
需要说明的是,此处并未将历史网络数据包的攻击阶段模板的数据指纹存储至连续攻击指纹数据库是因为虽然这多个历史网络数据包是秒拨IP所发起的网络攻击,但这多个历史网络数据包并不一定是属于多个连续攻击阶段的数据包。
可选的,若多个历史网络数据包是属于多个连续攻击阶段的网络数据包,服务器可以将多个历史网络数据包划分为多个数据包集合,数据包集合的数量等于攻击阶段的数量,每个数据包集合属于一个攻击阶段,多个连续攻击阶段包括:踩点收集目标信息阶段;建立据点阶段;横向移动阶段,即数据包集合的数量可以等于3。
将每个历史网络数据包都进行分词处理,得到每个历史网络数据包的历史字符串集合。对每个数据包集合来说,基于频繁模序列模式提取算法(频繁模序列模式算法可以具体是prefixspan算法)从每个数据包集合所包含的所有历史字符串集合提取频繁序列模式(称为第二频繁序列模式),其中,第二频繁序列模式即是每个数据包集合所包含的所有历史字符串集合中出现频率非常高的字符串。服务器确定每个数据包集合的第二频繁序列模式后,采用TF-IDF算法筛选出每个数据包集合的第二频繁序列模式中的高频第二频繁序列模式,将筛选出来的高频第二频繁序列模式作为每个数据包集合的连续攻击高频关键词集合,其中连续攻击高频关键词集合可以存储至连续攻击关键词库,连续攻击关键词库可以用于确定目标网络数据包的连续攻击指纹。
对每个历史数据包的历史字符串集合的来说,分别确定既属于历史字符串集合也属于连续攻击高频关键词集合的字符串,将确定的字符串使用“-”连接,得到每个历史数据包的连续攻击模板,以一个数据包集合为单位,将属于同一个数据包集合的历史数据包的连续攻击模板的数据指纹(即是连续攻击模板的数据指纹的MD5值)组合为待确定连续攻击模板指纹,将待确定连续攻击模板指纹存储至连续攻击指纹数据库,以更新连续攻击指纹数据库。更新后的连续攻击指纹数据库可以用于确定目标网络数据包的连续攻击置信度。
若多个历史网络数据包不是多个连续攻击阶段的网络数据包,那么服务器还获取额外的处于多个连续攻击阶段的多个攻击网络数据包,基于多个攻击网络数据包确定每个攻击网络数据包的连续攻击模板的数据指纹,将该指纹存储至连续攻击指纹数据库即可。
需要说明的是,可以每间隔一段时间就更新一次相似负载指纹数据库、设备指纹数据库以及连续攻击指纹数据库,可以将这一段时间获取到的网络数据包作为历史网络数据包,用于更新相似负载指纹数据库、设备指纹数据库以及连续攻击指纹数据库。
也就是说,目标网络数据包就也可以用于下一次更新相似负载指纹数据库、设备指纹数据库以及连续攻击指纹数据库。
步骤S306,获取目标网络数据包,生成目标网络数据包的数据包指纹,数据包指纹包括目标流量属性指纹和目标流量负载指纹。
步骤S307,根据目标流量负载指纹在指纹数据库中的出现频率以及目标流量属性指纹,确定目标网络数据包的类型;指纹数据库包括多个历史网络数据包的历史流量负载指纹;若目标网络数据包的类型是异常类型,则阻断目标网络数据包所在的网络连接。
步骤S306-步骤S307的具体过程可以参见上述图3对应实施例中的步骤S101-步骤S104。
请参见图7,图7是本申请实施例提供的一种确定相似负载指纹数据库的流程示意图,确定相似负载指纹数据库包括如下步骤:
步骤S401,获取多个流量数据。
其中,流量数据可以对应本申请中的历史网络数据包。
步骤S402,提取出每个流量数据网关定位地址(cgi),对cgi进行解码、预处理以及分词,得到每个cgi的字符串集合。
步骤S403,过滤业务基线项。
具体的,对所有cgi的字符串集合采用prefixspan算法,提取出频繁序列模式,即提取cgi的模板。
步骤S404,将提取的频繁序列模式作为共现特征。
步骤S405,采用TF-IDF算法提取出共现特征中的高频共现特征。
步骤S407,将高频共现特征作为相似负载高频关键词集合,以及根据高频共现特征确定每个cgi的payload指纹。
其中,若检测这多个流量数据是秒拨IP的流量数据,还需要将识别到的每个cgi的payload指纹存储至相似负载指纹数据库,以及将相似负载高频关键词集合存至相似负载关键词库。
请参见图8,图8是本申请实施例提供的一种确定连续攻击指纹数据库的流程示意图,确定连续攻击指纹数据库包括如下步骤:
步骤S501,基于连续攻击序列检测方法识别多个历史网络数据包是否为属于多个连续攻击阶段的网络数据包。
步骤S502,若多个历史网络数据包是属于多个连续攻击阶段的网络数据包,获取多个历史网络数据包。
步骤S503,对每个历史网络数据包进行预处理以及分词,得到每个网络数据包的字符串集合。
步骤S504,学习每个攻击阶段的行为模式。
具体的,对属于同一攻击阶段的历史网络数据包的所有字符串集合来说,采用prefixspan算法,提取出频繁序列模式,即是行为模式。
步骤S505,将行为模式存储至数据库。
具体的,将每个攻击阶段的行为模式存储至连续攻击关键词库,以及根据每个攻击阶段的行为模式确定每个历史网络数据包的连续攻击指纹,将每个历史网络数据包的连续攻击指纹存储至连续攻击指纹数据库中。
步骤S506,流程结束。
下面对检测数据包是否为异常数据包的总体过程进行总结:
请参见图9-图10,图9-图10是本申请实施例提供的一种数据包检测框架图,本申请对数据包的检测可以用于抵抗秒拨IP所发起的网络攻击,因此数据包检测可以分为两个模块,分别是秒拨检测模块和秒拨防护模块,秒拨检测模块是用于生成秒拨指纹以及秒拨指纹库的建立,秒拨指纹可以对应本申请中的流量负载指纹,以及流量属性指纹对应的结果数值(结果数值等于0或者1),流量属性指纹对应的结果数值的确定方式是:若数据包的协议置信度/客户端内容置信度/地址频率置信度大于对应阈值时,则对应的结果数值等于1,反之对应的结果数值等于0;秒拨指纹库可以对应本申请中的相似负载指纹数据库、设备指纹数据库以及连续攻击指纹数据。从图9可以看出,正常用户和秒拨攻击者的流量都会进入检测和防护模块,通过对流量提取指纹,若指纹匹配到秒拨黑指纹库,则秒拨防护模块会发送双向RST包进行阻断。具体方案如图10所示。
请参见图10,图10的右侧部分(从时间窗内网络包提取到秒拨指纹存储)属于秒拨检测模块,图10的左侧部分(从包解析模块到包指纹是否关联上秒拨指纹库以及实时阻断)都属于秒拨防护模块。
首先说明秒拨检测模块的工作过程:获取一个时间窗内的多个网络包,对每个网络包进行间接检测和直接检测,其中直接检测是指确定网络包的链路协议类型对应的置信度、操作系统类型对应的置信度以及UA字段对应的置信度以及地址出现频率对应的置信度等。若链路协议类型对应的置信度、操作系统类型对应的置信度、UA字段对应的置信度以及地址出现频率对应的置信度大于对应阈值,则对应输出结果数值1否则输出结果数值0,多个数值0或者1组合而成的字符串即是直接检测的指纹hash,且多个结果数值之和即是直接检测置信度。
间接检测是指确定网络包的相似负载指纹对应的置信度,连续攻击指纹对应的置信度以及客户端指纹对应的置信度,网络包的相似负载指纹、连续攻击指纹以及客户端指纹即是间接检测的指纹hash,且网络包的相似负载指纹对应的置信度,连续攻击指纹对应的置信度以及客户端指纹对应的置信度之和即是间接检测置信度。相似负载指纹对应的置信度在所有网络包的相似负载指纹中的出现频率确定的,连续攻击指纹对应的置信度在所有网络包的连续攻击指纹中的出现频率确定的,客户端指纹对应的置信度在所有网络包的客户端指纹中的出现频率确定的。
若所有网络包的间接检测置信度和直接检测置信度之和大于置信阈值,则每个网络包生成秒拨指纹,并将生成的秒拨指纹存储至秒拨指纹库,否则,抛弃所有网络包。
秒拨防护模块的工作过程为:获取待检测网络包,计算待检测网络包的相似负载指纹、连续攻击指纹以及客户端指纹,根据上述3个指纹在秒拨指纹库中的出现频率,以及待检测网络包的链路协议类型对应的置信度、操作系统类型对应的置信度、UA字段对应的置信度以及地址出现频率对应的置信度确定待检测网络包的目标置信度,若目标置信度大于阈值,则实时阻断待检测网络包所在的tcp连接。
上述可知,本申请检测一段时间的网络数据包是否为秒拨IP发起的数据包,若是,则根据这一段时间的网络数据包构建指纹数据库以及辅助关键词库,可以保证指纹数据库以及辅助关键词库的准确率,进而保证后续待检测数据包的流量负载指纹的准确性,提高数据包类型检测的准确率;本申请将网络数据包的行为翻译成规则,无论IP是否出现过,也不论IP曾经是好还是坏,一旦触发规则,就直接阻断,可以做到精准防控和实时阻断。
进一步的,请参见图11,其是本申请实施例提供的一种数据包处理装置的结构示意图。如图11所示,数据包处理装置1可以是上述图3-图10对应实施例中的服务器,具体的,数据包处理装置1可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该数据包处理装置1为一个应用软件;该数据包处理装置1可以用于执行本申请实施例提供的方法中的相应步骤。
数据包处理装置1可以包括:第一获取模块11、生成模块12、确定模块13和阻断模块14。
第一获取模块11,用于获取目标网络数据包;
生成模块12,用于生成所述目标网络数据包的数据包指纹,所述数据包指纹包括目标流量属性指纹和目标流量负载指纹;
确定模块13,用于根据所述目标流量负载指纹在指纹数据库中的出现频率以及所述目标流量属性指纹,确定所述目标网络数据包的类型;所述指纹数据库包括多个历史网络数据包的历史流量负载指纹;
阻断模块14,用于若所述目标网络数据包的类型是异常类型,则阻断所述目标网络数据包所在的网络连接。
所述目标网络数据包是通过旁路导流方式获取的;
所述阻断模块14,具体用于:
向所述目标网络数据包对应的客户端以及业务服务器分别发送阻断报文,所述阻断报文用于阻断所述客户端和所述业务服务器之间的网络连接。
其中,第一获取模块11、生成模块12、确定模块13和阻断模块14的具体功能实现方式可以参见上述图3对应实施例中的步骤S101-步骤S104。
请参见图11,生成模块12可以包括:获取单元121和第一确定单元122。
获取单元121,用于获取所述目标网络数据包的链路协议类型以及从所述目标网络数据包中提取与所述目标网络数据包的客户端相关的客户端内容,获取所述目标网络数据包的多个协议分段地址在协议分段地址集合中的地址出现频率,将所述链路协议类型、所述客户端内容和所述地址出现频率组合为所述目标流量属性指纹,在流量负载关键词库中查找属于所述目标网络数据包的负载关键词,调用客户端指纹识别功能确定所述目标网络数据包的目标客户端指纹;
第一确定单元122,用于将所述负载关键词的数据指纹以及所述目标客户端指纹作为所述目标流量负载指纹。
所述负载关键词包括相似负载关键词以及连续攻击关键词;
所述第一确定单元122,具体用于:
分别确定所述相似负载关键词的数据指纹以及所述连续攻击关键词的数据指纹;
将所述相似负载关键词的数据指纹、所述目标客户端指纹以及所述连续攻击关键词的数据指纹组合为所述目标流量负载指纹。
其中,获取单元121和第一确定单元122的具体功能实现方式可以参见上述图3对应实施例中的步骤S102。
在参见图11,确定模块13可以包括:第二确定单元131、第三确定单元132和叠加单元133。
第二确定单元131,用于确定所述目标流量属性指纹对应的流量属性置信度;
第三确定单元132,用于根据所述目标流量负载指纹在指纹数据库中的出现频率,确定流量负载置信度;
叠加单元133,用于将所述流量属性置信度和所述流量负载置信度叠加为目标置信度;
所述叠加单133元,还用于若所述目标置信度大于第一置信度阈值,则确定所述目标网络数据包的类型是异常类型。
在一个实施例中,所述目标流量负载指纹包括相似负载关键词的数据指纹、目标客户端指纹以及连续攻击关键词的数据指纹,所述指纹数据库包括相似负载指纹数据库、设备指纹数据库以及连续攻击指纹数据库;
所述第三确定单元132,具体用于:
统计所述相似负载关键词的数据指纹在所述相似负载指纹数据库中的相似负载指纹出现频率;
统计所述目标客户端指纹在所述设备指纹数据库中的设备指纹出现频率;
统计所述连续攻击关键词的数据指纹在所述连续攻击指纹数据库中的连续攻击指纹出现频率;
根据所述相似负载指纹出现频率、所述设备指纹出现频率以及所述连续攻击指纹出现频率确定流量负载置信度。
在一个实施例中,第三确定单元132在用于根据所述相似负载指纹出现频率、所述设备指纹出现频率以及所述连续攻击指纹出现频率确定流量负载置信度时,具体用于:
根据所述相似负载指纹出现频率确定相似负载置信度;
根据所述设备指纹出现频率确定设备置信度;
根据所述连续攻击指纹出现频率确定连续攻击置信度;
将所述相似负载置信度、所述设备置信度和所述连续攻击置信度叠加为流量负载置信度。
在一个实施例中,所述目标流量属性指纹包括链路协议类型、客户端内容和地址出现频率;
所述第二确定单元131,具体用于:
根据所述链路协议类型确定协议置信度;
根据所述客户端内容确定客户端内容置信度;
根据所述地址出现频率确定地址频率置信度;
将所述协议置信度、所述客户端内容置信度以及所述地址频率置信度叠加为所述流量属性置信度。
其中,第二确定单元131、第三确定单元132和叠加单元133的具体功能实现方式可以参见上述图3对应实施例中的步骤S103。
请再参见图11,数据包处理装置1可以包括:第一获取模块11、生成模块12、确定模块13和阻断模块14;还可以包括:第二获取模块15、存储模块16。
第二获取模块15,用于获取多个历史网络数据包,从每个历史网络数据包中提取网关定位地址,从所述多个网关定位地址中确定多个第一频繁序列模式,从所述多个第一频繁序列模式中筛选出相似负载高频关键词集合,根据所述相似负载高频关键词集合,确定每个历史网络数据包的网关定位地址模板,调用客户端指纹识别功能确定每个历史网络数据包的客户端指纹;
存储模块16,用于将多个网关定位地址模板的数据指纹以及多个客户端指纹存储至所述指纹数据库。
在一个实施例中,所述指纹数据库包括相似负载指纹数据库和设备指纹数据库;
所述存储模块16,具体用于:
将多个网关定位地址模板的数据指纹存储至所述相似负载指纹数据库;
将所述多个客户端指纹存储至所述设备指纹数据库。
请再参见图11,数据包处理装置1可以包括:第一获取模块11、生成模块12、确定模块13、阻断模块14、第二获取模块15和存储模块16;还可以包括:第三获取模块17。
第三获取模块17,用于获取每个历史网络数据包的历史流量属性指纹和历史流量负载指纹,确定每个历史流量属性指纹的第一置信度,根据每个历史流量负载指纹在所有历史流量负载指纹中的出现频率,确定每个历史流量负载指的第二置信度,若多个第一置信度和多个第二置信度之和大于第二置信度阈值,则通知存储模块16执行将多个网关定位地址模板的数据指纹以及多个客户端指纹存储至所述指纹数据库。
请再参见图11,所述指纹数据库还包括连续攻击指纹数据库,所述多个历史网络数据包是多个连续攻击阶段的网络数据包;
数据包处理装置1可以包括:第一获取模块11、生成模块12、确定模块13、阻断模块14、第二获取模块15和存储模块16;还可以包括:划分模块18。
划分模块18,用于将所述多个历史网络数据包划分为多个数据包集合,每个数据包集合属于一个攻击阶段,确定每个数据包集合的多个第二频繁序列模式,从每个数据包集合的多个第二频繁序列模式中筛选出每个数据包集合的连续攻击高频关键词集合,根据每个数据包集合的连续攻击高频关键词集合,确定每个数据包集合中的每个历史网络数据包的连续攻击模板,将每个历史网络数据包的连续攻击模板的数据指纹存储至所述连续攻击指纹数据库。
其中,第二获取模块15、存储模块16、第三获取模块17和划分模块18的具体功能实现方式可以参见上述图6对应实施例中的步骤S301-步骤S305。
进一步地,请参见图12,是本申请实施例提供的一种计算机设备的结构示意图。上述图3-图10对应实施例中的服务器可以为计算机设备1000。如图12所示,计算机设备1000可以包括:用户接口1002、处理器1004、编码器1006以及存储器1008。信号接收器1016用于经由蜂窝接口1010、WIFI接口1012、...、或NFC接口1014接收或者发送数据。编码器1006将接收到的数据编码为计算机处理的数据格式。存储器1008中存储有计算机程序,处理器1004被设置为通过计算机程序执行上述任一项方法实施例中的步骤。存储器1008可包括易失性存储器(例如,动态随机存取存储器DRAM),还可以包括非易失性存储器(例如,一次性可编程只读存储器OTPROM)。在一些实例中,存储器1008可进一步包括相对于处理器1004远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备1000。用户接口1002可以包括:键盘1018和显示器1020。
在图12所示的计算机设备1000中,处理器1004可以用于调用存储器1008中存储计算机程序,以实现:
获取目标网络数据包;
生成所述目标网络数据包的数据包指纹,所述数据包指纹包括目标流量属性指纹和目标流量负载指纹;
根据所述目标流量负载指纹在指纹数据库中的出现频率以及所述目标流量属性指纹,确定所述目标网络数据包的类型;所述指纹数据库包括多个历史网络数据包的历史流量负载指纹;
若所述目标网络数据包的类型是异常类型,则阻断所述目标网络数据包所在的网络连接。
在一个实施例中,处理器1004在执行生成所述目标网络数据包的数据包指纹时,具体执行以下步骤:
获取所述目标网络数据包的链路协议类型以及从所述目标网络数据包中提取与所述目标网络数据包的客户端相关的客户端内容;
获取所述目标网络数据包的多个协议分段地址在协议分段地址集合中的地址出现频率,将所述链路协议类型、所述客户端内容和所述地址出现频率组合为所述目标流量属性指纹;
在流量负载关键词库中查找属于所述目标网络数据包的负载关键词,调用客户端指纹识别功能确定所述目标网络数据包的目标客户端指纹;
将所述负载关键词的数据指纹以及所述目标客户端指纹作为所述目标流量负载指纹。
在一个实施例中,所述负载关键词包括相似负载关键词以及连续攻击关键词;
处理器1004在执行将所述负载关键词的数据指纹以及所述目标客户端指纹作为所述目标流量负载指纹时,具体执行以下步骤:
分别确定所述相似负载关键词的数据指纹以及所述连续攻击关键词的数据指纹;
将所述相似负载关键词的数据指纹、所述目标客户端指纹以及所述连续攻击关键词的数据指纹组合为所述目标流量负载指纹。
在一个实施例中,处理器1004在执行根据所述目标流量负载指纹在指纹数据库中的出现频率以及所述目标流量属性指纹,确定所述目标网络数据包的类型时,具体执行以下步骤:
确定所述目标流量属性指纹对应的流量属性置信度;
根据所述目标流量负载指纹在指纹数据库中的出现频率,确定流量负载置信度;
将所述流量属性置信度和所述流量负载置信度叠加为目标置信度;
若所述目标置信度大于第一置信度阈值,则确定所述目标网络数据包的类型是异常类型。
在一个实施例中,所述目标流量负载指纹包括相似负载关键词的数据指纹、目标客户端指纹以及连续攻击关键词的数据指纹,所述指纹数据库包括相似负载指纹数据库、设备指纹数据库以及连续攻击指纹数据库;
处理器1004在执行根据所述目标流量负载指纹在指纹数据库中的出现频率,确定流量负载置信度时,具体执行以下步骤:
统计所述相似负载关键词的数据指纹在所述相似负载指纹数据库中的相似负载指纹出现频率;
统计所述目标客户端指纹在所述设备指纹数据库中的设备指纹出现频率;
统计所述连续攻击关键词的数据指纹在所述连续攻击指纹数据库中的连续攻击指纹出现频率;
根据所述相似负载指纹出现频率、所述设备指纹出现频率以及所述连续攻击指纹出现频率确定流量负载置信度。
在一个实施例中,处理器1004在执行根据所述相似负载指纹出现频率、所述设备指纹出现频率以及所述连续攻击指纹出现频率确定流量负载置信度时,具体执行以下步骤:
根据所述相似负载指纹出现频率确定相似负载置信度;
根据所述设备指纹出现频率确定设备置信度;
根据所述连续攻击指纹出现频率确定连续攻击置信度;
将所述相似负载置信度、所述设备置信度和所述连续攻击置信度叠加为流量负载置信度。
在一个实施例中,所述目标流量属性指纹包括链路协议类型、客户端内容和地址出现频率;
处理器1004在执行确定所述目标流量属性指纹对应的流量属性置信度时,具体执行以下步骤:
根据所述链路协议类型确定协议置信度;
根据所述客户端内容确定客户端内容置信度;
根据所述地址出现频率确定地址频率置信度;
将所述协议置信度、所述客户端内容置信度以及所述地址频率置信度叠加为所述流量属性置信度。
在一个实施例中,所述目标网络数据包是通过旁路导流方式获取的;
处理器1004在执行阻断所述目标网络数据包所在的网络连接时,具体执行以下步骤:
向所述目标网络数据包对应的客户端以及业务服务器分别发送阻断报文,所述阻断报文用于阻断所述客户端和所述业务服务器之间的网络连接。
在一个实施例中,处理器1004还执行以下步骤:
获取多个历史网络数据包,从每个历史网络数据包中提取网关定位地址;
从所述多个网关定位地址中确定多个第一频繁序列模式,从所述多个第一频繁序列模式中筛选出相似负载高频关键词集合;
根据所述相似负载高频关键词集合,确定每个历史网络数据包的网关定位地址模板;
调用客户端指纹识别功能确定每个历史网络数据包的客户端指纹;
将多个网关定位地址模板的数据指纹以及多个客户端指纹存储至所述指纹数据库。
在一个实施例中,所述指纹数据库包括相似负载指纹数据库和设备指纹数据库;
处理器1004在执行将多个网关定位地址模板的数据指纹以及多个客户端指纹存储至所述指纹数据库时,具体执行以下步骤:
将多个网关定位地址模板的数据指纹存储至所述相似负载指纹数据库;
将所述多个客户端指纹存储至所述设备指纹数据库。
在一个实施例中,处理器1004还执行以下步骤:
获取每个历史网络数据包的历史流量属性指纹和历史流量负载指纹;
确定每个历史流量属性指纹的第一置信度;
根据每个历史流量负载指纹在所有历史流量负载指纹中的出现频率,确定每个历史流量负载指的第二置信度;
若多个第一置信度和多个第二置信度之和大于第二置信度阈值,则执行将多个网关定位地址模板的数据指纹以及多个客户端指纹存储至所述指纹数据库的步骤。
在一个实施例中,所述指纹数据库还包括连续攻击指纹数据库,所述多个历史网络数据包是多个连续攻击阶段的网络数据包;
处理器1004还执行以下步骤:
将所述多个历史网络数据包划分为多个数据包集合,每个数据包集合属于一个攻击阶段;
确定每个数据包集合的多个第二频繁序列模式,从每个数据包集合的多个第二频繁序列模式中筛选出每个数据包集合的连续攻击高频关键词集合;
根据每个数据包集合的连续攻击高频关键词集合,确定每个数据包集合中的每个历史网络数据包的连续攻击模板;
将每个历史网络数据包的连续攻击模板的数据指纹存储至所述连续攻击指纹数据库。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图3-图10所对应实施例中对数据包处理方法的描述,也可执行前文图11所对应实施例中对数据包处理装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机存储介质,且计算机存储介质中存储有前文提及的数据包处理装置1所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文图3-图10所对应实施例中对数据包处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,程序指令可以被部署在一个计算机设备上执行,或者在位于一个地点的多个计算机设备上执行,又或者,分布在多个地点且通过通信网络互联的多个计算机设备上执行,分布在多个地点且通过通信网络互联的多个计算机设备可以组合为区块链网络。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备可以执行前文图3到图10所对应实施例中的方法,因此,这里将不再进行赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (15)
1.一种数据包处理方法,其特征在于,包括:
获取目标网络数据包;
生成所述目标网络数据包的数据包指纹,所述数据包指纹包括目标流量属性指纹和目标流量负载指纹;
根据所述目标流量负载指纹在指纹数据库中的出现频率以及所述目标流量属性指纹,确定所述目标网络数据包的类型;所述指纹数据库包括多个历史网络数据包的历史流量负载指纹;
若所述目标网络数据包的类型是异常类型,则阻断所述目标网络数据包所在的网络连接。
2.根据权利要求1所述的方法,其特征在于,所述生成所述目标网络数据包的数据包指纹,包括:
获取所述目标网络数据包的链路协议类型以及从所述目标网络数据包中提取与所述目标网络数据包的客户端相关的客户端内容;
获取所述目标网络数据包的多个协议分段地址在协议分段地址集合中的地址出现频率,将所述链路协议类型、所述客户端内容和所述地址出现频率组合为所述目标流量属性指纹;
在流量负载关键词库中查找属于所述目标网络数据包的负载关键词,调用客户端指纹识别功能确定所述目标网络数据包的目标客户端指纹;
将所述负载关键词的数据指纹以及所述目标客户端指纹作为所述目标流量负载指纹。
3.根据权利要求2所述的方法,其特征在于,所述负载关键词包括相似负载关键词以及连续攻击关键词;
所述将所述负载关键词的数据指纹以及所述目标客户端指纹作为所述目标流量负载指纹,包括:
分别确定所述相似负载关键词的数据指纹以及所述连续攻击关键词的数据指纹;
将所述相似负载关键词的数据指纹、所述目标客户端指纹以及所述连续攻击关键词的数据指纹组合为所述目标流量负载指纹。
4.根据权利要求1所述的方法,其特征在于,所述根据所述目标流量负载指纹在指纹数据库中的出现频率以及所述目标流量属性指纹,确定所述目标网络数据包的类型,包括:
确定所述目标流量属性指纹对应的流量属性置信度;
根据所述目标流量负载指纹在指纹数据库中的出现频率,确定流量负载置信度;
将所述流量属性置信度和所述流量负载置信度叠加为目标置信度;
若所述目标置信度大于第一置信度阈值,则确定所述目标网络数据包的类型是异常类型。
5.根据权利要求4所述的方法,其特征在于,所述目标流量负载指纹包括相似负载关键词的数据指纹、目标客户端指纹以及连续攻击关键词的数据指纹,所述指纹数据库包括相似负载指纹数据库、设备指纹数据库以及连续攻击指纹数据库;
所述根据所述目标流量负载指纹在指纹数据库中的出现频率,确定流量负载置信度,包括:
统计所述相似负载关键词的数据指纹在所述相似负载指纹数据库中的相似负载指纹出现频率;
统计所述目标客户端指纹在所述设备指纹数据库中的设备指纹出现频率;
统计所述连续攻击关键词的数据指纹在所述连续攻击指纹数据库中的连续攻击指纹出现频率;
根据所述相似负载指纹出现频率、所述设备指纹出现频率以及所述连续攻击指纹出现频率确定流量负载置信度。
6.根据权利要求5所述的方法,其特征在于,所述根据所述相似负载指纹出现频率、所述设备指纹出现频率以及所述连续攻击指纹出现频率确定流量负载置信度,包括:
根据所述相似负载指纹出现频率确定相似负载置信度;
根据所述设备指纹出现频率确定设备置信度;
根据所述连续攻击指纹出现频率确定连续攻击置信度;
将所述相似负载置信度、所述设备置信度和所述连续攻击置信度叠加为流量负载置信度。
7.根据权利要求4所述的方法,其特征在于是,所述目标流量属性指纹包括链路协议类型、客户端内容和地址出现频率;
所述确定所述目标流量属性指纹对应的流量属性置信度,包括:
根据所述链路协议类型确定协议置信度;
根据所述客户端内容确定客户端内容置信度;
根据所述地址出现频率确定地址频率置信度;
将所述协议置信度、所述客户端内容置信度以及所述地址频率置信度叠加为所述流量属性置信度。
8.根据权利要求1所述的方法,其特征在于,所述目标网络数据包是通过旁路导流方式获取的;
所述阻断所述目标网络数据包所在的网络连接,包括:
向所述目标网络数据包对应的客户端以及业务服务器分别发送阻断报文,所述阻断报文用于阻断所述客户端和所述业务服务器之间的网络连接。
9.根据权利要求1所述的方法,其特征在于,还包括:
获取多个历史网络数据包,从每个历史网络数据包中提取网关定位地址;
从所述多个网关定位地址中确定多个第一频繁序列模式,从所述多个第一频繁序列模式中筛选出相似负载高频关键词集合;
根据所述相似负载高频关键词集合,确定每个历史网络数据包的网关定位地址模板;
调用客户端指纹识别功能确定每个历史网络数据包的客户端指纹;
将多个网关定位地址模板的数据指纹以及多个客户端指纹存储至所述指纹数据库。
10.根据权利要求9所述的方法,其特征在于,所述指纹数据库包括相似负载指纹数据库和设备指纹数据库;
所述将多个网关定位地址模板的数据指纹以及多个客户端指纹存储至所述指纹数据库,包括:
将多个网关定位地址模板的数据指纹存储至所述相似负载指纹数据库;
将所述多个客户端指纹存储至所述设备指纹数据库。
11.根据权利要求9所述的方法,其特征在于,还包括:
获取每个历史网络数据包的历史流量属性指纹和历史流量负载指纹;
确定每个历史流量属性指纹的第一置信度;
根据每个历史流量负载指纹在所有历史流量负载指纹中的出现频率,确定每个历史流量负载指纹的第二置信度;
若多个第一置信度和多个第二置信度之和大于第二置信度阈值,则执行将所述网关定位地址模板的数据指纹以及多个客户端指纹存储至所述指纹数据库的步骤。
12.根据权利要求10所述的方法,其特征在于,所述指纹数据库还包括连续攻击指纹数据库,所述多个历史网络数据包是多个连续攻击阶段的网络数据包;
所述方法还包括:
将所述多个历史网络数据包划分为多个数据包集合,每个数据包集合属于一个攻击阶段;
确定每个数据包集合的多个第二频繁序列模式,从每个数据包集合的多个第二频繁序列模式中筛选出每个数据包集合的连续攻击高频关键词集合;
根据每个数据包集合的连续攻击高频关键词集合,确定每个数据包集合中的每个历史网络数据包的连续攻击模板;
将每个历史网络数据包的连续攻击模板的数据指纹存储至所述连续攻击指纹数据库。
13.一种数据包处理装置,其特征在于,包括:
第一获取模块,用于获取目标网络数据包;
生成模块,用于生成所述目标网络数据包的数据包指纹,所述数据包指纹包括目标流量属性指纹和目标流量负载指纹;
确定模块,用于根据所述目标流量负载指纹在指纹数据库中的出现频率以及所述目标流量属性指纹,确定所述目标网络数据包的类型;所述指纹数据库包括多个历史网络数据包的历史流量负载指纹;
阻断模块,用于若所述目标网络数据包的类型是异常类型,则阻断所述目标网络数据包所在的网络连接。
14.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1-12中任一项所述方法的步骤。
15.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,执行权利要求1-12任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011137281.7A CN112019575B (zh) | 2020-10-22 | 2020-10-22 | 数据包处理方法、装置、计算机设备以及存储介质 |
PCT/CN2021/120910 WO2022083417A1 (zh) | 2020-10-22 | 2021-09-27 | 一种数据包处理方法、装置、电子设备、计算机可读存储介质以及计算机程序产品 |
US17/991,770 US20230092522A1 (en) | 2020-10-22 | 2022-11-21 | Data packet processing method, apparatus, and electronic device, computer-readable storage medium, and computer program product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011137281.7A CN112019575B (zh) | 2020-10-22 | 2020-10-22 | 数据包处理方法、装置、计算机设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112019575A CN112019575A (zh) | 2020-12-01 |
CN112019575B true CN112019575B (zh) | 2021-01-29 |
Family
ID=73527997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011137281.7A Active CN112019575B (zh) | 2020-10-22 | 2020-10-22 | 数据包处理方法、装置、计算机设备以及存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230092522A1 (zh) |
CN (1) | CN112019575B (zh) |
WO (1) | WO2022083417A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019225216A1 (ja) * | 2018-05-21 | 2019-11-28 | 日本電信電話株式会社 | 判定方法、判定装置および判定プログラム |
CN112019575B (zh) * | 2020-10-22 | 2021-01-29 | 腾讯科技(深圳)有限公司 | 数据包处理方法、装置、计算机设备以及存储介质 |
CN112968864A (zh) * | 2021-01-26 | 2021-06-15 | 太原理工大学 | 一种可信的IPv6网络服务过程机制 |
CN112468520B (zh) * | 2021-01-28 | 2021-04-20 | 腾讯科技(深圳)有限公司 | 一种数据检测方法、装置、设备及可读存储介质 |
CN113285916B (zh) * | 2021-04-06 | 2022-11-11 | 国家工业信息安全发展研究中心 | 智能制造系统异常流量检测方法及检测装置 |
CN113364790B (zh) * | 2021-06-12 | 2022-10-18 | 四川虹美智能科技有限公司 | 数据传输方法及装置 |
CN113626509A (zh) * | 2021-08-09 | 2021-11-09 | 杭州安恒信息技术股份有限公司 | 数据接入方法、装置、电子设备及可读存储介质 |
CN114039756B (zh) * | 2021-10-29 | 2024-04-05 | 恒安嘉新(北京)科技股份公司 | 非法域名的探测方法、装置、设备及存储介质 |
CN114928452B (zh) * | 2022-05-17 | 2024-02-13 | 壹沓科技(上海)有限公司 | 访问请求验证方法、装置、存储介质及服务器 |
TWI813326B (zh) * | 2022-06-08 | 2023-08-21 | 英屬開曼群島商網際威信股份有限公司 | 設備指紋推論系統及方法 |
CN115955522A (zh) * | 2022-11-30 | 2023-04-11 | 绿盟科技集团股份有限公司 | 一种资产指纹识别方法、装置、设备和介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110958233A (zh) * | 2019-11-22 | 2020-04-03 | 上海交通大学 | 一种基于深度学习的加密型恶意流量检测系统和方法 |
WO2020075518A1 (ja) * | 2018-10-10 | 2020-04-16 | 日本電信電話株式会社 | 探索装置、探索方法及び探索プログラム |
CN111177267A (zh) * | 2019-12-30 | 2020-05-19 | 中信百信银行股份有限公司 | 数据传输方法、装置、电子设备及存储介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103095723A (zh) * | 2013-02-04 | 2013-05-08 | 中国科学院信息工程研究所 | 一种网络安全监控方法及系统 |
CN104852894B (zh) * | 2014-12-10 | 2016-08-24 | 北京奇虎科技有限公司 | 一种无线报文侦听检测方法、系统及中控服务器 |
US10320825B2 (en) * | 2015-05-27 | 2019-06-11 | Cisco Technology, Inc. | Fingerprint merging and risk level evaluation for network anomaly detection |
US9575681B1 (en) * | 2016-04-29 | 2017-02-21 | International Business Machines Corporation | Data deduplication with reduced hash computations |
WO2018004596A1 (en) * | 2016-06-30 | 2018-01-04 | Intel Corporation | Technologies for serializable binary data distribution |
US11003653B2 (en) * | 2018-05-31 | 2021-05-11 | Intuit Inc. | Method and system for secure digital documentation of subjects using hash chains |
CN111200600B (zh) * | 2019-12-28 | 2021-03-16 | 西安交通大学 | 一种物联网设备流量序列指纹特征提取方法 |
CN111586005B (zh) * | 2020-04-29 | 2022-12-27 | 杭州迪普科技股份有限公司 | 扫描器扫描行为识别方法及装置 |
CN111756598A (zh) * | 2020-06-23 | 2020-10-09 | 北京凌云信安科技有限公司 | 一种基于主动探测与流量分析结合的资产发现方法 |
CN112019575B (zh) * | 2020-10-22 | 2021-01-29 | 腾讯科技(深圳)有限公司 | 数据包处理方法、装置、计算机设备以及存储介质 |
CN112019574B (zh) * | 2020-10-22 | 2021-01-29 | 腾讯科技(深圳)有限公司 | 异常网络数据检测方法、装置、计算机设备和存储介质 |
-
2020
- 2020-10-22 CN CN202011137281.7A patent/CN112019575B/zh active Active
-
2021
- 2021-09-27 WO PCT/CN2021/120910 patent/WO2022083417A1/zh active Application Filing
-
2022
- 2022-11-21 US US17/991,770 patent/US20230092522A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020075518A1 (ja) * | 2018-10-10 | 2020-04-16 | 日本電信電話株式会社 | 探索装置、探索方法及び探索プログラム |
CN110958233A (zh) * | 2019-11-22 | 2020-04-03 | 上海交通大学 | 一种基于深度学习的加密型恶意流量检测系统和方法 |
CN111177267A (zh) * | 2019-12-30 | 2020-05-19 | 中信百信银行股份有限公司 | 数据传输方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112019575A (zh) | 2020-12-01 |
WO2022083417A1 (zh) | 2022-04-28 |
US20230092522A1 (en) | 2023-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112019575B (zh) | 数据包处理方法、装置、计算机设备以及存储介质 | |
Xu et al. | Am I eclipsed? A smart detector of eclipse attacks for Ethereum | |
US11399288B2 (en) | Method for HTTP-based access point fingerprint and classification using machine learning | |
CN113315742B (zh) | 攻击行为检测方法、装置及攻击检测设备 | |
US11546295B2 (en) | Industrial control system firewall module | |
CN113518042B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN112560029A (zh) | 基于智能分析技术的网站内容监测和自动化响应防护方法 | |
CN111935167A (zh) | 用于工控的违规外联检测方法、装置、设备及存储介质 | |
CN112769833A (zh) | 命令注入攻击的检测方法、装置、计算机设备和存储介质 | |
EP4027276A1 (en) | Anomaly detection based on an event tree | |
CN111314379A (zh) | 被攻击域名识别方法、装置、计算机设备和存储介质 | |
CN114615066A (zh) | 目标路径确定方法以及装置 | |
CN113342892A (zh) | 基于区块链节点集群的云安全数据处理方法及区块链系统 | |
EP3789890A1 (en) | Fully qualified domain name (fqdn) determination | |
EP3379772B1 (en) | Analysis method, analysis device, and analysis program | |
CN113704569A (zh) | 信息的处理方法、装置及电子设备 | |
CN112583827A (zh) | 一种数据泄露检测方法及装置 | |
CN111786940A (zh) | 一种数据处理方法及装置 | |
CN113810381B (zh) | 一种爬虫检测方法、web应用云防火墙、装置和存储介质 | |
CN115859305A (zh) | 一种基于知识图谱的工控安全态势感知方法及系统 | |
CN112543186B (zh) | 一种网络行为检测方法、装置、存储介质及电子设备 | |
CN113328976B (zh) | 一种安全威胁事件识别方法、装置及设备 | |
CN116074280A (zh) | 应用入侵防御系统识别方法、装置、设备和存储介质 | |
Lysenko et al. | Botnet Detection Approach Based on DNS. | |
JP7243329B2 (ja) | コンピュータプログラム、イベント異常検知方法及びコンピュータ |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40035331 Country of ref document: HK |