CN112905421B - 基于注意力机制的lstm网络的容器异常行为检测方法 - Google Patents
基于注意力机制的lstm网络的容器异常行为检测方法 Download PDFInfo
- Publication number
- CN112905421B CN112905421B CN202110288077.3A CN202110288077A CN112905421B CN 112905421 B CN112905421 B CN 112905421B CN 202110288077 A CN202110288077 A CN 202110288077A CN 112905421 B CN112905421 B CN 112905421B
- Authority
- CN
- China
- Prior art keywords
- container
- log
- attention
- sequence
- lstm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 67
- 230000007246 mechanism Effects 0.000 title claims abstract description 44
- 206010000117 Abnormal behaviour Diseases 0.000 title claims abstract description 18
- 238000000034 method Methods 0.000 claims abstract description 60
- 238000012544 monitoring process Methods 0.000 claims abstract description 23
- 230000005856 abnormality Effects 0.000 claims abstract description 18
- 230000002159 abnormal effect Effects 0.000 claims abstract description 16
- 230000015654 memory Effects 0.000 claims abstract description 12
- 238000013145 classification model Methods 0.000 claims abstract description 11
- 239000013598 vector Substances 0.000 claims description 39
- 230000008569 process Effects 0.000 claims description 27
- 238000012549 training Methods 0.000 claims description 17
- 238000013528 artificial neural network Methods 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 9
- 239000011159 matrix material Substances 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 7
- 238000000605 extraction Methods 0.000 claims description 7
- 238000003062 neural network model Methods 0.000 claims description 7
- 238000013135 deep learning Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 3
- 239000003795 chemical substances by application Substances 0.000 claims description 3
- 238000005315 distribution function Methods 0.000 claims description 3
- 238000011156 evaluation Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 238000007781 pre-processing Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 230000011218 segmentation Effects 0.000 claims description 3
- 238000012360 testing method Methods 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 230000006399 behavior Effects 0.000 abstract description 16
- 238000005516 engineering process Methods 0.000 abstract description 15
- 230000000694 effects Effects 0.000 abstract description 3
- 238000011160 research Methods 0.000 description 5
- 238000007796 conventional method Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007787 long-term memory Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
-
- 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/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- 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/044—Recurrent networks, e.g. Hopfield 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 Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于注意力机制的LSTM网络的容器异常行为检测方法,包括以下步骤:步骤一:监控数据的获取,从代理服务接收监视容器运行时的日志数据;步骤二:对容器日志进行解析;步骤三:提取用于异常分类模型的特征;步骤四:将步骤三中提取的数据作为输入构造带注意力机制的长短期记忆性网络的异常分类模型;步骤五:对容器进行异常检测。本方法采用的基于注意力机制的容器异常检测方法,属于基于主机的容器安全入侵检测技术,不仅能够有效提高容器异常检测效率,而且对特定容器恶意行为的入侵检测有显著效果。
Description
技术领域
本发明涉及一种应用于云计算容器入侵检测的方法,尤其涉及基于注意力机制的LSTM网络的容器异常行为检测方法,属于信息安全领域。
背景技术
云容器技术尤其在最近几年内发展十分迅速。介于传统分配计算资源的进程和虚拟机技术之间,新兴理念“容器”是一类轻量化且高度隔离的虚拟化进程,由于是在特定操作系统内核上直接分配存储资源,它可以允许更加便携的资源部署与快捷的应用执行。容器技术正在成为云计算中主流实现技术,而这类基于云计算的容器技术,不仅可以实现跨平台、更高的资源利用率、应用资源的积累,并正在实现标准化交付、应用微服务化、敏捷开发快速上线(DevOps)等实际功能,具有十分广阔的应用前景。而另一方面,处于发展初期的云容器在实际应用过程中存在着诸多问题,其中安全问题尤为急迫。最大的安全问题主要来源于容器本身独特的短暂性——超过50%的容器只有少于5分钟的寿命,其安全工具和程序需要相较于以往针对永久性应用程序的安全软件具备更高的可见性,因此目前还较为匮乏。再者,基底容器影像通常没有访问加密,默认设置为具有root权限(以方便使用者安装),而这样不仅会引发在容器运行时的入侵攻击,更有可能在被入侵后进行特权提升,造成不可预计的后果。因此,容器的脆弱性,恶意攻击以及安全防御方案成为当下容器研究的热点。
传统的安全检测技术无论在安全检测体系架构还是在入侵检测算法上,许多研究机构和研究人员都取得了相当大的进展,呈现出多样化的发展,分布式检测系统取代了单机系统,融合了多种智能算法的综合方法取代了最初的匹配算法。通过与传统的安全检测技术相比,云环境独有的虚拟化、分布式和超大规模等待点为入侵检测提出了更高的要求和挑战。以前惯用的检测手段和方法面对当前更具伪装性和毁灭性的多种威胁逐渐变得无能为力。研究适应于云计算环境的有效安全防护成为云计算安全领域研究者亟需解决的一个问题。目前,围绕云计算入侵检测研究的工作还不是很多,迫切需要开展云计算入侵检测工作,以实现安全可信的云计算环境。
目前针对容器的异常检测有网络异常检测和主机异常检测两个方向。
其中,网络异常检测的方式通过对容器与外界的网络流量交互信息识别容器中的异常,比如容器中网络流量中的目的地址,网络协议类型、服务状态码和网络流量大小信息等。该方式的异常检测系统关注云主机与外部系统的交互,主要为了防止网络攻击对云主机的服务造成影响。比如通过云主机的网络流量信息识别异常,其采用KDDCUP数据集训练模型,完成异常识别的功能。
而主机异常检测的方式通过对容器的监控来识别容器中发生的异常或者通过序列信息发现容器的异常行为,前者该方式的异常检测系统一般位于运行容器的物理机中,通过对容器的资源性能指标进行监控,以方便准确快速的监控容器的运行情况,一旦超过某个既定阈值则被判定为异常。通常这种方式用来实施云平台环境的系统监测,但不能及时检测出容器的入侵行为。现有专利提出一种容器异常监测方法及监测系统,可以用来监测各个容器的资源情况。具体实现通过代理服务定期收集各个容器的运行状态信息,获取优先级最高的容器检测数据,利用孤立森林算法获取容器对资源的偏向程度权重特征,进而能够根据容器的资源偏向情况来动态调整容器异常检测过程中的权重系数,达到异常检测的目的。
对于采用序列信息的容器主机的异常检测方法来说,主要目的是能够检测出容器中由于遭受到恶意攻击等入侵行为。这些恶意行为通常可以通过容器日志或者容器进程的序列信息中体现出来。一个重要的表征是容器的系统调用特征选取的是否合适。传统的系统调用特征提取方法有两类。第一类是抽取系统调用子序列作为特征,一般有两种方法,固定长度的系统调用序列和变长的系统调用序列;第二类是使用系统调用序列的频率作为特征。
Abed等人提出使用系统调用来检测容器环境中的恶意应用程序,使用基于频率的方法,每个系统调用序列都被维护为一个n-gram,以考虑系统调用发生的比例,同时考虑系统调用发生的顺序。Siddharth Srinivasan提出了一种概率实时入侵检测n-gram入侵检测方法,使用strace实用程序获得实时的系统调用,系统调用的每个序列都以n-gram的形式维护,而不是考虑系统调用发生的比例,同时还要牢记系统调用发生的顺序。通过生成n个语法分析的系统调用,并继续计算这些n-gram出现的概率。这些计算的概率用于累积该次监视容器会话的总体相对n-gram概率。但存在有效序列被错误拆分不同子序列的可能,降低检测效率。
近年来,神经网络开始用于容器异常检测中,对比上述的传统方法的容器异常检测技术,基于深度学习算法的容器异常检测技术具有如下优点:1.不需要人工设计特征信息,采用神经网络可以自动提取容器系统调用序列特征,大大减少人工干预度;2.神经网络学习到的特征是最有效的特征信息,能够提高检测效率;3.尽管训练模型的时间较长,但是训练好的模型在推理时所需的时间较短,推广快。
然而,有关神经网络的容器异常检测技术的研究刚刚开始,现有专利提出了一种容器内进程异常行为检测方法与系统,该方案针对容器内进程异常问题,通过无代理服务采集进程序列信息,采用长短时记忆(LSTM)网络模型,有效的检出容器内进程的异常行为。
基于传统的容器异常检测技术的基本思路分为三个步骤,容器进程信息的提取,容器系统调用序列特征的提取,异常行为的检测。正如步骤所示,基于传统方法的容器进程行为的异常检测技术通常包含上述的三个步骤,基于传统方法容器进程行为的异常检测技术可以检测出容器异常行为,改进的思路通常在容器进程特征的提取上来实现,但对于任何进程特征不一致的行为,都有可能被系统判定为异常行为。且传统方法人工介入干预较多,适用于进程数目较少的容器环境,实际应用场景较少。
基于神经网络算法的容器异常检测技术的基本思路分为三个步骤,数据采集模块、数据建模模块和异常检测模块。通常使用系统调用序列来获取容器进程的行为特征,改进的思路通常可通过更换神经网络模型来实现。如图1所示。
但对于普通模型的神经网络容器异常检测技术而言,由于循环神经网络解码器-编码器的结构限制,无法提取变长序列的容器异常序列特征。如一系列长短期记忆网络(LSTM)学习将输入序列编码为固定长度的内部表征,而对于异常检测来说,定长序列的特征限制大大影响了容器异常检测效率。
发明内容
为了解决上述技术所存在的不足之处,本发明针对已有的深度学习网络模型,提供了基于注意力机制的LSTM网络的容器异常行为检测方法,通过在网络中增加注意力机制模块,形成基于LSTM注意力机制融合网络,有效解决了神经网络模型在容器异常检测中固定序列长度特征的问题,提高容器异常的检测性能,并能降低误报率。
为了解决以上技术问题,本发明采用的技术方案是:基于注意力机制的LSTM网络的容器异常行为检测方法,包括以下步骤:
步骤一:监控数据的获取,从代理服务接收监视容器运行时的日志数据;
步骤二:对容器日志进行解析;
步骤三:提取用于异常分类模型的特征;
步骤四:将步骤三中提取的数据作为输入构造带注意力机制的长短期记忆性网络的异常分类模型;
步骤五:对容器进行异常检测。
进一步地,步骤一的具体过程为:使用代理服务作为监视日志收集,代理服务用于从基于Docker的容器收集监视日志,还可用于监视给定容器的所有事件,也可根据需求设置自定义规则来定义容器中发生的特定事件,有助于后续容器的特定异常行为的智能检测。
进一步地,步骤二的具体过程为:获取容器的日志数据后进行日志解析,即将日志中的日志序列键和日志参数,将两者分离开,将日志解析成结构化;当读取新的日志条目之后,遍历日志对象列表,寻找该日志与所有日志对象的最大公共子序列,如果子序列的长度大于日志序列长度的一半,则认为该日志与日志序列键匹配。
进一步地,步骤三的具体过程为:将步骤二中解析完成后得到的结构化日志特征化为数字形式的特征向量,特征提取的过程就是字符串中转换为可量化的数字,从而构造矩阵作为特征向量,首先提取容器日志所有的参数列表进行参数预处理,由于标点符号和特殊字符不作为参数异常的评判标准,会影响字符的准确性,去除所有的标点符号和特殊字符;然后将所有的参数字符串进行去重,使用深度学习库的text.Tokenizer模块对字符串进行处理,使用分词器方法fit_on_texts方法学习出文本的字典,即对应的单词和数字的映射关系,统计参数值的词频等信息;再使用text.Tokenizer模块的texts_to_sequences函数将参数文本转化为数字,将不同长度的序列使用0补齐为同样长度。
进一步地,步骤四的具体过程为:在正常的日志信息特征提取后,输入神经网络模型进行训练,构建一个神经网络预测模型,并在LSTM块中加入注意力机制,重复的Attention-LSTM模块组成整个架构,即每一个Attention-LSTM模块都会记录一个状态,作为一个固定维度的向量,来自上一个时间步的Attention-LSTM模块的状态和其外部输入会一起作为下一个Attention-LSTM模块的输入,用来计算新的状态和输出,这种方式保证了日志序列中日志信息能够传递到下一个Attention-LSTM模块中,每个模块的注意力机制根据通过长短时记忆网络编码器对输入序列每一步的中间输出结果,将权重进行加权求和得到注意力权重,使序列的最终输出产生所需的标签,并随训练数据集中的输入一起输出。
进一步地,步骤四中引入注意力机制的具体算法为:先将编码器生成的源文本的隐层序列(h1,...,hn)和上一时间步的解码器隐层向量st-1进行匹配,计算隐层序列的权重分布(at1,...,atn);之后将隐层序列hi和对应的权重分布ati进行加权求和得到带注意力的语义向量ct;解码器在每个时间步根据动态变化的语义向量逐个生成预测序列,输出为
其中,是解码器在t时刻真正的隐层的输出,也是下一个时刻t+1时刻的隐层输入之一,ht是t时刻初始隐层输出,ct是t时刻带注意力的语义向量,Wc是状态c时的参数矩阵。
进一步地,步骤四中注意力向量ct的具体计算步骤如下:
I、根据输入日志序列查询和该日志序列键计算权重系数,即根据日志序列和每个日志序列键计算两者的相似性或者相关性,记为注意力得分ets;
ets=s core(ht,hs)=ht TWhs
其中,W为可学习的参数矩阵,hs为其中编码器的一个隐层状态,ht是在t时刻解码器隐层的输出;
II、引入Softmax的计算方式对步骤I中的原始分值进行归一化处理,即将原始计算分值整理成所有元素权重之和为1的概率分布,同时突出机制内更加重要元素的权重,也是该日志序列数值对应的权重系数;
III、进行加权求和得到注意力向量ct,
ct=∑sat(s)*Vi其中,v代表参数向量;s代表解码器隐层向量;
在训练过程中,每个输入和输出利用梯度下降法找到最小损失来更新这些参数权重;输入层使用日志编码为onehot向量形式,输出层利用将输出转换为一个概率分布函数,使用交叉熵计算理论输出序列和模型预测输出序列的损失值L,其定义式如下:
N表示训练样本的总数量;M表示样本类别的数量;yic为示性变量,表示类别c和样本i的真实类别相同时为1,否则为0;pic表示对于训练样本i属于类别c的预测概率。
进一步地,步骤五的具体过程为:读取容器实时采集的日志数据,将测试样本输入到上述异常分类模型中,当模型预测日志序列键和实际日志序列键出现较大差异超过既定阈值时,则判定该容器发生了异常,否则判定当前容器正常。
本发明采用了基于注意力机制的长短时记忆网络,将一系列数据经过处理后,送入长短时记忆网络提取特征,结合注意力机制生成注意力图,对序列数据进行加权,使得模型能够关注到应该关注的区域,模型根据学习到的特征的输出数据与真实数据进行比对是否超出阈值,从而实现对容器恶意行为的检测过程。
本发明基于LSTM-注意力机制的容器异常检测方法,引入注意力机制,可以提取容器异常行为的不定长序列特征,有很大的提升空间,能够有效提升容器运行时的异常检测率,并能降低误报率,扩大了容器入侵检测的应用场景。本方法采用的基于注意力机制的容器异常检测方法,属于基于主机的容器安全入侵检测技术,不仅能够有效提高容器异常检测效率,而且对特定容器恶意行为的入侵检测有显著效果。
与现有技术相比,本发明具有以下优点:
1)提高容器的异常分类的检测效率:采取增加了注意力机制的神经网络模型,优化了网络结构,提高容器行为异常的检测效率;
2)扩大容器云异常检测的适用性:适用于所有云计算环境中容器入侵异常检测的情景,如容器逃逸行为,容器非法资源占用行为等。
附图说明
图1为现有方法的神经网络容器异常检测系统的结构示意图。
图2为本发明的整体结构示意图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细的说明。
如图2所示的一种基于注意力机制的LSTM网络的容器异常行为检测方法,包括以下步骤:
步骤一:监控数据的获取,从代理服务接收监视容器运行时的日志数据;
使用代理服务作为监视日志收集,代理服务用于从基于Docker(应用容器引擎)的容器收集监视日志,还可用于监视给定容器的所有事件,也可根据需求设置自定义规则来定义容器中发生的特定事件,有助于后续容器的特定异常行为的智能检测。
步骤二:对容器日志进行解析;获取容器的日志数据后进行日志解析,即将日志中的日志序列键(key)和日志参数(value),将两者分离开,将日志解析成结构化;当读取新的日志条目之后,遍历日志对象列表,寻找该日志与所有日志对象的最大公共子序列,如果子序列的长度大于日志序列长度的一半,则认为该日志与日志序列键匹配。
步骤三:提取用于异常分类模型的特征;在容器日志解析完成后,得到系统的结构化日志,但此时日志仍然是字符串,无法直接作为深度学习模型的输入,所以将其特征化为数字形式的特征向量;
将步骤二中解析完成后得到的结构化日志特征化为数字形式的特征向量,特征提取的过程就是字符串中转换为可量化的数字,从而构造矩阵作为特征向量,首先提取容器日志所有的参数列表进行参数预处理,由于标点符号和特殊字符不作为参数异常的评判标准,会影响字符的准确性,去除所有的标点符号和特殊字符;然后将所有的参数字符串进行去重,使用深度学习库的text.Tokenizer模块对字符串进行处理,使用分词器方法fit_on_texts方法学习出文本的字典,即对应的单词和数字的映射关系,统计参数值的词频等信息;再使用text.Tokenizer模块的texts_to_sequences函数将参数文本转化为数字,将不同长度的序列使用0补齐为同样长度。
步骤四:将步骤三中提取的数据作为输入构造带注意力机制的长短期记忆性网络的异常分类模型;
在正常的日志信息特征提取后,输入神经网络模型进行训练,构建一个神经网络预测模型,采用引入注意力机制的循环神经网络,结合注意力机制生成注意力向量,对文本数据进行加权。如图2所示,基于注意力机制的长短时记忆网络模型,与现有技术中用到的长短时记忆网络网络模型(LSTM)相比,保持了长短时记忆网络基本模型,但在LSTM块中加入注意力机制(Attention Mechanism),重复的Attention-LSTM模块组成整个架构,即每一个Attention-LSTM模块都会记录一个状态,作为一个固定维度的向量,来自上一个时间步的Attention-LSTM模块的状态和其外部输入会一起作为下一个Attention-LSTM模块的输入,用来计算新的状态和输出,这种方式保证了日志序列中日志信息能够传递到下一个Attention-LSTM模块中,每个模块的注意力机制根据通过长短时记忆网络编码器对输入序列每一步的中间输出结果,将权重进行加权求和得到注意力权重,使序列的最终输出产生所需的标签,并随训练数据集中的输入一起输出。
其中引入注意力机制的具体算法为:先将编码器生成的源文本的隐层序列(h1,...,hn)和上一时间步的解码器隐层向量st-1进行匹配,计算隐层序列的权重分布(at1,...,atn);之后将隐层序列hi和对应的权重分布ati进行加权求和得到带注意力的语义向量ct;解码器在每个时间步根据动态变化的语义向量逐个生成预测序列,输出为
其中,是解码器在t时刻真正的隐层的输出,也是下一个时刻t+1时刻的隐层输入之一,ht是t时刻初始隐层输出,ct是t时刻带注意力的语义向量,Wc是状态c时的参数矩阵。
其中,注意力向量ct的具体计算步骤如下:
I、根据输入日志序列查询(Query)和该日志序列键(key)计算权重系数,即根据日志序列和每个日志序列键计算两者的相似性或者相关性,记为注意力得分ets;
ets=s core(ht,hs)=ht TWhs
其中,W为可学习的参数矩阵,hs为其中编码器的一个隐层状态,ht是在t时刻解码器隐层的输出;
II、引入Softmax的计算方式对步骤I中的原始分值进行归一化处理,即将原始计算分值整理成所有元素权重之和为1的概率分布,同时突出机制内更加重要元素的权重,也是该日志序列数值对应的权重系数;
III、进行加权求和得到注意力向量ct,
ct=∑sat(s)*Vi
其中,v代表参数向量;s代表解码器隐层向量;
在训练过程中,每个输入和输出利用梯度下降法找到最小损失来更新这些参数权重;输入层使用日志编码为onehot向量形式(One-Hot Encoding One-Hot编码),输出层利用将输出转换为一个概率分布函数,使用交叉熵计算理论输出序列和模型预测输出序列的损失值L,其定义式如下:
N表示训练样本的总数量;M表示样本类别的数量;yic为示性变量,表示类别c和样本i的真实类别相同时为1,否则为0;pic表示对于训练样本i属于类别c的预测概率。
步骤五:对容器进行异常检测。读取容器实时采集的日志数据,将测试样本输入到上述异常分类模型中,当模型预测日志序列键和实际日志序列键出现较大差异超过既定阈值时,则判定该容器发生了异常,否则判定当前容器正常。
对于普通模型的神经网络容器异常检测技术而言,编码器-解码器结构对所有的输入序列把源序列中的所有必要信息强制编码压缩成一个固定长度的内部向量,由于进程行为的多样性和复杂性,采用固定长度的系统调用序列特征来反应进程的行为是不合理的,这对容器的异常检测来说会大大降低准确率,影响检测效果。
而本专利提供的用于容器异常检测的神经网络模型,基于注意力机制的长短时记忆网络,针对现有的容器异常检测神经网络算法的固定长度序列特征问题,在网络的结构中添加了注意力机制模块,通过保持编码器对输入序列每一步的中间输出结果,然后训练模型学习如何选择性地关注输入,并将它们与输出序列中的项联系起来。换句话说,输出序列中的每一项都取决于输入序列中被选中的项,模型还能够展示在预测输出序列的时候,如何将注意力放在输入序列上。这会帮助我们理解和分析模型到底在关注什么,以及它在多大程度上关注特定的输入-输出对。这样模型可以更精准的检测容器的行为异常。
上述实施方式并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的技术方案范围内所做出的变化、改型、添加或替换,也均属于本发明的保护范围。
Claims (6)
1.基于注意力机制的LSTM网络的容器异常行为检测方法,其特征在于:包括以下步骤:
步骤一:监控数据的获取,从代理服务接收监视容器运行时的日志数据;
步骤二:对容器日志进行解析;
步骤三:提取用于异常分类模型的特征;
步骤四:将步骤三中提取的数据作为输入构造带注意力机制的长短期记忆性网络的异常分类模型;
具体过程为:在正常的日志信息特征提取后,输入神经网络模型进行训练,构建一个神经网络预测模型,并在LSTM块中加入注意力机制,重复的Attention-LSTM模块组成整个架构,即每一个Attention-LSTM模块都会记录一个状态,作为一个固定维度的向量,来自上一个时间步的Attention-LSTM模块的状态和其外部输入会一起作为下一个Attention-LSTM模块的输入,用来计算新的状态和输出,这种方式保证了日志序列中日志信息能够传递到下一个Attention-LSTM模块中,每个模块的注意力机制根据通过长短时记忆网络编码器对输入序列每一步的中间输出结果,将权重进行加权求和得到注意力权重,使序列的最终输出产生所需的标签,并随训练数据集中的输入一起输出;
引入注意力机制的具体算法为:先将编码器生成的源文本的隐层序列(h1,...,hn)和上一时间步的解码器隐层向量st-1进行匹配,计算隐层序列的权重分布(at1,...,atn);之后将隐层序列hi和对应的权重分布ati进行加权求和得到带注意力的语义向量ct;解码器在每个时间步根据动态变化的语义向量逐个生成预测序列,输出为
其中,是解码器在t时刻真正的隐层的输出,也是下一个时刻t+1时刻的隐层输入之一,ht是t时刻初始隐层输出,ct是t时刻带注意力的语义向量,Wc是状态c时的参数矩阵;
步骤五:对容器进行异常检测。
2.根据权利要求1所述的基于注意力机制的LSTM网络的容器异常行为检测方法,其特征在于:所述步骤一的具体过程为:使用代理服务作为监视日志收集,代理服务用于从基于Docker的容器收集监视日志,还可用于监视给定容器的所有事件,也可根据需求设置自定义规则来定义容器中发生的特定事件,有助于后续容器的特定异常行为的智能检测。
3.根据权利要求1所述的基于注意力机制的LSTM网络的容器异常行为检测方法,其特征在于:所述步骤二的具体过程为:获取容器的日志数据后进行日志解析,即将日志中的日志序列键和日志参数,将两者分离开,将日志解析成结构化;当读取新的日志条目之后,遍历日志对象列表,寻找该日志与所有日志对象的最大公共子序列,如果子序列的长度大于日志序列长度的一半,则认为该日志与日志序列键匹配。
4.根据权利要求1所述的基于注意力机制的LSTM网络的容器异常行为检测方法,其特征在于:所述步骤三的具体过程为:将步骤二中解析完成后得到的结构化日志特征化为数字形式的特征向量,特征提取的过程就是字符串中转换为可量化的数字,从而构造矩阵作为特征向量,首先提取容器日志所有的参数列表进行参数预处理,由于标点符号和特殊字符不作为参数异常的评判标准,会影响字符的准确性,去除所有的标点符号和特殊字符;然后将所有的参数字符串进行去重,使用深度学习库的text.Tokenizer模块对字符串进行处理,使用分词器方法fit_on_texts方法学习出文本的字典,即对应的单词和数字的映射关系,统计参数值的词频信息;再使用text.Tokenizer模块的texts_to_sequences函数将参数文本转化为数字,将不同长度的序列使用0补齐为同样长度。
5.根据权利要求1所述的基于注意力机制的LSTM网络的容器异常行为检测方法,其特征在于:所述步骤四中注意力向量ct的具体计算步骤如下:
I、根据输入日志序列查询和该日志序列键计算权重系数,即根据日志序列和每个日志序列键计算两者的相似性或者相关性,记为注意力得分ets;
ets=score(ht,hs)=ht TWhs
其中,W为可学习的参数矩阵,hs为其中编码器的一个隐层状态,ht是在t时刻解码器隐层的输出;
II、引入Softmax的计算方式对步骤I中的原始分值进行归一化处理,即将原始计算分值整理成所有元素权重之和为1的概率分布,同时突出机制内更加重要元素的权重,也是该日志序列数值对应的权重系数;
III、进行加权求和得到注意力向量ct,
ct=∑sat(s)*Vi
其中,v代表参数向量;s代表解码器隐层向量;
在训练过程中,每个输入和输出利用梯度下降法找到最小损失来更新这些参数权重;输入层使用日志编码为onehot向量形式,输出层利用将输出转换为一个概率分布函数,使用交叉熵计算理论输出序列和模型预测输出序列的损失值L,其定义式如下:
N表示训练样本的总数量;M表示样本类别的数量;yic为示性变量,表示类别c和样本i的真实类别相同时为1,否则为0;pic表示对于训练样本i属于类别c的预测概率。
6.根据权利要求1所述的基于注意力机制的LSTM网络的容器异常行为检测方法,其特征在于:所述步骤五的具体过程为:读取容器实时采集的日志数据,将测试样本输入到上述异常分类模型中,当模型预测日志序列键和实际日志序列键出现较大差异超过既定阈值时,则判定该容器发生了异常,否则判定当前容器正常。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110288077.3A CN112905421B (zh) | 2021-03-18 | 2021-03-18 | 基于注意力机制的lstm网络的容器异常行为检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110288077.3A CN112905421B (zh) | 2021-03-18 | 2021-03-18 | 基于注意力机制的lstm网络的容器异常行为检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112905421A CN112905421A (zh) | 2021-06-04 |
CN112905421B true CN112905421B (zh) | 2024-01-23 |
Family
ID=76105327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110288077.3A Active CN112905421B (zh) | 2021-03-18 | 2021-03-18 | 基于注意力机制的lstm网络的容器异常行为检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112905421B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113449815B (zh) * | 2021-07-20 | 2023-01-24 | 四川大学 | 一种基于深度包分析的异常包检测方法及系统 |
CN113778970A (zh) * | 2021-08-12 | 2021-12-10 | 华中科技大学 | 一种容器异常检测方法及系统 |
CN113872954B (zh) * | 2021-09-23 | 2024-02-20 | 绿盟科技集团股份有限公司 | 一种数据流量检测的方法 |
CN114401135B (zh) * | 2022-01-14 | 2023-04-18 | 国网河北省电力有限公司电力科学研究院 | 基于LSTM-Attention用户和实体行为分析技术的内部威胁检测方法 |
CN114610515B (zh) * | 2022-03-10 | 2022-09-13 | 电子科技大学 | 基于日志全语义的多特征日志异常检测方法及系统 |
CN114598548A (zh) * | 2022-03-26 | 2022-06-07 | 浪潮云信息技术股份公司 | 一种基于Agent的容器运行时异常检测方法及系统 |
CN114710782A (zh) * | 2022-03-30 | 2022-07-05 | 西安电子科技大学 | 基于双向长短期记忆模型的无人机攻击预测方法及系统 |
CN114660993B (zh) * | 2022-05-25 | 2022-08-19 | 中科航迈数控软件(深圳)有限公司 | 一种基于多源异构数据特征降维的数控机床故障预测方法 |
TWI827203B (zh) * | 2022-08-18 | 2023-12-21 | 中華電信股份有限公司 | 容器之惡意檔案的驗證系統和驗證方法 |
CN115546733B (zh) * | 2022-11-23 | 2023-04-18 | 北京数业专攻科技有限公司 | 基于移动信令的群体性行为特征预测方法及装置 |
CN116071077B (zh) * | 2023-03-06 | 2023-06-27 | 深圳市迪博企业风险管理技术有限公司 | 一种违规账户的风险评估与识别方法及装置 |
CN116232770B (zh) * | 2023-05-08 | 2023-07-21 | 中国石油大学(华东) | 一种基于sdn控制器的企业网络安全防护系统及方法 |
CN116541202B (zh) * | 2023-06-14 | 2023-10-03 | 深圳壹师城科技有限公司 | 一种科技风险管理系统及一种风险预警装置 |
CN116522318B (zh) * | 2023-06-30 | 2023-10-03 | 中国电信股份有限公司 | 容器权限检测方法、装置、设备及介质 |
CN117763106B (zh) * | 2023-12-11 | 2024-06-18 | 中国科学院文献情报中心 | 一种文献查重的方法、装置、存储介质及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019060327A1 (en) * | 2017-09-20 | 2019-03-28 | University Of Utah Research Foundation | ONLINE DETECTION OF ANOMALIES IN A NEWSPAPER USING AUTOMATIC APPRENTICESHIP |
CN110874291A (zh) * | 2019-10-31 | 2020-03-10 | 合肥中科类脑智能技术有限公司 | 一种异常容器实时检测方法 |
CN112434571A (zh) * | 2020-11-09 | 2021-03-02 | 西安理工大学 | 一种基于注意力自编码网络的高光谱异常检测方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11620180B2 (en) * | 2018-11-29 | 2023-04-04 | Vmware, Inc. | Holo-entropy adaptive boosting based anomaly detection |
-
2021
- 2021-03-18 CN CN202110288077.3A patent/CN112905421B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019060327A1 (en) * | 2017-09-20 | 2019-03-28 | University Of Utah Research Foundation | ONLINE DETECTION OF ANOMALIES IN A NEWSPAPER USING AUTOMATIC APPRENTICESHIP |
CN110874291A (zh) * | 2019-10-31 | 2020-03-10 | 合肥中科类脑智能技术有限公司 | 一种异常容器实时检测方法 |
CN112434571A (zh) * | 2020-11-09 | 2021-03-02 | 西安理工大学 | 一种基于注意力自编码网络的高光谱异常检测方法 |
Non-Patent Citations (1)
Title |
---|
基于北斗RDSS的核辐射监测应急通讯方法;王廷银;林明贵;陈达;吴允平;;计算机系统应用(第12期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112905421A (zh) | 2021-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112905421B (zh) | 基于注意力机制的lstm网络的容器异常行为检测方法 | |
CN112491796B (zh) | 一种基于卷积神经网络的入侵检测及语义决策树量化解释方法 | |
CN113596007B (zh) | 一种基于深度学习的漏洞攻击检测方法和设备 | |
CN112989831B (zh) | 一种应用在网络安全领域的实体抽取方法 | |
CN112492059A (zh) | Dga域名检测模型训练方法、dga域名检测方法、装置及存储介质 | |
CN109614795B (zh) | 一种事件感知的安卓恶意软件检测方法 | |
CN114816909A (zh) | 一种基于机器学习的实时日志检测预警方法及系统 | |
CN115987615A (zh) | 一种网络行为安全预警方法及系统 | |
CN111259397A (zh) | 一种基于马尔科夫图和深度学习的恶意软件分类方法 | |
CN112733954A (zh) | 一种基于生成对抗网络的异常流量检测方法 | |
Harbola et al. | Improved intrusion detection in DDoS applying feature selection using rank & score of attributes in KDD-99 data set | |
CN113904834A (zh) | 基于机器学习的xss攻击检测方法 | |
Qiao et al. | Malware classification method based on word vector of bytes and multilayer perception | |
CN109508544B (zh) | 一种基于mlp的入侵检测方法 | |
CN111797997A (zh) | 网络入侵检测方法、模型构建方法、装置及电子设备 | |
CN115567305B (zh) | 基于深度学习的顺序网络攻击预测分析方法 | |
CN116545679A (zh) | 一种工业情境安全基础框架及网络攻击行为特征分析方法 | |
CN116702143A (zh) | 基于api特征的恶意软件智能检测方法 | |
CN113657443B (zh) | 一种基于soinn网络的在线物联网设备识别方法 | |
CN115842645A (zh) | 基于umap-rf的网络攻击流量检测方法、装置及可读存储介质 | |
CN113935023A (zh) | 一种数据库异常行为检测方法及装置 | |
CN114398887A (zh) | 一种文本分类方法、装置及电子设备 | |
CN112597498A (zh) | 一种webshell的检测方法、系统、装置及可读存储介质 | |
Huang et al. | Research on Malicious URL Identification and Analysis for Network Security | |
Zhang et al. | CMIRGen: Automatic signature generation algorithm for malicious network traffic |
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 |