CN116366303A - 基于深度学习的网络异常检测方法、装置、设备及介质 - Google Patents
基于深度学习的网络异常检测方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116366303A CN116366303A CN202310207251.6A CN202310207251A CN116366303A CN 116366303 A CN116366303 A CN 116366303A CN 202310207251 A CN202310207251 A CN 202310207251A CN 116366303 A CN116366303 A CN 116366303A
- Authority
- CN
- China
- Prior art keywords
- template
- sequence
- preset
- target
- generate
- 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.)
- Pending
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/1425—Traffic logging, e.g. anomaly detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0499—Feedforward networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Probability & Statistics with Applications (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于深度学习的网络异常检测方法、装置、设备及介质,该方法包括:响应接收到的初始日志数据,根据预设常量事件模板,对初始日志数据进行特征提取,以生成模板符序列,根据预设滑动窗口通过设定滑动规则,对模板符序列进行分割,以生成目标日志序列和标签模板符,根据预设异常检测模型对目标日志序列进行检测,以生成目标日志序列对应的目标模板符,在目标模板符与标签模板符不匹配的情况下,确定初始日志数据对应的网络行为异常。从而通过对日志数据进行解析和特征提取,根据异常检测模型确定日志数据异常,进而对网络攻击引发的网络异常行为进行检测,提升网络异常检测的效率。
Description
技术领域
本发明涉及数据检测技术领域,具体为一种基于深度学习的网络异常检测方法、装置、设备及介质。
背景技术
相关技术中,网络行为异常的检测是通过对日志数据进行解析,根据日志数据的异常进而确定网络行为的异常。基于运行时日志的网络行为异常检测是确保***安全以及事件后调查的几个关键构建模块之一。然而,由于网络***中用户网络行为的类型较多,导致日志数据的丰富度较高,需要进行异常检测的数据丰富,导致现有的网络***上,基于日志数据的网络行为异常检测的检测效率较低。
发明内容
针对现有技术中基于深度学习的网络异常检测效率较低的技术问题,本发明提供了一种基于深度学习的网络异常检测方法、装置、设备及介质。
为实现以上目的,本发明通过以下技术方案予以实现:
本发明实施例第一方面,提供一种基于深度学习的网络异常检测方法,所述方法包括:
响应接收到的初始日志数据,根据预设常量事件模板,对所述初始日志数据进行提取规则,以生成模板符序列;
根据预设滑动窗口通过设定滑动规则,对所述模板符序列进行分割,以生成目标日志序列和标签模板符,其中,所述标签模板符为所述模板符序列中所述目标日志序列之后的下一个模板符;
根据预设异常检测模型对所述目标日志序列进行检测,以生成所述目标日志序列对应的目标模板符;
在所述目标模板符与所述标签模板符不匹配的情况下,确定所述初始日志数据对应的网络行为异常。
可选地,所述预设异常检测模型,通过以下步骤生成:
获取所述预设异常检测模型的模板符训练序列,所述模板符训练序列中包括多个模板符;
根据所述预设滑动窗口通过所述设定滑动规则,对所述模板符训练序列进行分割,以生成训练日志序列和训练标签模板符,其中,所述训练标签模板符为所述模板符训练序列中所述训练日志序列之后的下一个模板符;
对所述训练日志序列进行特征提取,以生成所述训练日志序列对应的序列向量和计数向量;
根据所述序列向量、所述计数向量和所述训练标签模板符,对所述预设异常检测模型进行模型训练,以生成训练后的所述预设异常检测模型。
可选地,所述根据所述序列向量、所述计数向量和所述训练标签模板符,对所述预设异常检测模型进行模型训练,以生成训练后的所述预设异常检测模型,包括:
根据所述序列向量,生成第一目标向量,以及根据所述计数向量,生成第二目标向量;
将所述第一目标向量和所述训练标签模板符输入至所述预设异常检测模型的时间卷积神经网络模块,以生成第一隐藏向量;
将所述第二目标向量和所述训练标签模板符输入至所述预设异常检测模型的环状卷积神经网络模块,以生成第二隐藏向量;
根据所述第一隐藏向量和所述第二隐藏向量,对所述预设异常检测模型进行模型训练,以生成训练后的所述预设异常检测模型。
可选地,所述根据所述第一隐藏向量和所述第二隐藏向量,对所述预设异常检测模型进行模型训练,以生成训练后的所述预设异常检测模型,包括:
将所述第一隐藏向量和所述第二隐藏向量输入至所述预设异常检测模型的全连接神经网络模块,以生成神经网络输出结果;
将所述神经网络输出结果传输至所述预设异常检测模型的输出层,生成训练后的所述预设异常检测模型。
可选地,所述响应接收到的初始日志数据,根据预设常量事件模板,对所述初始日志数据进行提取规则,以生成模板符序列,包括:
根据所述预设常量事件模板,对所述初始日志数据进行提取规则,生成所述初始日志数据对应的事件数据库;
根据所述事件数据库在所述初始日志数据中的先后顺序,生成所述模板符序列。
可选地,所述根据预设滑动窗口通过设定滑动规则,对所述模板符序列进行分割,以生成目标日志序列和标签模板符,包括:
获取所述预设滑动窗口的窗口长度和滑动步长;
根据所述窗口长度和所述滑动步长对所述模板符序列进行分割,以生成所述目标日志序列和所述标签模板符。
可选地,所述根据预设异常检测模型对所述目标日志序列进行检测,以生成所述目标日志序列对应的目标模板符,包括:
根据所述预设异常检测模型对所述目标日志序列进行检测,确定多个初始候选模板符;
从所述多个初始候选模板符中确定概率最高的多个候选模板符,作为所述目标模板符。
本发明实施例第二方面,提供一种基于深度学习的网络异常检测装置,所述装置包括:
确定模块,用于响应接收到的初始日志数据,根据预设常量事件模板,对所述初始日志数据进行提取规则,以生成模板符序列;
第一生成模块,用于根据预设滑动窗口通过设定滑动规则,对所述模板符序列进行分割,以生成目标日志序列和标签模板符,其中,所述标签模板符为所述模板符序列中所述目标日志序列之后的下一个模板符;
第二生成模块,根据预设异常检测模型对所述目标日志序列进行检测,以生成所述目标日志序列对应的目标模板符;
执行模块,用于在所述目标模板符与所述标签模板符不匹配的情况下,确定所述初始日志数据对应的网络行为异常。
本发明实施例第三方面,提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第一方面中任一项所述基于深度学习的网络异常检测方法的步骤。
本发明实施例第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有终端应用控制程序,所述终端应用控制程序被处理器执行时实现本公开第一方面中任一项所述基于深度学习的网络异常检测方法的步骤。
本发明提供了基于深度学习的网络异常检测方法、装置、电子设备及存储介质。与现有技术相比具备以下有益效果:
通过上述方式,响应接收到的初始日志数据,根据预设常量事件模板,对所述初始日志数据进行提取规则,以生成模板符序列,根据预设滑动窗口通过设定滑动规则,对模板符序列进行分割,以生成目标日志序列和标签模板符,其中,标签模板符为模板符序列中目标日志序列之后的下一个模板符,根据预设异常检测模型对目标日志序列进行检测,以生成目标日志序列对应的目标模板符,在目标模板符与标签模板符不匹配的情况下,确定初始日志数据对应的网络行为异常。从而通过对日志数据进行解析和特征提取,根据异常检测模型确定日志数据异常,进而对网络攻击引发的网络异常行为进行检测,提升网络异常检测的效率。
附图说明
图1为根据本发明提供的一种基于深度学习的网络异常检测方法的流程图。
图2为根据本发明提供的另一种基于深度学习的网络异常检测方法的流程图。
图3为根据本发明提供的一种基于深度学习的网络异常检测装置的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为根据本发明提供的一种基于深度学习的网络异常检测方法的流程图,请参阅图1,本发明提供一种基于深度学习的网络异常检测方法,所述方法包括以下步骤。
在步骤S11中,响应接收到的初始日志数据,根据预设常量事件模板,对所述初始日志数据进行提取规则,以生成模板符序列。
示例的,本实施例应用于终端设备中,通过对用户设备产生的日志数据进行收集,从而获得初始日志数据。其中,该日志数据是一种非结构化文本,包括两部分名为事件模板的常量部分和名为日志参数的变化部分,常量部分表示记录日志数据中不会变化的量,日志参数部分表示日志数据中基于每一天的数据的不同,而记录的日志数据中会产生变化的量。示例的,日志消息“081109 203615 148INFO dfs数据节点数据包响应器:数据包应答器1对于块blk_38865049064139660终止”记录了事件“数据包应答器1对于块blk_3886509906413966终止”,其中,“数据包响应程序”、“对于”、“块”、“blk_”、“终止”是常量事件模板;“1”和“38865049064139660”为日志参数。终端设备通过对初始日志数据进行对比,从而可以确定初始日志数据中的事件模板。
示例的,本实施例中在终端设备中设置有预设常量事件模板提取规则,其中包括多个事件模板和多个模板符之间的映射关系,通过该映射关系对事件模板中的模板符进行数据提取,从而确定事件模板对应的模板符,并根据该模板符在事件模板中的排列顺序,生成事件模板对应的模板符序列。值得一提的是,本实施例中在进行模板符的提取时,根据事件模板在初始日志数据中的顺序,依次从事件模板中进行特征提取,从而生成模板符序列,其中,该模板符序列中可以包括多个模板符,各个模板符的先后顺序与事件模板在初始日志数据中的顺序保持一致。通过上述方式,将非结构化的日志数据转化为结构化的数据,示例的,可以根据事件模板生成事件模板数据库,在该模板数据库中建立事件模板与模板符之间的映射关系。
可选地,上述步骤S11,包括:
根据所述预设常量事件模板,对所述初始日志数据进行提取规则,生成所述初始日志数据对应的事件数据库;
根据所述事件数据库在所述初始日志数据中的先后顺序,生成所述模板符序列。
示例的,本实施例中日志解析的目标是从每个日志数据中提取事件模板和日志参数,并根据预设常量事件模板,确定初始日志数据中的多个事件模板,并生成事件数据库。并根据各个事件模板在初始日志数据中的先后顺序,生成初始日志数据对应的模板符序列。
在步骤S12中,根据预设滑动窗口通过设定滑动规则,对所述模板符序列进行分割,以生成目标日志序列和标签模板符。
示例的,本实施例中将模板符序列分割到预设滑动窗口中,根据该预设滑动窗口对模板符序列进行划分,生成目标日志序列和标签模板符。其中,标签模板符为模板符序列中目标日志序列之后的下一个模板符。该预设滑动窗口为活动的滑动窗口,该窗口包括预设长度,以及每次滑动的单位步长,将模板符序列分割至预设滑动窗口后,根据该窗口的预设长度和单位步长,对该模板符序列进行划分,并基于预设滑动窗口的滑动顺序,可以生成多个目标日志序列和一一对应的多个标签模板符。值得一提的是,本实施例中通过预设滑动窗口对模板符序列进行划分时,根据模板符序列的长度,以及窗口长度和单位滑动步长,可以将模板符划分为多个日志序列,示例的,当模板符序列对应的日志信息数量为6,分别为:e1,e2,e3,e4,e2,e3;预设滑动窗口对应的窗口长度为2,单位滑动步长为1时,根据预设滑动窗口,对模板符序列进行划分,生成5个目标日志序列,分别为:e1e2,e2e3,e3e4,e4e2,e2e3,并确定该5个目标日志序列对应的标签模板符分别为:e2,e3,e4,e2,e3。对于预设滑动窗口的窗口长度和单位滑动步长,可以根据实际需要进行设定,对此本实施例中不做限制。
可选地,上述步骤S12,包括:
获取所述预设滑动窗口集合的窗口长度和滑动步长;
根据所述窗口长度和所述滑动步长对所述模板符序列进行分割,以生成所述目标日志序列和所述标签模板符。
示例的,本实施例中确定该预设滑动窗口的窗口长度和滑动步长,根据该窗口长度和滑动步长对模板符序列进行分割,直至该预设滑动窗口滑动至该模板符序列的最后一个模板符上为止,从而将模板符序列分割为多个目标日志序列和多个标签模板符,可以理解的是,根据预设滑动窗口对模板符序列进行划分时,需要根据该预设滑动窗口的窗口长度和滑动步长,将模板符序列划分为多个目标日志序列,并记录模板符序列中目标日志序列的下一个模板符作为该目标日志序列对应的标签模板符。其中,目标日志序列的数量与该预设滑动窗口的窗口长度、滑动步长以及该模板符序列的长度有关。
在步骤S13中,根据预设异常检测模型对所述目标日志序列进行检测,以生成所述目标日志序列对应的目标模板符。
示例的,本实施例中通过上述步骤生成目标日志序列后,以模板符序列中目标日志序列的下一个模板符作为标签模板符,通过预设异常检测模型对该目标日志序列进行检测,从而生成该目标日志序列对应的目标模板符。其中,该目标模板符为通过预设异常检测模型对目标日志序列进行检测后,预测的在模板符序列中目标日志序列之后的下一个模板符。其中,当目标日志序列为多个时,预设异常检测模型会对多个目标日志序列的下一个模板符进行预测,从而生成多个目标日志序列一一对应的目标模板符。
可选地,在一种实施方式中,预设异常检测模型,可以通过以下步骤生成,包括:
获取所述预设异常检测模型的模板符训练序列,所述模板符训练序列中包括多个模板符;
根据所述预设滑动窗口通过所述设定滑动规则,对所述模板符训练序列进行分割,以生成训练日志序列和训练标签模板符,其中,所述训练标签模板符为所述模板符训练序列中所述训练日志序列之后的下一个模板符;
对所述训练日志序列进行特征提取,以生成所述训练日志序列对应的序列向量和计数向量;
根据所述序列向量、所述计数向量和所述训练标签模板符,对所述预设异常检测模型进行模型训练,以生成训练后的所述预设异常检测模型。
值得一提的是,本实施例中获取到预设异常检测模型的模板符训练序列后,根据该模板符训练序列对预设异常检测模型进行模型训练,其中该模板符训练序列是对训练日志数据进行处理后生成的,该训练日志数据的处理方式可以参照上述方案中初始日志数据的处理方式,对此本实施例中不再赘述。
参照上述模板符序列的分割方式,通过预设滑动窗口和设定滑动规则对模板符训练序列进行分割,生成训练日志序列和训练标签模板符,其中,模板符训练序列的分割方式可以参照上述方案中模板符序列的分割方式,对此本实施例中不再赘述。通过预设滑动窗口将模板符训练序列分割为多个训练日志序列和一一对应的多个训练标签模板符后,对训练日志序列进行特征提取,计算生成训练日志序列对应的序列向量和计数向量,其中序列向量i标识训练日志序列中各个模板符的序列,计数向量标识每个不同种类的模板符在训练日志序列中所出现的次数,将该序列向量、计数向量和训练标签模板符输入到预设异常检测模型中,对该预设异常检测模型进行训练,通过深度学习方法,建立训练日志序列与训练标签模板符之间的对应关系,从而生成训练后的预设异常检测模型,根据该训练后的预设异常检测模型对初始日志数据进行网络异常行为检测。
可选地,在另一种实施方式中,上述步骤根据所述序列向量、所述计数向量和所述训练标签模板符,对所述预设异常检测模型进行模型训练,以生成训练后的所述预设异常检测模型,包括:
根据所述序列向量,生成第一目标向量,以及根据所述计数向量,生成第二目标向量;
将所述第一目标向量和所述训练标签模板符输入至所述预设异常检测模型的时间卷积神经网络模块,以生成第一隐藏向量;
将所述第二目标向量和所述训练标签模板符输入至所述预设异常检测模型的环状卷积神经网络模块,以生成第二隐藏向量;
根据所述第一隐藏向量和所述第二隐藏向量,对所述预设异常检测模型进行模型训练,以生成训练后的所述预设异常检测模型。
示例的,本实施例中在预设滑动窗口进行划动生成训练日志序列时,将模板符训练序列中训练日志序列的下一个模板符记录下来,作为标签来训练预设异常检测模型,也即通过训练日志序列和训练标签模板符来对预设异常检测模型进行训练,通过上述步骤根据训练日志序列生成对应的序列向量和计数向量后,根据训练日志序列,将序列向量转化为第一目标向量:
st=[mt-h,mt-h+1,...,mt-1]
其中,mi表示时间戳i处的模板符的值,h为预设滑动窗口的窗口长度;
通过以下方式标识各个训练日志序列n个不同的模板符的集合(其中,mi∈En):
En={e1,e2,...,en}
根据各个训练日志序列中各个模板符en在该训练日志序列中所出现的次数,生成该训练日志序列对应的计数向量,其中该计数向量可以表示为:
pt=[count(e1),count(e2),...,count(en)]
其中,count(ei)表示训练日志序列中模板符ei出现的次数,例如,给定训练日志序列为:[1,2,3],通过比对设定模板符的对应关系,根据该训练日志序列可以确定训练日志序列的序列向量为st=[e1,e2,e1],根据序列向量中各个模板符ei出现的次数,确定对应的计数向量为:pt=[2,1,0,0,0],其中n=5。
将序列向量st和计数向量pt分别输入到预设异常检测模型的TCN模块和ACNN模块中,以学习隐藏表示,并连接该TCN模块和ACNN模块,将该TCN模块和ACNN模块的输出结果提供给预设异常检测模型的MLP模块中,该MLP模块由两个完全连接的TCN模块和ACNN模块组成,示例的:
h1=TCN(st)
h2=ACNN(pt)
τ=MLP(h1;h2)
其中,h1为第一隐藏向量和h2为第二隐藏向量,τ表示MLP模块的输出,然后将τ转发到预设异常检测模型的输出层,并基于该输出层的τ对预设异常检测模型进行模型训练,从而生成训练后的预设异常检测模型,需要说明的是,本实施例中训练后生成的预设异常检测模型用于根据日志序列,对模板符序列中日志序列之后的标签模板符进行检测,并将生成的目标模板符与模板符序列中日志序列之后的标签模板符进行对比,当该目标模板符与标签模板符匹配时,则确定该初始日志数据中不存在网络异常行为,当该目标模板符与标签模板符不匹配时,则确定该初始日志数据中存在网络异常行为。
可选地,在另一种实施方式中,上述步骤根据所述第一隐藏向量和所述第二隐藏向量,对所述预设异常检测模型进行模型训练,以生成训练后的所述预设异常检测模型,包括:
将所述第一隐藏向量和所述第二隐藏向量输入至所述预设异常检测模型的全连接神经网络模块,以生成神经网络输出结果;
将所述神经网络输出结果传输至所述预设异常检测模型的输出层,并基于所述输出层训练所述预设异常检测模型,以生成训练后的所述预设异常检测模型。
示例的,本实施例中通过上述步骤生成第一隐藏向量h1和第二隐藏向量h2之后,通过预设异常检测模型的全连接神经网络模块,也即MLP模块对h1和h2进行融合,生成神经网络输出结果τ,然后将该τ转发到预设异常检测模型的输出层,并基于该输出层的τ对预设异常检测模型进行模型训练,建立从而训练日志序列和训练标签模板符之间的对应关系,生成训练后的预设异常检测模型。
可选地,上述步骤S13,包括:
根据所述预设异常检测模型对所述目标日志序列进行检测,确定多个初始候选模板符;
从所述多个初始候选模板符中确定概率最高的多个候选模板符,作为所述目标模板符。
示例的,本实施例中通过预设异常检测模型对目标日志序列进行检测,以确定该目标日志序列中对应的多个初始候选模板符,其中该多个初始候选模板符,为模板符序列中目标日志序列之后可能会出现的标签模板符。根据该多个初始候选模板符出现的次数,对该多个初始候选模板符进行排序,其中,模板符出现的次数越多,对应的概率越高,相应的排序更靠前,将该顺序中出现次数最多的多个候选模板符,作为目标模板符。示例的,确定候选模板符的提取数量为3,根据排序获得候选模板符的概率顺序后,提取前3个出现概率最高的候选模板符,作为目标模板符。
在步骤S14中,在所述目标模板符与所述标签模板符不匹配的情况下,确定所述初始日志数据对应的网络行为异常。
示例的,本实施例中将通过预设异常检测模型生成的目标模板符与模板符序列中目标日志序列对应的下一个模板符(标签模板符)进行比较,在确定该标签模板符和目标模板符不匹配,即通过预设异常检测模型生成的目标模板符不是模板符序列中目标日志序列对应的下一个模板符时,则确定该初始日志数据对应的网络行为异常。
通过上述方案,响应接收到的初始日志数据,对初始日志数据进行日志解析,以确定初始日志数据中的事件模板,根据预设常量事件模板提取规则,对事件模板进行特征提取,以生成模板符序列,根据预设滑动窗口通过设定滑动规则,对模板符序列进行分割,以生成目标日志序列和标签模板符,其中,标签模板符为模板符序列中目标日志序列之后的下一个模板符,根据预设异常检测模型对目标日志序列进行检测,以生成目标日志序列对应的目标模板符,在目标模板符与标签模板符不匹配的情况下,确定初始日志数据对应的网络行为异常。从而通过对日志数据进行解析和特征提取,根据异常检测模型确定日志数据异常,进而对网络攻击引发的网络异常行为进行检测,提升网络异常检测的效率。
图2为根据本发明提供的另一种基于深度学习的网络异常检测方法的流程图,如图2所示,该基于深度学习的网络异常检测方法包括:
(1)日志解析:日志消息是一种非结构化文本,包括两部分名为事件模板的常量部分和名为日志参数的变化部分。日志解析的目标是从每个日志消息中提取事件模板和日志参数,并创建一个字典,将每个事件模板映射到一个唯一的模板符。通过这种方式,非结构化的日志消息将被转换为结构化的数据。图2显示了解析HDFS日志的示例。例如,日志消息“081109 203615 148INFO dfs数据节点数据包响应器:数据包应答器1对于块blk_38865049064139660终止”记录了事件“数据包应答器1对于块blk_3886509906413966终止”,其中单词“数据包响应程序”、“对于”、“块”、“blk_”、“终止”是常量事件模板,提取为“数据包响应程序<*>对于块blk_<*>终止”。请注意,其中,<*>表示日志参数,即“1”和“38865049064139660”。
(2)特征提取:特征提取的目的是将结构化的日志数据转换为数值向量。首先将日志数据分割到一个滑动窗口的集合中。在该滑动窗口的集合中,将位于同一窗口上的日志消息构成了一个日志序列。如图2所示,若日志消息系列为[1,2,3,4,5],窗口大小设置为3,步长设置为1,我们可以得到三个日志序列,[1,2,3]、[,3,4]和[,4,5]。进一步,根据每个导出的日志序列计算两个向量,序列向量表示日志序列中模板符的序列,计数向量表示每个模板符在日志序列中所出现的次数。此外,将每个窗口的下一个模板符记录下来,作为标签来训练异常检测模型。具体地说,给定一个日志序列,将序列向量表示为:
st=[mt-h,mt-h+1,...,mt-1]
其中,mi表示时间戳i处的模板符的值,h为预设滑动窗口集合的窗口大小;
通过以下方式标识日志数据集中n个不同的模板符的集合(其中,mi∈En):
En={e1,e2,...,en}
将计数向量表示为:
pt=[count(e1),count(e2),...,count(en)]
其中,count(ei)表示日志序列中每个模板符出现的次数,例如,给定日志序列[1,2,3],根据该日志序列可以确定st=[e1,e2,e3]和pt=[2,1,0,0,0],其中n=5。
将序列向量St和计数向量pt分别输入到预设异常检测模型的TCN模块和ACNN模块中,以学习隐藏表示,并连接该TCN模块和ACNN模块,将该TCN模块和ACNN模块的输出结果提供给预设异常检测模型的MLP模块中,该MLP模块由两个完全连接的TCN模块和ACNN模块组成,示例的:
h1=TCN(st)
h2=ACNN(pt)
τ=MLP(h1;h2)
其中,h1和h2为隐藏向量,τ表示MLP模块的输出,然后将τ转发到预设异常检测模型的输出层,给定过去的窗口W,得到mt的概率分布,并通过:
P(mt=ei|w)=softmax(τ)
在训练时,计算了P(mt=ei|w)的交叉熵损失和特征提取部分得到的标签。并使用SGD来训练TCN-ACNN模型的参数。在推理时,对P(mt=ei|w)进行排序,并选择ei中概率最高的前c个模板符作为多个候选模板符。
(3)异常检测:异常检测侧重于识别与正常观测值有显著差异的数据模式。基于日志的异常检测的目的是揭示集体异常,即出现在序列中的异常日志事件。预测相对于历史日志序列的日志消息。具体来说,如果传入的日志消息的模板符与预测的模板符不同,则包含该日志消息的日志序列将被认为是异常的
图3为根据本发明提供的一种基于深度学习的网络异常检测装置的框图,如图3所示,该装置100,包括:确定模块110、第一生成模块120、第二生成模块130和执行模块140。
确定模块110,用于响应接收到的初始日志数据,根据预设常量事件模板,对所述初始日志数据进行提取规则,以生成模板符序列;
第一生成模块120,用于根据预设滑动窗口通过设定滑动规则,对所述模板符序列进行分割,以生成目标日志序列和标签模板符,其中,所述标签模板符为所述模板符序列中所述目标日志序列之后的下一个模板符;
第二生成模块130,用于根据预设异常检测模型对所述目标日志序列进行检测,以生成所述目标日志序列对应的目标模板符;
执行模块140,用于在所述目标模板符与所述标签模板符不匹配的情况下,确定所述初始日志数据对应的网络行为异常。
可选地,所述预设异常检测模型,通过以下步骤生成:
获取所述预设异常检测模型的模板符训练序列,所述模板符训练序列中包括多个模板符;
根据所述预设滑动窗口通过所述设定滑动规则,对所述模板符训练序列进行分割,以生成训练日志序列和训练标签模板符,其中,所述训练标签模板符为所述模板符训练序列中所述训练日志序列之后的下一个模板符;
对所述训练日志序列进行特征提取,以生成所述训练日志序列对应的序列向量和计数向量;
根据所述序列向量、所述计数向量和所述训练标签模板符,对所述预设异常检测模型进行模型训练,以生成训练后的所述预设异常检测模型。
可选地,所述根据所述序列向量、所述计数向量和所述训练标签模板符,对所述预设异常检测模型进行模型训练,以生成训练后的所述预设异常检测模型,包括:
根据所述序列向量,生成第一目标向量,以及根据所述计数向量,生成第二目标向量;
将所述第一目标向量和所述训练标签模板符输入至所述预设异常检测模型的时间卷积神经网络模块,以生成第一隐藏向量;
将所述第二目标向量和所述训练标签模板符输入至所述预设异常检测模型的环状卷积神经网络模块,以生成第二隐藏向量;
根据所述第一隐藏向量和所述第二隐藏向量,对所述预设异常检测模型进行模型训练,以生成训练后的所述预设异常检测模型。
可选地,所述根据所述第一隐藏向量和所述第二隐藏向量,对所述预设异常检测模型进行模型训练,以生成训练后的所述预设异常检测模型,包括:
将所述第一隐藏向量和所述第二隐藏向量输入至所述预设异常检测模型的全连接神经网络模块,以生成神经网络输出结果;
将所述神经网络输出结果传输至所述预设异常检测模型的输出层,并基于所述输出层训练所述预设异常检测模型,以生成训练后的所述预设异常检测模型。
可选地,该确定模块110,用于:
根据所述事件模板,生成事件数据库;
根据所述预设常量事件模板提取规则,提取所述事件数据库中的模板符,以生成所述模板符序列。
可选地,该第一生成模块120,用于:
获取所述预设滑动窗口的窗口长度和滑动步长;
根据所述窗口长度和所述滑动步长对所述模板符序列进行分割,以生成所述目标日志序列和所述标签模板符。
可选地,该第二生成模块130,用于:
根据所述预设异常检测模型对所述目标日志序列进行检测,确定多个初始候选模板符;
从所述多个初始候选模板符中确定概率最高的多个候选模板符,作为所述目标模板符。
通过上述方式,响应接收到的初始日志数据,根据预设常量事件模板,对所述初始日志数据进行提取规则,以生成模板符序列,根据预设滑动窗口通过设定滑动规则,对模板符序列进行分割,以生成目标日志序列和标签模板符,其中,标签模板符为模板符序列中目标日志序列之后的下一个模板符,根据预设异常检测模型对目标日志序列进行检测,以生成目标日志序列对应的目标模板符,在目标模板符与标签模板符不匹配的情况下,确定初始日志数据对应的网络行为异常。从而通过在终端设备中对日志数据进行解析和特征提取,并根据异常检测模型确定日志数据的异常,提升了数据异常检测的效率。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的基于深度学习的网络异常检测方法的代码部分。
在另一示例性实施例中,还提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以上述的基于深度学习的网络异常检测方法的步骤。
以上述依据本申请的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项申请技术思想的范围内,进行多样的变更以及修改。本项申请的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (10)
1.一种基于深度学习的网络异常检测方法,其特征在于,所述方法包括:
响应接收到的初始日志数据,根据预设常量事件模板,对所述初始日志数据进行提取规则,以生成模板符序列;
根据预设滑动窗口通过设定滑动规则,对所述模板符序列进行分割,以生成目标日志序列和标签模板符,其中,所述标签模板符为所述模板符序列中所述目标日志序列之后的下一个模板符;
根据预设异常检测模型对所述目标日志序列进行检测,以生成所述目标日志序列对应的目标模板符;
在所述目标模板符与所述标签模板符不匹配的情况下,确定所述初始日志数据对应的网络行为异常。
2.根据权利要求1所述的方法,其特征在于,所述预设异常检测模型,通过以下步骤生成:
获取所述预设异常检测模型的模板符训练序列,所述模板符训练序列中包括多个模板符;
根据所述预设滑动窗口通过所述设定滑动规则,对所述模板符训练序列进行分割,以生成训练日志序列和训练标签模板符,其中,所述训练标签模板符为所述模板符训练序列中所述训练日志序列之后的下一个模板符;
对所述训练日志序列进行特征提取,以生成所述训练日志序列对应的序列向量和计数向量;
根据所述序列向量、所述计数向量和所述训练标签模板符,对所述预设异常检测模型进行模型训练,以生成训练后的所述预设异常检测模型。
3.根据权利要求2所述的方法,其特征在于,所述根据所述序列向量、所述计数向量和所述训练标签模板符,对所述预设异常检测模型进行模型训练,以生成训练后的所述预设异常检测模型,包括:
根据所述序列向量,生成第一目标向量,以及根据所述计数向量,生成第二目标向量;
将所述第一目标向量和所述训练标签模板符输入至所述预设异常检测模型的时间卷积神经网络模块,以生成第一隐藏向量;
将所述第二目标向量和所述训练标签模板符输入至所述预设异常检测模型的环状卷积神经网络模块,以生成第二隐藏向量;
根据所述第一隐藏向量和所述第二隐藏向量,对所述预设异常检测模型进行模型训练,以生成训练后的所述预设异常检测模型。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一隐藏向量和所述第二隐藏向量,对所述预设异常检测模型进行模型训练,以生成训练后的所述预设异常检测模型,包括:
将所述第一隐藏向量和所述第二隐藏向量输入至所述预设异常检测模型的全连接神经网络模块,以生成神经网络输出结果;
将所述神经网络输出结果传输至所述预设异常检测模型的输出层,生成训练后的所述预设异常检测模型。
5.根据权利要求1所述的方法,其特征在于,所述响应接收到的初始日志数据,根据预设常量事件模板,对所述初始日志数据进行提取规则,以生成模板符序列,包括:
根据所述预设常量事件模板,对所述初始日志数据进行提取规则,生成所述初始日志数据对应的事件数据库;
根据所述事件数据库在所述初始日志数据中的先后顺序,生成所述模板符序列。
6.根据权利要求1所述的方法,其特征在于,所述根据预设滑动窗口通过设定滑动规则,对所述模板符序列进行分割,以生成目标日志序列和标签模板符,包括:
获取所述预设滑动窗口的窗口长度和滑动步长;
根据所述窗口长度和所述滑动步长对所述模板符序列进行分割,以生成所述目标日志序列和所述标签模板符。
7.根据权利要求1所述的方法,其特征在于,所述根据预设异常检测模型对所述目标日志序列进行检测,以生成所述目标日志序列对应的目标模板符,包括:
根据所述预设异常检测模型对所述目标日志序列进行检测,确定多个初始候选模板符;
从所述多个初始候选模板符中确定概率最高的多个候选模板符,作为所述目标模板符。
8.一种基于深度学习的网络异常检测装置,其特征在于,所述装置包括:
确定模块,用于响应接收到的初始日志数据,根据预设常量事件模板,对所述初始日志数据进行提取规则,以生成模板符序列;
第一生成模块,用于根据预设滑动窗口通过设定滑动规则,对所述模板符序列进行分割,以生成目标日志序列和标签模板符,其中,所述标签模板符为所述模板符序列中所述目标日志序列之后的下一个模板符;
第二生成模块,根据预设异常检测模型对所述目标日志序列进行检测,以生成所述目标日志序列对应的目标模板符;
执行模块,用于在所述目标模板符与所述标签模板符不匹配的情况下,确定所述初始日志数据对应的网络行为异常。
9.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-7中任一项所述基于深度学习的网络异常检测方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有终端应用控制程序,所述终端应用控制程序被处理器执行时实现权利要求1-7中任一项所述基于深度学习的网络异常检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310207251.6A CN116366303A (zh) | 2023-03-06 | 2023-03-06 | 基于深度学习的网络异常检测方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310207251.6A CN116366303A (zh) | 2023-03-06 | 2023-03-06 | 基于深度学习的网络异常检测方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116366303A true CN116366303A (zh) | 2023-06-30 |
Family
ID=86911565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310207251.6A Pending CN116366303A (zh) | 2023-03-06 | 2023-03-06 | 基于深度学习的网络异常检测方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116366303A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117395071A (zh) * | 2023-11-16 | 2024-01-12 | 南方电网数字电网集团信息通信科技有限公司 | 一种异常检测方法、装置、设备及存储介质 |
-
2023
- 2023-03-06 CN CN202310207251.6A patent/CN116366303A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117395071A (zh) * | 2023-11-16 | 2024-01-12 | 南方电网数字电网集团信息通信科技有限公司 | 一种异常检测方法、装置、设备及存储介质 |
CN117395071B (zh) * | 2023-11-16 | 2024-05-14 | 南方电网数字电网集团信息通信科技有限公司 | 一种异常检测方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240028571A1 (en) | Automatic entity resolution with rules detection and generation system | |
CN108737406B (zh) | 一种异常流量数据的检测方法及*** | |
US20170063893A1 (en) | Learning detector of malicious network traffic from weak labels | |
CN111600919B (zh) | 智能网络应用防护***模型的构建方法和装置 | |
CN109831460B (zh) | 一种基于协同训练的Web攻击检测方法 | |
Karimi et al. | End-to-end compromised account detection | |
CN112966088B (zh) | 未知意图的识别方法、装置、设备及存储介质 | |
CN112199670A (zh) | 一种基于深度学习改进iforest对行为异常检测的日志监控方法 | |
CN116366303A (zh) | 基于深度学习的网络异常检测方法、装置、设备及介质 | |
CN116318830A (zh) | 一种基于生成对抗网络的日志入侵检测*** | |
CN110674370A (zh) | 域名识别方法及装置、存储介质及电子设备 | |
Tsai et al. | Toward more generalized malicious url detection models | |
CN112052453A (zh) | 基于Relief算法的webshell检测方法及装置 | |
CN110414229B (zh) | 操作命令检测方法、装置、计算机设备及存储介质 | |
Sujana et al. | Temporal based network packet anomaly detection using machine learning | |
CN111291078A (zh) | 一种域名匹配检测方法及装置 | |
CN116232708A (zh) | 一种基于文本型威胁情报的攻击链构建与攻击溯源方法和*** | |
CN113360899B (zh) | 一种机器行为的识别方法及*** | |
CN115859191A (zh) | 故障诊断方法、装置、计算机可读存储介质及计算机设备 | |
CN112883703B (zh) | 一种识别关联文本的方法、装置、电子设备及存储介质 | |
Nandakumar et al. | A Novel Approach to User Agent String Parsing for Vulnerability Analysis Using Multi-Headed Attention | |
Khatun et al. | An Approach to Detect Phishing Websites with Features Selection Method and Ensemble Learning | |
JP2021022264A (ja) | テキストデータ解析システム、テキストデータ解析方法、および故障対応リコメンドシステム | |
Schwenk et al. | Classification of structured validation data using stateless and stateful features | |
CN113347021B (zh) | 一种模型生成方法、撞库检测方法、装置、电子设备及计算机可读存储介质 |
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 |