CN112860484A - 容器运行时异常行为检测、模型训练方法及相关装置 - Google Patents

容器运行时异常行为检测、模型训练方法及相关装置 Download PDF

Info

Publication number
CN112860484A
CN112860484A CN202110125054.0A CN202110125054A CN112860484A CN 112860484 A CN112860484 A CN 112860484A CN 202110125054 A CN202110125054 A CN 202110125054A CN 112860484 A CN112860484 A CN 112860484A
Authority
CN
China
Prior art keywords
container
behavior
detected
preset
sample data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110125054.0A
Other languages
English (en)
Inventor
王翀
朱民
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN202110125054.0A priority Critical patent/CN112860484A/zh
Publication of CN112860484A publication Critical patent/CN112860484A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1476Error detection or correction of the data by redundancy in operation in neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请实施例提供了一种容器运行时异常行为检测方法、模型训练方法、装置及存储介质,该容器运行时异常行为检测方法包括:获取待检测容器的属性信息,以及获取待检测容器在运行过程中的系统调用序列信息;基于预设行为检测模型对属性信息和系统调用序列信息进行异常行为检测,得到检测结果;基于检测结果,确定待检测容器是否存在异常行为。这样,通过容器的属性信息和系统调用序列信息,能够检测容器是否存在异常行为,从而弥补了无法采集到容器内部行为的缺陷,提高了容器运行过程中的安全性。

Description

容器运行时异常行为检测、模型训练方法及相关装置
技术领域
本申请涉及安全检测技术领域,尤其涉及一种容器运行时异常行为检测方法、模型训练方法、装置及存储介质。
背景技术
随着云计算领域的不断发展,容器化技术为用户提供了诸多便利。相比传统的虚拟机技术,容器直接使用宿主机(或称为主机)内核,比传统虚拟机有着更少的抽象层,使得容器在性能以及资源消耗上都有着传统虚拟机无法比拟的优势。然而,由于容器和主机处于隔离状态,常规的安全防护手段无法对容器内部的操作进行监控,导致容器的安全防护问题仍然没有得到有效解决。
发明内容
本申请提供了一种容器运行时异常行为检测方法、模型训练方法、装置及存储介质,通过容器的属性信息和系统调用序列信息,能够检测容器是否存在异常行为,提高了容器运行过程中的安全性。
本申请的技术方案是这样实现的:
第一方面,本申请实施例提供了一种容器运行时异常行为检测方法,该方法包括:
获取待检测容器的属性信息,以及获取所述待检测容器在运行过程中的系统调用序列信息;
基于预设行为检测模型对所述属性信息和所述系统调用序列信息进行异常行为检测,得到检测结果;
基于所述检测结果,确定所述待检测容器是否存在异常行为。
在上述方案中,所述预设行为检测模型是利用样本数据集对预设神经网络模型进行训练后得到的;其中,所述样本数据集包括至少一个正常样本数据和一个异常样本数据,且所述样本数据集中的每一样本数据包括样本属性信息和样本系统调用序列信息。
在上述方案中,所述获取待检测容器的属性信息,包括:
通过所述待检测容器的信息读取命令进行读取操作,得到所述待检测容器的属性信息。
在上述方案中,所述获取所述待检测容器在运行过程中的系统调用序列信息,包括:
在所述待检测容器执行预设系统调用操作后,利用预设监控程序收集系统调用信息;
在收集到预设数量的系统调用信息后,将所述预设数量的系统调用信息进行时序组合,得到所述系统调用序列信息。
在上述方案中,所述基于预设行为检测模型对所述属性信息和所述系统调用序列信息进行异常行为检测,得到检测结果,包括:
对所述属性信息和所述系统调用序列信息进行向量映射,得到目标输入向量;
将所述目标输入向量输入至所述预设行为检测模型,通过所述预设行为检测模型输出所述检测结果。
在上述方案中,所述预设行为检测模型包括双向长短期记忆网络Bi-LSTM层、自注意力Attention层和分类层;所述将所述目标输入向量输入至所述预设行为检测模型,输出所述检测结果,包括:
通过所述Bi-LSTM层对所述目标输入向量进行特征提取,得到目标特征向量;
通过所述Attention层对所述目标特征向量进行加权求和操作,得到目标检测向量;
通过所述分类层对所述目标检测向量进行概率计算,得到所述检测结果。
在上述方案中,所述异常行为包括以下至少一项:初始访问行为、执行行为、持久化行为、权限提升行为、防御逃逸行为、窃取凭证行为、探测行为、横向攻击行为和影响行为。
在上述方案中,在所述基于所述检测结果,确定所述待检测容器是否存在异常行为之后,所述方法还包括:
当确定所述待检测容器存在异常行为时,生成告警提示信息;其中,所述告警提示信息用于提示用户对所述异常行为进行处理操作。
在上述方案中,所述属性信息包括以下至少一项:容器标识、容器名称、镜像目录、镜像标识、镜像标签和特权容器信息;
所述系统调用序列信息包括以下至少一项:系统调用名、系统调用时间和进程名。
第二方面,本申请实施例提供了一种模型训练方法,该方法包括:
获取样本数据集;其中,所述样本数据集包括至少一个正常样本数据和一个异常样本数据,且所述样本数据集中的每一样本数据包括样本属性信息和样本系统调用序列信息;
利用所述样本数据集对预设神经网络模型进行训练,得到所述预设行为检测模型;其中,所述预设行为检测模型用于根据待检测容器的属性信息和所述待检测容器的系统调用序列信息判断所述待检测容器是否存在异常行为。
在上述方案中,在所述利用所述样本数据集对预设神经网络模型进行训练的过程中,该方法还包括:
确定预设正则化参数;
基于所述预设正则化参数,控制所述预设神经网络模型进行神经元丢弃操作。
第三方面,本申请实施例提供了一种容器运行时异常行为检测装置,该容器运行时异常行为检测装置包括获取单元、计算单元和检测单元;其中,
获取单元,配置为获取待检测容器的属性信息,以及获取所述待检测容器在运行过程中的系统调用序列信息;
计算单元,配置为基于预设行为检测模型对所述属性信息和所述系统调用序列信息进行异常行为检测,得到检测结果;
检测单元,配置为基于所述检测结果,确定所述待检测容器是否存在异常行为。
第四方面,本申请实施例提供了一种容器运行时异常行为检测装置,该容器运行时异常行为检测装置包括第一存储器和第一处理器;其中,
所述第一存储器,用于存储能够在所述处理器上运行的计算机程序;
所述第一处理器,用于在运行所述计算机程序时,执行如第一方面所述方法的步骤。
第五方面,本申请实施例提供了一种模型训练装置,该模型训练装置包括样本单元和训练单元;其中,
样本单元,配置为获取样本数据集;其中,所述样本数据集包括至少一个正常样本数据和一个异常样本数据,且所述样本数据集中的每一样本数据包括样本属性信息和样本系统调用序列信息;
训练单元,配置为利用所述样本数据集对预设神经网络模型进行训练,得到所述预设行为检测模型;其中,所述预设行为检测模型用于根据待检测容器的属性信息和所述待检测容器的系统调用序列信息判断所述待检测容器是否存在异常行为。
第六方面,本申请实施例提供了一种模型训练装置,该模型训练装置包括第二存储器和第二处理器;其中,
所述第二存储器,用于存储能够在所述处理器上运行的计算机程序;
所述第二处理器,用于在运行所述计算机程序时,执行如第二方面所述方法的步骤。
第七方面,本申请实施例提供了一种计算机存储介质,该计算机存储介质存储有计算机程序,该计算机程序被第一处理器执行时实现如第一方面所述的方法、或者被第二处理器执行时实现如第二方面所述的方法。
本申请实施例提供了一种容器运行时异常行为检测方法、模型训练方法、装置及存储介质,对于容器运行时异常行为检测方法,获取待检测容器的属性信息,以及获取所述待检测容器在运行过程中的系统调用序列信息;基于预设行为检测模型对所述属性信息和所述系统调用序列信息进行异常行为检测,得到检测结果;基于所述检测结果,确定所述待检测容器是否存在异常行为;对于模型训练方法,获取样本数据集;其中,所述样本数据集包括至少一个正常样本数据和一个异常样本数据,且所述样本数据集中的每一样本数据包括样本属性信息和样本系统调用序列信息;利用所述样本数据集对预设神经网络模型进行训练,得到所述预设行为检测模型;其中,所述预设行为检测模型用于根据待检测容器的属性信息和所述待检测容器的系统调用序列信息判断所述待检测容器是否存在异常行为。这样,通过容器的属性信息和系统调用序列信息,利用预设行为检测模型能够检测容器是否存在异常行为,从而弥补了无法采集到容器内部行为的缺陷,提高了容器运行过程中的安全性。
附图说明
图1为本申请实施例提供的一种容器运行时异常行为检测方法的流程示意图;
图2为本申请实施例提供的一种模型训练方法的流程示意图;
图3为本申请实施例提供的一种容器运行时异常行为检测系统的组成结构示意图;
图4为本申请实施例提供的一种容器运行时异常行为检测系统的工作流程示意图;
图5为本申请实施例提供的一种数据采集模块的工作流程示意图;
图6为本申请实施例提供的一种预设行为检测模型的训练流程示意图;
图7为本申请实施例提供的另一种容器运行时行为检测系统的工作流程示意图;
图8为本申请实施例提供的一种容器运行时异常行为检测装置的组成结构示意图;
图9为本申请实施例提供的一种容器运行时异常行为检测装置的硬件结构示意图;
图10为本申请实施例提供的一种模型训练装置的组成结构示意图;
图11为本申请实施例提供的一种模型训练装置的硬件结构示意图;
图12为本申请实施例提供的另一种容器运行时异常行为检测系统的组成结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅仅用于解释相关申请,而非对该申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关申请相关的部分。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
需要指出,本申请实施例所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释:
虚拟机(Virtual Machine,VM):通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
Docker:一个开源的应用容器引擎,让用户可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的操作系统(例如Linux或Windows)机器上,也可以实现虚拟化。
容器运行时(Docker Runtime):Docker容器引擎的底层支撑。
命名空间(Namespace):Linux操作系统中内核用来隔离内核资源的方式。
强访问控制(Security-Enhanced Linux,SELinux):Linux操作系统的一种访问控制体系,在这种访问控制体系的限制下,进程只能访问任务中所需要文件。
长短期记忆网络(Long Short Term Memory Networks,LSTM):一种时间循环神经网络。
双向长短期记忆网络(Bi-directional Long Short-Term Memory,Bi-LSTM):一种双向时间循环神经网络,能够获取输入的上下文信息。
自注意力机制(Attention):用于计算每个时序的权重,然后将所有时序的向量进行加权和作为特征向量。
扩展伯克利包过滤器(extended Berkeley Packet Filter,eBPF):eBPF是对伯克利包过滤器(Berkeley Packet Filter,BPF)的升级,是一个指令集更复杂、应用范围更广的“内核虚拟机”。
Linux控制组(Cgroup):用来限制、控制与分离一个进程组群的资源,如中央处理器、内存、磁盘输入输出等。
Kubernetes(K8s)应用:一个开源的、用于管理云平台中多个主机上的容器化的应用。
Kubernetes Audit(KA):Kubernetes应用的审计功能。
Secure Computing Mode(Seccomp):Linux操作系统中内核所支持的一种安全机制,可以对进程能够使用的系统调用进行限制。
Bidirectional Encoder Representations from Transformers(BERT):一种词向量算法,使用了Transformer(一种深度自注意力训练模型)作为算法的主要框架,在词嵌入(Word Embedding)中有着优异的表现。
随着云计算领域的不断发展,虚拟化技术为该领域用户提供了隔离性较好的系统,容器技术则是虚拟化技术中的核心技术。传统的虚拟化方法是通过虚拟机实现的,而容器技术中的容器可以视为一种轻量型的虚拟机。相比于传统的虚拟机技术,容器直接使用宿主机内核,比传统的虚拟机有着更少的抽象层,使得容器在性能以及资源消耗上都有着传统虚拟机无法比拟的优势。在保证系统安全性的同时,提高了资源利用率。但是,当容器和主机隔离后,传统的安全防护手段已经无法满足容器安全防护需求,例如,相关技术中,安全防护策略无法检测通过容器技术所产生的应用镜像内的安全漏洞和木马。换句话说,在容器运行的时候,安全防护策略对内部应用操作感知不到,很难检测和防护容器内的恶意行为。
与此同时,当前主流的容器运行时是Docker,其最主要利用Linux内核提供的以隔离为主的各项安全机制来实现容器技术,例如提供了包括网络设备、第6版互联网协议(Internet Protocol Version,IPv6)协议栈、第4版互联网协议(Internet ProtocolVersion,IPv4)协议栈、/proc/net目录等网络资源隔离的Namespace机制、权限能力机制(Capability)和Linux内核本身支持的Cgroup技术。其中,权限能力机制(Capability)是指将用户权限划分为若干组,每一组代表用户所能执行的系统调用范围的具体。这些技术能够限制容器中的系统调用范围从而限制进程所进行的内核操作,从而减少内核攻击面,被广泛用于构建沙箱的Linux Seccomp机制和由内核实现的强制访问控制的SELinux机制。
这些机制在一定程度上弥补了内核层在容器隔离性方面的安全性短板。然而,在大多数情况下,这些隔离机制仅仅是减少了部分攻击面,由于无法感知到对容器内部应用操作,以及无法直接对内部代码和数据进行安全检查等原因,常规安全检测手段仍然无法防止运行时恶意攻击者对系统调用的滥用,也无法检测到容器内部正在发生的恶意行为。目前,针对容器的恶意行为检测仅针对某一类,例如网络流量、容器内应用应用程序接口(Application Programming Interface,API)等。同时,部分工作需要对容器镜像进行静态分析,涉及到对镜像中每一层的拆分和分析,操作复杂且准确率难有保证,并且容器平台上每新增一个容器都需要进行静态分析,缺乏可扩展性。
基于此,本申请实施例提供了一种容器运行时异常行为检测方法,该方法的基本思想为:获取待检测容器的属性信息,以及获取所述待检测容器在运行过程中的系统调用序列信息;基于预设行为检测模型对所述属性信息和所述系统调用序列信息进行异常行为检测,得到检测结果;基于所述检测结果,确定所述待检测容器是否存在异常行为。这样,通过容器的属性信息和系统调用序列信息,能够检测容器是否存在异常行为,从而弥补了无法采集到容器内部行为的缺陷,提高了容器运行过程中的安全性。
下面将结合附图对本申请各实施例进行详细说明。
在本申请的一实施例中,参见图1,其示出了本申请实施例提供的一种容器运行时异常行为检测方法的流程示意图。如图1所示,该方法可以包括:
S101:获取待检测容器的属性信息,以及获取所述待检测容器在运行过程中的系统调用序列信息。
需要说明的是,本申请实施例应用于安装有待检测容器(一般是Docker)的设备(例如计算机、服务器等),该方法主要是基于待检测容器的容器运行时模块,根据待检测容器的系统调用来判断待检测容器内部是否存在异常行为,从而提高待检测容器的安全性。
这里,容器化技术是虚拟化技术的一种,虽然使用主机(即安装有容器的计算机)的内核,但是与主机之间存在一定的隔离性,因此主机无法感知到容器内部的具体操作,导致传统的防护手段无法提供足够的安全保障。在本申请实施例中,考虑到容器需要通过系统调用来使用主机内核提供的各项服务来完成各种具体任务,所以利用容器在运行过程中的系统调用序列信息来解决无法感知容器内部操作的问题,能够更好的判断容器是否存在异常行为。
因此,为了检测待检测容器中是否存在异常行为,需要获取待检测容器的属性信息,以及待检测容器在运行过程中的系统调用序列信息。
其中,属性信息是指待检测容器自身的特征。具体地,待检测容器的属性信息可以包括以下至少一项:容器标识(Identity Document,ID)、容器名称、镜像目录、镜像ID、镜像标签(例如stable、latest)和是否为特权容器等信息。在这里,属性信息可以是提前存储在固定文件中的,也可以是每次需要时通过待检测容器的自带命令得到的,或者是其他可行的获取方式,具体的获取方式本申请实施例不作限定。
系统调用序列信息是指待检测容器在一个时间段内进行的所有系统调用。在这里,主机的操作系统为用户态运行的进程与硬件设备之间进行交互提供了一组接口,这组接口就是系统调用,即系统调用可以理解为容器所调用的系统功能项。具体的,系统调用序列信息可以包括以下至少一项:系统调用名、系统调用时间、进程名等详细信息。
进一步地,在一些实施例中,所述获取待检测容器的属性信息,可以包括:
通过所述待检测容器的信息读取命令进行读取操作,得到所述待检测容器的属性信息。
需要说明的是,利用利用待检测容器自带的一些信息读取命令对所述待检测容器进行读取操作,得到所述待检测容器的属性信息。例如,可以通过容器自带的显示进程状态(Process Status,PS)命令、获取容器的元数据(Inspect)命令进行采集,从而获取容器ID、容器名称、镜像目录、镜像ID、镜像标签(例如stable、latest)和是否为特权容器等属性信息。
进一步地,在一些实施例中,所述获取所述待检测容器在运行过程中的系统调用序列信息,可以包括:
在所述待检测容器执行预设系统调用操作后,利用预设监控程序收集系统调用信息;
在收集到预设数量的系统调用信息后,将所述预设数量的系统调用信息进行时序组合,得到所述系统调用序列信息。
需要说明的是,在本申请实施例中,待检测容器的系统调用序列信息是通过预先安装在操作系统中的预设监控程序获取的。在这里,操作系统是指待检测容器所在的主机的操作系统。
实际应用中,操作系统会提供多种不同的系统调用,由于Linux Seccomp机制的限制,对于当前版本的Docker来说,存在44个默认禁用的系统调用。针对除这44个默认禁用之外的每一种系统调用,可以分别设计对应的预设监控程序,然后将所有的预设监控程序安装在系统中。也就是说,可以设置多个不同的预设监控程序,一个预设监控程序负责监听一种具体的系统调用;也可以设置一个预设监控程序,由该预设监控程序负责监听所有种类的系统调用。
因此,基于预先安装好的预设监控程序,当待检测容器执行预设系统调用操作后,预设监控程序会被触发,然后由预设监控程序收集本次系统调用信息,包括系统调用名、系统调用时间、进程名等详细信息,回传到用户空间;之后,当收集到的预设数量的系统调用信息时,将这些系统调用信息按照时间顺序进行组合,最终得到系统调用序列信息。在这里,预设数量可以根据实际使用环境确定,例如预设数量可以取100、200。
这样,通过以上流程获取到指示待检测容器本身特征的属性信息,以及指示待检测容器的系统调用特征的系统调用序列信息,从而能够后续根据属性信息和系统调用序列信息来判断待检测容器中是否存在异常行为。
S102:基于预设行为检测模型对所述属性信息和所述系统调用序列信息进行异常行为检测,得到检测结果。
需要说明的是,通过预设行为检测模型,对属性信息和系统调用序列信息进行计算,得到检测结果。在这里,预设行为检测模型可以是多种形式的模型,例如LSTM模型、Bi-LSTM模型、卷积神经网络(Convolutional Neural Networks,CNN)模型,也可以是非神经网络模型。
还需要说明的是,在预设行为检测模型为神经网络模型时,需要根据样本数据集对其进行训练。也就是说,所述预设行为检测模型是利用样本数据集对预设神经网络模型进行训练后得到的;其中,所述样本数据集包括至少一个正常样本数据和一个异常样本数据,且所述样本数据集中的每一样本数据包括样本属性信息和样本系统调用序列信息。
进一步地,在一些实施例中,所述基于预设行为检测模型对所述属性信息和所述系统调用序列信息进行异常行为检测,得到检测结果,可以包括:
对所述属性信息和所述系统调用序列信息进行向量映射,得到目标输入向量;
将所述目标输入向量输入至所述预设行为检测模型,通过所述预设行为检测模型输出所述检测结果。
需要说明的是,对于属性信息和系统调用序列信息,需要将其进行嵌入(Embedding)处理,映射成目标输入向量;之后,将目标输入向量输入到预设行为检测模型中,从而获得预设行为检测模型输出的检测结果。
实际应用中,可以采用多种已经存在的Embedding算法将属性信息和系统调用序列信息映射为目标输入向量,例如词向量编码(Word2vec)算法、新型深度语境化词表征(Embeddings from Language Models,ELMO)算法、BERT算法等。
在本申请实施例中,利用BERT算法对属性信息和系统调用序列信息进行映射,获取整个输入序列的高维度特征,即通过BERT算法实现系统调用序列信息的向量化。相比于传统的Word2vec算法和ELMO算法,BERT算法具有更好的效果及模型泛化能力。
进一步地,在一些实施例中,所述预设行为检测模型包括双向长短期记忆网络Bi-LSTM层、自注意力Attention层和分类层;所述将所述目标输入向量输入至所述预设行为检测模型,输出所述检测结果,可以包括:
通过所述Bi-LSTM层对所述目标输入向量进行特征提取,得到目标特征向量;
通过所述Attention层对所述目标特征向量进行加权求和操作,得到目标检测向量;
通过所述分类层对所述目标检测向量进行概率计算,得到所述检测结果。
需要说明的是,预设行为检测模型可以采用Bi-LSTM层-Attention层-分类层的架构,由于分类层属于常规技术,其也可以简称为“Bi-LSTM层-Attention层的架构”。换言之,预设行为检测模型可以包括双向长短期记忆网络Bi-LSTM层、自注意力(Attention)层和分类层。其中,
Bi-LSTM层主要用于对目标输入向量进行特征提取,优点是能够通过双向结构对系统调用序列信息进行识别,在充分考虑上下文的信息的情况下得到高维的目标特征向量,而不仅仅是对系统调用序列信息中的某一个系统调用信息进行单独判别,能够从整体序列的角度进行待检测容器是否存在异常行为的判定。
Attention层主要用于调整Bi-LSTM层输出的目标特征向量中每一分量的权重比重。具体来说,Bi-LSTM层所提取的目标特征向量中包括多个分量,每个分量可能与一次系统调用或者一种属性信息对应,而Attention层通过自注意力机制,计算每一分量所对应的权重,然后将加权后的每一分量进行合并,得到低维目标检测向量。在这里,由于目标特征向量的每一分量本质也是向量形式的,因此最终所得到的仍然是一个向量。
分类层主要是指利用归一化指数函数(Softmax函数)对目标检测向量进行打分的过程,即利用Softmax函数对Attention层的输出进行分类,从而确定待检测容器是否存在异常行为。
这样,本申请实施例采用BERT算法+Bi-LSTM层+Attention层构建预设神经网络模型,经过训练后得到预设行为检测模型,对待检测容器的属性信息和系统调用序列信息进行计算,从而判断容器中是否存在异常行为。
S103:基于所述检测结果,确定所述待检测容器是否存在异常行为。
需要说明的是,根据预设行为检测模型输出的检测结果,能够确定待检测容器中是否存在异常行为,从而提高容器的安全性。
进一步地,在一些实施例中,所述异常行为包括以下至少一项:初始访问行为、执行行为、持久化行为、权限提升行为、防御逃逸行为、窃取凭证行为、探测行为、横向攻击行为和影响行为。
需要说明的是,根据检测结果,可以确定待检测容器存在异常行为或者不存在异常行为。在本申请实施例,异常行为包括九类行为:初始访问行为、执行行为、持久化行为、权限提升行为、防御逃逸行为、窃取凭证行为、探测行为、横向攻击行为和影响行为。
具体的,预设行为检测模型的分类层会对预设的10种行为类别(1个正常行为类别和9个异常行为类别)输出相应的概率值,此时会得到10个不同的概率值,将这10个概率值中的最大概率值以及最大概率值对应的行为类别进行输出,即为检测结果。例如,正常行为、初始访问行为、执行行为、持久化行为、权限提升行为、防御逃逸行为、窃取凭证行为、探测行为、横向攻击行为和影响行为对应的概率值分别为[0.2,0.1,0.05,0.1,0.2,0.02,0.08,0.01,0.01,0.23],则最终的检测结果为0.23(影响行为)。
进一步地,在一些实施例中,在所述基于所述检测结果,确定所述待检测容器是否存在异常行为之后,该方法还可以包括:
当确定所述待检测容器存在异常行为时,生成告警提示信息;其中,所述告警提示信息用于提示用户对所述异常行为进行处理操作。
需要说明的是,在获得检测结果后,会将检测结果进行记录。另外,如果检测结果显示待检测容器中存在异常行为,则生成告警提示信息,以提醒用户及时对异常行为进行处理操作。
综上所述,本申请实施例一种基于BERT算法+Bi-LSTM层+Attention层的容器运行时的异常行为检测方法,该方法获取容器运行时的系统调用序列信息,利用BERT算法+预设行为检测模型(Bi-LSTM层+Attention层)学习序列特征并进行预测,根据预测结果可判断当前容器内是否发生异常行为。
容器运行时异常行为检测方法由五部分组成:数据输入层,用以实时监控容器的运行,针对传统方法无法采集容器内部行为这一局限性,利用预设监控程序收集容器运行时的系统调用序列信息;Embedding层,首先将收集系统调用序列和容器属性信息相结合,再利用BERT算法将输入信息映射为向量;Bi-LSTM层,将数据处理模块得到的向量作为输入,获取整个系统调用序列的高维度特征;Attention层,生成权重向量,并将每一步的系统调用级特征向量按照权重合并成系统调用序列级特征向量;分类层:对系统调用序列级别的特征向量进行为分类,判断是否属于异常行为。针对BERT算法+Bi-LSTM层+Attention层,主要分为训练阶段和使用阶段。训练阶段中,利用输入层中的数据收集模块获取样本数据集,并训练BERT算法+Bi-LSTM层+Attention层,得到容器运行时异常行为检测模型。在使用阶段,将容器的属性信息和系统调用序列信息作为容器运行时异常行为检测模型的输入,即可得到对应的检测结果。本申请实施例可以识别出容器运行时中的异常系统调用序列,识别出容器运行时正在发生的异常行为,保障容器运行时安全。
本申请实施例提供了一种容器运行时异常行为检测方法,通过获取待检测容器的属性信息,以及获取所述待检测容器在运行过程中的系统调用序列信息;基于预设行为检测模型对所述属性信息和所述系统调用序列信息进行异常行为检测,得到检测结果;基于所述检测结果,确定所述待检测容器是否存在异常行为。这样,通过容器的属性信息和系统调用序列信息,能够检测容器是否存在异常行为,从而弥补了无法采集到容器内部行为的缺陷,提高了容器运行过程中的安全性。
在本申请的又一实施例中,参见图2,其示出了本申请实施例提供的一种模型训练方法的流程示意图。如图2所示,该方法可以包括:
S201:获取样本数据集。
还需要说明的是,预设行为检测模型可以是利用样本数据集对预设神经网络模型训练后得到的,在实际使用中,根据实际使用场景搭建预设神经网络模型之后,需要利用样本数据集对预设神经网络模型进行训练,以确定预设神经网络模型中的大量参数。
因此,本申请实施例提供了一种模型训练方法,需要获取样本数据集,后续利用样本数据集训练得到预设神经网络模型。其中,所述样本数据集包括至少一个正常样本数据和一个异常样本数据,且所述样本数据集中的每一样本数据包括样本属性信息和样本系统调用序列信息。
S202:利用所述样本数据集对预设神经网络模型进行训练,得到所述预设行为检测模型。
需要说明的是,利用样本数据集对预设神经网络模型进行训练,以确定预设神经网络模型中的各项参数,从而得到预设行为检测模型。在这里,所述预设行为检测模型用于根据待检测容器的属性信息和所述待检测容器的系统调用序列信息判断所述待检测容器是否存在异常行为。
还需要说明的是,在利用Bi-LSTM层+Attention层+分类层搭建预设神经网络模型的情况下,对预设神经网络模型的训练,隐含了对特征提取层(Embedding)的训练,即对预设神经网络模型的训练,实际上包含了BERT算法的预训练和对预设行为检测模型(Bi-LSTM层+Attention层+分类层)的训练。
还需要说明的是,在对特征提取层(Embedding)进行训练时,由于用于训练的数据的大小往往是有限的,但是有大量的参数需要学习,为了解决这个问题,采用无监督或自监督的学习方法是一个较好的选择。同时,基于优质的预训练结果进行模型的参数初始化,可以使最终得到的预设行为检测模型取得更好的效果。
进一步地,在一些实施例中,所述预设神经网络模型包括多个神经元;在所述利用所述样本数据集对预设神经网络模型进行训练的过程中,该方法还可以包括:
确定预设正则化参数;
基于所述预设正则化参数,控制所述预设神经网络模型进行神经元丢弃操作。
需要说明的是,在利用Bi-LSTM层+Attention层+分类层搭建预设神经网络模型的情况下,预设神经网络模型中的Bi-LSTM层中包括有多个神经元(也称为“神经网络单元”)。为了避免模型在训练过程中的过度拟合,本申请实施例引入正则化参数,即在预设神经网络模型中引入Dropout层。此时,针对样本数据集中的一个样本数据,Bi-LSTM层中的多个神经元对该样本数据进行特征学习,之后Dropout层用于按照一定的比例(即正则化参数)丢弃神经元,然后梯度下降更新其他神经元的权值,继续进行Attention层的处理,以完成该样本数据的训练过程。之后,重复对下一样本数据进行上述训练步骤,直至获得预设行为检测模型。
在一种具体的实施例中,在Bi-LSTM层的输入端和输出端分别加入Dropout层,依据模型和适用场景需要调整设定Dropout层的正则化参数(丢弃概率),例如可以设置正则化参数为0.5。
本申请实施例提供了一种模型训练方法,通过获取样本数据集;其中,所述样本数据集包括至少一个正常样本数据和一个异常样本数据,且所述样本数据集中的每一样本数据包括样本属性信息和样本系统调用序列信息;利用所述样本数据集对预设神经网络模型进行训练,得到所述预设行为检测模型;其中,所述预设行为检测模型用于根据待检测容器的属性信息和所述待检测容器的系统调用序列信息判断所述待检测容器是否存在异常行为。这样,利用样本数据集对预设神经网络模型进行训练,得到预设行为检测模型,从而预设行为检测模型能够根据容器的属性信息和系统调用序列信息,检测容器是否存在异常行为,弥补了无法采集到容器内部行为的缺陷,提高了容器运行过程中的安全性。
在本申请的又一实施例中,参见图3,其示出了本申请实施例提供的一种容器运行时异常行为检测系统30的组成结构示意图。如图3所示,该容器运行时异常行为检测系统30包括数据收集模块301、数据处理模块302、神经网络模块303和告警模块304。其中,对于神经网络模块303而言,其又可以包括:Bi-LSTM层3031、Dropout层3032、Attention层3033和分类层3034。
示例性地,如图4所示,其示出了本申请实施例提供的一种行为检测系统30的工作流程示意图。在图4中,首先,数据收集模块301的核心是eBPF模块,其中的eBPF程序(相当于前述的预设监控程序)经过Verifier进行验证和经过JIT编译器进行编码后,生成本地可执行指令,本地可执行指令能够基于容器运行时(即Runtime Service)来监听Docker容器,当监听到Docker容器执行系统调用操作后,本地可执行指令会被触发来收集系统调用序列。除此之外,数据收集模块301还会收集容器的属性信息。其次,数据处理模块302获取属性信息和系统调用序列信息,通过词嵌入(Word Embedding)将属性信息和系统调用序列信息进行向量化,得到目标输入数据。之后,神经网络模块303根据目标输入数据进行计算,得到识别结果。最后,告警模块304记录识别结果,并根据识别结果进行告警操作。
以下对各个模块的具体工作流程进行详述。
数据收集模块301
数据收集模块301,用于通过读取容器自身的属性信息,并利用eBPF等技术收集容器运行时的系统调用序列信息,用以实时监控待检测容器的运行,解决传统方法无法采集容器内部行为这一局限性。
参见图5,其示出了本申请实施例提供的一种数据采集模块的工作流程示意图。如图5所示,数据采集模块主要采集两个方面的信息,第一方面是指采集待检测容器的系统调用序列信息,第二方面是指采集待检测容器的属性信息。
第一方面,数据采集模块的核心是用于采集系统调用序列信息的eBPF模块,eBPF模块包含了专门用于监听系统调用的BPF程序。具体地,采集系统调用序列信息的过程包括如下步骤:
首先,使用编写程序(BPF Compiler Collection,BCC)前端绑定编程语言(如Python)来编写BPF程序,该BPF程序通常还能够与C语言程序联动进行实现,由于容器支持并利用Linux Seccomp机制限制权限,使得容器存在44个默认禁用的系统调用权限,针对除这44个默认禁用的之外的系统调用,设计对应的BPF程序。BPF程序能够通过内核探针进行内核动态跟踪的快捷方式监控相应的系统调用,从而获得系统调用名、系统调用时间、进程名等详细信息。在这里,可以设计多个不同的BPF程序,此时每一种系统调用都对应一个具体的BPF程序,也可以设计一个BPF程序,此时所有的系统调用均对应该BPF程序。
其次,通过编译器(如LLVM、Clang)将上述BPF程序编译为BPF prog格式文件。此时,BPF()系统调用加载BPF程序并会将BPF prog转化为BPF字节码,同时完成从用户空间到内核的转变。
然后,BPF字节码会传递(Attach)到内核验证程序,内核验证程序将对BPF字节码进行测试,主要包含两个方面:(1)确保eBPF程序可以正常终止,并且不包含任何可能导致内核锁定的循环;(2)模拟一次eBPF程序的执行,在执行每条指令之前和之后都要检查虚拟机状态,以确保寄存器和堆栈状态有效,禁止跳越边界和访问超范围数据,从而降低用户空间代码在内核中运行存在固有的安全性和稳定性风险。
最后,编译器(如JIT)将前述得到的BPF字节码转化(Optimize)为本地可执行指令(Native Code)运行,确保当对应内核函数被(Kernel Functions)调用时(即发生对应的系统调用时)会触发对应的BPF程序,由BPF程序捕获系统调用信息并作相应的记录,一般以syscall()的格式进行记录,这样就得到系统调用信息。随后该系统调用信息通过预设传递方式(例如BPF Maps)从eBPF模块向数据处理模块传递,也就使系统调用信息从内核空间传回用户空间,以便后续生成系统调用序列信息。
第二方面,数据采集模块会对容器采集容器自身属性信息,具体的,可以通过Docker自带的PS、Inspect命令采集如下信息:容器ID、容器名称、镜像目录、镜像ID、镜像标签(例如stable、latest)和是否为特权容器等信息。
这样,数据采集模块就完成了容器自身属性信息和系统调用序列信息的采集,将其传输给数据处理模块302以便后续处理。
数据处理模块302
数据处理模块302,即Embedding层,用于利用词嵌入(Word Embedding)技术将系统调用序列信息和容器自身的属性信息映射为目标输入向量。在这里,具体的词嵌入技术可以根据实际使用环境进行确定,例如BERT算法、Word2vec算法、ELMO算法以及其他算法。本申请实施例中,以BERT算法为例进行后续说明。
BERT算法包括多个编码器(具体为Transformer Encoder),Transformer Encoder应用了多头注意力机制,能够更好的将系统调用序列信息和属性信息映射为目标输入向量。
神经网络模块303
神经网络模块303,包括Bi-LSTM层3031、Dropout层3032、Attention层3033和分类层3034;其中,
Bi-LSTM层3031,将数据处理模块302得到的目标输入向量作为输入,获取整个系统调用序列的高维度特征,即目标特征向量。
Dropout层3032,利用正则化方法避免模型的过度拟合。在这里,Dropout层3032实际上仅在训练阶段存在,在训练好的预设行为检测模型中,并不存在Dropout层3032。
Attention层3033,生成权重向量,并将前一步骤中的系统调用级特征向量(即经过Dropout层3032处理的目标特征向量)按照权重合并成系统调用序列级特征向量(即目标检测向量)。
分类层3034,主要利用Softmax函数对目标检测向量的输出进行分类,确定待检测容器中是否存在异常行为。
应理解,在本申请实施例中,将数据处理模块302和神经网络模块303进行了分别阐述,但是在实际应用阶段,可以将数据处理模块302和神经网络模块303进行整体看待,此时,整个的神经网络模型也可以视为包括Bert层、Bi-LSTM层、Attention层、Dropout层和分类层,这两种情况下只是由于模型定义不同导致了神经网络模型的涵盖范围不同,但是整个容器运行时异常行为检测方法所包含的内容是相同的。
对于神经网络模型算法,主要分为训练阶段和使用阶段。训练阶段中,利用输入层中的数据收集模块301获取样本数据集,利用样本数据集对BERT算法和Bi-LSTM层+Attention层进行训练,得到训练好的BERT算法和预设行为检测模型。在使用阶段,将属性信息和系统调用序列信息经过BERT算法处理后,输入到预设行为检测模型中,即可得到最终的检测结果。
告警模块304:
对于神经网络模块303输出的检测结果,将检测结果发送至告警模块304进行记录,如果检测结果中待检测容器存在异常行为,那么告警模块304还会额外进行告警操作,以提醒用户注意。
综上所述,本申请实施例提供了一种容器运行时异常行为检测方法,通过eBPF和BERT算法提取系统调用序列信息和容器属性信息作为模型输入数据,并通过包含Bi-LSTM层+Attention层的预设行为检测模型实现对系统调用序列信息的识别,实现对容器运行时异常行为的判断和告警。具体的关键保护点如下:
(1)针对容器实际使用的系统调用,即除Linux Seccomp机制默认禁用的系统调用(目前版本为44个)之外的系统调用,分别设计对应的BPF程序,并利用eBPF技术实现实时监控容器的运行,获取容器运行时的系统调用序列,结合容器自身属性信息作为后续神经网络模型的输入数据。
(2)数据采集模块可一次性部署并在运行时监控容器系统调用,容器属性可由Docker自带命令获取,不需要对各个Docker镜像层拆分并进行分层处理,也不需要进行分析和提取等静态分析操作,避免每在容器平台上部署一个新镜像就要进行静态分析的缺点,具有较高的扩展性。
(3)利用BERT算法作为Word Embedding实现容器运行时系统调用序列的向量化工作,BERT算法中的Transformer思想可以更好地描述系统调用之间的关系特征,增加模型的泛化能力。
(4)利用Bi-LSTM层+Dropout层+Attention层+分类层来学习、提取属性信息和系统调用序列信息的高维度特征,并基于Attention机制强化这些特征,最后得到高准确率的容器运行时异常行为的识别结果。
(5)本申请实施例提供了一种基于容器运行时的异常行为系统,在容器平台中,利用容器运行时的系统调用作为特征进行容器异常行为的识别,最终的检测结果包括正常行为以及9类异常行为,9类异常行为分别是:初始访问、执行、持久化、权限提升、防御逃逸、窃取凭证、探测、横向攻击和影响。该异常行为系统能够统一对容器进行监测和识别,无需区分容器应用的网络、文件等不同类别的操作,或是不同容器内应用的API版本等信息。
这样,本申请实施例以BERT算法+Bi-LSTM层+Attention层的架构为依托,识别出容器运行时的异常系统调用序列,从而识别出容器内正在发生的异常行为。数据采集模块可以实现容器内的信息收集工作,解决传统方法的局限性。利用BERT算法将统调用序列及容器属性信息映射为向量,并结合Bi-LSTM层+Attention层学习系统调用序列的高维度特征,实现对于容器内运行时异常行为的高准确率的识别。
本申请实施例提供了一种容器运行时异常行为检测系统,通过本实施例对前述实施例的详细阐述,从中可以看出,通过容器的属性信息和系统调用序列信息,能够检测容器是否存在异常行为,弥补了无法采集到容器内部行为的缺陷,提高了容器运行过程中的安全性。
基于前述的容器运行时异常行为检测系统,在本申请的又一实施例中,参见图6,其示出了本申请实施例提供的预设行为检测模型的训练流程示意图。如图6所示,预设行为检测模型的训练流程包括以下步骤:
S401:获取样本数据集。
需要说明的是,获取用于训练预设神经网络模型的样本数据集,并将样本数据集确定为输入数据进行下一步处理。在这里,样本数据集包括容器的属性信息和系统调用序列信息,系统调用序列信息包括至少一个正常样本数据(容器运行时常规系统调用序列信息)和至少一个异常样本数据(容器运行时恶意系统调用序列信息)。将样本数据集中的样本数据作为输入数据传输到下一步骤,以将其映射为相应的向量。
S402:对样本数据进行向量映射。
需要说明的是,由数据处理模块(即Embedding层)将样本数据(即系统调用序列信息和属性信息)映射为相应的向量。在这里,数据处理模块利用BERT算法实现系统调用序列信息和属性信息的向量化,相比于以往的Word2vec算法、ELMO算法等Embedding技术,BERT算法具有更好的效果及模型泛化能力。具体地,BERT算法将数据收集模块得到的系统调用序列信息和属性信息作为输入,获取整个输入数据的高维度特征。也就是说,Embedding层的功能包括但不限于:将输入数据(属性信息和系统调用序列信息)映射为目标输入向量。
在这里,对于Embedding层,样本数据集的大小往往是有限的,但是却有大量的参数需要学习。为了解决这个问题,基于无监督或自监督的学习方法是一个较好的选择。同时,基于优质的预训练结果进行模型的参数初始化可以取得更好的效果。除此之外,后续可以利用注意力机制提取目标输入向量的高维度特征,并对向量中不同的组成部分予以不同权重的关注。也就是说,对于BERT算法,同样分为模型预训练和模型使用两个阶段:(1)预训练,利用收集到的样本数据集对BERT算法进行预训练,提取序列中的各个系统调用和容器属性的关系特征,并且能在多个不同层次提取关系特征,进而更全面反映序列的含义;(2)利用预训练好的BERT算法作为Embedding层,并将基于eBPF程序采集到的系统调用序列和容器的属性信息作为输入,使序列向量化,作为下一步中Bi-LSTM层的输入。
S403:对预设神经网络模型进行训练。
需要说明的是,预设神经网络模型包括Bi-LSTM层、Dropout层、Attention层和分类层。具体的训练过程如下:
首先,Bi-LSTM层将数据处理模块得到的目标输入向量作为输入,获取整个系统调用序列信息的高维度特征,得到目标特征向量。在这里,Bi-LSTM层能够通过双向结构对系统调用序列信息识别时,充分考虑了上下文的信息,而不仅仅是对单个系统调用的单独判别,从而站位于整体序列的角度对容器是否包含异常行为进行判定;
其次,Dropout层利用正则化方法避免模型的过度拟合,其主要功能是临时删除一部分神经单元网络,并梯度下降更新其他神经单元网络的权值。具体地,在Bi-LSTM层的输入端和输出端分别加入Dropout层,设定Dropout层的预设正则化参数(即丢弃概率),例如设定神经单元网络的丢弃概率为0.5。
之后,Attention层用于引入自注意力机制,即针对经过Dropout层的目标特征向量生成权重向量。换句话说,针对经过Dropout层的目标特征向量,利用权重向量调整关键系统调用所对应子向量的权重比重。具体而言,针对Bi-LSTM层输出的目标特征向量作为特征向量,利用Attention算法计算每个系统调用的权重,然后将所有目标特征向量进行加权求和,得到目标检测向量,作为后续分类层的输入。
最后,分类层,主要利用Softmax函数对整体模型的输出进行分类,判断当前输入的系统调用序列信息是否指示容器中存在异常行为,其中包含正常行为以及9类异常行为:初始访问、执行、持久化、权限提升、防御逃逸、窃取凭证、探测、横向攻击和影响。在这里,Softmax函数对于10个行为类别(正常行为和9类异常行为)中的每一行为类别均会分别输出一个概率值,这些概率值的和为1,将这些概率值中最大概率值及其所对应的类别确定为最终的模型输出结果。
S404:获得预设行为检测模型。
需要说明的是,在利用样本数据集对预设神经网络模型训练之后,得到了预设行为检测模型。
这样,在得到预设行为检测模型后,可以根据该预设行为检测模型对待检测容器的属性信息和系统调用序列信息进行异常行为检测,得到检测结果;根据该检测结果,能够确定待检测容器是否包含异常行为。
本申请实施例提供了一种容器运行时异常行为检测方法,通过本实施例对前述实施例的详细阐述,从中可以看出,通过容器的属性信息和系统调用序列信息,能够检测容器是否存在异常行为,从而弥补了无法采集到容器内部行为的缺陷,提高了容器运行过程中的安全性。
基于前述的容器运行时异常行为检测系统30,在本申请的再一实施例中,参见图7,其示出了本申请实施例提供的另一种容器运行时异常行为检测系统30的工作流程示意图。如图7所示,本申请实施例通过eBPF模块和BERT算法提取系统调用序列信息和容器属性信息作为模型输入数据,并通过包括Bi-LSTM层+Attention层的预设行为检测模型实现对系统调用序列信息进行识别,实现对容器运行时异常行为的判断和告警。
在本申请实施例中,由数据输入模块301获取输入数据:系统调用序列信息(数据格式为syscall()序列)和容器的属性信息,之后的处理过程如下:
首先,输入数据经由数据处理模块302映射为目标输入向量。在这里,数据处理模块302包括BERT算法,BERT算法包括多个编码器(具体为Transformer Encoder),每个Transformer Encoder中依次包括多头自注意力模块、融合&归一(Add&Norm)模块、前馈模块和Add&Norm模块,最终得到目标输入向量(即图6中的Input1-Inputn)。
其次,将目标输入向量传输进入神经网络303模块,其中神经网络303的核心是预设行为检测模型,预设行为检测模型包括Bi-LSTM层+Attention层+分类层。也就是说,目标输入向量依次经过Bi-LSTM层、Attention层和分类层(Softmax函数)的计算,得到模型输出结果(Output),即检测结果。在这里,检测结果包括10种不同的行为类别,即正常行为、初始访问、执行、持久化、权限提升、防御逃逸、窃取凭证、探测、横向攻击和影响。除了正常行为后,其余9种行为类别均为异常行为。
最后,将预设行为检测模型的输出结果发送到告警模块304进行记录,如果输出结果为9种异常行为类别之一,则额外生成告警提示信息,以提醒用户及时对异常行为进行处理。
本申请实施例提供了一种容器运行时异常行为检测系统,通过本实施例对前述实施例的详细阐述,从中可以看出,通过容器的属性信息和系统调用序列信息,能够检测容器是否存在异常行为,从而弥补了无法采集到容器内部行为的缺陷,提高了容器运行过程中的安全性。
在本申请的再一实施例中,参见图8,其示出了本申请实施例提供的一种容器运行时异常行为检测装置50的组成结构示意图。如图8所示,该容器运行时异常行为检测装置50包括获取单元501、计算单元502和检测单元504,其中,
获取单元501,配置为获取待检测容器的属性信息,以及获取所述待检测容器在运行过程中的系统调用序列信息;
计算单元502,配置为基于预设行为检测模型对所述属性信息和所述系统调用序列信息进行异常行为检测,得到检测结果;
检测单元503,配置为基于所述检测结果,确定所述待检测容器是否存在异常行为。
在一些实施例,所述预设行为检测模型是利用样本数据集对预设神经网络模型进行训练后得到的;其中,所述样本数据集包括至少一个正常样本数据和一个异常样本数据,且所述样本数据集中的每一样本数据包括样本属性信息和样本系统调用序列信息。
在一些实施例中,获取单元501,还配置为通过所述待检测容器的信息读取命令进行读取操作,得到所述待检测容器的属性信息。
在一些实施例中,获取单元501,还配置为在所述待检测容器执行预设系统调用操作后,利用预设监控程序收集系统调用信息;在收集到预设数量的系统调用信息后,将所述预设数量的系统调用信息进行时序组合,得到所述系统调用序列信息。
在一些实施例中,计算单元502,还配置为对所述属性信息和所述系统调用序列信息进行向量映射,得到目标输入向量;将所述目标输入向量输入至所述预设行为检测模型,通过所述预设行为检测模型输出所述检测结果。
在一些实施例中,所述预设行为检测模型包括双向长短期记忆网络Bi-LSTM层、自注意力Attention层和分类层,计算单元502,还配置为通过所述Bi-LSTM层对所述目标输入向量进行特征提取,得到目标特征向量;通过所述Attention层对所述目标特征向量进行加权求和操作,得到目标检测向量;通过所述分类层对所述目标检测向量进行概率计算,得到所述检测结果。
在一些实施例中,所述异常行为包括以下至少一项:初始访问行为、执行行为、持久化行为、权限提升行为、防御逃逸行为、窃取凭证行为、探测行为、横向攻击行为和影响行为。
在一些实施例中,如图8所示,该容器运行时异常行为检测装置50还包括告警单元504,配置为当确定所述待检测容器存在异常行为时,生成告警提示信息;其中,所述告警提示信息用于提示用户对所述异常行为进行处理操作。
在一些实施例中,所述属性信息包括以下至少一项:容器标识、容器名称、镜像目录、镜像标识、镜像标签和特权容器信息;所述系统调用序列信息包括以下至少一项:系统调用名、系统调用时间和进程名。
可以理解地,在本实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
因此,本实施例提供了一种计算机存储介质,该计算机存储介质存储有计算机程序,所计算机程序被至少一个处理器执行时实现前述实施例中任一项所述的容器运行时异常行为检测方法的步骤。
基于上述的一种容器运行时异常行为检测装置50的组成以及计算机存储介质,参见图9,其示出了本申请实施例提供的一种容器运行时异常行为检测装置50的具体硬件结构示意图。如图9所示,可以包括:第一通信接口601、第一存储器602和第一处理器603;各个组件通过总线系统604耦合在一起。可理解,总线系统604用于实现这些组件之间的连接通信。总线系统604除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图9中将各种总线都标为总线系统604。其中,第一通信接口601,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
第一存储器602,用于存储能够在第一处理器603上运行的计算机程序;
第一处理器603,用于在运行所述计算机程序时,执行:
获取待检测容器的属性信息,以及获取所述待检测容器在运行过程中的系统调用序列信息;
基于预设行为检测模型对所述属性信息和所述系统调用序列信息进行异常行为检测,得到检测结果;
基于所述检测结果,确定所述待检测容器是否存在异常行为。
可以理解,本申请实施例中的第一存储器602可以是易失性第一存储器或非易失性第一存储器,或可包括易失性和非易失性第一存储器两者。其中,非易失性第一存储器可以是只读第一存储器(Read-Only Memory,ROM)、可编程只读第一存储器(ProgrammableROM,PROM)、可擦除可编程只读第一存储器(Erasable PROM,EPROM)、电可擦除可编程只读第一存储器(Electrically EPROM,EEPROM)或闪存。易失性第一存储器可以是随机存取第一存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取第一存储器(Static RAM,SRAM)、动态随机存取第一存储器(Dynamic RAM,DRAM)、同步动态随机存取第一存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取第一存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取第一存储器(Enhanced SDRAM,ESDRAM)、同步链动态随机存取第一存储器(Synchronous link DRAM,SLDRAM)和直接内存总线随机存取第一存储器(Direct Rambus RAM,DRRAM)。本申请描述的系统和方法的第一存储器602旨在包括但不限于这些和任意其它适合类型的第一存储器。
而第一处理器603可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过第一处理器603中的硬件的集成逻辑电路或者软件形式的指令完成。上述的第一处理器603可以是通用第一处理器、数字信号第一处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用第一处理器可以是微第一处理器或者该第一处理器也可以是任何常规的第一处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码第一处理器执行完成,或者用译码第一处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机第一存储器,闪存、只读第一存储器,可编程只读第一存储器或者电可擦写可编程第一存储器、寄存器等本领域成熟的存储介质中。该存储介质位于第一存储器602,第一处理器603读取第一存储器602中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本申请描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(Application Specific Integrated Circuits,ASIC)、数字信号第一处理器(DigitalSignal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable Logic Device,PLD)、现场可编程门阵列(Field-Programmable GateArray,FPGA)、通用第一处理器、控制器、微控制器、微第一处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本申请所述功能的模块(例如过程、函数等)来实现本申请所述的技术。软件代码可存储在第一存储器中并通过第一处理器执行。第一存储器可以在第一处理器中或在第一处理器外部实现。
可选地,作为另一个实施例,第一处理器603还配置为在运行所述计算机程序时,执行前述实施例中任一项所述的方法的步骤。
本申请实施例提供了一种容器运行时异常行为检测装置,该容器运行时异常行为检测装置包括获取单元、计算单元和检测单元,通过容器的属性信息和系统调用序列信息,能够检测容器是否存在异常行为,从而弥补了无法采集到容器内部行为的缺陷,提高了容器运行过程中的安全性。
本申请的再一实施例中,参见图10,其示出了本申请实施例提供的一种模型训练装置70的组成结构图,如图10所示,该模型训练装置70包括样本单元701和训练单元702;其中,
样本单元701,配置为获取样本数据集;其中,所述样本数据集包括至少一个正常样本数据和一个异常样本数据,且所述样本数据集中的每一样本数据包括样本属性信息和样本系统调用序列信息;
训练单元702,配置为利用所述样本数据集对预设神经网络模型进行训练,得到所述预设行为检测模型;其中,所述预设行为检测模型用于根据待检测容器的属性信息和所述待检测容器的系统调用序列信息判断所述待检测容器是否存在异常行为。
在一些实施例中,训练单元702,还配置为确定预设正则化参数;基于所述预设正则化参数,控制所述预设神经网络模型进行神经元丢弃操作。
可以理解地,在本实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本实施例提供了一种计算机存储介质,应用于模型训练装置70,该计算机存储介质存储有计算机程序,所述计算机被第二处理器执行时实现前述实施例中任一项所述的模型训练方法的步骤。
基于上述模型训练装置70的组成以及计算机存储介质,参见图11,其示出了本申请实施例提供的模型训练装置70的具体硬件结构示例,如图11所示,模型训练装置70可以包括:第二通信接口801、第二存储器802和第二处理器803;各个组件通过第二总线系统804耦合在一起。可理解,第二总线系统804用于实现这些组件之间的连接通信。第二总线系统804除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图11中将各种总线都标为第二总线系统804。其中,
第二通信接口801,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
第二存储器802,用于存储能够在第二处理器803上运行的计算机程序;
第二处理器803,用于在运行所述计算机程序时,执行:
获取样本数据集;其中,所述样本数据集包括至少一个正常样本数据和一个异常样本数据,且所述样本数据集中的每一样本数据包括样本属性信息和样本系统调用序列信息;
利用所述样本数据集对预设神经网络模型进行训练,得到所述预设行为检测模型;其中,所述预设行为检测模型用于根据待检测容器的属性信息和所述待检测容器的系统调用序列信息判断所述待检测容器是否存在异常行为。
可选地,作为另一个实施例,第二处理器803还配置为在运行所述计算机程序时,执行前述实施例中任一项所述的方法。
可以理解,第二存储器802与第一存储器602的硬件功能类似,第二处理器803与第一处理器603的硬件功能类似;这里不再详述。
本申请实施例提供了一种模型训练装置,该模型训练装置包括样本单元和训练单元,利用样本数据集对预设神经网络模型进行训练,得到预设行为检测模型,从而预设行为检测模型能够根据容器的属性信息和系统调用序列信息,检测容器是否存在异常行为,弥补了无法采集到容器内部行为的缺陷,提高了容器运行过程中的安全性。
基于上述容器运行时异常行为检测装置50的组成以及硬件结构示意图。参见图12,其示出了本申请实施例提供的另一种容器运行时异常行为检测系统30的组成结构示意图。如图12所示,该容器运行时异常行为检测系统30至少包括待检测容器901和前述实施例中任一项所述的容器运行时异常行为检测装置50,待检测容器901和容器运行时异常行为检测装置50之间通讯连接,且容器运行时异常行为检测装置50用于检测待检测容器901中是否存在异常行为。
对于容器运行时异常行为检测系统30而言,通过待检测容器的属性信息和系统调用序列信息,能够检测待检测容器是否存在异常行为,从而弥补了无法采集到容器内部行为的缺陷,提高了待检测容器运行过程中的安全性。
以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。
需要说明的是,在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (16)

1.一种容器运行时异常行为检测方法,其特征在于,所述方法包括:
获取待检测容器的属性信息,以及获取所述待检测容器在运行过程中的系统调用序列信息;
基于预设行为检测模型对所述属性信息和所述系统调用序列信息进行异常行为检测,得到检测结果;
基于所述检测结果,确定所述待检测容器是否存在异常行为。
2.根据权利要求1所述的容器运行时异常行为检测方法,其特征在于,所述预设行为检测模型是利用样本数据集对预设神经网络模型进行训练后得到的;其中,所述样本数据集包括至少一个正常样本数据和一个异常样本数据,且所述样本数据集中的每一样本数据包括样本属性信息和样本系统调用序列信息。
3.根据权利要求1所述的容器运行时异常行为检测方法,其特征在于,所述获取待检测容器的属性信息,包括:
通过所述待检测容器的信息读取命令进行读取操作,得到所述待检测容器的属性信息。
4.根据权利要求1所述的容器运行时异常行为检测方法,其特征在于,所述获取所述待检测容器在运行过程中的系统调用序列信息,包括:
在所述待检测容器执行预设系统调用操作后,利用预设监控程序收集系统调用信息;
在收集到预设数量的系统调用信息后,将所述预设数量的系统调用信息进行时序组合,得到所述系统调用序列信息。
5.根据权利要求1所述的容器运行时异常行为检测方法,其特征在于,所述基于预设行为检测模型对所述属性信息和所述系统调用序列信息进行异常行为检测,得到检测结果,包括:
对所述属性信息和所述系统调用序列信息进行向量映射,得到目标输入向量;
将所述目标输入向量输入至所述预设行为检测模型,通过所述预设行为检测模型输出所述检测结果。
6.根据权利要求5所述的容器运行时异常行为检测方法,其特征在于,所述预设行为检测模型包括双向长短期记忆网络Bi-LSTM层、自注意力Attention层和分类层;所述将所述目标输入向量输入至所述预设行为检测模型,输出所述检测结果,包括:
通过所述Bi-LSTM层对所述目标输入向量进行特征提取,得到目标特征向量;
通过所述Attention层对所述目标特征向量进行加权求和操作,得到目标检测向量;
通过所述分类层对所述目标检测向量进行概率计算,得到所述检测结果。
7.根据权利要求1所述的容器运行时异常行为检测方法,其特征在于,所述异常行为包括以下至少一项:初始访问行为、执行行为、持久化行为、权限提升行为、防御逃逸行为、窃取凭证行为、探测行为、横向攻击行为和影响行为。
8.根据权利要求1所述的容器运行时异常行为检测方法,其特征在于,在所述基于所述检测结果,确定所述待检测容器是否存在异常行为之后,所述方法还包括:
当确定所述待检测容器存在异常行为时,生成告警提示信息;其中,所述告警提示信息用于提示用户对所述异常行为进行处理操作。
9.根据权利要求1-8任一项所述的容器运行时异常行为检测方法,其特征在于,
所述属性信息包括以下至少一项:容器标识、容器名称、镜像目录、镜像标识、镜像标签和特权容器信息;
所述系统调用序列信息包括以下至少一项:系统调用名、系统调用时间和进程名。
10.一种模型训练方法,其特征在于,所述方法包括:
获取样本数据集;其中,所述样本数据集包括至少一个正常样本数据和一个异常样本数据,且所述样本数据集中的每一样本数据包括样本属性信息和样本系统调用序列信息;
利用所述样本数据集对预设神经网络模型进行训练,得到所述预设行为检测模型;其中,所述预设行为检测模型用于根据待检测容器的属性信息和所述待检测容器的系统调用序列信息判断所述待检测容器是否存在异常行为。
11.根据权利要求10所述的模型训练方法,其特征在于,在所述利用所述样本数据集对预设神经网络模型进行训练的过程中,所述方法还包括:
确定预设正则化参数;
基于所述预设正则化参数,控制所述预设神经网络模型进行神经元丢弃操作。
12.一种容器运行时异常行为检测装置,其特征在于,所述容器运行时异常行为检测装置包括获取单元、计算单元和检测单元,其中,
所述获取单元,配置为获取待检测容器的属性信息,以及获取所述待检测容器在运行过程中的系统调用序列信息;
所述计算单元,配置为基于预设行为检测模型对所述属性信息和所述系统调用序列信息进行异常行为检测,得到检测结果;
所述检测单元,配置为基于所述检测结果,确定所述待检测容器是否存在异常行为。
13.一种容器运行时异常行为检测装置,其特征在于,所述容器运行时异常行为检测装置包括第一存储器和第一处理器;其中,
所述第一存储器,用于存储能够在所述处理器上运行的计算机程序;
所述第一处理器,用于在运行所述计算机程序时,执行如权利要求1至9任一项所述方法的步骤。
14.一种模型训练装置,其特征在于,所述模型训练装置包括样本单元和训练单元;其中,
所述样本单元,配置为获取样本数据集;其中,所述样本数据集包括至少一个正常样本数据和一个异常样本数据,且所述样本数据集中的每一样本数据包括样本属性信息和样本系统调用序列信息;
所述训练单元,配置为利用所述样本数据集对预设神经网络模型进行训练,得到所述预设行为检测模型;其中,所述预设行为检测模型用于根据待检测容器的属性信息和所述待检测容器的系统调用序列信息判断所述待检测容器是否存在异常行为。
15.一种模型训练装置,其特征在于,所述模型训练装置包括第二存储器和第二处理器;其中,
所述第二存储器,用于存储能够在所述处理器上运行的计算机程序;
所述第二处理器,用于在运行所述计算机程序时,执行如权利要求10-11任一项所述方法的步骤。
16.一种计算机存储介质,其特征在于,所述计算机存储介质储存计算机程序,所述计算机程序被第一处理器执行时实现如权利要求1-9任一项所述方法的步骤、或者被第二处理器执行时实现如权利要求10-11任一项所述方法的步骤。
CN202110125054.0A 2021-01-29 2021-01-29 容器运行时异常行为检测、模型训练方法及相关装置 Pending CN112860484A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110125054.0A CN112860484A (zh) 2021-01-29 2021-01-29 容器运行时异常行为检测、模型训练方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110125054.0A CN112860484A (zh) 2021-01-29 2021-01-29 容器运行时异常行为检测、模型训练方法及相关装置

Publications (1)

Publication Number Publication Date
CN112860484A true CN112860484A (zh) 2021-05-28

Family

ID=75986812

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110125054.0A Pending CN112860484A (zh) 2021-01-29 2021-01-29 容器运行时异常行为检测、模型训练方法及相关装置

Country Status (1)

Country Link
CN (1) CN112860484A (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113419816A (zh) * 2021-06-16 2021-09-21 国网安徽省电力有限公司信息通信分公司 一种容器镜像动态风险检测方法
CN113590193A (zh) * 2021-07-12 2021-11-02 苏州仰思坪半导体有限公司 一种运算装置、方法、介质及计算设备
CN113641991A (zh) * 2021-07-21 2021-11-12 的卢技术有限公司 一种汽车安全审计方法及系统
CN113872954A (zh) * 2021-09-23 2021-12-31 绿盟科技集团股份有限公司 一种数据流量检测的方法
CN114168951A (zh) * 2022-02-11 2022-03-11 阿里云计算有限公司 异常检测方法以及装置
CN114745307A (zh) * 2022-02-25 2022-07-12 网宿科技股份有限公司 一种容器流量的监控方法及bpf控制器
CN114816279A (zh) * 2022-06-30 2022-07-29 广东睿江云计算股份有限公司 基于ebpf实现虚拟机磁盘读写的控制方法及控制系统
WO2022257643A1 (zh) * 2021-06-11 2022-12-15 中兴通讯股份有限公司 网络传输层数据处理方法、设备及存储介质
CN115603999A (zh) * 2022-10-12 2023-01-13 中国电信股份有限公司(Cn) 容器安全防护方法、装置、设备及存储介质
CN116431276A (zh) * 2023-02-28 2023-07-14 港珠澳大桥管理局 容器安全防护方法、装置、计算机设备和存储介质
CN116522318A (zh) * 2023-06-30 2023-08-01 中国电信股份有限公司 容器权限检测方法、装置、设备及介质
CN116542224A (zh) * 2023-07-03 2023-08-04 之江实验室 Office文档异常检测方法、装置及可读存储介质
WO2023160010A1 (zh) * 2022-02-28 2023-08-31 中兴通讯股份有限公司 安全检测方法、装置、电子设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109858244A (zh) * 2019-01-16 2019-06-07 四川大学 一种容器内进程异常行为检测方法与系统
CN110941827A (zh) * 2019-10-25 2020-03-31 北京元心科技有限公司 应用程序异常行为检测方法及装置
CN112202726A (zh) * 2020-09-10 2021-01-08 西安交通大学 一种基于上下文感知的系统异常检测方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109858244A (zh) * 2019-01-16 2019-06-07 四川大学 一种容器内进程异常行为检测方法与系统
CN110941827A (zh) * 2019-10-25 2020-03-31 北京元心科技有限公司 应用程序异常行为检测方法及装置
CN112202726A (zh) * 2020-09-10 2021-01-08 西安交通大学 一种基于上下文感知的系统异常检测方法

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022257643A1 (zh) * 2021-06-11 2022-12-15 中兴通讯股份有限公司 网络传输层数据处理方法、设备及存储介质
CN113419816A (zh) * 2021-06-16 2021-09-21 国网安徽省电力有限公司信息通信分公司 一种容器镜像动态风险检测方法
CN113590193A (zh) * 2021-07-12 2021-11-02 苏州仰思坪半导体有限公司 一种运算装置、方法、介质及计算设备
CN113590193B (zh) * 2021-07-12 2024-03-22 苏州仰思坪半导体有限公司 一种运算装置、方法、介质及计算设备
CN113641991A (zh) * 2021-07-21 2021-11-12 的卢技术有限公司 一种汽车安全审计方法及系统
CN113872954A (zh) * 2021-09-23 2021-12-31 绿盟科技集团股份有限公司 一种数据流量检测的方法
CN113872954B (zh) * 2021-09-23 2024-02-20 绿盟科技集团股份有限公司 一种数据流量检测的方法
CN114168951A (zh) * 2022-02-11 2022-03-11 阿里云计算有限公司 异常检测方法以及装置
CN114168951B (zh) * 2022-02-11 2022-08-16 阿里云计算有限公司 异常检测方法以及装置
CN114745307B (zh) * 2022-02-25 2023-09-22 网宿科技股份有限公司 一种容器流量的监控方法及bpf控制器
CN114745307A (zh) * 2022-02-25 2022-07-12 网宿科技股份有限公司 一种容器流量的监控方法及bpf控制器
WO2023160010A1 (zh) * 2022-02-28 2023-08-31 中兴通讯股份有限公司 安全检测方法、装置、电子设备和存储介质
CN114816279A (zh) * 2022-06-30 2022-07-29 广东睿江云计算股份有限公司 基于ebpf实现虚拟机磁盘读写的控制方法及控制系统
CN115603999A (zh) * 2022-10-12 2023-01-13 中国电信股份有限公司(Cn) 容器安全防护方法、装置、设备及存储介质
CN116431276A (zh) * 2023-02-28 2023-07-14 港珠澳大桥管理局 容器安全防护方法、装置、计算机设备和存储介质
CN116522318A (zh) * 2023-06-30 2023-08-01 中国电信股份有限公司 容器权限检测方法、装置、设备及介质
CN116522318B (zh) * 2023-06-30 2023-10-03 中国电信股份有限公司 容器权限检测方法、装置、设备及介质
CN116542224A (zh) * 2023-07-03 2023-08-04 之江实验室 Office文档异常检测方法、装置及可读存储介质

Similar Documents

Publication Publication Date Title
CN112860484A (zh) 容器运行时异常行为检测、模型训练方法及相关装置
Gibert et al. The rise of machine learning for detection and classification of malware: Research developments, trends and challenges
Xu et al. Hadm: Hybrid analysis for detection of malware
Li et al. Deeppayload: Black-box backdoor attack on deep learning models through neural payload injection
CN101777062B (zh) 场境感知的实时计算机保护系统和方法
CN109858239B (zh) 一种动静态结合的容器内cpu漏洞攻击程序检测方法
CN107209825A (zh) 经由存储器监测的数据流跟踪
He et al. Verideep: Verifying integrity of deep neural networks through sensitive-sample fingerprinting
Qiu et al. Predicting the impact of android malicious samples via machine learning
Motiur Rahman et al. StackDroid: Evaluation of a multi-level approach for detecting the malware on android using stacked generalization
Xiao et al. A multitarget backdooring attack on deep neural networks with random location trigger
CN116204882A (zh) 基于异构图的Android恶意软件检测方法及装置
Wei et al. Toward identifying APT malware through API system calls
Mei et al. Detecting vulnerabilities in IoT software: New hybrid model and comprehensive data analysis
Raymond et al. Investigation of Android malware using deep learning approach
Shalaginov et al. Automatic rule-mining for malware detection employing neuro-fuzzy approach
Gantikow et al. Container anomaly detection using neural networks analyzing system calls
Vaza et al. Developing a novel methodology for virtual machine introspection to classify unknown malware functions
Grover et al. Malware threat analysis of IoT devices using deep learning neural network methodologies
US11934533B2 (en) Detection of supply chain-related security threats to software applications
US20210374229A1 (en) Methods and apparatus to improve detection of malware in executable code
Pandey et al. Evading malware classifiers using RL agent with action-mask
Mohammed et al. Android applications classification with deep neural networks
Gupta et al. Android malware detection using machine learning
Mishra et al. Hybrid deep learning algorithm for smart cities security enhancement through blockchain and internet of things

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