CN112751815B - 报文处理方法、装置、设备及计算机可读存储介质 - Google Patents
报文处理方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112751815B CN112751815B CN201911057490.8A CN201911057490A CN112751815B CN 112751815 B CN112751815 B CN 112751815B CN 201911057490 A CN201911057490 A CN 201911057490A CN 112751815 B CN112751815 B CN 112751815B
- Authority
- CN
- China
- Prior art keywords
- fingerprint
- access request
- access
- server
- request message
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 23
- 230000005540 biological transmission Effects 0.000 claims abstract description 55
- 230000000903 blocking effect Effects 0.000 claims abstract description 24
- 238000012545 processing Methods 0.000 claims description 44
- 238000000034 method Methods 0.000 claims description 36
- 238000004458 analytical method Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 11
- 239000000284 extract Substances 0.000 claims description 10
- 230000001681 protective effect Effects 0.000 claims description 10
- 238000000605 extraction Methods 0.000 claims description 9
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 230000004083 survival effect Effects 0.000 claims description 4
- 238000001514 detection method Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 23
- 230000008569 process Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000002159 abnormal effect Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 238000012827 research and development Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 239000012634 fragment Substances 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 241001397173 Kali <angiosperm> Species 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- 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/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- 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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
-
- 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/16—Implementing security features at a particular protocol layer
- H04L63/164—Implementing security features at a particular protocol layer at the network layer
-
- 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/16—Implementing security features at a particular protocol layer
- H04L63/166—Implementing security features at a particular protocol layer at the transport layer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供一种报文处理方法,包括:防护设备接收第一访问请求报文,第一访问请求报文包括基于TCP/IP协议发送的报文;从第一访问请求报文的传输层和/或网络层报文头中提取第一指纹特征,第一指纹特征对应发送第一访问请求报文的终端设备的操作***类型;基于指纹特征库对第一指纹特征进行识别以判断是否允许第一访问请求报文访问服务器;指纹特征库包括允许访问服务器的终端设备的操作***类型对应的指纹特征,或/和不允许访问服务器的终端设备的操作***类型对应的指纹特征;若允许访问则放行第一访问请求报文;若不允许访问则阻断第一访问请求报文。解决了黑客们较为轻易地躲避攻击检测,让服务器容易遭受DDoS攻击的技术问题。
Description
技术领域
本发明涉及计算机通信技术领域,尤其涉及一种报文处理方法、一种报文处理装置、一种防护设备以及一种计算机可读存储介质。
背景技术
拒绝服务攻击亦称洪水(Flood)攻击,是一种网络攻击手法,其目的在于使目标计算机的网络或***资源耗尽,使服务暂时中断或停止,导致其正常用户无法访问。当黑客使用网络上两个或以上被攻陷的计算机作为“僵尸”向特定的目标发动“拒绝服务”式攻击时,称为分布式拒绝服务攻击(Distributed Denial-of-Service attack,简称DDoS攻击)。
黑客一般控制传统用户PC主机作为僵尸网络的僵尸主机(bot)来发起DDoS攻击,但现阶段随着越来越多的物联网(Internet of Things,IoT)网络设备接入互联网,如摄像头、路由器等,黑客通过入侵这些IoT设备来发起DDoS越来越频繁。
受DDoS攻击的服务一般以超文本传输协议(HyperText Transfer Protocol,HTTP)全球广域网(Web)服务居多,现有技术中,DDoS检测清洗厂商在防护DDoS的时候,会检测HTTP请求报文格式,例如查看是否是正常的用户(如浏览器)发起的请求,一般就是看HTTP请求中的用户代理(User-Agent)字段信息,里面会标示浏览器版本,如果发现是非正常的用户(浏览器)请求,就阻断当前通信,达到缓解DDoS攻击的目的。然而,由于HTTP攻击报文易于伪造,比如找到正常用户请求报文,然后完全复制到攻击报文中,这样黑客们就可以较为轻易地躲避攻击检测。
如何更好地识别出DDoS攻击,阻断或过滤异常访问,以更好地避免遭受DDoS攻击,是人们一直研究的技术问题。
发明内容
本申请实施例公开了一种报文处理方法、报文处理装置和防护设备,能够解决现有技术中黑客们较为轻易地躲避攻击检测,使目标服务容易遭受DDoS攻击的技术问题。
第一方面,本申请实施例提供一种报文处理方法,该方法可以包括:
防护设备接收第一访问请求报文,所述第一访问请求报文包括基于TCP/IP协议发送的报文,所述第一访问请求报文的目的方是所述防护设备保护的服务器;
所述防护设备从所述第一访问请求报文的传输层和/或网络层报文头中提取第一指纹特征,所述第一指纹特征对应发送所述第一访问请求报文的终端设备的操作***类型;
基于指纹特征库对所述第一指纹特征进行识别以判断是否允许所述第一访问请求报文访问所述服务器,其中,所述指纹特征库包括允许访问所述服务器的终端设备的操作***类型对应的指纹特征,或/和不允许访问所述服务器的终端设备的操作***类型对应的指纹特征;
若允许所述第一访问请求报文访问所述服务器,则放行所述第一访问请求报文;
若不允许所述第一访问请求报文访问所述服务器,则阻断所述第一访问请求报文。
通过上述技术手段,由于传输层和/或网络层报文头中的信息是依赖于操作***来实现或生成的,也就是说于传输层和/或网络层报文头中的指纹特征(例如TCP头及选项特征、或IP头特征等)是与操作***类型强相关的,普通的程序是无法修改的。如果黑客想要通过建立原始套接字(RAW Socket)或者修改操作***(Operation System,OS)来实现伪造,修改OS也就是修改OS的协议栈,必须重新编译该OS,而该OS的原始代码基本上是OS提供商私有保密的(特别是针对当前的IoT***,越来越多的设备是厂商们自己研发出各自的OS),因此重新编译的难度以及代价都很大。因此黑客难以通过修改传输层和/或网络层报文头中的指纹特征来伪造报文,从而解决了现有技术中黑客们较为轻易地躲避攻击检测,使目标服务容易遭受DDoS攻击的技术问题。防护设备,例如抗DDoS(Anti DistributedDenial of Service,Anti-DDoS)设备,通过识别攻击报文的传输层和/或网络层报文头中的指纹特征,可以准确地识别是否是合法的正常用户访问,并可以很好地阻断非正常的用户访问请求,从而实现更好地预防和缓解DDoS攻击,更好地避免遭受DDoS攻击。
在一种可能的实现方式中,所述指纹特征库包括允许访问所述服务器的终端设备的操作***类型对应的指纹特征,所述基于指纹特征库对所述第一指纹特征进行识别以判断是否允许所述第一访问请求报文访问所述服务器,包括:
判断所述指纹特征库中是否包含所述第一指纹特征;
如果包含所述第一指纹特征,则确定允许所述第一访问请求报文访问所述服务器;
如果不包含所述第一指纹特征,则确定不允许所述第一访问请求报文访问所述服务器。
本申请实施例通过直接判断指纹特征库中是否包含该第一指纹特征,可以快速高效地判断出是否允许该第一访问请求报文访问服务器。
在一种可能的实现方式中,所述接收第一访问请求报文之前,还包括:
接收输入的传输层和/或网络层的指纹特征,将所述输入的指纹特征保存在所述指纹特征库中;或者
分析正常业务模型中的第二访问请求报文,从而获得在传输层和/或网络层的指纹特征,将分析得到的指纹特征保存在所述指纹特征库中。
本申请实施例的防护设备可以通过自学习的方式,自动学习或分析正常业务模型中的访问请求报文在传输层和/或网络层的指纹特征,并存储到指纹特征库中;或者可以通过开发人员或研发人员等用户来配置正常业务模型中的访问请求报文在传输层和/或网络层的指纹特征,那么防护设备即可以接收到该指纹特征,并存储到指纹特征库中,以便于后续基于该指纹特征库中的指纹特征来识别是否为DDoS攻击。
在一种可能的实现方式中,每个不同的传输层和/或网络层的指纹特征可以对应不同的OS类型,例如Window 7/8、Windows 10、Linux 2.4、Linux 4.1等等。那么开发人员或研发人员等用户也可以直接配置客户端OS类型列表,或者通过自学习的方式自动学习正常业务模型对应的OS类型来配置客户端OS类型列表,该客户端OS类型列表中的OS类型可以为允许访问的OS类型,从而更加灵活,更加快速高效地配置OS阻断策略,在面对多变的DDoS攻击时可以满足用户快速响应的需求,实现更好地预防和缓解DDoS攻击,更好地避免服务器遭受DDoS攻击。
通过预先在指纹特征库中配置允许访问服务器的报文对应的指纹特征,以识别指纹特征库中是否包含该第一指纹特征,来决定放行还是阻断该第一访问请求报文,可以准确地识别是否是合法的正常用户访问,并可以很好地阻断非正常的用户访问请求,从而实现更好地预防和缓解DDoS攻击,更好地避免服务器遭受DDoS攻击。
在一种可能的实现方式中,所述指纹特征库包括不允许访问所述服务器的终端设备的操作***类型对应的指纹特征,所述基于指纹特征库对所述第一指纹特征进行识别以判断是否允许所述第一访问请求报文访问所述服务器,包括:
判断所述指纹特征库中是否包含所述第一指纹特征;
如果包含所述第一指纹特征,则确定不允许所述第一访问请求报文访问所述服务器;
如果不包含所述第一指纹特征,则确定允许所述第一访问请求报文访问所述服务器。
本申请实施例通过直接判断指纹特征库中是否包含该第一指纹特征,可以快速高效地判断出是否允许该第一访问请求报文访问服务器。
在一种可能的实现方式中,所述接收第一访问请求报文之前,还包括:
接收输入的传输层和/或网络层的指纹特征,将所述输入的指纹特征保存在所述指纹特征库中;或者
分析攻击业务模型中的第三访问请求报文,从而获得在传输层和/或网络层的指纹特征,将分析得到的指纹特征保存在所述指纹特征库中。
本申请实施例的防护设备可以通过自学习的方式,自动学习或分析攻击业务模型中的访问请求报文在传输层和/或网络层的指纹特征,并存储到指纹特征库中;或者可以通过开发人员或研发人员等用户来配置攻击业务模型中的访问请求报文在传输层和/或网络层的指纹特征,那么防护设备即可以接收到该指纹特征,并存储到指纹特征库中,以便于后续基于该指纹特征库中的指纹特征来识别是否为DDoS攻击。
在一种可能的实现方式中,每个不同的传输层和/或网络层的指纹特征可以对应不同的OS类型,例如Window 7/8、Windows 10、Linux 2.4、Linux 4.1等等。那么开发人员或研发人员等用户也可以直接配置客户端OS类型列表,或者通过自学习的方式自动学习攻击业务模型对应的OS类型来配置客户端OS类型列表,该客户端OS类型列表中的OS类型可以为禁止访问的OS类型,从而更加灵活,更加快速高效地配置OS阻断策略,在面对多变的DDoS攻击时可以满足用户快速响应的需求,实现更好地预防和缓解DDoS攻击,更好地避免服务器遭受DDoS攻击。
通过预先在指纹特征库中配置禁止访问的报文对应的指纹特征,以识别指纹特征库中是否包含该第一指纹特征,来决定放行还是阻断该第一访问请求报文,可以准确地识别是否是合法的正常用户访问,并可以很好地阻断非正常的用户访问请求,从而实现更好地预防和缓解DDoS攻击,更好地避免服务器遭受DDoS攻击。
在一种可能的实现方式中,所述指纹特征库包括允许访问所述服务器的终端设备的操作***类型对应的指纹特征和不允许访问所述服务器的终端设备的操作***类型对应的指纹特征,所述基于指纹特征库对所述第一指纹特征进行识别以判断是否允许所述第一访问请求报文访问所述服务器,包括:
基于指纹特征库识别所述第一指纹特征对应的操作***类型,所述指纹特征库中包含操作***类型与指纹特征之间的对应关系;
根据第一操作***类型列表、或者第二操作***类型列表判断是否允许所述第一访问请求报文访问所述服务器,所述第一操作***类型列表中包括允许访问所述服务器的至少一个操作***类型,所述第二操作***类型列表中包括禁止访问所述服务器的至少一个操作***类型。
通过本申请实施例,指纹特征库可以包括允许访问所述服务器的终端设备的操作***类型对应的指纹特征和不允许访问所述服务器的终端设备的操作***类型对应的指纹特征。并且指纹特征库中包含操作***类型与指纹特征之间的对应关系。每个不同的传输层和/或网络层的指纹特征可以对应不同的OS类型,例如Window 7/8、Windows 10、Linux2.4、Linux 4.1等等。那么开发人员或研发人员等用户也可以直接配置客户端OS类型列表,或者通过自学习的方式自动学习攻击业务模型对应的OS类型来配置客户端OS类型列表,其中,第一OS类型列表中可以包括允许访问所述服务器的至少一个OS类型;第二OS类型列表中可以包括禁止访问所述服务器的至少一个OS类型。那么基于指纹特征库识别第一指纹特征对应的操作***类型后,即可根据第一操作***类型列表、或者第二操作***类型列表判断是否允许该第一访问请求报文访问该服务器。从而实现更加灵活,更加快速高效地配置OS阻断策略,在面对多变的DDoS攻击时可以满足用户快速响应的需求,实现更好地预防和缓解DDoS攻击,更好地避免服务器遭受DDoS攻击。
在一种可能的实现方式中,本申请实施例的报文处理方法,还可以是在检测到服务器遭受到DDoS攻击的情况下,才触发执行从所述第一访问请求报文的传输层和/或网络层报文头中提取第一指纹特征的步骤。
由于若对每个接收到的访问请求报文都提取指纹特征并进行识别将会增加访问请求报文的传输延时,将影响正常用户的访问感受。通过上述技术手段,在检测到服务器遭受到DDoS攻击时,再触发执行提取指纹特征并进行识别,可以很好地平衡正常访问效率和缓解DDoS攻击的问题。
在一种可能的实现方式中,本申请实施例的第一访问请求报文包括SYN报文。
由于SYN报文是建立TCP连接时客户端向服务器发送的第一个请求报文,直接对该SYN报文提取指纹特征并进行识别,可以以最快速度识别出该访问请求是否为DDoS攻击,从而实现更好地预防和缓解DDoS攻击,更好地避免遭受DDoS攻击。
第二方面,本申请实施例提供一种报文处理方法,包括:
防护设备接收第一访问请求报文,所述第一访问请求报文包括基于TCP/IP协议发送的报文,所述访问请求报文的目的方是所述防护设备保护的服务器;
所述防护设备从所述第一访问请求报文的传输层和/或网络层报文头中提取第一指纹特征,所述第一指纹特征对应发送所述第一访问请求报文的终端设备的操作***类型;
基于指纹特征库识别所述第一指纹特征对应的操作***类型,所述指纹特征库中包含操作***类型与指纹特征之间的对应关系;
根据第一操作***类型列表、或者第二操作***类型列表判断是否允许所述第一访问请求报文访问所述服务器,所述第一操作***类型列表中包括允许访问所述服务器的至少一个操作***类型,所述第二操作***类型列表中包括禁止访问所述服务器的至少一个操作***类型;
若允许所述第一访问请求报文访问所述服务器,则放行所述第一访问请求报文;
若不允许所述第一访问请求报文访问所述服务器,则阻断所述第一访问请求报文。
通过本申请实施例,该指纹特征库中包含操作***类型与指纹特征之间的对应关系。每个不同的传输层和/或网络层的指纹特征可以对应不同的OS类型,例如Window 7/8、Windows10、Linux 2.4、Linux 4.1等等。那么开发人员或研发人员等用户也可以直接配置客户端OS类型列表,或者通过自学习的方式自动学习攻击业务模型对应的OS类型来配置客户端OS类型列表,其中,第一OS类型列表中可以包括允许访问所述服务器的至少一个OS类型;第二OS类型列表中可以包括禁止访问所述服务器的至少一个OS类型,那么基于指纹特征库识别第一指纹特征对应的操作***类型后,即可根据第一操作***类型列表、或者第二操作***类型列表判断是否允许该第一访问请求报文访问该服务器;从而实现更加灵活,更加快速高效地配置OS阻断策略,在面对多变的DDoS攻击时可以满足用户快速响应的需求,实现更好地预防和缓解DDoS攻击,更好地避免服务器遭受DDoS攻击。
第三方面,本申请实施例提供一种防护设备,包括处理器和网络接口,其中,
所述网络接口用于接收第一访问请求报文,所述第一访问请求报文包括基于TCP/IP协议发送的报文,所述第一访问请求报文的目的方是所述防护设备保护的服务器;
所述处理器用于调用存储的计算机程序执行如下操作:
从所述第一访问请求报文的传输层和/或网络层报文头中提取第一指纹特征,所述第一指纹特征对应发送所述第一访问请求报文的终端设备的操作***类型;
基于指纹特征库对所述第一指纹特征进行识别以判断是否允许所述第一访问请求报文访问所述服务器,其中,所述指纹特征库包括允许访问所述服务器的终端设备的操作***类型对应的指纹特征,或/和不允许访问所述服务器的终端设备的操作***类型对应的指纹特征;
若允许所述第一访问请求报文访问所述服务器,则放行所述第一访问请求报文;
若不允许所述第一访问请求报文访问所述服务器,则阻断所述第一访问请求报文。
在一种可能的实现方式中,所述指纹特征库包括允许访问所述服务器的终端设备的操作***类型对应的指纹特征,所述处理器基于指纹特征库对所述第一指纹特征进行识别以判断是否允许所述第一访问请求报文访问所述服务器,包括:
所述处理器判断所述指纹特征库中是否包含所述第一指纹特征;
如果包含所述第一指纹特征,则确定允许所述第一访问请求报文访问所述服务器;
如果不包含所述第一指纹特征,则确定不允许所述第一访问请求报文访问所述服务器。
在一种可能的实现方式中,所述防护设备还包括输入设备;所述输入设备,用于在所述网络接口接收第一访问请求报文之前,接收输入的传输层和/或网络层的指纹特征,将所述输入的指纹特征保存在所述指纹特征库中;或者,
所述处理器还用于,在所述网络接口接收第一访问请求报文之前,分析正常业务模型中的第二访问请求报文,从而获得在传输层和/或网络层的指纹特征,将分析得到的指纹特征保存在所述指纹特征库中。
在一种可能的实现方式中,所述指纹特征库包括不允许访问所述服务器的终端设备的操作***类型对应的指纹特征,所述处理器基于指纹特征库对所述第一指纹特征进行识别以判断是否允许所述第一访问请求报文访问所述服务器,包括:
所述处理器判断所述指纹特征库中是否包含所述第一指纹特征;
如果包含所述第一指纹特征,则确定不允许所述第一访问请求报文访问所述服务器;
如果不包含所述第一指纹特征,则确定允许所述第一访问请求报文访问所述服务器。
在一种可能的实现方式中,所述防护设备还包括输入设备;所述输入设备,用于在所述网络接口接收第一访问请求报文之前,接收输入的传输层和/或网络层的指纹特征,将所述输入的指纹特征保存在所述指纹特征库中;或者,
所述处理器还用于,在所述网络接口接收第一访问请求报文之前,分析攻击业务模型中的第三访问请求报文,从而获得在传输层和/或网络层的指纹特征,将分析得到的指纹特征保存在所述指纹特征库中。
在一种可能的实现方式中,所述指纹特征库包括允许访问所述服务器的终端设备的操作***类型对应的指纹特征和不允许访问所述服务器的终端设备的操作***类型对应的指纹特征,所述处理器基于指纹特征库对所述第一指纹特征进行识别以判断是否允许所述第一访问请求报文访问所述服务器,包括:
所述处理器基于指纹特征库识别所述第一指纹特征对应的操作***类型,所述指纹特征库中包含操作***类型与指纹特征之间的对应关系;
根据第一操作***类型列表、或者第二操作***类型列表判断是否允许所述第一访问请求报文访问所述服务器,所述第一操作***类型列表中包括允许访问所述服务器的至少一个操作***类型,所述第二操作***类型列表中包括禁止访问所述服务器的至少一个操作***类型。
在一种可能的实现方式中,所述处理器还可以是在检测到服务器遭受到DDoS攻击的情况下,才触发执行从所述第一访问请求报文的传输层和/或网络层报文头中提取第一指纹特征的步骤。
在一种可能的实现方式中,本申请实施例的第一访问请求报文包括SYN报文。
第四方面,本申请实施例提供一种防护设备,其特征在于,包括处理器和网络接口,其中,
所述网络接口用于接收第一访问请求报文;所述第一访问请求报文包括基于TCP/IP协议发送的报文;所述第一访问请求报文的目的方是所述防护设备保护的服务器;
所述处理器用于调用存储的计算机程序执行如下操作:
从所述第一访问请求报文的传输层和/或网络层报文头中提取第一指纹特征,所述第一指纹特征对应发送所述第一访问请求报文的终端设备的操作***类型;
基于指纹特征库识别所述第一指纹特征对应的操作***类型,所述指纹特征库中包含操作***类型与指纹特征之间的对应关系;
根据第一操作***类型列表、或者第二操作***类型列表判断是否允许所述第一访问请求报文访问所述服务器,所述第一操作***类型列表中包括允许访问所述服务器的至少一个操作***类型,所述第二操作***类型列表中包括禁止访问所述服务器的至少一个操作***类型;
若允许所述第一访问请求报文访问所述服务器,则放行所述第一访问请求报文;
若不允许所述第一访问请求报文访问所述服务器,则阻断所述第一访问请求报文。
第五方面,本申请实施例提供一种报文处理装置,包括:
报文接收单元,用于接收第一访问请求报文;所述第一访问请求报文包括基于TCP/IP协议发送的报文;所述第一访问请求报文的目的方是所述报文处理装置保护的服务器;
指纹特征提取单元,用于从所述第一访问请求报文的传输层和/或网络层报文头中提取第一指纹特征,所述第一指纹特征对应发送所述第一访问请求报文的终端设备的操作***类型;
处理单元,用于基于指纹特征库对所述第一指纹特征进行识别以判断是否允许所述第一访问请求报文访问所述服务器,其中,所述指纹特征库包括允许访问所述服务器的终端设备的操作***类型对应的指纹特征,或/和不允许访问所述服务器的终端设备的操作***类型对应的指纹特征;
若允许所述第一访问请求报文访问所述服务器,则所述处理单元放行所述第一访问请求报文;
若不允许所述第一访问请求报文访问所述服务器,则所述处理单元阻断所述第一访问请求报文。
在一种可能的实现方式中,所述指纹特征库包括允许访问所述服务器的终端设备的操作***类型对应的指纹特征,所述处理单元,具体用于:
判断所述指纹特征库中是否包含所述第一指纹特征;
如果包含所述第一指纹特征,则确定允许所述第一访问请求报文访问所述服务器;
如果不包含所述第一指纹特征,则确定不允许所述第一访问请求报文访问所述服务器。
在一种可能的实现方式中,所述装置还包括:
第一特征接收单元,用于在所述报文接收单元接收第一访问请求报文之前,接收输入的传输层和/或网络层的指纹特征,将所述输入的指纹特征保存在所述指纹特征库中;或者
第一特征分析单元,用于在所述报文接收单元接收第一访问请求报文之前,分析正常业务模型中的第二访问请求报文,从而获得在传输层和/或网络层的指纹特征,将分析得到的指纹特征保存在所述指纹特征库中。
在一种可能的实现方式中,所述指纹特征库包括不允许访问所述服务器的终端设备的操作***类型对应的指纹特征,所述处理单元,具体用于:
判断所述指纹特征库中是否包含所述第一指纹特征;
如果包含所述第一指纹特征,则确定不允许所述第一访问请求报文访问所述服务器;
如果不包含所述第一指纹特征,则确定允许所述第一访问请求报文访问所述服务器。
在一种可能的实现方式中,所述装置还包括:
第二特征接收单元,用于在所述报文接收单元接收第一访问请求报文之前,接收输入的传输层和/或网络层的指纹特征,将所述输入的指纹特征保存在所述指纹特征库中;或者
第二特征分析单元,用于在所述报文接收单元接收第一访问请求报文之前,分析正常业务模型中的第三访问请求报文,从而获得在传输层和/或网络层的指纹特征,将分析得到的指纹特征保存在所述指纹特征库中。
在一种可能的实现方式中,所述指纹特征库包括允许访问所述服务器的终端设备的操作***类型对应的指纹特征和不允许访问所述服务器的终端设备的操作***类型对应的指纹特征,所述处理单元,具体用于:
基于指纹特征库识别所述第一指纹特征对应的操作***类型,所述指纹特征库中包含操作***类型与指纹特征之间的对应关系;
根据第一操作***类型列表、或者第二操作***类型列表判断是否允许所述第一访问请求报文访问所述服务器,所述第一操作***类型列表中包括允许访问所述服务器的至少一个操作***类型,所述第二操作***类型列表中包括禁止访问所述服务器的至少一个操作***类型。
在一种可能的实现方式中,所述指纹特征提取单元还可以是在检测到服务器遭受到DDoS攻击的情况下,才触发执行从所述第一访问请求报文的传输层和/或网络层报文头中提取第一指纹特征的步骤。
在一种可能的实现方式中,本申请实施例的第一访问请求报文包括SYN报文。
第六方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储了程序,其中,所述程序包括用于执行第一方面的任意一种方法的部分或全部步骤的指令。
第七方面,本申请实施例提供一种芯片,包括至少一个处理器和接口电路,所述处理器用于通过所述接口电路输入第一访问请求报文后,执行存储器中存储的计算机程序以执行以下步骤:
从所述第一访问请求报文的传输层和/或网络层报文头中提取第一指纹特征,所述第一指纹特征对应发送所述第一访问请求报文的终端设备的操作***类型;所述第一访问请求报文包括基于TCP/IP协议发送的报文,所述第一访问请求报文的目的方是所述芯片保护的服务器;
基于指纹特征库对所述第一指纹特征进行识别以判断是否允许所述第一访问请求报文访问所述服务器,其中,所述指纹特征库包括允许访问所述服务器的终端设备的操作***类型对应的指纹特征,或者不允许访问所述服务器的终端设备的操作***类型对应的指纹特征;
若允许所述第一访问请求报文访问所述服务器,则放行所述第一访问请求报文;
若不允许所述第一访问请求报文访问所述服务器,则阻断所述第一访问请求报文。
在一种可能的实现方式中,所述指纹特征库包括允许访问所述服务器的终端设备的操作***类型对应的指纹特征,所述处理器基于指纹特征库对所述第一指纹特征进行识别以判断是否允许所述第一访问请求报文访问所述服务器,具体包括:
判断所述指纹特征库中是否包含所述第一指纹特征;
如果包含所述第一指纹特征,则确定允许所述第一访问请求报文访问所述服务器;
如果不包含所述第一指纹特征,则确定不允许所述第一访问请求报文访问所述服务器。
在一种可能的实现方式中,所述通过所述接口电路输入第一访问请求报文之前,所述处理器还用于:
将接收输入的传输层和/或网络层的指纹特征保存在所述指纹特征库中;或者
分析正常业务模型中的第二访问请求报文,从而获得在传输层和/或网络层的指纹特征,将分析得到的指纹特征保存在所述指纹特征库中。
在一种可能的实现方式中,所述指纹特征库包括不允许访问所述服务器的终端设备的操作***类型对应的指纹特征,所述处理器基于指纹特征库对所述第一指纹特征进行识别以判断是否允许所述第一访问请求报文访问所述服务器,具体包括:
判断所述指纹特征库中是否包含所述第一指纹特征;
如果包含所述第一指纹特征,则确定不允许所述第一访问请求报文访问所述服务器;
如果不包含所述第一指纹特征,则确定允许所述第一访问请求报文访问所述服务器。
在一种可能的实现方式中,所述通过所述接口电路输入第一访问请求报文之前,所述处理器还用于:
将接收输入的传输层和/或网络层的指纹特征保存在所述指纹特征库中;或者
分析攻击业务模型中的第三访问请求报文,从而获得在传输层和/或网络层的指纹特征,将分析得到的指纹特征保存在所述指纹特征库中。
在一种可能的实现方式中,所述处理器还可以是在检测到服务器遭受到DDoS攻击的情况下,才触发执行从所述第一访问请求报文的传输层和/或网络层报文头中提取第一指纹特征的步骤。
在一种可能的实现方式中,本申请实施例的第一访问请求报文包括SYN报文。
第八方面,本申请实施例提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行第一方面的任意一种方法的部分或全部步骤。
其中,在上述第一至第八方面的各个技术方案中:
在一种可能的实现方式中,所述第一指纹特征和所述指纹特征库中的指纹特征为传输层指纹特征;所述传输层指纹特征包括以下一个或多个:
TCP选项中的选项排序信息;
最大分段大小信息;
窗口大小信息;
窗口比例信息;
DF标志位信息。
在上述第一至第八方面的各个技术方案中:
在一种可能的实现方式中,所述第一指纹特征和所述指纹特征库中的指纹特征为网络层指纹特征,所述网络层指纹特征包括以下一个或多个:
IP报文存活时间信息;
IP头部标识信息。
上述传输层或网络层的指纹特征是每个操作***在遵循或使用TCP/IP协议时都有的固有***指纹特征,并且每个操作***都会有差别,例如Windows/Linux/其他IoT设备等,黑客控制这些设备的时候,一般攻击流量会仿造用户的正常访问特征,比如在HTTP协议的User-Agent里面添加知名MSS Maximum segment size浏览器的版本,但是不会修改协议栈,因此通过识别上述传输层或网络层的指纹特征,即实现通过在DDoS防护设备上识别流量的协议栈,阻断掉明显的攻击流量,从而预防和缓解DDoS攻击。
应当理解的是,本申请的第二至第八方面与本申请的第一方面的技术方案一致,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1是本申请实施例提供的一种报文处理方法的应用场景示意图;
图2是本申请实施例提供的报文处理方法的流程示意图;
图3是本申请提供的另一实施例的报文处理方法的流程示意图;
图4是本申请实施例提供的报文处理方法的原理示意图;
图5是本申请提供的另一实施例的报文处理方法的原理示意图;
图6是本申请提供的报文处理流程的其中一个实施例的示意图;
图7是本申请提供的报文处理流程的另一个实施例的示意图;
图8是本申请实施例提供的操作***对应的指纹特征的示意图;
图9是本申请提供的另一实施例的操作***对应的指纹特征的示意图;
图10是本申请提供的另一实施例的操作***对应的指纹特征的示意图;
图11是本申请提供的另一实施例的操作***对应的指纹特征的示意图;
图12是本申请实施例提供的防护设备的结构示意图;
图13是本申请实施例提供的报文处理装置的结构示意图;
图14是本申请实施例提供的芯片的结构示意图。
具体实施方式
下面结合本申请实施例中的附图对本申请实施例进行描述。
图1为本申请实施例提供的一种报文处理方法的应用场景示意图。本申请实施例的报文处理方法所应用的网络中包括至少一个黑客,图1中以一个黑客为例进行说明。该黑客指发起DDoS攻击或DoS攻击的攻击者或攻击设备。黑客可以控制一个僵尸主机(bot)向服务器发起DoS攻击或控制多个bot向服务器发起DDoS攻击。抗分布式拒绝服务(Anti-DDoS)设备或抗拒绝服务设备部署在服务器前,为服务器提供DDoS流量的清洗,也就是说在发生DDoS攻击时,对接收的攻击流量进行识别并阻断,以缓解DDoS攻击或DoS攻击,从而保护正常用户对服务器的正常访问。其中,Anti-DDoS设备或抗拒绝服务设备即为本申请实施例中的防护设备,图1中以Anti-DDoS设备为例进行说明。
本申请实施例中的bot可以为传统用户的个人计算机(Personal Computer,PC)主机、或能够接入互联网的IoT网络设备,如摄像头、路由器等等。
本申请实施例的服务器是为某业务提供正常服务的计算机,用户终端通过互联网即可与该服务器建立连接,并对服务器提供的业务进行访问。例如服务器为游戏服务器,用于访问游戏服务器上的某游戏的数据,以运行该游戏。
下面以Anti-DDoS设备执行DDoS防护为例,结合图2示出的本申请实施例提供的报文处理方法的流程示意图,说明Anti-DDoS设备如何完成DDoS防护。如图2所示,本申请实施例提供的报文处理方法包括如下步骤。
步骤S200:僵尸主机或正常的用户终端向服务器发送第一访问请求报文;
具体地,本申请实施例的第一访问请求报文包括基于TCP/IP协议发送的报文,该第一访问请求报文是为了与服务器建立TCP/IP连接的报文。受黑客控制的bot会向服务器发送第一访问请求报文,以请求访问服务器提供的服务;正常的用户终端也可以向服务器发送第一访问请求报文,以请求访问服务器提供的服务。
步骤S202:Anti-DDoS设备接收该第一访问请求报文;
具体地,Anti-DDoS设备为部署在服务器前的设备。可选地,本申请实施例在服务器检测到遭受DDoS攻击的情况下,才触发Anti-DDoS设备执行步骤S204。在服务器没有检测到遭受DDoS攻击的情况下,Anti-DDoS设备可以将接收到的第一访问请求报文直接放行给该服务器。
步骤S204:Anti-DDoS设备从该第一访问请求报文的传输层和/或网络层报文头中提取第一指纹特征。
具体地,本申请实施例中传输层指纹特征可以包括以下一个或多个:TCP选项中的选项排序信息、最大分段大小(Maximum Segment Size,MSS)信息、窗口大小(Windows sizevalue)信息、窗口比例(Windows scale)信息、DF(Don’t Fragment)标志位信息;等等。
本申请实施例中网络层指纹特征可以包括以下一个或多个:IP报文存活时间信息、数据段Payload长度信息、IP头部标识信息;等等。
那么,Anti-DDoS设备针对接收到的第一访问请求报文的传输层和/或网络层报文头进行指纹特征提取后,即可提取出该第一访问请求报文的传输层和/或网络层的第一指纹特征。
由于本申请实施例中传输层或网络层的指纹特征是每个操作***在遵循或使用TCP/IP协议时都有的固有***指纹特征,并且每个操作***都会有差别。因此,该第一指纹特征对应发送所述第一访问请求报文的终端设备的操作***类型。
步骤S206:Anti-DDoS设备基于指纹特征库对所述第一指纹特征进行识别以判断是否允许所述第一访问请求报文访问所述服务器。该指纹特征库是用于对提取出的第一指纹特征进行识别,以判断是否允许该第一访问请求报文的访问请求。
具体地,步骤S206之前,Anti-DDoS设备可以预先生成指纹特征库。例如可以通过自学习的方式,自动学习或分析正常业务模型中访问请求报文,从而获得在传输层和/或网络层的指纹特征,或者接收用户输入的传输层和/或网络层的指纹特征,然后建立并存储到指纹特征库中。在这种情况下,该指纹特征库即包括允许访问所述服务器的终端设备的操作***类型对应的指纹特征。可替换地,Anti-DDoS设备也可以通过自学习的方式,自动学习或分析攻击业务模型中访问请求报文,从而获得在传输层和/或网络层的指纹特征,或者接收用户输入的传输层和/或网络层的指纹特征,然后建立并存储到指纹特征库中。在这种情况下该指纹特征库即包括不允许访问所述服务器的终端设备的操作***类型对应的指纹特征。
例如,当指纹特征库包括允许访问所述服务器的终端设备的操作***类型对应的指纹特征时,若判断出该指纹特征库中包含该第一指纹特征,则表明允许该第一访问请求报文访问该服务器,执行步骤S208;若判断出该指纹特征库中不包含该第一指纹特征,则表明不允许该第一访问请求报文访问该服务器,执行步骤S210。
步骤S208:Anti-DDoS设备向服务器放行该第一访问请求报文;
步骤S210:Anti-DDoS设备阻断该第一访问请求报文。
在一种可能的实施方式中,该指纹特征库可以包括允许访问所述服务器的终端设备的操作***类型对应的指纹特征和不允许访问所述服务器的终端设备的操作***类型对应的指纹特征;该指纹特征库中还包含操作***类型与指纹特征之间的对应关系;那么步骤S206可以具体为:
基于指纹特征库识别该第一指纹特征对应的操作***类型;
根据第一操作***类型列表、或者第二操作***类型列表判断是否允许所述第一访问请求报文访问所述服务器,所述第一操作***类型列表中包括允许访问所述服务器的至少一个操作***类型,所述第二操作***类型列表中包括禁止访问所述服务器的至少一个操作***类型。
具体地,本申请实施例中传输层或网络层的指纹特征是每个操作***在遵循或使用TCP/IP协议时都有的固有***指纹特征,并且每个操作***都会有差别。那么Anti-DDoS设备即可基于指纹特征库识别所述第一指纹特征对应的操作***类型。
另外,Anti-DDoS设备还可预先建立好第一操作***类型列表或第二操作***类型列表;该第一操作***类型列表中包括允许访问该服务器的至少一个操作***类型,该第二操作***类型列表中包括禁止访问该服务器的至少一个操作***类型。该第一操作***类型列表或第二操作***类型可以为用户按照需要进行配置,输入的操作***类型。或者该第一操作***类型列表也可以是通过自学习的方式,自动学习或分析正常业务模型中访问请求报文,从而获得在传输层和/或网络层的指纹特征,然后得到该指纹特征对应的操作***类型。该第二操作***类型也可以是通过自学习的方式,自动学习或分析或攻击业务模型中访问请求报文从而获得在传输层和/或网络层的指纹特征,然后得到该指纹特征对应的操作***类型。
那么Anti-DDoS设备可以根据第一操作***类型列表,若判断该第一指纹特征对应的操作***类型在该第一操作***类型列表中,则表明允许该第一访问请求报文访问该服务器,执行步骤S208;若判断该第一指纹特征对应的操作***类型不在该第一操作***类型列表中,则表明不允许该第一访问请求报文访问该服务器,执行步骤S210。或者Anti-DDoS设备可以根据第二操作***类型列表,若判断该第一指纹特征对应的操作***类型不在该第二操作***类型列表中,则表明允许该第一访问请求报文访问该服务器,执行步骤S208;若判断该第一指纹特征对应的操作***类型在该第二操作***类型列表中,则表明不允许该第一访问请求报文访问该服务器,执行步骤S210。
图3示出的本申请提供的另一实施例的报文处理方法的流程示意图,说明Anti-DDoS设备如何完成DDoS防护。如图3所示,本申请实施例提供的报文处理方法包括如下步骤。
步骤S300:僵尸主机或正常的用户终端向服务器发送第一访问请求报文。
步骤S302:Anti-DDoS设备接收该第一访问请求报文。
步骤S304:Anti-DDoS设备从该第一访问请求报文的传输层和/或网络层报文头中提取第一指纹特征。
其中,步骤S300-S304可以参见上述图2实施例中步骤S200-S204的描述,这里不再赘述。
步骤S306:Anti-DDoS设备基于指纹特征库识别所述第一指纹特征对应的操作***类型。
具体地,步骤S306之前,Anti-DDoS设备可以预先生成指纹特征库,例如可以通过自学习的方式,自动学习或分析正常业务模型中访问请求报文,从而获得在传输层和/或网络层的指纹特征,或者接收用户输入的传输层和/或网络层的指纹特征,然后建立并存储到指纹特征库中,那么该指纹特征库即包括允许访问所述服务器的终端设备的操作***类型对应的指纹特征;也可以通过自学习的方式,自动学习或分析攻击业务模型中访问请求报文,从而获得在传输层和/或网络层的指纹特征,或者接收用户输入的传输层和/或网络层的指纹特征,然后建立并存储到指纹特征库中,那么该指纹特征库即包括禁止访问所述服务器的终端设备的操作***类型对应的指纹特征。
本申请实施例中传输层或网络层的指纹特征是每个操作***在遵循或使用TCP/IP协议时都有的固有***指纹特征,并且每个操作***都会有差别。
本申请实施例的指纹特征库中还包含操作***类型与指纹特征之间的对应关系,那么Anti-DDoS设备即可基于指纹特征库识别所述第一指纹特征对应的操作***类型。
步骤S308:Anti-DDoS设备根据第一操作***类型列表、或者第二操作***类型列表判断是否允许所述第一访问请求报文访问所述服务器。
具体地,Anti-DDoS设备还可预先建立好第一操作***类型列表或第二操作***类型列表;该第一操作***类型列表中包括允许访问该服务器的至少一个操作***类型,该第二操作***类型列表中包括禁止访问该服务器的至少一个操作***类型。该第一操作***类型列表或第二操作***类型可以为用户按照需要进行配置,输入的操作***类型。或者该第一操作***类型列表也可以是通过自学习的方式,自动学习或分析正常业务模型中访问请求报文,从而获得在传输层和/或网络层的指纹特征,然后得到该指纹特征对应的操作***类型。该第二操作***类型也可以是通过自学习的方式,自动学习或分析或攻击业务模型中访问请求报文从而获得在传输层和/或网络层的指纹特征,然后得到该指纹特征对应的操作***类型。
那么Anti-DDoS设备可以根据第一操作***类型列表,若判断该第一指纹特征对应的操作***类型在该第一操作***类型列表中,则表明允许该第一访问请求报文访问该服务器,执行步骤S310;若判断该第一指纹特征对应的操作***类型不在该第一操作***类型列表中,则表明不允许该第一访问请求报文访问该服务器,执行步骤S312。或者Anti-DDoS设备可以根据第二操作***类型列表,若判断该第一指纹特征对应的操作***类型不在该第二操作***类型列表中,则表明允许该第一访问请求报文访问该服务器,执行步骤S310;若判断该第一指纹特征对应的操作***类型在该第二操作***类型列表中,则表明不允许该第一访问请求报文访问该服务器,执行步骤S312。
步骤S310:Anti-DDoS设备向服务器放行该第一访问请求报文;
步骤S312:Anti-DDoS设备阻断该第一访问请求报文。
如图4示出的本申请实施例提供的报文处理方法的原理示意图,以防护设备内部模块的角度来说明如何处理接收到的访问请求报文,可以分为前期配置管理和后期报文识别过滤:
在配置管理的过程中,配置管理模块可以通过用户手工输入指纹特征的形式来建立指纹特征库,也可以通过自学习模块以自学习的方式来获取访问请求报文的指纹特征,以建立指纹特征库,也可以两者结合一起来建立指纹特征库。
进一步地,通过升级模块,可以对指纹特征库中存储的指纹特征进行升级或更新,例如可以定期自学习更新指纹特征,或者更新传输层和/或网络层的指纹特征的定义规则,并按照更新的定义规则重新建立指纹特征库。传输层和/或网络层的指纹特征的定义规则具体可以为选取哪些传输层和网络层的指纹特征项来作为识别依据,按照选取的这些指纹特征来配置或自学习指纹特征以构建指纹特征库,以及按照选取的这些指纹特征项提取第一访问请求报文的指纹特征,以识别放行还是阻断该报文。
在一种可能的实现方式中,用户也可以根据自身需求通过配置管理模块来配置OS阻断策略。比如每个不同的传输层和/或网络层的指纹特征可以对应不同的OS类型,例如Window 7/8、Windows 10、Linux 2.4、Linux 4.1等等。那么开发人员或研发人员等用户也可以直接配置客户端OS类型列表,或者通过自学习的方式自动学习正常业务模型或攻击业务模型对应的OS类型来配置客户端OS类型列表,该客户端OS类型列表中的OS类型可以为允许访问的OS类型或禁止访问的OS类型,从而更加灵活,更加快速高效地配置OS阻断策略,在面对多变的DDoS攻击时可以满足用户快速响应的需求,实现更好地预防和缓解DDoS攻击,更好地避免服务器遭受DDoS攻击。
在后期报文识别过滤的过程中,报文接收模块会接收访问请求报文,然后通过源OS识别模块基于指纹特征库中的指纹特征,对接收到的访问请求报文进行识别,提取出指纹特征,并还可以通过自学习模块识别出发送该访问请求报文对应的OS类型。然后由OS阻断模块基于配置的OS阻断策略分析是否阻断该访问请求报文。若允许访问请求,由动作处理模块可以将访问请求报文给到会话管理模块,在由会话管理模块触发报文发送模块将该访问请求报文放行给服务器;若不允许访问请求,那么动作处理模块即可以直接阻断掉该访问请求报文。
通过本申请实施例,由于传输层和/或网络层报文头中的信息是依赖于操作***来实现或生成的,也就是说于传输层和/或网络层报文头中的指纹特征(例如TCP头及选项特征、或IP头特征等)是与操作***类型强相关的,普通的程序是无法修改的。黑客往往需要通过建立RAW Socket或者修改OS来实现伪造,修改OS也就是修改OS的协议栈,必须重新编译该OS。而该OS的原始代码基本上都在厂商手里(特别是针对当前的IoT***,越来越多的设备是厂商们自己研发出各自的OS)。因此重新编译的难度以及代价都很大,从而解决了现有技术中黑客们较为轻易地躲避攻击检测,使目标服务容易遭受DDoS攻击的技术问题。Anti-DDoS设备通过识别攻击报文的传输层和/或网络层的指纹特征,可以准确地识别是否是合法的正常用户访问,并可以很好地阻断非正常的用户访问请求,从而实现更好地预防和缓解DDoS攻击,更好地避免服务器遭受DDoS攻击。
为了更好地理解本申请实施例的报文处理方法的原理,再结合图5示出的本申请提供的另一实施例的报文处理方法的原理示意图,具体以OS特征库生成以及Anti-DDoS设备引擎如何处理报文,两块进行说明:
在生成OS特征库的过程中,可以先分析流行OS发出的TCP SYN报文的头部以及Option选项,然后提取关键的指纹特征或生成签名,例如SYN报文的TCP选项中的选项排序信息、IP报文的TTL信息、MSS信息、Windows size value信息、Windows scale信息、或其它选项等。将提取的指纹特征形成固定特征,放入或更新到指纹特征库中,该指纹特征可以发布更新到Anti-DDoS设备上,供Anti-DDoS设备引擎使用。
在Anti-DDoS设备引擎处理报文的过程中,可以通过如下两个实施例来说明:(画流程附图)
实施例一
如图6示出的本申请提供的报文处理流程的其中一个实施例的示意图,可以包括如下步骤:
步骤S600:Anti-DDoS设备可以先建立合法的允许访问的OS类型。
例如可以为OS***类型列表,该OS***类型列表可以由用户配置,比如用户手动配置了允许的客户端OS***类型列表:Window 7/8、Windows 10;或者也可以由Anti-DDoS设备在正常业务模型中进行自学习,自动学习合法(即允许访问)客户端的OS***类型列表,如Window 7/8、Windows 10。
步骤S602:Anti-DDoS设备在接收到新建会话的第一个握手请求报文,即SYN报文后,进行报文头部解析,比如提取Option信息。
步骤S604:Anti-DDoS设备提取指纹特征,比如分析TCP选项,具体根据预先定义的规则来完成指纹特征提取,比如定义的规则是提取TCP选项中的选项排序信息、报文IP头部的TTL(Time to live)信息以及Windows size value值,那么即完成这三项的指纹特征提取。
步骤S606:Anti-DDoS设备将提取的指纹特征与已有的指纹特征库进行比对,识别出客户端(发出该SYN报文)的具体OS***类型,如Window 7/8或Linux 2.4。
以建立合法的允许访问的OS类型包括Window 7为例,加入配置了Window 7的指纹特征包括如下三项:TCP选项的排序顺序为MSS(Maximum segment size)、NOP(No-Operation)、window scale、NOP、NOP、SACK Permitted;报文IP头部的TTL(Time to live)为128;以及Windows size value值为8192。那么提取SYN报文中的上述三项的指纹特征,若与指纹特征库中上述三项的指纹特征都相同,则识别出客户端的具体OS***类型为Window7,允许该报文的访问,放行该SYN报文;若与指纹特征库中上述三项的指纹特征不都相同,则识别出客户端的具体OS***类型不为Window 7,并在识别出都不为允许访问的OS类型后,那么即阻断该SYN报文。
步骤S608:Anti-DDoS设备根据OS阻断策略,检测该识别出的客户端OS***类型是否在允许的客户端OS***类型列表中。
步骤S610:若检测到在允许的客户端OS***类型列表中,则放行该SYN报文;若检测到不在允许的客户端OS***类型列表中,则阻断或丢弃该SYN报文。
实施例二
如图7示出的本申请提供的报文处理流程的另一个实施例的示意图,可以包括如下步骤:
步骤S700:Anti-DDoS设备可以先建立非法的禁止访问的OS类型;
例如可以为OS***类型列表,该OS***类型列表可以由用户配置,比如用户手动配置了禁止的客户端OS***类型列表:Window 7/8、Windows 10;或者也可以由***在攻击业务模型中进行自学习,自动学习非法(即禁止访问)客户端的OS***类型列表,如Window7/8、Windows 10。
步骤S702:Anti-DDoS设备在接收到新建会话的第一个握手请求报文,即SYN报文后,进行报文头部解析,比如提取Option信息。
步骤S704:Anti-DDoS设备提取指纹特征,比如分析TCP选项,具体根据预先定义的规则来完成指纹特征提取,比如定义的规则是提取TCP选项中的选项排序信息以及各选项的值,那么即完成这两项的指纹特征提取。
步骤S706:Anti-DDoS设备将提取的指纹特征与已有的指纹特征库进行比对,识别出客户端(发出该SYN报文)的具体OS***类型,如Window 7/8或Linux 2.4。
步骤S708:Anti-DDoS设备根据OS阻断策略,检测该识别出的客户端OS***类型是否在禁止的客户端OS***类型列表中。
步骤S710:若检测到不在禁止的客户端OS***类型列表中,则放行该SYN报文;若检测到在禁止的客户端OS***类型列表中,则阻断或丢弃该SYN报文。
也就是说,Anti-DDoS设备引擎在处理报文的过程中可以有下表的8种情形:
下面结合两个业务实例进行说明:
业务实例一
以Anti-DDoS设备保护一款Windows下运行的游戏的服务器为例;该游戏只能在Windows上运行,则根据客户端类型设置允许的客户端OS***类型列表为Windows 7/8、Windows 10;
当检测到该服务器遭受到DDoS攻击时,Anti-DDoS设备将被触发对所有连接到游戏的服务器的客户端OS类型进行指纹特征识别(具体如上述实施例所述),如果指纹识别出该客户端OS类型为非Windows 7/8、Windows 10***,如识别出是Linux 2.4***,则直接阻断SYN报文,从而阻断该客户端的访问,缓解DDoS攻击;
反之,如果识别出客户端OS类型为Windows 10***,则放行该SYN报文。
业务实例二
以Anti-DDoS设备保护一款App应用服务器为例,该App只能在苹果iPhone设备上运行,则根据客户端类型设置允许的客户端OS***类型列表为iOS;
当检测到该应用服务器遭受到DDoS攻击时,Anti-DDoS设备将被触发对所有连接到游戏服务器的客户端OS进行指纹特征识别(具体如上述实施例所述),如果指纹识别出该客户端OS类型为非iOS***,如Windows7***,则直接阻断SYN报文,从而阻断该客户端的访问,缓解DDoS攻击;
反之,如果识别出客户端OS类型为iOS(iPhone)设备,则放行该SYN报文。
由于若对每个接收到的访问请求报文都提取指纹特征并进行识别,将影响正常用户的访问效率。通过上述技术手段,在检测到服务器遭受到DDoS攻击时,再触发执行提取指纹特征并进行识别,可以很好地平衡正常访问效率和缓解DDoS攻击的问题。
本申请实施例中的传输层指纹特征和网络层指纹特征,属于操作***固有的***指纹,不同的操作***一般有着上述不同的指纹特征,具体如在IP头及选项/TCP头及选项的指纹特征,每个操作***都会有差别。
下面结合图8至图11,分别举例说明不同操作***上的传输层指纹特征和网络层指纹特征:
如图8示出的本申请实施例提供的操作***对应的指纹特征的示意图,是以Windows7操作***为例,图8中可以看到,提取到基于Windows7按照或遵循TCP/IP协议发出的访问请求报文的指纹特征有以下一个或多个:
TCP选项的排序顺序为MSS(Maximum segment size)、NOP(No-Operation)、windowscale、NOP、NOP、SACK Permitted;
报文IP头部的TTL(Time to live)为128;
Windows size value值为8192;
Windows scale值为2;
DF(Don’t fragment)置1,并且IP头部的ID(Identification)字段非0。
如图9示出的本申请提供的另一实施例的操作***对应的指纹特征的示意图,是以Linux version 3.1(CentOS 7.1)操作***为例,图9中可以看到,提取到基于Linuxversion 3.1(CentOS7.1)按照或遵循TCP/IP协议发出的访问请求报文的指纹特征有以下一个或多个:
TCP选项的排序顺序为MSS、SACK Permitted、Timestamp、NOP、Windows scale;
报文IP头的TTL(Time to live)为64;
Windows size value值为14600(MSS*10);
Windows scale值为7;
DF(Don’t fragment)置1,并且ID字段非0。
如图10示出的本申请提供的另一实施例的操作***对应的指纹特征的示意图,是以Linux 4.1(Kali)操作***为例,图10中可以看到,提取到基于Linux 4.1(Kali)按照或遵循TCP/IP协议发出的访问请求报文的指纹特征有以下一个或多个:
TCP选项的排序顺序为MSS、SACK Permitted、Timestamp、NOP、Windows scale;
报文IP头部的TTL为64;
Windows size value值为29200(MSS*20);
Windows scale值为7;
DF(Don’t fragment)置1,并且ID字段非0。
如图11示出的本申请提供的另一实施例的操作***对应的指纹特征的示意图,是以Huawei USG6670网关设备的操作***为例,针对当前的IoT***,越来越多的设备是厂商们自己研发出各自的OS。图11中可以看到,提取到基于Huawei USG6670网关设备按照或遵循TCP/IP协议发出的访问请求报文的指纹特征有以下一个或多个:
TCP选项的排序顺序为MSS;
报文IP头部的TTL为255;
Windows size value值为32768;
无字段Windows scale;
DF未设置。
下面请参见图12,图12示出了本申请实施例提供的防护设备的结构示意图,该防护设备120可以包括:
处理器1210、网络接口1220、存储器1230、通信总线1240、输入设备1250、显示器1260。其中处理器1210,网络接口1220,存储器1230,输入设备1250,显示器1260通过通信总线1240相互通信。输入设备1250可以为触摸屏、鼠标、键盘等可以获取用户操作的设备或元器件,该显示器1260可以显示一些提示信息以便于用户根据该提示信息与该防护设备120交互,例如,可以将阻断掉的访问请求报文的信息显示出来以供用户查看。存储器1230包括但不限于随机存取存储器(RAM)、只读存储器(ROM),该存储器1230中可以存储操作***(程序)1232和应用程序1234。网络接口1220用于与其他设备通信;例如接收终端设备发送的访问请求报文和向服务器发送该访问请求报文,等等。处理器1210可以是一个或多个中央处理器(Central Processing Unit,简称CPU),在处理器1210是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU;处理器1210运行操作***1232以提供一种软件运行环境,在该软件运行环境下,该处理器1210可以调用该应用程序1234来执行报文处理的相关操作;具体地:
网络接口1220用于接收第一访问请求报文;所述第一访问请求报文包括基于TCP/IP协议发送的报文;该第一访问请求报文的目的方是所述防护设备保护的服务器;
处理器1210用于调用存储的计算机程序(如应用程序1234)执行如下操作:
从所述第一访问请求报文的传输层和/或网络层报文头中提取第一指纹特征,所述第一指纹特征对应发送所述第一访问请求报文的终端设备的操作***类型;基于指纹特征库对所述第一指纹特征进行识别以判断是否允许所述第一访问请求报文访问所述服务器,其中,所述指纹特征库包括允许访问所述服务器的终端设备的操作***类型对应的指纹特征,或/和不允许访问所述服务器的终端设备的操作***类型对应的指纹特征;
若允许所述第一访问请求报文访问所述服务器,则放行所述第一访问请求报文;
若不允许所述第一访问请求报文访问所述服务器,则阻断所述第一访问请求报文。
需要说明的是,图12实施例中的防护设备120以包括存储器1230为例进行的说明。而本申请实施例的防护设备120也可以不包括存储器1230,该存储的计算机程序可以通过云存储的方式存储在云服务器端,可通过下载执行该存储的计算机程序来执行报文处理相关操作。
在一种可能实现方式中,该指纹特征库包括允许访问所述服务器的终端设备的操作***类型对应的指纹特征,处理器1210基于指纹特征库对所述第一指纹特征进行识别以判断是否允许所述第一访问请求报文访问所述服务器,具体可以包括:
判断所述指纹特征库中是否包含所述第一指纹特征;
如果包含所述第一指纹特征,则确定允许所述第一访问请求报文访问所述服务器;
如果不包含所述第一指纹特征,则确定不允许所述第一访问请求报文访问所述服务器。
在一种可能实现方式中,在网络接口1220接收第一访问请求报文之前,输入设备1250可以接收用户输入的传输层和/或网络层的指纹特征,将所述输入的指纹特征保存在该指纹特征库中;或者
处理器1210还用于,在网络接口1220接收第一访问请求报文之前,分析正常业务模型中的第二访问请求报文,从而获得在传输层和/或网络层的指纹特征,将分析得到的指纹特征保存在该指纹特征库中。
在一种可能实现方式中,该指纹特征库包括不允许访问所述服务器的终端设备的操作***类型对应的指纹特征,处理器1210基于指纹特征库对所述第一指纹特征进行识别以判断是否允许所述第一访问请求报文访问所述服务器,可以具体包括:
所述处理器判断所述指纹特征库中是否包含所述第一指纹特征;
如果包含所述第一指纹特征,则确定不允许所述第一访问请求报文访问所述服务器;
如果不包含所述第一指纹特征,则确定允许所述第一访问请求报文访问所述服务器。
在一种可能实现方式中,在网络接口1220接收第一访问请求报文之前,输入设备1250可以接收用户输入的传输层和/或网络层的指纹特征,将所述输入的指纹特征保存在该指纹特征库中;或者
处理器1210还用于,在网络接口1220接收第一访问请求报文之前,分析攻击业务模型中的第三访问请求报文,从而获得在传输层和/或网络层的指纹特征,将分析得到的指纹特征保存在该指纹特征库中。
在一种可能实现方式中,该指纹特征库包括允许访问所述服务器的终端设备的操作***类型对应的指纹特征和不允许访问所述服务器的终端设备的操作***类型对应的指纹特征,处理器1210基于指纹特征库对所述第一指纹特征进行识别以判断是否允许所述第一访问请求报文访问所述服务器,可以具体包括:
处理器1210基于指纹特征库识别该第一指纹特征对应的操作***类型,该指纹特征库中包含操作***类型与指纹特征之间的对应关系;
根据第一操作***类型列表、或者第二操作***类型列表判断是否允许所述第一访问请求报文访问所述服务器,所述第一操作***类型列表中包括允许访问所述服务器的至少一个操作***类型,所述第二操作***类型列表中包括禁止访问所述服务器的至少一个操作***类型。
在一种可能实现方式中,处理器1210还可以是在检测到服务器遭受到DDoS攻击的情况下,才触发执行从所述第一访问请求报文的传输层和/或网络层报文头中提取第一指纹特征的步骤。
具体来说,防护设备120对报文的处理过程以及所取得的有益效果,可以参考图1-图11实施例的详细描述,这里不再赘述。
下面对应的,可以参见图13,图13示出了本申请实施例提供的报文处理装置的结构示意图,该报文处理装置13可以包括:报文接收单元130、指纹特征提取单元132和处理单元134;其中,
报文接收单元130用于接收第一访问请求报文;所述第一访问请求报文包括基于TCP/IP协议发送的报文;所述第一访问请求报文的目的方是所述报文处理装置保护的服务器;
指纹特征提取单元132用于从所述第一访问请求报文的传输层和/或网络层报文头中提取第一指纹特征,所述第一指纹特征对应发送所述第一访问请求报文的终端设备的操作***类型;
处理单元134用于基于指纹特征库对所述第一指纹特征进行识别以判断是否允许所述第一访问请求报文访问所述服务器,其中,所述指纹特征库包括允许访问所述服务器的终端设备的操作***类型对应的指纹特征,或/和不允许访问所述服务器的终端设备的操作***类型对应的指纹特征;
若允许所述第一访问请求报文访问所述服务器,则所述处理单元放行所述第一访问请求报文;
若不允许所述第一访问请求报文访问所述服务器,则所述处理单元阻断所述第一访问请求报文。
在一种可能的实现方式中,该指纹特征库可以包括允许访问所述服务器的终端设备的操作***类型对应的指纹特征,处理单元134,可以具体用于:
判断所述指纹特征库中是否包含所述第一指纹特征;
如果包含所述第一指纹特征,则确定允许所述第一访问请求报文访问所述服务器;
如果不包含所述第一指纹特征,则确定不允许所述第一访问请求报文访问所述服务器。
在一种可能的实现方式中,报文处理装置13还可以包括:
第一特征接收单元,用于在报文接收单元130接收第一访问请求报文之前,接收输入的传输层和/或网络层的指纹特征,将所述输入的指纹特征保存在所述指纹特征库中;或者
第一特征分析单元,用于在报文接收单元130接收第一访问请求报文之前,分析正常业务模型中的第二访问请求报文,从而获得在传输层和/或网络层的指纹特征,将分析得到的指纹特征保存在所述指纹特征库中。
在一种可能的实现方式中,该指纹特征库包括不允许访问所述服务器的终端设备的操作***类型对应的指纹特征,处理单元134,可以具体用于:
判断所述指纹特征库中是否包含所述第一指纹特征;
如果包含所述第一指纹特征,则确定不允许所述第一访问请求报文访问所述服务器;
如果不包含所述第一指纹特征,则确定允许所述第一访问请求报文访问所述服务器。
在一种可能的实现方式中,报文处理装置13还可以包括:
第二特征接收单元,用于在报文接收单元130接收第一访问请求报文之前,接收输入的传输层和/或网络层的指纹特征,将所述输入的指纹特征保存在所述指纹特征库中;或者
第二特征分析单元,用于在报文接收单元130接收第一访问请求报文之前,分析正常业务模型中的第三访问请求报文,从而获得在传输层和/或网络层的指纹特征,将分析得到的指纹特征保存在所述指纹特征库中。
在一种可能的实现方式中,所述指纹特征库可以包括允许访问所述服务器的终端设备的操作***类型对应的指纹特征和不允许访问所述服务器的终端设备的操作***类型对应的指纹特征,处理单元134,可以具体用于:
基于指纹特征库识别所述第一指纹特征对应的操作***类型,所述指纹特征库中包含操作***类型与指纹特征之间的对应关系;
根据第一操作***类型列表、或者第二操作***类型列表判断是否允许所述第一访问请求报文访问所述服务器,所述第一操作***类型列表中包括允许访问所述服务器的至少一个操作***类型,所述第二操作***类型列表中包括禁止访问所述服务器的至少一个操作***类型。
在一种可能的实现方式中,指纹特征提取单元132还可以是在检测到服务器遭受到DDoS攻击的情况下,才触发执行从所述第一访问请求报文的传输层和/或网络层报文头中提取第一指纹特征的步骤。
具体来说,报文处理装置13对报文的处理过程以及所取得的有益效果,可以参考图1-图11实施例的详细描述,这里不再赘述。
下面可以参见图14,图14示出了本申请实施例提供的芯片的结构示意图,该芯片14可以包括:至少一个处理器140和接口电路142;其中,
处理器140用于通过接口电路142输入第一访问请求报文后,可以执行存储器中存储的计算机程序以执行以下步骤:
从所述第一访问请求报文的传输层和/或网络层报文头中提取第一指纹特征,所述第一指纹特征对应发送所述第一访问请求报文的终端设备的操作***类型;所述第一访问请求报文包括基于TCP/IP协议发送的报文,所述第一访问请求报文的目的方是所述芯片保护的服务器;
基于指纹特征库对所述第一指纹特征进行识别以判断是否允许所述第一访问请求报文访问所述服务器,其中,所述指纹特征库包括允许访问所述服务器的终端设备的操作***类型对应的指纹特征,或者不允许访问所述服务器的终端设备的操作***类型对应的指纹特征;
若允许所述第一访问请求报文访问所述服务器,则放行所述第一访问请求报文;
若不允许所述第一访问请求报文访问所述服务器,则阻断所述第一访问请求报文。
在一种可能的实现方式中,指纹特征库包括允许访问所述服务器的终端设备的操作***类型对应的指纹特征,处理器140基于指纹特征库对所述第一指纹特征进行识别以判断是否允许所述第一访问请求报文访问所述服务器,可以具体包括:
判断所述指纹特征库中是否包含所述第一指纹特征;
如果包含所述第一指纹特征,则确定允许所述第一访问请求报文访问所述服务器;
如果不包含所述第一指纹特征,则确定不允许所述第一访问请求报文访问所述服务器。
在一种可能的实现方式中,通过所述接口电路142输入第一访问请求报文之前,处理器140还可以执行:
将接收输入的传输层和/或网络层的指纹特征保存在所述指纹特征库中;或者
分析正常业务模型中的第二访问请求报文,从而获得在传输层和/或网络层的指纹特征,将分析得到的指纹特征保存在所述指纹特征库中。
在一种可能的实现方式中,该指纹特征库包括不允许访问所述服务器的终端设备的操作***类型对应的指纹特征,处理器140基于指纹特征库对所述第一指纹特征进行识别以判断是否允许所述第一访问请求报文访问所述服务器,可以具体包括:
判断所述指纹特征库中是否包含所述第一指纹特征;
如果包含所述第一指纹特征,则确定不允许所述第一访问请求报文访问所述服务器;
如果不包含所述第一指纹特征,则确定允许所述第一访问请求报文访问所述服务器。
在一种可能的实现方式中,通过所述接口电路142输入第一访问请求报文之前,处理器140还可以执行:
将接收输入的传输层和/或网络层的指纹特征保存在所述指纹特征库中;或者
分析攻击业务模型中的第三访问请求报文,从而获得在传输层和/或网络层的指纹特征,将分析得到的指纹特征保存在所述指纹特征库中。
在一种可能的实现方式中,处理器140还可以是在检测到服务器遭受到DDoS攻击的情况下,才触发执行从所述第一访问请求报文的传输层和/或网络层报文头中提取第一指纹特征的步骤。
在一种可能的实现方式中,本申请实施例的第一访问请求报文包括SYN报文。
具体来说,芯片14对报文的处理过程以及所取得的有益效果,可以参考图1-图11实施例的详细描述,这里不再赘述。
本领域技术人员能够领会,结合本文公开描述的各种说明性逻辑框、模块和算法步骤所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么各种说明性逻辑框、模块、和步骤描述的功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包括任何促进将计算机程序从一处传送到另一处的媒体(例如,根据通信协议)的通信媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如信号或载波。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本申请中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
作为实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来存储指令或数据结构的形式的所要程序代码并且可由计算机存取的任何其它媒体。并且,任何连接被恰当地称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴缆线、光纤缆线、双绞线、DSL或例如红外线、无线电和微波等无线技术包含在媒体的定义中。但是,应理解,所述计算机可读存储媒体和数据存储媒体并不包括连接、载波、信号或其它暂时媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。
可通过例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文中所描述的各种说明性逻辑框、模块、和步骤所描述的功能可以提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或者并入在组合编解码器中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。
本申请的技术可在各种各样的装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本申请中描述各种组件、模块或单元是为了强调用于执行所揭示的技术的装置的功能方面,但未必需要由不同硬件单元实现。实际上,如上文所描述,各种单元可结合合适的软件和/或固件组合在编码解码器硬件单元中,或者通过互操作硬件单元(包含如上文所描述的一或多个处理器)来提供。
以上所述,仅为本申请示例性的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (18)
1.一种报文处理方法,其特征在于,包括:
防护设备接收第一访问请求报文,所述第一访问请求报文包括基于TCP/IP协议发送的报文,所述第一访问请求报文的目的方是所述防护设备保护的服务器;
所述防护设备从所述第一访问请求报文的传输层和/或网络层报文头中提取第一指纹特征,所述第一指纹特征对应发送所述第一访问请求报文的终端设备的操作***类型;
基于指纹特征库对所述第一指纹特征进行识别以判断是否允许所述第一访问请求报文访问所述服务器,其中,所述指纹特征库包括允许访问所述服务器的终端设备的操作***类型对应的指纹特征,或/和不允许访问所述服务器的终端设备的操作***类型对应的指纹特征;
若允许所述第一访问请求报文访问所述服务器,则放行所述第一访问请求报文;
若不允许所述第一访问请求报文访问所述服务器,则阻断所述第一访问请求报文。
2.如权利要求1所述的方法,其特征在于,所述指纹特征库包括允许访问所述服务器的终端设备的操作***类型对应的指纹特征,所述基于指纹特征库对所述第一指纹特征进行识别以判断是否允许所述第一访问请求报文访问所述服务器,包括:
判断所述指纹特征库中是否包含所述第一指纹特征;
如果包含所述第一指纹特征,则确定允许所述第一访问请求报文访问所述服务器;
如果不包含所述第一指纹特征,则确定不允许所述第一访问请求报文访问所述服务器。
3.如权利要求2所述的方法,其特征在于,所述接收第一访问请求报文之前,还包括:
接收输入的传输层和/或网络层的指纹特征,将所述输入的指纹特征保存在所述指纹特征库中;或者
分析正常业务模型中的第二访问请求报文,从而获得在传输层和/或网络层的指纹特征,将分析得到的指纹特征保存在所述指纹特征库中。
4.如权利要求1所述的方法,其特征在于,所述指纹特征库包括不允许访问所述服务器的终端设备的操作***类型对应的指纹特征,所述基于指纹特征库对所述第一指纹特征进行识别以判断是否允许所述第一访问请求报文访问所述服务器,包括:
判断所述指纹特征库中是否包含所述第一指纹特征;
如果包含所述第一指纹特征,则确定不允许所述第一访问请求报文访问所述服务器;
如果不包含所述第一指纹特征,则确定允许所述第一访问请求报文访问所述服务器。
5.如权利要求4所述的方法,其特征在于,所述接收第一访问请求报文之前,还包括:
接收输入的传输层和/或网络层的指纹特征,将所述输入的指纹特征保存在所述指纹特征库中;或者
分析攻击业务模型中的第三访问请求报文,从而获得在传输层和/或网络层的指纹特征,将分析得到的指纹特征保存在所述指纹特征库中。
6.如权利要求1所述的方法,其特征在于,所述指纹特征库包括允许访问所述服务器的终端设备的操作***类型对应的指纹特征和不允许访问所述服务器的终端设备的操作***类型对应的指纹特征,所述基于指纹特征库对所述第一指纹特征进行识别以判断是否允许所述第一访问请求报文访问所述服务器,包括:
基于指纹特征库识别所述第一指纹特征对应的操作***类型,所述指纹特征库中包含操作***类型与指纹特征之间的对应关系;
根据第一操作***类型列表、或者第二操作***类型列表判断是否允许所述第一访问请求报文访问所述服务器,所述第一操作***类型列表中包括允许访问所述服务器的至少一个操作***类型,所述第二操作***类型列表中包括禁止访问所述服务器的至少一个操作***类型。
7.如权利要求1-6任一项所述的方法,其特征在于,所述第一指纹特征和所述指纹特征库中的指纹特征为传输层指纹特征;
所述传输层指纹特征包括以下一个或多个:
TCP选项中的选项排序信息;
最大分段大小信息;窗口大小信息;
窗口比例信息;
DF标志位信息。
8.如权利要求1-6任一项所述的方法,其特征在于,所述第一指纹特征和所述指纹特征库中的指纹特征为网络层指纹特征,所述网络层指纹特征包括以下一个或多个:
IP报文存活时间信息;
IP头部标识信息。
9.一种防护设备,其特征在于,包括处理器和网络接口,其中,
所述网络接口用于接收第一访问请求报文,所述第一访问请求报文包括基于TCP/IP协议发送的报文,所述第一访问请求报文的目的方是所述防护设备保护的服务器;
所述处理器用于调用存储的计算机程序执行如下操作:
从所述第一访问请求报文的传输层和/或网络层报文头中提取第一指纹特征,所述第一指纹特征对应发送所述第一访问请求报文的终端设备的操作***类型;
基于指纹特征库对所述第一指纹特征进行识别以判断是否允许所述第一访问请求报文访问所述服务器,其中,所述指纹特征库包括允许访问所述服务器的终端设备的操作***类型对应的指纹特征,或/和不允许访问所述服务器的终端设备的操作***类型对应的指纹特征;
若允许所述第一访问请求报文访问所述服务器,则放行所述第一访问请求报文;
若不允许所述第一访问请求报文访问所述服务器,则阻断所述第一访问请求报文。
10.如权利要求9所述的设备,其特征在于,所述指纹特征库包括允许访问所述服务器的终端设备的操作***类型对应的指纹特征,所述处理器基于指纹特征库对所述第一指纹特征进行识别以判断是否允许所述第一访问请求报文访问所述服务器,包括:
所述处理器判断所述指纹特征库中是否包含所述第一指纹特征;
如果包含所述第一指纹特征,则确定允许所述第一访问请求报文访问所述服务器;
如果不包含所述第一指纹特征,则确定不允许所述第一访问请求报文访问所述服务器。
11.如权利要求10所述的设备,其特征在于,所述防护设备还包括输入设备;所述输入设备,用于在所述网络接口接收第一访问请求报文之前,接收输入的传输层和/或网络层的指纹特征,将所述输入的指纹特征保存在所述指纹特征库中;或者,
所述处理器还用于,在所述网络接口接收第一访问请求报文之前,分析正常业务模型中的第二访问请求报文,从而获得在传输层和/或网络层的指纹特征,将分析得到的指纹特征保存在所述指纹特征库中。
12.如权利要求9所述的设备,其特征在于,所述指纹特征库包括不允许访问所述服务器的终端设备的操作***类型对应的指纹特征,所述处理器基于指纹特征库对所述第一指纹特征进行识别以判断是否允许所述第一访问请求报文访问所述服务器,包括:
所述处理器判断所述指纹特征库中是否包含所述第一指纹特征;
如果包含所述第一指纹特征,则确定不允许所述第一访问请求报文访问所述服务器;
如果不包含所述第一指纹特征,则确定允许所述第一访问请求报文访问所述服务器。
13.如权利要求12所述的设备,其特征在于,所述防护设备还包括输入设备;所述输入设备,用于在所述网络接口接收第一访问请求报文之前,接收输入的传输层和/或网络层的指纹特征,将所述输入的指纹特征保存在所述指纹特征库中;或者,
所述处理器还用于,在所述网络接口接收第一访问请求报文之前,分析攻击业务模型中的第三访问请求报文,从而获得在传输层和/或网络层的指纹特征,将分析得到的指纹特征保存在所述指纹特征库中。
14.如权利要求9所述的设备,其特征在于,所述指纹特征库包括允许访问所述服务器的终端设备的操作***类型对应的指纹特征和不允许访问所述服务器的终端设备的操作***类型对应的指纹特征,所述处理器基于指纹特征库对所述第一指纹特征进行识别以判断是否允许所述第一访问请求报文访问所述服务器,包括:
所述处理器基于指纹特征库识别所述第一指纹特征对应的操作***类型,所述指纹特征库中包含操作***类型与指纹特征之间的对应关系;
根据第一操作***类型列表、或者第二操作***类型列表判断是否允许所述第一访问请求报文访问所述服务器,所述第一操作***类型列表中包括允许访问所述服务器的至少一个操作***类型,所述第二操作***类型列表中包括禁止访问所述服务器的至少一个操作***类型。
15.如权利要求9-14任一项所述的设备,其特征在于,所述第一指纹特征和所述指纹特征库中的指纹特征为传输层指纹特征;
所述传输层指纹特征包括以下一个或多个:
TCP选项中的选项排序信息;
最大分段大小信息;
窗口大小信息;
窗口比例信息;
DF标志位信息。
16.如权利要求9-14任一项所述的设备,其特征在于,所述第一指纹特征和所述指纹特征库中的指纹特征为网络层指纹特征,所述网络层指纹特征包括以下一个或多个:
IP报文存活时间信息;
IP头部标识信息。
17.一种报文处理装置,其特征在于,包括:
报文接收单元,用于接收第一访问请求报文;所述第一访问请求报文包括基于TCP/IP协议发送的报文;所述第一访问请求报文的目的方是所述报文处理装置保护的服务器;
指纹特征提取单元,用于从所述第一访问请求报文的传输层和/或网络层报文头中提取第一指纹特征,所述第一指纹特征对应发送所述第一访问请求报文的终端设备的操作***类型;
处理单元,用于基于指纹特征库对所述第一指纹特征进行识别以判断是否允许所述第一访问请求报文访问所述服务器,其中,所述指纹特征库包括允许访问所述服务器的终端设备的操作***类型对应的指纹特征,或/和不允许访问所述服务器的终端设备的操作***类型对应的指纹特征;
若允许所述第一访问请求报文访问所述服务器,则所述处理单元放行所述第一访问请求报文;
若不允许所述第一访问请求报文访问所述服务器,则所述处理单元阻断所述第一访问请求报文。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有程序,所述程序当被处理器执行时使所述处理器执行如权利要求1-8任一项所述的方法。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911057490.8A CN112751815B (zh) | 2019-10-31 | 2019-10-31 | 报文处理方法、装置、设备及计算机可读存储介质 |
JP2022523404A JP7388613B2 (ja) | 2019-10-31 | 2020-09-25 | パケット処理方法及び装置、デバイス、並びに、コンピュータ可読ストレージ媒体 |
CA3159619A CA3159619C (en) | 2019-10-31 | 2020-09-25 | Packet processing method and apparatus, device, and computer-readable storage medium |
PCT/CN2020/117875 WO2021082834A1 (zh) | 2019-10-31 | 2020-09-25 | 报文处理方法、装置、设备及计算机可读存储介质 |
EP20883473.9A EP4044546A4 (en) | 2019-10-31 | 2020-09-25 | METHOD, DEVICE AND DEVICE FOR MESSAGE PROCESSING, AND COMPUTER-READABLE STORAGE MEDIUM |
US17/731,893 US20220263823A1 (en) | 2019-10-31 | 2022-04-28 | Packet Processing Method and Apparatus, Device, and Computer-Readable Storage Medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911057490.8A CN112751815B (zh) | 2019-10-31 | 2019-10-31 | 报文处理方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112751815A CN112751815A (zh) | 2021-05-04 |
CN112751815B true CN112751815B (zh) | 2021-11-19 |
Family
ID=75645700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911057490.8A Active CN112751815B (zh) | 2019-10-31 | 2019-10-31 | 报文处理方法、装置、设备及计算机可读存储介质 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20220263823A1 (zh) |
EP (1) | EP4044546A4 (zh) |
JP (1) | JP7388613B2 (zh) |
CN (1) | CN112751815B (zh) |
CA (1) | CA3159619C (zh) |
WO (1) | WO2021082834A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114710781A (zh) * | 2020-12-16 | 2022-07-05 | 华为技术有限公司 | 一种终端识别方法及装置 |
CN113505007A (zh) * | 2021-07-12 | 2021-10-15 | 北京鲸鲮信息***技术有限公司 | 基于Linux***的协议栈数据传输方法、计算机设备和存储介质 |
CN114465795B (zh) * | 2022-01-27 | 2024-03-29 | 杭州默安科技有限公司 | 一种干扰网络扫描器的方法及*** |
CN115051977B (zh) * | 2022-06-24 | 2023-09-19 | 绿盟科技集团股份有限公司 | 一种Web机器人的识别方法、装置、设备和介质 |
CN115242675A (zh) * | 2022-07-25 | 2022-10-25 | 北京天融信网络安全技术有限公司 | 一种物联网终端的类型识别方法及*** |
CN116232767B (zh) * | 2023-05-06 | 2023-08-15 | 杭州美创科技股份有限公司 | DDoS防御方法、装置、计算机设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106789934A (zh) * | 2016-11-29 | 2017-05-31 | 北京神州绿盟信息安全科技股份有限公司 | 一种网络设备识别方法及*** |
CN108521408A (zh) * | 2018-03-22 | 2018-09-11 | 平安科技(深圳)有限公司 | 抵抗网络攻击方法、装置、计算机设备及存储介质 |
CN108600145A (zh) * | 2017-12-25 | 2018-09-28 | 北京神州绿盟信息安全科技股份有限公司 | 一种确定DDoS攻击设备的方法及装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7801980B1 (en) * | 2003-05-12 | 2010-09-21 | Sourcefire, Inc. | Systems and methods for determining characteristics of a network |
JP5011234B2 (ja) | 2008-08-25 | 2012-08-29 | 株式会社日立情報システムズ | 攻撃ノード群判定装置およびその方法、ならびに情報処理装置および攻撃対処方法、およびプログラム |
US20160241576A1 (en) * | 2015-02-13 | 2016-08-18 | Canon Kabushiki Kaisha | Detection of anomalous network activity |
CN106549925A (zh) * | 2015-09-23 | 2017-03-29 | 阿里巴巴集团控股有限公司 | 防止跨站点请求伪造的方法、装置及*** |
AU2016332918B2 (en) | 2015-09-28 | 2019-07-25 | Department 13, Inc. | Unmanned aerial vehicle intrusion detection and countermeasures |
CN107800668B (zh) * | 2016-09-05 | 2020-09-08 | 华为技术有限公司 | 一种分布式拒绝服务攻击防御方法、装置及*** |
CN106534068B (zh) * | 2016-09-29 | 2023-12-22 | 广州华多网络科技有限公司 | 一种ddos防御***中清洗伪造源ip的方法和装置 |
KR101859562B1 (ko) | 2016-11-11 | 2018-05-21 | 한국인터넷진흥원 | 취약점 정보 분석 방법 및 장치 |
JP2019022066A (ja) | 2017-07-14 | 2019-02-07 | 日本電信電話株式会社 | 検出システム、検出方法及び検出プログラム |
US10419542B2 (en) * | 2017-07-26 | 2019-09-17 | Verizon Patent And Licensing Inc. | Transmission control protocol (TCP) synchronize (SYN) signaling passthrough for TCP proxy servers |
JP6866258B2 (ja) | 2017-08-14 | 2021-04-28 | 日本電信電話株式会社 | 端末識別装置、端末識別方法及びプログラム |
CN110113290B (zh) * | 2018-02-01 | 2021-01-05 | 华为技术有限公司 | 网络攻击的检测方法、装置、主机及存储介质 |
CN111565203B (zh) * | 2020-07-16 | 2020-10-23 | 腾讯科技(深圳)有限公司 | 业务请求的防护方法、装置、***和计算机设备 |
-
2019
- 2019-10-31 CN CN201911057490.8A patent/CN112751815B/zh active Active
-
2020
- 2020-09-25 JP JP2022523404A patent/JP7388613B2/ja active Active
- 2020-09-25 CA CA3159619A patent/CA3159619C/en active Active
- 2020-09-25 EP EP20883473.9A patent/EP4044546A4/en active Pending
- 2020-09-25 WO PCT/CN2020/117875 patent/WO2021082834A1/zh unknown
-
2022
- 2022-04-28 US US17/731,893 patent/US20220263823A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106789934A (zh) * | 2016-11-29 | 2017-05-31 | 北京神州绿盟信息安全科技股份有限公司 | 一种网络设备识别方法及*** |
CN108600145A (zh) * | 2017-12-25 | 2018-09-28 | 北京神州绿盟信息安全科技股份有限公司 | 一种确定DDoS攻击设备的方法及装置 |
CN108521408A (zh) * | 2018-03-22 | 2018-09-11 | 平安科技(深圳)有限公司 | 抵抗网络攻击方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP2022554101A (ja) | 2022-12-28 |
WO2021082834A1 (zh) | 2021-05-06 |
JP7388613B2 (ja) | 2023-11-29 |
CA3159619A1 (en) | 2021-05-06 |
CN112751815A (zh) | 2021-05-04 |
CA3159619C (en) | 2024-05-21 |
EP4044546A1 (en) | 2022-08-17 |
US20220263823A1 (en) | 2022-08-18 |
EP4044546A4 (en) | 2022-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112751815B (zh) | 报文处理方法、装置、设备及计算机可读存储介质 | |
US10855700B1 (en) | Post-intrusion detection of cyber-attacks during lateral movement within networks | |
US11082436B1 (en) | System and method for offloading packet processing and static analysis operations | |
JP5886422B2 (ja) | プロトコルフィンガープリント取得および評価相関のためのシステム、装置、プログラム、および方法 | |
US10601865B1 (en) | Detection of credential spearphishing attacks using email analysis | |
US9661013B2 (en) | Manipulating API requests to indicate source computer application trustworthiness | |
RU2680736C1 (ru) | Сервер и способ для определения вредоносных файлов в сетевом трафике | |
Kumar et al. | DDOS prevention in IoT | |
WO2018076697A1 (zh) | 僵尸特征的检测方法和装置 | |
CN111565203B (zh) | 业务请求的防护方法、装置、***和计算机设备 | |
JP2010520566A (ja) | 外部デバイスとホスト・デバイスの間でデータおよびデバイスのセキュリティを提供するためのシステムおよび方法 | |
CN114826663A (zh) | 蜜罐识别方法、装置、设备及存储介质 | |
JP6592196B2 (ja) | 悪性イベント検出装置、悪性イベント検出方法および悪性イベント検出プログラム | |
CN114448706B (zh) | 一种单包授权方法、装置、电子设备及存储介质 | |
CN111147447A (zh) | 一种数据的保护方法及*** | |
CN113810423A (zh) | 一种工控蜜罐 | |
Hutchinson et al. | Forensic analysis of spy applications in android devices | |
CN108566380B (zh) | 一种代理上网行为识别与检测方法 | |
CN115883170A (zh) | 网络流量数据监测分析方法、装置及电子设备及存储介质 | |
Benzidane et al. | Application-based authentication on an inter-VM traffic in a cloud environment | |
CN111064731B (zh) | 一种浏览器请求的访问权限的识别方法、识别装置及终端 | |
CN111079144B (zh) | 一种病毒传播行为检测方法及装置 | |
KR101812732B1 (ko) | 보안 장치 및 이의 동작 방법 | |
KR20180102884A (ko) | 방화벽 및 이의 패킷 처리 방법 | |
US10505971B1 (en) | Protecting local network devices against attacks from remote network devices |
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 |