CN113472721B - 一种网络攻击检测方法及装置 - Google Patents
一种网络攻击检测方法及装置 Download PDFInfo
- Publication number
- CN113472721B CN113472721B CN202010245563.2A CN202010245563A CN113472721B CN 113472721 B CN113472721 B CN 113472721B CN 202010245563 A CN202010245563 A CN 202010245563A CN 113472721 B CN113472721 B CN 113472721B
- Authority
- CN
- China
- Prior art keywords
- network
- network traffic
- protection device
- attack
- detection model
- 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
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/16—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
-
- 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
-
- 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/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/16—Implementing security features at a particular protocol layer
- H04L63/168—Implementing security features at a particular protocol layer above the transport layer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种网络攻击检测方法及装置,涉及计算机网络技术领域,能够提升网络防护设备的网络适应性和检测效果。该方法包括:网络防护设备从接收的第一网络流量中获取第一关键数据,并将第一关键数据与特征库中的攻击特征进行匹配从而获得第一匹配结果。第一匹配结果包含第一关键数据和特征库中均包含的攻击特征。如果网络防护设备根据第一匹配结果确定第一网络流量不具有攻击性,网络防护设备基于第一网络流量获得目标攻击检测模型。目标攻击检测模型用于识别一个或多个攻击特征,该一个或多个攻击特征与特征库中的攻击特征不同。当网络防护设备接收第二网络流量时,网络防护设备基于目标攻击检测模型确定第二网络流量是否具有攻击性。
Description
技术领域
本申请实施例涉及计算机网络技术领域,进一步涉及人工智能(artificialintelligence,AI)技术在计算机网络领域中的应用,尤其涉及一种网络攻击检测方法及装置。
背景技术
网络防护设备(例如安全网关设备或者防火墙)通过对流经该网络防护设备的流量进行检测从而确认网络是否存在入侵攻击或恶意通信等攻击行为,并在存在攻击行为的情况下及时地阻断攻击行为以保证网络安全。
目前,网络防护设备通过应用入侵防御***(intrusion prevention system,IPS)技术或反病毒(anti-virus,AV)技术进行网络攻击检测和防护。例如,IPS技术主要用于检测恶意流量(或称为攻击流量),AV技术主要用于检测恶意文件。采用IPS技术和AV技术进行网络攻击检测的方法是类似的,包括:网络防护设备的特征库中预先存储网络安全解决方案提供商提取的大量已知恶意流量或恶意文件的攻击特征;网络防护设备提取到达该网络防护设备的流量或文件的关键内容,然后将提取的关键内容与特征库中预先存储的攻击特征进行比对,若提取的关键内容中包含特征库中的攻击特征,则确定该流量或文件具有攻击性。
然而,上述方法中,由于网络防护设备的特征库中包含的攻击特征是基于已知的(或常见的)恶意流量或恶意文件提取的,对于未知的恶意流量或恶意文件(或者在已知的恶意流量或恶意文件的基础上经过特征变形的恶意流量或恶意文件)的检测效果不佳。如此,可能使得网络安全存在较大的威胁。
发明内容
本申请实施例提供一种网络攻击检测方法及装置,能够提升网络防护设备的网络适应性和检测效果。
为达到上述目的,本申请实施例采用如下技术方案:
第一方面,本申请实施例提供一种网络攻击检测方法,能应用于入侵防御***(IPS),阻止恶意流量(即防御恶意攻击)。也能应用于反病毒(AV),阻止恶意文件(即防御病毒)。该方法包括:网络防护设备从接收的第一网络流量中获取第一关键数据,并且将该第一关键数据与特征库中的攻击特征进行匹配从而获得第一匹配结果。该第一关键数据是网络防护设备对第一网络流量中包含的一个或多个报文进行协议解析后,从解析结果的指定字段中获得的数据。第一匹配结果包含第一关键数据和特征库中均包含的攻击特征。如果网络防护设备根据第一匹配结果确定第一网络流量具有攻击性,网络防护设备基于第一网络流量获得目标攻击检测模型。该目标攻击检测模型用于识别一个或多个攻击特征,该一个或多个攻击特征与特征库中的攻击特征不同。然后网络防护设备接收第二网络流量,并且网络防护设备基于目标攻击检测模型确定第二网络流量是否具有攻击性。
本申请实施例中,在网络防护设备进行网络攻击检测之前,网络防护设备上预先存储有特征库。特征库包含网络安全解决方案提供商提供的多种已知攻击特征。网络防护设备接收到第一网络流量之后,首先将从第一网络流量中提取的第一关键数据与特征库中的攻击特征进行匹配,根据匹配结果确定第一网络流量是否具有攻击性。如果根据特征库的匹配结果确定第一网络流量具有攻击性,则将第一网络流量作为用于训练目标攻击检测模型的黑样本从而获取目标攻击检测模型。目标攻击检测模型能够识别出未包含在特征库中的新的攻击特征,而这些新的攻击特征可能是与网络防护设备所部署的网络环境中的实际网络流量密切相关的。网络防护设备根据训练得到的目标攻击检测模型对流经该网络防护设备的后续流量进行检测。本申请实施例中,上述目标攻击检测模型是根据网络防护设备所处的实际网络环境中不断出现的恶意流量实时获取的,网络防护设备利用目标攻击检测模型对后续网络流量进行检测,使得网络防护设备对一些通过新的变形试图规避检测的恶意流量具有一定的检测能力,从而提升网络防护设备的网络适应性和检测效果。
可选地,网络防护设备中预先存储有攻击检测模型,该攻击检测模型是根据由大量已知恶意流量(包括通过报文发起网络攻击的流量、或者承载恶意文件的流量)构成的样本集(或样本库)训练得到的攻击检测模型。在网络防护设备检测网络流量的过程中,网络防护设备会更新攻击检测模型。例如,如果第一网络流量具有攻击性,则网络防护设备将第一网络流量作为一个新的黑样本加入样本集,基于更新后的样本集获得目标攻击检测模型,并使用该目标攻击检测模型更新模型库中的攻击检测模型,即使用目标攻击检测模型替换已有的攻击检测模型。为了便于描述,本申请实施例中,将更新前的攻击检测模型称为原攻击检测模型,如此,原攻击检测模型不断地被基于新的样本集训练得到的目标攻击检测模型替换。
可选地,上述网络防护设备将第一关键数据与特征库中的攻击特征进行匹配具体包括:网络防护设备确定该第一关键数据中是否包含特征库中的攻击特征。具体的,网络防护设备分别将第一关键数据与特征库中的各攻击特征进行对比,若第一关键数据中包含特征库中的某一攻击特征,则记录下该攻击特征,从而得到第一匹配结果。该第一匹配结果包含匹配中的攻击特征,即第一关键数据和特征库中均包含的攻击特征。网络防护设备根据匹配中的攻击特征,基于攻击判别策略,确定第一网络流量是否具有攻击性。
进一步的,本申请实施例提供的网络攻击检测方法,网络防护设备将网络流量的关键数据与特征库中的攻击特征进行匹配,并根据匹配结果确定网络流量是否具有攻击性。对具有攻击性的网络流量(例如第一网络流量),网络防护设备基于具有攻击性的网络流量进行本地化的攻击检测模型训练(即在该网络防护设备上进行攻击检测模型训练),与现有技术中将大量的已知恶意流量传输至云端进行攻击检测模型训练相比,本申请实施例中,无需将该网络流量传输至云端进行训练,如此能够保证数据隐私不被泄露。
一种可能的实现方式中,上述网络防护设备基于目标攻击检测模型,确定第二网络流量是否具有攻击性具体包括:网络防护设备从第二网络流量中获取第二关键数据,将该第二关键数据输入目标攻击检测模型,并根据目标攻击检测模型的输出,确定第二网络流量是否具有攻击性。该第二关键数据是网络防护设备对第二网络流量中包含的一个或者多个报文进行协议解析后,从解析结果的指定字段中获得的数据。
具体的,将该第二关键数据输入目标攻击检测模型,网络防护设备使用该目标攻击检测模型对第二关键数据进行推理。该目标攻击检测模型输出推理结果,该推理结果也就是采用目标攻击检测模型对第二网络流量的检测结果,即该第二网络流量具有攻击性或者该第二网络流量不具有攻击性。
本申请实施例中,上述基于目标攻击检测模型确定第二网络流量是否具有攻击性的过程与上述训练目标攻击检测模型的过程是相对应的,例如,目标攻击检测模型是基于随机森林算法得到的,则根据目标攻击检测模型确定第二网络流量是否具有攻击性时,网络防护设备采用对应的随机森林分类器确定该第二网络流量是否具有攻击性。
一种可能的实现方式中,上述指定字段是网络流量包含的一个或者多个报文的超文本传输协议(hypertext transfer protocol,HTTP)载荷。具体的,第一关键数据是网络防护设备对第一网络流量中包含的一个或者多个报文进行应用层协议解析后,从解析结果的HTTP载荷字段中获得的数据。第二关键数据是网络防护设备对第二网络流量中包含的一个或者多个报文进行应用层协议解析后,从解析结果的HTTP载荷字段中获得的数据。
一种可能的实现方式中,上述指定字段是网络流量包含的一个或者多个报文的HTTP载荷。具体的,上述第一关键数据是网络防护设备对第一网络流量中包含的一个或者多个报文进行应用层协议解析,并对解析结果的HTTP载荷字段进行重组后,获得的第一网络流量承载的文件数据。上述第二关键数据是网络防护设备对第二网络流量中包含的一个或者多个报文进行应用层协议解析,并对解析结果的HTTP载荷字段进行重组后,获得的第二网络流量承载的文件数据。
一种可能的实现方式中,在网络防护设备将第二关键数据输入目标攻击检测模型,并根据目标攻击检测模型的输出,确定第二网络流量是否具有攻击性之前,本申请实施例提供的网络攻击检测方法还包括:网络防护设备将第二关键数据与特征库中的攻击特征进行匹配从而获得第二匹配结果,并且根据第二匹配结果确定第二网络流量不具有攻击性。第二匹配结果包含第二关键数据和特征库中均包含的攻击特征。
网络防护设备将第二关键数据与特征库中的攻击特征进行匹配从而获得第二匹配结果,该第二匹配结果为空,则网络防护设备确定第二网络流量不具有攻击性。
本申请实施例中,网络防护设备接收到第二网络流量之后,首先基于特征匹配的检测方法对该第二网络流量进行第一次检测。经过第一检测之后,若网络防护设备确定该第二网络流量不具有攻击性的,则网络防护设备再基于攻击检测模型的检测方法对第二网络流量进行第二次检测,并根据攻击检测模型的输出,确定该第二网络流量是否具有攻击性。如此,将攻击检测模型作为特征库的补充,在一定程度上能够提升网络攻击检测的检测效果,更加可靠地检测网络中是否存在恶意流量。
一种可能的实现方式中,本申请实施例提供的网络攻击检测方法还包括:在网络防护设备基于目标攻击检测模型确定第二网络流量具有攻击性的情况下,该网络防护设备按照第一预设动作对第二网络流量进行动作响应。第一预设动作用于网络防护设备对具有攻击性的网络流量进行动作响应。
一种可能的实现方式中,上述第一预设动作包括阻断或告警。
当第一预设动作为阻断时,网络防护设备按照第一预设动作对第二网络流量进行动作响应具体包括:网络防护设备停止向该网络防护设备的下一跳设备发送第二网络流量。如此,网络防护设备能够阻止第二网络流量从网络防护设备流入该网络防护设备的下一跳设备,进一步避免第二网络流量继续流入网络中的其他设备,能够及时阻止网络攻击。
当第一预设动作为告警时,该网络防护设备按照第一预设动作信息对第二网络流量进行动作响应具体包括:网络防护设备通过输出设备输出告警信息,并接收针对该告警信息返回的指示。该指示包括第一指示和第二指示。当该指示为第一指示时,网络防护设备停止向该网络防护设备的下一跳设备发送第二网络流量。当该指示为第二指示时,网络防护设备向该网络防护设备的下一跳设备发送第二网络流量。此时,网络防护设备的响应是一种在线的响应方式,即网络防护设备输出告警信息之后,等待用户对于该告警信息的反馈(即上述第一指示和第二指示),然后再根据用户的反馈进行相应的动作。
或,当第一预设动作为告警时,该网络防护设备通过输出设备输出告警信息,并停止向该网络防护设备的下一跳设备发送第二网络流量。或,该网络防护设备通过输出设备输出告警信息,并向该网络防护设备的下一跳设备发送第二网络流量。此时,网络防护设备的响应是一种离线的响应方式,即网络防护设备输出告警信息(该告警信息仅用于通知用户)之后,网络防护设备无需等待用户对该告警信息的反馈,而是根据预先设定的动作及时进行响应。
一种可能的实现方式中,本申请实施例提供的网络攻击检测方法还包括:在网络防护设备基于目标攻击检测模型确定第二网络流量不具有攻击性的情况下,该网络防护设备按照第二预设动作对第一网络流量进行动作响应。该第二预设动作用于网络防护设备对无攻击性的网络流量进行动作响应。
一种可能的实现方式中,第二预设动作为放行。上述网络防护设备按照第二预设动作对第二网络流量进行动作响应具体包括:网络防护设备向该网络防护设备的下一跳设备发送第二网络流量。
一种可能的实现方式中,上述网络防护设备基于第一网络流量获得目标攻击检测模型的方法具体包括:网络防护设备将第一网络流量作为一个黑样本加入第一样本集,从而得到第二样本集。并且网络防护设备基于预定算法,对第二样本集进行训练,得到目标攻击检测模型。该第一样本集中包括至少一个黑样本。
可选地,为了提高机器学习(或人工智能)算法的精确性,例如对于不同类别样本聚类的准确性,第一样本集中还包括至少一个白样本。
可选地,本申请实施例中,上述预定算法为机器学习算法或人工智能算法中的一种,例如决策树、随机森林、贝叶斯、卷积神经网络(convolutional neural network,CNN)、深度神经网络(deep neural networks,DNN)等算法。
预定算法为随机森林算法时,基于随机森林算法训练得到的目标攻击检测模型即为随机森林分类器,该随机森林分类器用于对测试样本进行分类,即确定测试样本是黑样本还是白样本。在本申请实施例中,该测试样本为网络流量,该训练得到的随机森林分类器用于确定该网络流量具有攻击性,还是不具有攻击性。应理解,随机森林分类器的训练过程即就是随机森林分类器包含的多个决策树的训练过程。
一种可能的实现方式中,本申请实施例提供的网络攻击检测方法还包括:如果网络防护设备根据第一匹配结果确定第一网络流量具有攻击性,网络防护设备按照第一预设动作对第一网络流量进行动作响应。
一种可能的实现方式中,本申请实施例提供的网络攻击检测方法还包括:如果网络防护设备根据第一匹配结果确定第一网络流量不具有攻击性,网络防护设备基于原攻击检测模型确定第一网络流量是否具有攻击性。该原攻击检测模型是基于预定算法,对第一样本集训练得到的。
上述第一匹配结果为空时,即第一关键数据中不包含特征库中的攻击特征时,网络防护设备确定第一网络流量不具有攻击性。
第二方面,本申请实施例提供一种网络攻击检测装置,包括:检测模块、分析模块以及接收模块。其中,检测模块用于从接收模块接收的第一网络流量中获取第一关键数据,并且将第一关键数据与特征库中的攻击特征进行匹配从而获得第一匹配结果。第一关键数据是检测模块对第一网络流量包含的一个或多个报文进行协议解析后,从解析结果的指定字段中获得的数据。第一匹配结果包含第一关键数据和特征库中均包含的攻击特征。分析模块用于在检测模块根据第一匹配结果确定第一网络流量具有攻击性的情况下,基于第一网络流量获得目标攻击检测模型。目标攻击检测模型用于识别一个或多个攻击特征,该一个或多个攻击特征与特征库中的攻击特征不同。接收模块用于接收第二网络流量。确定模块用于基于目标攻击检测模型确定第二网络流量是否具有攻击性。
一种可能的实现方式中,上述检测模块具体用于从第二网络流量中获取第二关键数据,将第二关键数据输入目标攻击检测模型,并根据目标攻击检测模型的输出,确定第二网络流量是否具有攻击性。该第二关键数据是检测模块对第二网络流量中包含的一个或多个报文进行协议解析后,从解析结果的指定字段中获得的数据。
一种可能的实现方式中,上述指定字段是网络流量包含的一个或多个报文的HTTP载荷。具体的,第一关键数据是检测模块对第一网络流量中包含的一个或者多个报文进行应用层协议解析后,从解析结果的HTTP载荷字段中获得的数据。第二关键数据是检测模块对第二网络流量中包含的一个或多个报文进行应用层协议解析后,从解析结果的HTTP载荷字段中获得的数据。
一种可能的实现方式中,上述指定字段是网络流量包含的一个或者多个报文的HTTP载荷。具体的,第一关键数据是检测模块对第一网络流量中包含的一个或者多个报文进行应用层协议解析,并对解析结果的HTTP载荷字段进行重组后,获得的第一网络流量承载的文件数据。第二关键数据是检测模块对第二网络流量中包含的一个或者多个报文进行应用层协议解析,并对解析结果的HTTP载荷字段进行重组后,获得的第二网络流量承载的文件数据。
一种可能的实现方式中,上述检测模块还用于将第二关键数据与特征库中的攻击特征进行匹配从而获得第二匹配结果,并且根据第二匹配结果确定第二网络流量不具有攻击性。第二匹配结果包含第二关键数据和特征库中均包含的攻击特征。
一种可能的实现方式中,本申请实施例提供的网络攻击检测装置还包括处理模块。处理模块用于在上述检测模块基于目标攻击检测模型确定第二网络流量具有攻击性的情况下,按照第一预设动作对该第二网络流量进行动作响应。
一种可能的实现方式中,上述第一预设动作包括阻断或告警。
一种可能的实现方式中,本申请实施例中提供的网络攻击检测装置还包括发送模块。
当第一预设动作为阻断时,上述处理模块,具体用于控制发送模块停止向网络防护设备的下一跳设备发送第二网络流量。
当第一预设动作为告警时,上述处理模块具体用于控制发送模块通过输出设备输出告警信息,并控制接收模块接收针对该告警信息返回的指示。该指示包括第一指示和第二指示。当该指示为第一指示时,发送模块停止向网络防护设备的下一跳设备发送第二网络流量。当该指示为第二指示时,发送模块向该网络防护设备的下一跳设备发送第二网络流量。
或,当第一预设动作为告警时,上述处理模块具体用于控制发送模块通过输出设备输出告警信息,并停止向该网络防护设备的下一跳设备发送第二网络流量。或,控制发送模块通过输出设备输出告警信息,并向该网络防护设备的下一跳设备发送第二网络流量。
一种可能的实现方式中,上述处理模块还用于在检测模块基于目标攻击检测模型确定第二网络流量不具有攻击性的情况下,按照第二预设动作对第二网络流量进行动作响应。
一种可能的实现方式中,上述第二预设动作为放行。上述处理模块具体用于向网络防护设备的下一跳设备发送第二网络流量。
一种可能的实现方式中,上述分析模块具体用于将第一网络流量作为一个黑样本加入第一样本集,从而得到第二样本集。该第一样本集中包括至少一个黑样本。并且基于预定算法,对该第二样本集进行训练,得到目标攻击检测模型。
一种可能的实现方式中,上述检测模块还用于在根据第一匹配结果确定第一网络流量具有攻击性的情况下,按照第一预设动作对第一网络流量进行动作响应。
一种可能的实现方式中,上述检测模块还用于在根据第一匹配结果确定第一网络流量不具有攻击性的情况下,基于原攻击检测模型确定第一网络流量是否具有攻击性,该原攻击检测模型是基于预定算法,对第一样本集训练得到的。
第三方面,本申请实施例提供一种网络防护设备,包括存储器和与该存储器连接的至少一个处理器。存储器用于存储指令,该指令被至少一个处理器读取后,网络防护设备执行上述第一方面或第一方面的任意一种可能的实现方式中的方法,具体参见上文的详细描述,此处不再赘述。
第四方面,本申请实施例提供一种计算机可读存储介质,用于储存为上述网络防护设备所用的计算机软件指令,其包含用于执行上述第一方面或上述方面的任意一种可能的实现方式所设计的程序。
第五方面,本申请实施例提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面的任意一种可能的实现方式中所述的方法。
第六方面,本申请实施例提供一种芯片,包括存储器和处理器。存储器用于存储计算机指令。处理器用于从存储器中调用并运行该计算机指令,以执行上述第一方面及其第一方面任意可能的实现方式中的方法。
附图说明
图1为本申请实施例提供的网络攻击检测方法的应用场景示意图;
图2A为本申请实施例提供的一种网络攻击检测方法示意图一;
图2B为本申请实施例提供的一种网络攻击检测方法流程示意图;
图2C为本申请实施例提供的一种网络攻击检测方法示意图二;
图2D为本申请实施例提供的一种网络攻击检测方法示意图二;
图2E为本申请实施例提供的一种网络攻击检测方法示意图三;
图2F为本申请实施例提供的一种网络攻击检测方法示意图四;
图3为本申请实施例提供的一种网络防护设备的结构示意图;
图4为本申请实施例提供的一种网络攻击检测装置的结构示意图。
具体实施方式
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示存在三种关系,例如,A和/或B,表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一网络流量和第二网络流量等是用于区别不同的网络流量,而不是用于描述网络流量的特定顺序;第一关键数据和第二关键数据等是用于区别不同的关键数据,而不是用于描述关键数据的特定顺序。
在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个处理单元是指两个或两个以上的处理单元;多个***是指两个或两个以上的***。
首先对本申请实施例提供的一种网络攻击检测的方法及装置中涉及的一些概念做解释说明。
网络防护设备:用于网络安全防护,网络防护设备能够检测并抵御网络攻击和病毒等,以保证数据安全传输,例如防火墙、安全网关设备(如路由器、交换机)等都属于网络防护设备。其中,防火墙部署于受保护的网络的边界,用于对进、出受保护的网络的数据流进行过滤,管理进、出网络的访问行为,并对网络攻击进行检测和报警。防火墙主要用于抵御外部攻击,保护受保护的网络。安全网关设备不但具有防火墙的功能,而且还具有防御网络入侵以及防病毒功能等等。具体的,网络防护设备对对流经该网络防护设备的流量进行检测从而确认网络是否存在入侵攻击或恶意通信等攻击行为,并在存在攻击行为的情况下及时地阻断攻击行为以保证受保护的网络的安全。
基于传统技术存在的问题,本申请实施例提供一种网络攻击检测方法及装置。网络防护设备从该网络防护设备接收的第一网络流量中获取该第一关键数据,并基于特征库中的攻击特征判别第一网络流量是否具有攻击性。如果网络防护设备确定第一网络流量具有攻击性,该网络防护设备基于第一网络流量获得目标攻击检测模型,该目标攻击检测模型用于识别一个或多个攻击特征,该一个或多个攻击特征与特征库中的攻击特征不同。进而当该网络防护设备接收到第二网络流量时,该网络防护设备基于上述目标攻击检测模型确定第二网络流量是否具有攻击性。通过本申请实施例提供的技术方案,根据网络防护设备所处的实际网络环境中不断出现的恶意流量动态地获取目标攻击检测模型,目标攻击检测模型对于一些未包含在特征库中的攻击特征具有识别能力。换句话说,通过目标攻击检测模型,能够因地制宜地学习到网络防护设备所处的实际网络环境中未包含在特征库中的攻击特征。网络防护设备利用目标攻击检测模型对后续网络流量进行检测,使得网络防护设备对一些通过新的变形试图规避检测的恶意流量具有一定的检测能力,能够提升网络防护设备的网络适应性和检测效果。
本申请实施例提供的网络攻击检测方法的具体用途包括但不限于:操作***漏洞利用检测(例如SMB服务漏洞检测、Apache漏洞检测、Struts2组件漏洞检测)、应用软件漏洞检测、Web应用入侵检测(例如SQL注入检测、XSS跨站攻击检测)、命令与控制服务器(command and control server)通信(即C&C通信)检测(例如僵尸、木马、蠕虫等恶意流量检测)。
示例性的,图1为本申请实施例提供的网络攻击检测方法的一种应用场景示意图。图1所示的网络中,网络防护设备为防火墙(FW_1)或安全网关设备(GW_2)。防火墙或安全网关设备位于受保护网络与Internet之间网络流量(双向数据流)的传输路径上。结合图1,本申请实施例中,分析设备(host 3)用于根据训练样本(例如本申请实施例中的样本集)进行攻击检测模型训练,防火墙(FW_1)用于检测网络流量是否具有攻击性。可选地,分析设备与防火墙(网络防护设备)集成在同一物理设备中,可替换地,分析设备与防火墙由相互有通信耦合的不同物理设备实现,本申请实施例不作限定。
本申请实施例提供的网络攻击检测方法能应用于入侵防御***(IPS),阻止恶意流量(即防御恶意攻击),也能应用于反病毒(AV),阻止恶意文件(即防御病毒)。如图2A所示,本申请实施例提供网络攻击检测方法包括步骤200至步骤204。
分析设备(例如图1中的host 3)与网络防护设备(例如图1中的防火墙)集成实现的情况下,由网络防护设备执行图2A、图2C、图2D、图2E以及图2F所示的步骤201至步骤204,步骤2021、步骤2022、步骤2041以及步骤2042,图2C所示的步骤2042',图2D所示的步骤204',图2E所示的步骤204",图2F所示的步骤201'。在分析设备与网络防护设备由不同物理设备实现的情况下,由分析设备执行图2A、图2C、图2D、图2E以及图2F中的步骤202、步骤2021以及步骤2022,由网络防护设备执行图2A中的步骤200、步骤201、步骤203、步骤204、步骤2041以及步骤2042,图2C所示的步骤2042',图2D所示的步骤204',图2E所示的步骤204",图2F所示的步骤201'。以下实施例,以分析设备与网络防护设备集成于同一个物理设备(即网络防护设备)的实现方式为例来介绍提供的网络攻击检测方法。
步骤200、网络防护设备从接收的第一网络流量中获取第一关键数据。
可选地,在图1所示的场景中,第一网络流量是流经防火墙(FW_1)的受保护网络与Internet之间的流量。其中,该第一关键数据是网络防护设备对第一网络流量中包含的一个或多个报文进行协议解析后,从解析结果的指定字段中获得的数据。
本申请实施例提供的网络攻击检测方法用于入侵防御时,网络防护设备检测的对象是网络流量(即该网络流量包含的一个或多个报文,或者,一条或多条五元组信息相同的会话,其中一条会话包括多个报文);本申请实施例提供的网络攻击检测方法用于反病毒时,网络防护设备检测的对象是网络流量所承载的文件。
应理解,网络流量包括若干报文。网络防护设备接收到第一网络流量后,缓存第一网络流量包含的报文,然后解析该第一网络流量包含的一个或多个报文,并从解析结果的指定字段获取第一关键数据。
可选地,如果网络防护设备用于入侵防御,上述指定字段是第一网络流量包含的一个或者多个报文的超文本传输协议HTTP载荷,则上述第一关键数据是网络防护设备对第一网络流量中包含的一个或者多个报文进行应用层协议解析后,从解析结果的HTTP载荷字段中获得的数据。或者,如果网络防护设备用于反病毒,上述第一关键数据是网络防护设备对第一网络流量中包含的一个或者多个报文进行应用层协议解析,并对解析结果的HTTP载荷字段进行重组后,获得的第一网络流量承载的文件数据。
示例性的,以第一网络流量为SQL注入的攻击流量为例,上述第一关键数据是网络防护设备对该攻击流量包含的报文进行应用层协议解析后,从解析结果的HTTP载荷字段获得的数据,该数据为统一资源定位符(uniform resource locator,URL),该URL(即第一关键数据)为:
GET/index.php?id=123or 1=1and(select top 1password from[admin])
在一种实施方式中,当第一网络流量包含多个报文时,上述第一关键数据是网络防护设备对该第一网络流量包含的多个报文中的一个报文进行协议解析后,从解析结果的指定字段中获得的数据,或者该第一关键数据是网络防护设备对该第一网络流量包含的多个报文中的至少两个报文进行协议解析后,从解析结果的指定字段中获得的数据,也就是说,该第一关键数据由该第一网络流量包含的多个报文中的至少两个报文各自的解析结果的指定字段的数据组合而成,本申请实施例不作限定。
步骤201、网络防护设备将第一关键数据与特征库中的攻击特征进行匹配从而获得第一匹配结果。
本申请实施例中,上述特征库中包含多种攻击特征,该多种攻击特征是网络安全解决方案提供商提取的大量已知恶意流量或恶意文件的攻击特征,并预先存储(加载)在网络防护设备中的。
在一种实施方式中,上述网络防护设备将第一关键数据与特征库中的攻击特征进行匹配具体包括:网络防护设备确定该第一关键数据中是否包含特征库中的攻击特征。具体的,网络防护设备分别将第一关键数据与特征库中的各攻击特征进行对比,若第一关键数据中包含特征库中的某一攻击特征,则记录下该攻击特征,从而得到第一匹配结果。该第一匹配结果包含匹配中的攻击特征,即第一关键数据和特征库中均包含的攻击特征。网络防护设备根据匹配中的攻击特征,基于攻击判别策略,确定第一网络流量是否具有攻击性。攻击判别策略有很多种,在这里难以一一列举,仅以两个例子进行举例说明,例如,网络防护设备在匹配中的攻击特征的数目超过设定阈值时,确定第一网络流量具有攻击性;或者网络防护设备在匹配中的攻击特征组成的序列符合预定的匹配规则时,确定第一网络流量具有攻击性。攻击判别策略还包括从相似度、概率、正则等维度定义的策略,具体根据实际需求选择攻击判别策略,本申请实施例不作限定。
如果第一匹配结果为空,即第一关键数据中不包含特征库中的攻击特征,则网络防护设备确定第一网络流量不具有攻击性(即第一网络流量无攻击性)。
以上实施例中,网络防护设备将第一关键数据与特征库中的攻击特征进行匹配,并根据第一匹配结果确定第一网络流量是否具攻击性的方法称为基于特征匹配的检测方法。
为了描述简单起见,在本实施例中采用最简单的攻击判别策略,即网络防护设备在匹配中的攻击特征的数目大于或者等于1时,确定第一网络流量具有攻击性。
结合上述示例,第一关键数据为上述解析得到的URL:
GET/index.php?id=123or 1=1and(select top 1password from[admin])
网络防护设备将该第一关键数据与特征库中的攻击特征进行匹配,假设特征库中的攻击特征为“1=1”(当然特征库中还可能包含其他攻击特征),可见该第一关键数据中包含特征库中的攻击特征“1=1”,则确定该第一网络流量具有攻击性。
步骤202、如果网络防护设备根据第一匹配结果确定第一网络流量具有攻击性,网络防护设备基于第一网络流量获得目标攻击检测模型。
目标攻击检测模型用于检测网络防护设备后续接收的网络流量是否具攻击性。目标攻击检测模型用于识别一个或多个攻击特征,该一个或多个攻击特征与上述特征库中的攻击特征不同。
结合上述示例,假设基于第一网络流量获得的目标攻击检测模型用于识别“select”,“top”,“password”,“admin”这几个攻击特征,即基于该目标攻击检测模型,网络防护设备能够确定具有上述“select”,“top”,“password”,“admin”这些特征的网络流量具有攻击性。
本申请实施例中,在网络防护设备进行网络攻击检测之前,网络防护设备上预先存储有特征库和模型库。特征库即为上述实施例中的包含多种攻击特征的特征库,该模型库中存储有攻击检测模型。该模型库中的攻击检测模型是根据由大量已知恶意流量(包括通过报文发起网络攻击的流量、或者承载恶意文件的流量)构成的样本集训练得到的攻击检测模型。在网络防护设备检测网络流量的过程中,网络防护设备会更新攻击检测模型。例如,如果第一网络流量具有攻击性,则网络防护设备将第一网络流量作为一个新的黑样本加入样本集,基于更新后的样本集获得目标攻击检测模型,并使用该目标攻击检测模型更新模型库中的攻击检测模型,即使用目标攻击检测模型替换已有的攻击检测模型。为了便于描述,本申请实施例中,将更新前的攻击检测模型称为原攻击检测模型,如此,原攻击检测模型不断地被基于新的样本集训练得到的目标攻击检测模型替换。
应理解,上述模型库中的攻击检测模型是预先存储(加载)在网络防护设备中的,该攻击检测模型是网络安全解决方案提供商对大量已知恶意流量或恶意文件进行训练得到的攻击检测模型,上述对大量已知恶意流量或恶意文件进行训练得到攻击检测模型的具体方法参考现有技术的相关内容,此处不再赘述。
本申请实施例中,结合步骤201的描述可知,当第一关键数据包含特征库中的攻击特征时,网络防护设备确定该第一网络流量具有攻击性。此时,该网络防护设备基于该第一网络流量获得目标攻击检测模型。
可选地,如图2A所示,网络防护设备通过步骤2021至步骤2022获得目标攻击检测模型。
步骤2021、网络防护设备将第一网络流量作为一个黑样本加入第一样本集,从而得到第二样本集。
上述第一样本集中包括至少一个黑样本。可选地,为了提高机器学习(或人工智能)算法的精确性,例如对于不同类别样本聚类的准确性,第一样本集中还包括至少一个白样本。该第一样本集为原攻击检测模型对应的样本集,即原攻击检测模型是基于第一样本集训练得到的。
步骤2022、网络防护设备基于预定算法,对第二样本集进行训练,得到目标攻击检测模型。
可选地,本申请实施例中,上述预定算法为机器学习算法或人工智能算法中的一种,例如决策树、随机森林、贝叶斯、CNN、DNN等算法。
示例性的,以上述预定算法为随机森林算法为例,网络防护设备基于随机森林算法训练得到的目标攻击检测模型即为随机森林分类器。该随机森林分类器用于对测试样本进行分类,即确定测试样本是黑样本还是白样本。在本申请实施例中,该测试样本为一个未分类的网络流量,该训练得到的随机森林分类器用于确定该网络流量具有攻击性,还是不具有攻击性。应理解,随机森林分类器的训练过程即就是随机森林分类器包含的多个决策树的训练过程。
下面简单介绍一下基于随机森林算法训练目标攻击检测模型(随机森林分类器)的过程。
S1、对于第二样本集中的每一个样本,提取样本的多维特征。
可选地,采用词频-反文档频率(termfrequency–inverse document frequency,TF-IDF)技术提取样本的特征。或者,采用其他特征提取的技术提取样本的特征,本申请实施例不作限定。
S2、对于随机森林分类器包含的多个决策树中的每一个决策树,从第二样本集中随机且有放回地抽取多个样本作为该决策树的训练集。
S3、基于每个决策树的训练集中包含的多个样本对应的多维特征训练决策树。
对于决策树的训练过程可参考现有技术的相关内容,在此不作详述。
上述训练得到随机森林分类器之后,后续可基于该随机森林分类器对预测样本(例如下述实施例中的第二网络流量)进行预测,具体过程将在下述实施例中介绍。
步骤203、网络防护设备接收第二网络流量。
步骤204、网络防护设备基于目标攻击检测模型确定第二网络流量是否具有攻击性。
可选地,如图2A所示,网络防护设备通过步骤2041至步骤2042确定第二网络流量是否具有攻击性。
步骤2041、网络防护设备从第二网络流量中获取第二关键数据。
第二关键数据是网络防护设备对第二网络流量包含的一个或多个报文进行协议解析后,从解析结果的指定字段中获得的数据。
与上述第一关键数据类似,第二关键数据是网络防护设备对第二网络流量中包含的一个或者多个报文进行应用层协议解析后,从解析结果的HTTP载荷字段中获得的数据;或者,上述第二关键数据是网络防护设备对网络防护设备第二网络流量中包含的一个或者多个报文进行应用层协议解析,并对解析结果的HTTP载荷字段进行重组后,获得的第二网络流量承载的文件数据。
示例性的,仍以第二网络流量为SQL注入的攻击流量为例,上述第二关键数据是网络防护设备对第二网络流量包含的报文进行应用层协议解析后,从解析结果的HTTP载荷字段获得的数据,该数据为URL,并且该URL(即第二关键数据)为:
GET/index.php?id=123or(IF((USER()LIKE'ro%'),1,0))=1and(select top1password from[admin])
步骤2042、网络防护设备将第二关键数据输入目标攻击检测模型,并根据目标攻击检测模型的输出,确定第二网络流量是否具有攻击性。
具体的,将该第二关键数据输入目标攻击检测模型,网络防护设备使用目标攻击检测模型对第二关键数据进行推理。该目标攻击检测模型输出推理结果,该推理结果也就是采用目标攻击检测模型对第二网络流量的检测结果,即该第二网络流量具有攻击性或者该第二网络流量不具有攻击性。
需要说明的是,本申请实施例中,上述基于目标攻击检测模型确定第二网络流量是否具有攻击性的过程与上述训练目标攻击检测模型的过程是相对应的。例如,若目标攻击检测模型是基于随机森林算法得到的,则根据目标攻击检测模型确定第二网络流量是否具有攻击性时,网络防护设备采用对应的随机森林分类器确定该第二网络流量是否具有攻击性。
示例性的,假设目标攻击检测模型为上述训练得到的随机森林分类器,上述从第二网络流量中获得第二关键数据之后,网络防护设备从该第二关键数据中提取多维特征(与上述提取第二样本集的各个样本的多维特征的方法类似),然后将第二关键数据的多维特征作为随机森林分类器的输入,进而该随机森林分类器输出对第二网络流量的预测结果,即第二网络流量具有攻击性,还是不具有攻击性。应理解,该随机森林分类器的输出结果是一种对该随机森林分类器包含的多个决策树的输出进行投票的结果。
以上实施例中,网络防护设备将第二关键数据输入目标攻击检测模型,并根据目标攻击检测模型的输出,确定第二网络流量是否具有攻击性称为基于攻击检测模型的检测方法。
图2B为采用本申请实施例提供的网络攻击检测方法实现网络攻击检测的流程示意图,参考图2B以进一步理解上述实施例描述的各个步骤。图2B中的标号“1”指示的处理流程是网络防护设备对接收到的第一网络流量的处理流程,图2B中的标号“2”指示的处理流程是网络防护设备对接收到的第二网络流量的处理流程。
如图2B所示,网络防护设备接收到第一网络流量之后,首先将从第一网络流量中提取的第一关键数据与特征库中的攻击特征进行匹配。根据特征库的匹配结果确定第一网络流量具有攻击性时,将第一网络流量作为用于训练目标攻击检测模型的黑样本加入到样本集中。然后对样本集中的所有样本进行特征提取,将提取的特征用于模型训练,从而得到目标攻击检测模型,并利用该目标攻击检测模型更新模型库中的攻击检测模型。当网络防护设备接收到第二网络流量时,该网络防护设备对第二网络流量进行特征特取(与上述对样本集中的样本进行特征提取的方法类似)。然后将提取的特征作为目标攻击检测模型(从模型库中获取的最新的攻击检测模型,即基于第一网络流量获得的目标攻击检测模型)的输入,从而根据目标攻击检测模型的输出确定检测结果(即第二网络流量是否具有攻击性)。
本申请实施例提供一种网络攻击检测方法,网络防护设备从该网络防护设备接收的第一网络流量中获取该第一关键数据(该第一关键数据对第一网络流量中包含的一个或多个报文进行协议解析后,从解析结果的指定字段中获得的数据),并且将该第一关键数据与特征库中的攻击特征进行匹配从而获得匹配结果,该匹配结果包含第一关键数据和特征库中均包含的攻击特征。如果网络防护设备根据匹配结果确定第一网络流量具有攻击性,网络防护设备基于第一网络流量获得目标攻击检测模型。目标攻击检测模型用于识别一个或多个攻击特征,该一个或多个攻击特征与特征库中的攻击特征不同。进而当网络防护设备接收到第二网络流量时,网络防护设备基于目标攻击检测模型确定第二网络流量是否具有攻击性。由于目标攻击检测模型是根据网络防护设备所处的实际网络环境中不断出现的恶意流量实时获取的,并且目标攻击检测模型能够识别更多未包含在特征库中的攻击特征,因此网络防护设备利用该目标攻击检测模型对后续网络流量进行检测,使得网络防护设备对一些通过新的变形试图规避检测的恶意流量具有一定的检测能力,从而提升网络防护设备的网络适应性和检出效果。
进一步的,本申请实施例提供的网络攻击检测方法,网络防护设备将网络流量的关键数据与特征库中的攻击特征进行匹配,并根据匹配结果确定网络流量是否具有攻击性。对具有攻击性的网络流量(例如上述第一网络流量),网络防护设备基于具有攻击性的网络流量进行本地化的攻击检测模型训练(即在该网络防护设备上进行攻击检测模型训练),与现有技术中将大量的已知恶意流量传输至云端进行攻击检测模型训练相比,本申请实施例中,无需将该网络流量传输至云端进行训练,如此能够保证数据隐私不被泄露。
可选地,结合图2A,如图2C所示,在上述步骤2042(即网络防护设备将第二关键数据输入目标攻击检测模型,并根据目标攻击检测模型的输出,确定第二网络流量是否具有攻击性)之前,本申请实施例提供的网络攻击检测方法还包括步骤2042':
步骤2042'、网络防护设备将第二关键数据与特征库中的攻击特征进行匹配从而获得第二匹配结果,并且根据第二匹配结果确定第二网络流量不具有攻击性。
网络防护设备将第二关键数据与特征库中的攻击特征进行匹配从而获得第二匹配结果,该第二匹配结果为空,则网络防护设备确定第二网络流量不具有攻击性。
该第二关键数据是网络防护设备对第二网络流量包含的一个或多个报文进行协议解析后,从解析结果的指定字段中获得的数据,具体参见上述实施例的相关描述。本申请实施例中,将上述第二关键数据与特征库的攻击特征进行匹配的过程与上述步骤201中将第一关键数据与特征库中的攻击特征进行匹配的过程类似,因此对于步骤2042'的详细描述可参考上述实施例中对于步骤201的相关描述,此处不再赘述。
结合上述实施例的描述可知,网络防护设备接收到第二网络流量之后,首先通过上述步骤2042'中的基于特征匹配的检测方法对该第二网络流量进行第一次检测。经过第一检测之后,若网络防护设备确定该第二网络流量不具有攻击性的,则网络防护设备再通过上述步骤2042中的基于攻击检测模型的检测方法对第二网络流量进行第二次检测,并根据攻击检测模型的输出,确定该第二网络流量是否具有攻击性。如此,将攻击检测模型作为特征库的补充,在一定程度上能够提升网络攻击检测的检测效果,更加可靠地检测网络中是否存在恶意流量。
示例性的,仍以第二网络流量为SQL注入的攻击流量为例,上述第二关键数据是从第二网络流量中解析得到的URL:
GET/index.php?id=123or(IF((USER()LIKE'ro%'),1,0))=1and(select top1password from[admin])
首先,网络防护设备将第二关键数据与特征库中的攻击特征进行匹配,假设特征库中的攻击特征为“1=1”(当然特征库中还可能包含其他攻击特征),可见上述第二关键数据中不包含特征库中的“1=1”(该第二关键数据中也不包含特征库中的其他攻击特征)。然后,网络防护设备再基于目标攻击检测模型,对第二网络流量进行检测。结合上述示例,由于基于第一网络流量获得的目标攻击检测模型能够识别“select”,“top”,“password”,“admin”这几个攻击特征,因此网络防护设备基于该目标攻击检测模型确定上述第二网络流量具有攻击性。
本申请实施例中,特征库中包含一个或多个攻击特征,将该一个或多个攻击特征称为第一攻击特征。目标攻击检测模型能够识别一个或多个攻击特征,将该一个或多个攻击特征称为第二攻击特征。结合上述实施例的描述可知,第一攻击特征与第二攻击特征不同,网络防护设备传输包含第一攻击特征的报文的过程中,第一攻击特征容易被篡改(例如经过改名、编码等变形)。网络防护设备传输包含第二攻击特征的报文的过程中,第二攻击特征不易被篡改。
示例性的,以第一网络流量和第二网络流量为例,从第一网络流量中获得的第一关键数据为:
GET/index.php?id=123or 1=1and(select top 1password from[admin])
从第二网络流量中获得的第二关键数为:
GET/index.php?id=123or(IF((USER()LIKE'ro%'),1,0))=1and(select top1password from[admin])
结合上述实施例中的示例可知,第一关键数据中包含第一攻击特征(即“1=1”),第二关键数据中不包含上述第一攻击特征。并且在第二网络流量中,上述第一攻击特征已经变形为“(IF((USER()LIKE'ro%'),1,0))=1”,基于特征匹配的检测方法对第二网络流量进行检测时,由于第二网络流量中不包含第一攻击特征(即“1=1”)。若特征库中不包含该变形后的攻击特征“(IF((USER()LIKE'ro%'),1,0))=1”,在这种情况下,网络防护设备确定第二网络流量不具有攻击性。这样攻击者可能将执行上述URL中“select top1password from[admin]”语句,从而获取到用户名,导致攻击成功。本申请实施例中,在第二网络流量中不包含上述第一攻击特征的情况下,网络防护设备继续基于目标攻击检测模型检测该第二网络流量,由于该目标攻击检测模型能够识别“select”,“top”,“password”,“admin”,因此网络防护设备的检测结果是:该第二网络流量具有攻击性。
需要说明的是,在一种实施方式中,如果网络防护设备根据第二匹配结果确定第二网络流量具有攻击性,网络防护设备省略执行上述步骤2042以及步骤2042之后的相关步骤,直接根据下文所描述的第一预设动作对第二网络流量进行动作响应。网络防护设备中通常包含两个独立的功能模块,分别被称为特征库匹配引擎和模型匹配模块。特征库匹配引擎用于将关键数据与特征库中的攻击特征进行匹配。模型匹配模块用于基于攻击检测模型判断网络流量是否具有攻击性。特征库匹配引擎的性能一般高于与模型匹配模块的性能,因此在对于网络流量的处理流程中,将上述特征库匹配引擎置于上述模型匹配模块的前面,若根据特征库匹配引擎能直接判断网络流量具有攻击性,则省略对模型匹配模块对网络流量进行处理,可以显著提高网络防护设备的处理性能,降低因安全防护带来的传输延时。
可选地,在网络防护设备根据特征库判断出第二网络流量具有攻击性的情况下,网络防护设备将第二网络流量加入样本集从而再次更新攻击检测模型。该网络防护设备执行如下过程:网络防护设备基于该第二网络流量获得新的目标攻击检测模型,并更新攻击检测模型(即用该新的目标攻击检测模型替换上述基于第一网络流量获得的目标攻击检测模型)。之后网络防护设备继续检测该网络防护设备接收的下一网络流量(例如第三网络流量),并且网络防护设备基于该新的目标攻击检测模型(基于第二网络流量获得的攻击检测模型)确定该网络防护设备接收的下一网络流量是否具有攻击性。
可选地,结合图2C,如图2D所示,在上述步骤204之后,本申请实施例提供的网络攻击检测方法还包括步骤204'。
步骤204'、在网络防护设备基于目标攻击检测模型确定第二网络流量具有攻击性的情况下,该网络防护设备按照第一预设动作对第二网络流量进行动作响应。
图2D中的步骤200至步骤204,步骤2021,步骤2022,步骤2041、步骤2042'以及步骤2042与图2C中的实现方式类似,在这里不再重复描述。
本申请实施例中,网络防护设备对流经该网络防护设备的网络流量进行检测,并且能够根据检测结果和预设动作对流经该网络防护设备的网络流量进行相应的动作响应。例如第一预设动作用于网络防护设备对具有攻击性的网络流量进行动作响应,第二预设动作用于网络防护设备对无攻击性的网络流量进行动作响应。当网络防护设备检测出流经该网络防护设备的网络流量具有攻击性时,网络防护设备按照第一预设动作对该的网络流量进行动作响应。当网络防护设备检测出流经该网络防护设备的网络流量不具有攻击性(即无攻击性)时,网络防护设备按照第二预设动作对该网络流量进行动作响应。
可选地,上述第一预设动作包括阻断或告警,上述第二预设动作包括放行。
需要说明的是,本申请实施例中的上述第一预设动作或第二预设动作可替换为其他的动作,本申请实施例不作限定。例如,上述第一预设动作可替换为放行。
结合步骤204',在一种实现方式中,若网络防护设备确定第二网络流量具有攻击性,且上述第一预设动作为阻断,则网络防护设备按照第一预设动作对第二网络流量进行动作响应,包括:网络防护设备停止向该网络防护设备的下一跳设备发送第二网络流量。如此,网络防护设备能够阻止第二网络流量从网络防护设备流入该网络防护设备的下一跳设备,进一步避免第二网络流量继续流入网络中的其他设备,能够及时阻止网络攻击。
结合步骤204',在一种实现方式中,若网络防护设备确定第二网络流量具有攻击性,且上述第一预设动作为告警,则网络防护设备按照第一预设动作对第二网络流量进行动作响应包括下述方式A、方式B或方式C。
方式A、网络防护设备通过输出设备输出告警信息,并接收针对该告警信息返回的指示。
上述针对该告警信息返回的指示包括第一指示和第二指示。当该指示为第一指示时,网络防护设备停止向该网络防护设备的下一跳设备发送第二网络流量。当该指示为第二指示时,网络防护设备向该网络防护设备的下一跳设备发送第二网络流量。
方式A中网络防护设备的响应是一种在线的响应方式,即网络防护设备输出告警信息之后,等待用户对于该告警信息的反馈(即上述第一指示和第二指示),然后再根据用户的反馈进行相应的动作。
方式B、网络防护设备通过输出设备输出告警信息,并停止向该网络防护设备的下一跳设备发送第二网络流量。
方式C、网络防护设备通过输出设备输出告警信息,并向该网络防护设备的下一跳设备发送第二网络流量。
方式B和方式C中网络防护设备的响应是一种离线的响应方式,即网络防护设备输出告警信息(该告警信息仅用于通知用户)之后,网络防护设备无需等待用户对该告警信息的反馈,而是根据预先设定的动作及时进行响应。
可选地,结合图2C,如图2E所示,在上述步骤204之后,本申请实施例提供的网络攻击检测方法还包括步骤204"。
步骤204"、在网络防护设备基于目标攻击检测模型确定第二网络流量不具有攻击性的情况下,该网络防护设备按照第二预设动作对第二网络流量进行动作响应。
结合上述实施例的描述可知,第二预设动作用于网络防护设备对无攻击性的网络流量进行动作响应,该第二预设动作包括放行。
结合步骤204",在一种实现方式中,若网络防护设备确定第二网络流量不具有攻击性,且第一预设动作为方向,则网络防护设备按照第二预设动作对第二网络流量进行动作响应,包括:网络防护设备向该网络防护设备的下一跳设备发送第二网络流量。
图2E中的步骤200至步骤204,步骤2021,步骤2022,步骤2041、步骤2042'以及步骤2042与图2C中的实现方式类似,在这里不再重复描述。
本申请实施例中,网络防护设备基于目标攻击检测模型确定第二网络流量是否具有攻击性,并且进行相应的动作响应,之后该网络防护设备继续采用本申请实施例提供的网络攻击检测方法对该网络防护设备接收的下一网络流量进行网络攻击检测。
可选地,本申请实施例中,当网络防护设备将上述第一关键数据(该第一关键数据是从第一网络流量中获取的)与特征库中的攻击特征进行匹配,并且匹配结果指示该关键数据不包含特征库中的攻击特征时,网络防护设备释放缓存在该网络防护设备中的第一网络流量包含的报文。
结合图2C,如图2F所示,在步骤201(即网络防护设备将第一关键数据与特征库中的攻击特征进行匹配从而获得第一匹配结果)之后,本申请实施例提供的攻击检测方法还包括步骤201':
步骤201'、如果网络防护设备根据第一匹配结果确定第一网络流量具有攻击性,网络防护设备按照第一预设动作对第一网络流量进行动作响应。
图2F中的步骤200至步骤204,步骤2021,步骤2022,步骤2041、步骤2042'以及步骤2042与图2C中的实现方式类似,在这里不再重复描述。
关于网络防护设备按照第一预设动作对第一网络流量进行动作响应的详细描述可参见上述实施例中网络防护设备按照第一预设动作对第二网络流量进行动作响应(即步骤204')的相关描述,此处不再赘述。
本申请实施例中,网络防护设备根据第一匹配结果确定该第一网络流量具有攻击性时,该网络防护设备既执行步骤202(基于该第一网络流量获得目标攻击检测模型),也执行步骤201'。需要说明的是,本申请实施例不限定网络防护设备执行步骤202和步骤201'的顺序,即网络防护先执行步骤202后执行步骤201',或者先执行步骤201'后执行步骤202,或者同时执行步骤202和步骤201'。
需要说明的是,本申请实施例中,如果网络防护设备根据第一匹配结果确定第一网络流量不具有攻击性,网络防护设备基于原攻击检测模型确定第一网络流量是否具有攻击性。该原攻击检测模型是基于预定算法,对上述第一样本集训练得到的。
结合上述实施例的描述可知,网络防护设备接收到第一网络流量之后,首先网络防护设备基于特征匹配的检测方法对第一网络流量进行第一次检测。经过第一检测之后,若网络防护设备确定第一网络流量不具有攻击性的,则网络防护设备再基于原攻击检测模型对第一网络流量进行第二次检测;并根据原攻击检测模型的输出,确定第一网络流量是否具有攻击性,进而网络防护设备对该第一网络流量进行相应的动作响应。
可选地,若第一网络流量是网络防护设备首次接收的网络流量,则上述原攻击检测模型实际上是基于网络防护设备预先保存的样本集(不同的网络防护设备预存的样本集既可以相同,也可以不同)训练得到的原始攻击检测模型。若第一网络流量不是该网络防护设备首次接收的网络流量,则上述原攻击检测模型可能是原始攻击检测模型,也可能是根据在预先保存的样本集的基础上更新后的样本集训练出的、有别于原始攻击检测模型的另一攻击检测模型,本申请实施例不作限定。可选地,攻击检测模型的更新是实时执行的,例如网络防护设备每次根据特征库确定出具有攻击性的网络流量后,立刻将该具有攻击性的网络流量作为一个新的黑样本加入样本集从而更新样本集,并基于更新的样本集来重新训练攻击检测模型。可替换地,攻击检测模型的更新是定期执行的,例如网络防护设备每次根据特征库确定出具有攻击性的网络流量后,立刻将该具有攻击性的网络流量作为一个新的黑样本加入样本集从而更新样本集,网络防护设备按照设定的周期(例如每24小时、或每星期),定期根据更新的样本集来重新训练攻击检测模型。
可选地,本申请实施例中,在网络防护设备基于原攻击检测模型确定第一网络流量具有攻击性的情况下,该网络防护设备按照第一预设动作对第一网络流量进行动作响应。在网络防护设备基于原攻击检测模型确定第一网络流量不具有攻击性的情况下,该网络防护设备按照第二预设动作对第一网络流量进行动作响应。
本申请实施例中,由于网络防护设备对第一网络流量进行动作响应的过程与该网络防护设备对上述第二网络流量进行动作响应的过程类似,因此对于网络防护设备对第一网络流量进行动作响应的描述可参考上述实施例的相关描述,此处不再赘述。
相应地,本申请实施例还提供了一种网络防护设备,用以实施上述实施例描述的网络攻击检测方法。图3是本申请实施例提供的网络防护设备的结构示意图。可选地,图3所示的网络防护设备300是图1所示应用场景中的防火墙和分析设备的集成设备、图2A、图2C、图2D、图2E或图2F所示方法示意图中的网络防护设备。该网络防护设备300包括至少一个处理器301和存储器302。
其中,处理器301包括一个或多个中央处理器(central processing unit,CPU)。该CPU为单核CPU(single-CPU)或多核CPU(multi-CPU)。
存储器302包括但不限于是随机存取存储器(random access memory,RAM)、只读存储器(read only memory,ROM)、可擦除可编程只读存储器(erasable programmableread-only memory,EPROM)、快闪存储器、或光存储器等。存储器302中保存有操作***的代码。
可选地,处理器301通过读取存储器302中保存的指令实现上述实施例中的方法,或者,处理器301通过内部存储的指令实现上述实施例中的方法。在处理器301通过读取存储器302中保存的指令实现上述实施例中的方法的情况下,存储器302中保存实现本申请实施例提供的网络攻击检测方法的指令。
存储器302中存储的程序代码被至少一个处理器301读取后,网络防护设备300执行以下操作:从第一网络流量中获取第一关键数据,并且将第一关键数据与特征库中的攻击特征进行匹配从而获得第一匹配结果,该第一关键数据是对第一网络流量中包含的一个或者多个报文进行协议解析后,从解析结果的指定字段中获得的数据,第一匹配结果包含第一关键数据和特征库中均包含的攻击特征;如果网络防护设备根据第一匹配结果确定第一网络流量具有攻击性,基于第一网络流量获得目标攻击检测模型,该目标攻击检测模型用于识别一个或多个攻击特征,该一个或多个攻击特征与特征库中的攻击特征不同;进而基于目标攻击检测模型确定第二网络流量是否具有攻击性。
可选地,图3所示的网络防护设备300还包括网络接口303。网络接口303是有线接口,例如光纤分布式数据接口(fiber distributed data interface,FDDI)、千兆以太网(gigabit ethernet,GE)接口。或者,网络接口303是无线接口。网络接口303用于接收网络流量,如上述第一网络流量和第二网络流量。或者,网络接口303用于根据处理器301对网络流量是否有攻击性的确定结果向网络中的其他设备发送网络流量。
存储器302用于存储网络接口303接收到的网络流量,可选地,存储器302还有用于存储样本集(用于训练攻击检测模型)以及攻击检测模型等。至少一个处理器301进一步根据存储器302保存的这些条目来执行上述方法实施例所描述的方法。处理器301实现上述功能的更多细节请参考前面各个方法实施例中的描述,在这里不再重复。
可选地,网络防护设备300还包括总线304,上述处理器301、存储器302通常通过总线304相互连接,或采用其他方式相互连接。
可选地,网络防护设备300还包括输入输出接口305,输入输出接口305用于与输入设备连接,接收用户通过输入设备输入的检测需求(例如检测指定协议的网络流量,指定网段的网络流量)。输入设备包括但不限于键盘、触摸屏、麦克风等等。输入输出接口305还用于与输出设备连接,输出处理器301的检测结果(即网络流量是否具有攻击性)。输出设备包括但不限于显示器、打印机等等。
本申请实施例提供的网络防护设备用于执行上述各个方法实施例提供的网络攻击检测方法。由于网络防护设备基于第一网络流量获得的目标攻击检测模型能够识别更多攻击特征,因此网络防护设备基于该目标攻击检测模型对第二网络流量进行攻击检测,能够提升网络攻击检测的检测效果。
图4是本申请实施例提供的一种网络攻击检测装置的结构示意图。该网络攻击检测装置400包括检测模块401、分析模块402以及接收模块403。
检测模块401,用于从接收模块403接收的第一网络流量中获取第一关键数据,并且将第一关键数据与特征库中的攻击特征进行匹配从而获得第一匹配结果,该第一关键数据是检测模块401对第一网络流量中包含的一个或多个报文进行协议解析后,从解析结果的指定字段中获得的数据,该第一匹配结果包含第一关键数据和特征库中均包含的攻击特征。
其中,上述指定字段是一个或多个报文的超文本传输协议HTTP载荷,该第一关键数据是检测模块401对第一网络流量中包含的一个或者多个报文进行应用层协议解析后,从解析结果的HTTP载荷字段中获得的数据。或,第一关键数据是检测模块401对第一网络流量中包含的一个或者多个报文进行应用层协议解析,并对解析结果的HTTP载荷字段进行重组后,获得的第一网络流量承载的文件数据。
分析模块402,用于在检测模块401根据第一匹配结果确定第一网络流量具有攻击性的情况下,基于第一网络流量获得目标攻击检测模型,该目标攻击检测模型用于识别一个或多个攻击特征,该一个或多个攻击特征与特征库中的攻击特征不同。
接收模块403,用于接收第二网络流量。
检测模块401,还用于基于目标攻击检测模型确定第二网络流量是否具有攻击性。
可选地,检测模块401,具体用于从第二网络流量中获取第二关键数据,将第二关键数据输入目标攻击检测模型,并根据目标攻击检测模型的输出,确定第二网络流量是否具有攻击性,该第二关键数据是检测模块401对第二网络流量中包含的一个或多个报文进行协议解析后,从解析结果的指定字段中获得的数据。
其中,上述指定字段是一个或多个报文的超文本传输协议HTTP载荷,该第二关键数据是检测模块401对第二网络流量中包含的一个或多个报文进行应用层协议解析后,从解析结果的HTTP载荷字段中获得的数据,或,第二关键数据是检测模块401对第二网络流量中包含的一个或者多个报文进行应用层协议解析,并对解析结果的HTTP载荷字段进行重组后,获得的第二网络流量承载的文件数据。
可选地,检测模块401,还用于将第二关键数据与特征库中的攻击特征进行匹配从而获得第二匹配结果,并且根据第二匹配结果确定第二网络流量不具有攻击性,该第二匹配结果包含第二关键数据和特征库中均包含的攻击特征。
可选地,网络防护设备400还包括处理模块404。
处理模块404,用于在检测模块401基于目标攻击检测模型确定第二网络流量具有攻击性的情况下,按照第一预设动作对第二网络流量进行动作响应。可选地,第一预设动作包括阻断或告警。
可选地,本申请实施例提供的网络攻击检测装置400还包括发送模块405。
当第一预设动作为阻断时,处理模块404,具体用于控制发送模块405停止向网络防护设备的下一跳设备发送第二网络流量。
当第一预设动作为告警时,处理模块404,具体用于控制发送模块405通过输出设备输出告警信息,并控制接收模块403接收针对告警信息返回的指示,该指示包括第一指示或第二指示。当该指示为第一指示时,发送模块405停止向网络防护设备的下一跳设备发送第二网络流量。当指示为第二指示时,发送模块405向网络防护设备的下一跳设备发送第二网络流量。或,处理模块404,具体用于控制发送模块405通过输出设备输出告警信息,并停止向网络防护设备的下一跳设备发送第二网络流量。或,处理模块404,具体用于控制发送模块405通过输出设备输出告警信息,并向网络防护设备的下一跳设备发送第二网络流量。
可选地,处理模块404,还用于在检测模块401基于目标攻击检测模型确定第二网络流量不具有攻击性的情况下,按照第二预设动作对第二网络流量进行动作响应。
可选地,第二预设动作为放行。处理模块404,具体用于控制发送模块405向网络防护设备的下一跳设备发送第二网络流量。
可选地,分析模块402,具体用于将第一网络流量作为一个黑样本加入第一样本集,从而得到第二样本集,该第一样本集中包括至少一个黑样本;并且基于预定算法,对第二样本集进行训练,得到目标攻击检测模型。
可选地,检测模块401,还用于在根据第一匹配结果确定第一网络流量不具有攻击性的情况下,基于原攻击检测模型确定第一网络流量是否具有攻击性,该原攻击检测模型是基于预定算法,对第一样本集训练得到的。
图4所描述的装置实施例仅仅是示意性的,例如,上述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。图4中上述各个模块既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。例如,采用软件实现时,上述检测模块401、分析模块402以及处理模块404可以是由图3中的至少一个处理器301读取存储器中存储的程序代码后,生成的软件功能模块来实现。图4中上述各个模块也可以由网络防护设备中的不同硬件分别实现,例如检测模块401和分析模块402由图3中的至少一个处理器301中的一部分处理资源(例如多核处理器中的一个核或两个核)实现,而处理模块404由图3中至少一个处理器301中的其余部分处理资源(例如多核处理器中的其他核),或者采用现场可编程门阵列(field-programmable gate array,FPGA)、或协处理器等可编程器件来完成。接收模块403和发送模块405由图3中的网络接口303实现。显然上述功能模块也可以采用软件硬件相结合的方式来实现,例如分析模块402由硬件可编程器件实现,而检测模块401和处理模块404是由CPU读取存储器中存储的程序代码后,生成的软件功能模块。
图4中检测模块401,分析模块402、接收模块403、处理模块404以及发送模块405实现上述功能的更多细节请参考前面各个方法实施例中的描述,在这里不再重复。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本申请实施例中的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))方式或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、磁盘、磁带)、光介质(例如,数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state drives,SSD))等。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若对本申请的这些修改和变型属于本申请权利要求的范围之内,则本申请也意图包括这些改动和变型在内。
Claims (24)
1.一种网络攻击检测方法,其特征在于,包括:
网络防护设备从接收的第一网络流量中获取第一关键数据,并且将所述第一关键数据与特征库中的攻击特征进行匹配从而获得第一匹配结果,所述第一关键数据是所述网络防护设备对所述第一网络流量中包含的一个或者多个报文进行协议解析后,从解析结果的指定字段中获得的数据,所述第一匹配结果包含所述第一关键数据和所述特征库中均包含的攻击特征;
如果所述网络防护设备根据所述第一匹配结果确定所述第一网络流量具有攻击性,所述网络防护设备基于所述第一网络流量获得目标攻击检测模型,所述目标攻击检测模型用于识别一个或多个攻击特征,所述一个或多个攻击特征与所述特征库中的攻击特征不同;
所述网络防护设备接收第二网络流量;
所述网络防护设备基于所述目标攻击检测模型确定所述第二网络流量是否具有攻击性。
2.根据权利要求1所述的方法,其特征在于,所述网络防护设备基于所述目标攻击检测模型确定所述第二网络流量是否具有攻击性,包括:
所述网络防护设备从所述第二网络流量中获取第二关键数据,所述第二关键数据是所述网络防护设备对所述第二网络流量中包含的一个或者多个报文进行协议解析后,从解析结果的所述指定字段中获得的数据;
所述网络防护设备将所述第二关键数据输入所述目标攻击检测模型,并根据所述目标攻击检测模型的输出,确定所述第二网络流量是否具有攻击性。
3.根据权利要求2所述的方法,其特征在于,其中所述指定字段是所述一个或者多个报文的超文本传输协议HTTP载荷,
所述第一关键数据是所述网络防护设备对所述第一网络流量中包含的一个或者多个报文进行应用层协议解析后,从解析结果的HTTP载荷字段中获得的数据;
所述第二关键数据是所述网络防护设备对所述第二网络流量中包含的一个或者多个报文进行应用层协议解析后,从解析结果的HTTP载荷字段中获得的数据。
4.根据权利要求2所述的方法,其特征在于,其中所述指定字段是所述一个或者多个报文的HTTP载荷,
所述第一关键数据是所述网络防护设备对所述第一网络流量中包含的一个或者多个报文进行应用层协议解析,并对解析结果的HTTP载荷字段进行重组后,获得的所述第一网络流量承载的文件数据;
所述第二关键数据是所述网络防护设备对所述第二网络流量中包含的一个或者多个报文进行应用层协议解析,并对解析结果的HTTP载荷字段进行重组后,获得的所述第二网络流量承载的文件数据。
5.根据权利要求2所述的方法,其特征在于,在所述网络防护设备将所述第二关键数据输入所述目标攻击检测模型,并根据所述目标攻击检测模型的输出,确定所述第二网络流量是否具有攻击性之前,所述方法还包括:
所述网络防护设备将所述第二关键数据与所述特征库中的攻击特征进行匹配从而获得第二匹配结果,并且根据所述第二匹配结果确定所述第二网络流量不具有攻击性,所述第二匹配结果包含所述第二关键数据和所述特征库中均包含的攻击特征。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
在所述网络防护设备基于所述目标攻击检测模型确定所述第二网络流量具有攻击性的情况下,所述网络防护设备按照第一预设动作对所述第二网络流量进行动作响应。
7.根据权利要求6所述的方法,其特征在于,所述第一预设动作包括阻断或告警;
所述第一预设动作为阻断,所述网络防护设备按照所述第一预设动作对所述第二网络流量进行动作响应,包括:
所述网络防护设备停止向所述网络防护设备的下一跳设备发送所述第二网络流量;
所述第一预设动作为告警,所述网络防护设备按照所述第一预设动作对所述第二网络流量进行动作响应,包括:
所述网络防护设备通过输出设备输出告警信息,并接收针对所述告警信息返回的指示,所述指示包括第一指示和第二指示;当所述指示为第一指示时,所述网络防护设备停止向所述网络防护设备的下一跳设备发送所述第二网络流量;当所述指示为第二指示时,所述网络防护设备向所述网络防护设备的下一跳设备发送所述第二网络流量;或,
所述网络防护设备通过输出设备输出告警信息,并停止向所述网络防护设备的下一跳设备发送所述第二网络流量;或,
所述网络防护设备通过输出设备输出告警信息,并向所述网络防护设备的下一跳设备发送所述第二网络流量。
8.根据权利要求1至7任一项所述的方法,其特征在于,所述方法还包括:
在所述网络防护设备基于所述目标攻击检测模型确定所述第二网络流量不具有攻击性的情况下,所述网络防护设备按照第二预设动作对所述第二网络流量进行动作响应。
9.根据权利要求8所述的方法,其特征在于,
所述第二预设动作为放行,所述网络防护设备按照所述第二预设动作对所述第二网络流量进行动作响应,包括:
所述网络防护设备向所述网络防护设备的下一跳设备发送所述第二网络流量。
10.根据权利要求1至9任一项所述的方法,其特征在于,所述网络防护设备基于所述第一网络流量获得目标攻击检测模型,包括:
所述网络防护设备将所述第一网络流量作为一个黑样本加入第一样本集,从而得到第二样本集,所述第一样本集中包括至少一个黑样本;
所述网络防护设备基于预定算法,对所述第二样本集进行训练,得到所述目标攻击检测模型。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
如果所述网络防护设备根据所述第一匹配结果确定所述第一网络流量不具有攻击性,所述网络防护设备基于原攻击检测模型确定所述第一网络流量是否具有攻击性,所述原攻击检测模型是基于所述预定算法,对所述第一样本集训练得到的。
12.一种网络攻击检测装置,其特征在于,包括:检测模块、分析模块以及接收模块;
所述检测模块,用于从所述接收模块接收的第一网络流量中获取第一关键数据,并且将所述第一关键数据与特征库中的攻击特征进行匹配从而获得第一匹配结果,所述第一关键数据是所述检测模块对所述第一网络流量中包含的一个或多个报文进行协议解析后,从解析结果的指定字段中获得的数据,所述第一匹配结果包含所述第一关键数据和所述特征库中均包含的攻击特征;
所述分析模块,用于在所述检测模块根据所述第一匹配结果确定所述第一网络流量具有攻击性的情况下,基于所述第一网络流量获得目标攻击检测模型,所述目标攻击检测模型用于识别一个或多个攻击特征,所述一个或多个攻击特征与所述特征库中的攻击特征不同;
所述接收模块,用于接收第二网络流量;
所述检测模块,还用于基于所述目标攻击检测模型确定所述第二网络流量是否具有攻击性。
13.根据权利要求12所述的网络攻击检测装置,其特征在于,
所述检测模块,具体用于从所述第二网络流量中获取第二关键数据,将所述第二关键数据输入所述目标攻击检测模型,并根据所述目标攻击检测模型的输出,确定所述第二网络流量是否具有攻击性,所述第二关键数据是所述检测模块对所述第二网络流量中包含的一个或多个报文进行协议解析后,从解析结果的指定字段中获得的数据。
14.根据权利要求13所述的网络攻击检测装置,其特征在于,其中所述指定字段是所述一个或多个报文的超文本传输协议HTTP载荷,
所述第一关键数据是所述检测模块对所述第一网络流量中包含的一个或者多个报文进行应用层协议解析后,从解析结果的HTTP载荷字段中获得的数据;
所述第二关键数据是所述检测模块对所述第二网络流量中包含的一个或多个报文进行应用层协议解析后,从解析结果的HTTP载荷字段中获得的数据。
15.根据权利要求13所述的网络攻击检测装置,其特征在于,其中所述指定字段是所述一个或者多个报文的HTTP载荷,
所述第一关键数据是所述检测模块对所述第一网络流量中包含的一个或者多个报文进行应用层协议解析,并对解析结果的HTTP载荷字段进行重组后,获得的所述第一网络流量承载的文件数据;
所述第二关键数据是所述检测模块对所述第二网络流量中包含的一个或者多个报文进行应用层协议解析,并对解析结果的HTTP载荷字段进行重组后,获得的所述第二网络流量承载的文件数据。
16.根据权利要求13所述的网络攻击检测装置,其特征在于,
所述检测模块,还用于将所述第二关键数据与所述特征库中的攻击特征进行匹配从而获得第二匹配结果,并且根据所述第二匹配结果确定所述第二网络流量不具有攻击性,所述第二匹配结果包含所述第二关键数据和所述特征库中均包含的攻击特征。
17.根据权利要求12至16任一项所述的网络攻击检测装置,其特征在于,所述网络攻击检测装置还包括处理模块;
所述处理模块,用于在所述检测模块基于所述目标攻击检测模型确定所述第二网络流量具有攻击性的情况下,按照第一预设动作对所述第二网络流量进行动作响应。
18.根据权利要求17所述的网络攻击检测装置,其特征在于,所述网络攻击检测装置还包括发送模块,所述第一预设动作包括阻断或告警;
所述第一预设动作为阻断,所述处理模块,具体用于控制所述发送模块停止向网络防护设备的下一跳设备发送所述第二网络流量;
所述第一预设动作为告警,所述处理模块,具体用于控制所述发送模块通过输出设备输出告警信息,并控制所述接收模块接收针对所述告警信息返回的指示,所述指示包括第一指示或第二指示;当所述指示为所述第一指示时,所述发送模块停止向所述网络防护设备的下一跳设备发送所述第二网络流量;当所述指示为所述第二指示时,所述发送模块向所述网络防护设备的下一跳设备发送所述第二网络流量;或,
所述处理模块,具体用于控制所述发送模块通过输出设备输出告警信息,并停止向所述网络防护设备的下一跳设备发送所述第二网络流量;或,控制所述发送模块通过输出设备输出告警信息,并向所述网络防护设备的下一跳设备发送所述第二网络流量。
19.根据权利要求12至18任一项所述的网络攻击检测装置,其特征在于,
处理模块,还用于在所述检测模块基于所述目标攻击检测模型确定所述第二网络流量不具有攻击性的情况下,按照第二预设动作对所述第二网络流量进行动作响应。
20.根据权利要求19所述的网络攻击检测装置,其特征在于,
所述第二预设动作为放行,所述处理模块,具体用于控制发送模块向网络防护设备的下一跳设备发送所述第二网络流量。
21.根据权利要求12至20任一项所述的网络攻击检测装置,其特征在于,
所述分析模块,具体用于将所述第一网络流量作为一个黑样本加入第一样本集,从而得到第二样本集,所述第一样本集中包括至少一个黑样本;并且基于预定算法,对所述第二样本集进行训练,得到所述目标攻击检测模型。
22.根据权利要求21所述的网络攻击检测装置,其特征在于,
所述检测模块,还用于在根据所述第一匹配结果确定所述第一网络流量不具有攻击性的情况下,基于原攻击检测模型确定所述第一网络流量是否具有攻击性,所述原攻击检测模型是基于所述预定算法,对所述第一样本集训练得到的。
23.一种网络防护设备,其特征在于,包括存储器和与所述存储器连接的至少一个处理器,
所述存储器用于存储指令,所述指令被所述至少一个处理器读取后,所述网络防护设备执行以下操作:从接收的第一网络流量中获取第一关键数据,并且将所述第一关键数据与特征库中的攻击特征进行匹配从而获得第一匹配结果,所述第一关键数据是所述网络防护设备对所述第一网络流量中包含的一个或者多个报文进行协议解析后,从解析结果的指定字段中获得的数据,所述第一匹配结果包含所述第一关键数据和所述特征库中均包含的攻击特征;如果所述网络防护设备根据所述第一匹配结果确定所述第一网络流量具有攻击性,基于所述第一网络流量获得目标攻击检测模型,所述目标攻击检测模型用于识别一个或多个攻击特征,所述一个或多个攻击特征与所述特征库中的攻击特征不同;接收第二网络流量;并基于所述目标攻击检测模型确定所述第二网络流量是否具有攻击性。
24.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机指令,当所述计算机指令在计算机上运行时,以执行如权利要求1至11任一项所述的网络攻击检测方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010245563.2A CN113472721B (zh) | 2020-03-31 | 2020-03-31 | 一种网络攻击检测方法及装置 |
EP20928449.6A EP4089972A4 (en) | 2020-03-31 | 2020-12-02 | NETWORK ATTACK DETECTION METHOD AND APPARATUS |
PCT/CN2020/133366 WO2021196691A1 (zh) | 2020-03-31 | 2020-12-02 | 一种网络攻击检测方法及装置 |
US17/956,591 US20230025946A1 (en) | 2020-03-31 | 2022-09-29 | Network Attack Detection Method and Apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010245563.2A CN113472721B (zh) | 2020-03-31 | 2020-03-31 | 一种网络攻击检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113472721A CN113472721A (zh) | 2021-10-01 |
CN113472721B true CN113472721B (zh) | 2022-12-06 |
Family
ID=77865458
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010245563.2A Active CN113472721B (zh) | 2020-03-31 | 2020-03-31 | 一种网络攻击检测方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230025946A1 (zh) |
EP (1) | EP4089972A4 (zh) |
CN (1) | CN113472721B (zh) |
WO (1) | WO2021196691A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11770405B2 (en) * | 2020-09-10 | 2023-09-26 | Arbor Networks, Inc. | Automated selection of DDoS countermeasures using statistical analysis |
CN114338202A (zh) * | 2021-12-30 | 2022-04-12 | 奇安信科技集团股份有限公司 | 网络攻击结果的检测方法、装置、计算设备及存储介质 |
CN114363053A (zh) * | 2021-12-31 | 2022-04-15 | 深信服科技股份有限公司 | 一种攻击识别方法、装置及相关设备 |
CN114567480B (zh) * | 2022-02-28 | 2024-03-12 | 天翼安全科技有限公司 | 有效攻击告警识别的方法、装置、安全网络及存储介质 |
CN114567605B (zh) * | 2022-02-28 | 2023-12-01 | 天翼安全科技有限公司 | 一种安全引擎的调度方法、装置及可读存储介质 |
CN115150160A (zh) * | 2022-06-29 | 2022-10-04 | 北京天融信网络安全技术有限公司 | 一种网络攻击特征的检测方法及*** |
CN115277244B (zh) * | 2022-08-05 | 2023-07-25 | 四川启睿克科技有限公司 | 一种工业互联网的入侵检测***及方法 |
CN115801456B (zh) * | 2023-01-31 | 2023-06-23 | 天翼云科技有限公司 | 网络攻击检测方法、装置、电子设备及存储介质 |
CN116319005A (zh) * | 2023-03-21 | 2023-06-23 | 上海安博通信息科技有限公司 | 结合自然语言处理模型的攻击检测方法、装置及处理*** |
CN116743508B (zh) * | 2023-08-15 | 2023-11-14 | 四川新立高科科技有限公司 | 一种电力***网络攻击链检测方法、装置、设备及介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110149315A (zh) * | 2019-04-24 | 2019-08-20 | 南京邮电大学 | 异常网络流量检测方法、可读存储介质和终端 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110238855A1 (en) * | 2000-09-25 | 2011-09-29 | Yevgeny Korsunsky | Processing data flows with a data flow processor |
KR102390355B1 (ko) * | 2015-11-16 | 2022-04-26 | 한국전자통신연구원 | 시그니처 기반 네트워크 공격 탐지 및 공격 시그니처 생성 방법 및 장치 |
CN105656886A (zh) * | 2015-12-29 | 2016-06-08 | 北京邮电大学 | 一种基于机器学习的网站攻击行为的检测方法及装置 |
CN107153584A (zh) * | 2016-03-03 | 2017-09-12 | 中兴通讯股份有限公司 | 异常检测方法及装置 |
CN107241352B (zh) * | 2017-07-17 | 2020-01-21 | 浙江鹏信信息科技股份有限公司 | 一种网络安全事件分类与预测方法及*** |
US10855701B2 (en) * | 2017-11-03 | 2020-12-01 | F5 Networks, Inc. | Methods and devices for automatically detecting attack signatures and generating attack signature identifications |
CN107835201A (zh) * | 2017-12-14 | 2018-03-23 | 华中师范大学 | 网络攻击检测方法及装置 |
CN108718310B (zh) * | 2018-05-18 | 2021-02-26 | 安徽继远软件有限公司 | 基于深度学习的多层次攻击特征提取及恶意行为识别方法 |
CN109858248B (zh) * | 2018-12-26 | 2021-06-29 | 中国科学院信息工程研究所 | 恶意Word文档检测方法和装置 |
CN110855676B (zh) * | 2019-11-15 | 2021-08-31 | 腾讯科技(深圳)有限公司 | 网络攻击的处理方法、装置及存储介质 |
-
2020
- 2020-03-31 CN CN202010245563.2A patent/CN113472721B/zh active Active
- 2020-12-02 EP EP20928449.6A patent/EP4089972A4/en active Pending
- 2020-12-02 WO PCT/CN2020/133366 patent/WO2021196691A1/zh unknown
-
2022
- 2022-09-29 US US17/956,591 patent/US20230025946A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110149315A (zh) * | 2019-04-24 | 2019-08-20 | 南京邮电大学 | 异常网络流量检测方法、可读存储介质和终端 |
Also Published As
Publication number | Publication date |
---|---|
US20230025946A1 (en) | 2023-01-26 |
EP4089972A4 (en) | 2023-07-05 |
WO2021196691A1 (zh) | 2021-10-07 |
CN113472721A (zh) | 2021-10-01 |
EP4089972A1 (en) | 2022-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113472721B (zh) | 一种网络攻击检测方法及装置 | |
Rehman Javed et al. | Ensemble adaboost classifier for accurate and fast detection of botnet attacks in connected vehicles | |
CN113661693B (zh) | 经由日志检测敏感数据暴露 | |
Shibahara et al. | Efficient dynamic malware analysis based on network behavior using deep learning | |
CN109314698B (zh) | 保护计算机网络与***的抢占式响应安全*** | |
RU2680736C1 (ru) | Сервер и способ для определения вредоносных файлов в сетевом трафике | |
EP2863611B1 (en) | Device for detecting cyber attack based on event analysis and method thereof | |
JP5832951B2 (ja) | 攻撃判定装置、攻撃判定方法及び攻撃判定プログラム | |
Amrollahi et al. | Enhancing network security via machine learning: opportunities and challenges | |
CN112685734B (zh) | 安全防护方法、装置、计算机设备和存储介质 | |
Sezari et al. | Anomaly-based network intrusion detection model using deep learning in airports | |
CN113411297A (zh) | 基于属性访问控制的态势感知防御方法及*** | |
CN113660222A (zh) | 基于强制访问控制的态势感知防御方法及*** | |
IŞiker et al. | Machine learning based web application firewall | |
Nguyen et al. | An approach to detect network attacks applied for network forensics | |
CN110177113B (zh) | 互联网防护***及访问请求处理方法 | |
Khan et al. | A dynamic method of detecting malicious scripts using classifiers | |
Hussain et al. | Efficient working of signature based intrusion detection technique in computer networks | |
CN111416812B (zh) | 一种恶意脚本检测方法、设备及存储介质 | |
Lakra | HSNORT: A Hybrid intrusion detection system using artificial intelligence with snort | |
Chacko et al. | Intrusion Detection using Machine Learning Techniques: An exhaustive review | |
Maslan et al. | DDoS detection on network protocol using cosine similarity and N-Gram+ Method | |
Kumar | Securing Web Application using Web Application Firewall (WAF) and Machine Learning | |
CN116582366B (zh) | Web攻击防范方法、装置和***、存储介质 | |
CN114697049B (zh) | WebShell检测方法及装置 |
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 |