CN114430824B - 用于完整性监测的突变事件检测 - Google Patents
用于完整性监测的突变事件检测 Download PDFInfo
- Publication number
- CN114430824B CN114430824B CN202080066471.6A CN202080066471A CN114430824B CN 114430824 B CN114430824 B CN 114430824B CN 202080066471 A CN202080066471 A CN 202080066471A CN 114430824 B CN114430824 B CN 114430824B
- Authority
- CN
- China
- Prior art keywords
- mutation event
- external commands
- commands
- event report
- computer
- 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
-
- 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/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种计算机实现方法包括:基于与集群计算系统内的一个或多个改变事件相关联的一个或多个进程来生成一个或多个进程树;通过将一个或多个进程树中的每个进程树的根与一个或多个外部命令进行比较来执行突变事件检测;以及基于该比较生成突变事件报告。
Description
技术领域
本发明总体上涉及计算机系统,并且更具体地涉及用于完整性监测的突变事件检测。
背景技术
系统和信息完整性监测被需要作为符合性和审计标准的一部分。这些标准可以包括但不限于支付卡行业数据安全标准(PCI/DSS)(例如,PCI Requirement 11.5)、国家标准与技术协会(NIST)标准(例如,NIST特殊出版物800-53(SI-7))等。
发明内容
根据本发明的一个方面,提供了一种系统。该系统包括用于存储程序代码的存储器设备和可操作地耦合到存储器设备的至少一个硬件处理器。该至少一个硬件处理器被配置为执行存储在存储器设备上的程序代码,以基于与集群计算系统内的一个或多个改变事件相关联的一个或多个进程来生成一个或多个进程树,通过将一个或多个进程树中的每一个进程树的根与一个或多个外部命令进行比较来执行突变事件检测,以及基于该比较生成突变事件报告。
根据本发明的另一方面,提供了一种计算机实现的方法。该方法包括基于与集群计算系统内的一个或多个改变事件相关联的一个或多个进程生成一个或多个进程树,通过将一个或多个进程树中的每一个进程树的根与一个或多个外部命令进行比较来执行突变事件检测,以及基于该比较生成突变事件报告。
从以下结合附图阅读的对本发明的说明性实施例的详细描述中,这些和其他特征和优点将变得显而易见。
附图说明
以下描述将参考以下附图提供优选实施例的细节,其中:
图1是根据本发明实施例的集群计算系统的概览的框图/流程图;
图2是根据本发明实施例的可以在图1的系统中实施的改变事件检测和存储的框图;
图3是根据本发明实施例的用于检测集群计算系统中的突变事件的系统/方法的框图/流程图;
图4是根据本发明实施例的处理系统的框图;
图5是根据本发明实施例的具有云消费者使用的本地计算机与其通信的一个或多个云计算节点的说明性云计算环境的框图;
图6是根据本发明实施例的由云计算环境提供的一组功能抽象层的框图;以及
图7是根据本发明实施例的示例性改变事件的图。
具体实施方式
本文描述的实施例提供了用于集群计算系统的突变事件的检测。集群计算系统可以包括一起工作以执行任务的一组或多组连接的计算机设备或集群。集群可以使每个节点集合执行相同的任务,这些任务可以由软件控制和调度。
如本文所使用的,突变事件指的是与集群内发生的非预期改变相对应的改变事件。更具体地,本文描述的实施例可以收集改变事件,并且从改变事件中提取突变事件。改变事件可以包括低级事件,诸如文件创建、更新、删除和处理开始。突变事件可以(1)在没有程序或图像分析的情况下提取,并且(2)利用过滤掉不频繁的或罕见的非突变(例如,预期的)事件的能力来提取。
例如,本文描述的实施例可以用包括用于自动化应用部署、缩放和管理的容器编排系统的集群计算系统来实现。容器是使用操作系统(OS)级虚拟化来递送软件的包。容器彼此隔离,并且可以捆绑它们自己的软件、库和配置文件。由于容器由单个OS内核运行,因此它们比例如虚拟机更轻量级。例如,集群可以包括Kubernetes(“k8s”)容器编排系统。Kubernetes是一种可以与各种容器工具一起使用的开源容器编排系统。
本文描述的实施例可以用于满足系统和信息完整性标准的兼容性,包括但不限于PCI/DSS(例如,PCI Requirement 11.5)、NIST标准(例如,NIST特殊公开800-53(SI-7))等。例如,当PCI Requirement 11.5被应用于其行为被特别明确的容器时,容器中的突变可以预测容器的行为的异常改变。这种行为改变可以由系统管理员评估(在基于列入白名单的简档考虑了预期在容器中的已知改变之后)以供进一步调查。调查可指示恶意活动(新的恶意文件或进程)、比特币挖掘器或处于不健康状态的容器。
说明书中对“一个实施例”或“实施例”及其他变型的引用意味着结合该实施例描述的特定特征、结构、特性等被包括在至少一个实施例中。因此,在整个说明书中的各个地方出现的短语“在一个实施例中”或“在实施例中”以及任何其他变型的出现不一定都指相同的实施例。
应当理解,例如,在“A/B”、“A和/或B”以及“A和B中的至少一个”的情况下,使用以下“/”、“和/或”以及“中的至少一个”中的任何一个,旨在涵盖仅对第一列出的选项(A)的选择、或仅对第二列出的选项(B)的选择、或对两个选项(A和B)的选择。作为进一步的示例,在“A、B和/或C”和“A、B和C中的至少一个”的情况下,这样的措词旨在涵盖仅选择第一个列出的选项(A),或者仅选择第二个列出的选项(B),或者仅选择第三个列出的选项(C),或者仅选择第一个和第二个列出的选项(A和B),或者仅选择第一个和第三个列出的选项(A和C),或者仅选择第二个和第三个列出的选项(B和C),或者选择所有三个选项(A和B和C)。这可以扩展到所列的许多项目,这对于本领域和相关领域的普通技术人员来说是显而易见的。
本文所使用的术语仅用于描述特定实施例的目的,且不希望限制实例性实施例。如本文所用,单数形式的“一”、“一个”和“该”旨在也包括复数形式,除非上下文另有明确指示。还将理解,术语“包括”、“包含”和/或“含有”在本文中使用时指定所陈述的特征、整数、步骤、操作、元件和/或组件的存在,但不排除一个或多个其他特征、整数、步骤、操作、元件、组件和/或其组的存在或添加。
应当理解,尽管术语第一、第二等可以在本文用于描述各种元素,但是这些元素不应当受这些术语的限制。这些术语仅用于将一个元素与另一个元素区分。因此,在不脱离本概念的范围的情况下,下面讨论的第一元素可以被称为第二元素。
现在参考附图,其中相同的数字表示相同或相似的元素,首先参考图1,提供了集群计算系统100的概览。在一个实施例中,系统100包括容器编排系统。例如,系统100可以包括例如Kubernetes容器编排系统。
该系统可以包括一个或多个集群。如该说明性实施例中所示,系统100可以包括多个集群,包括集群110-1和集群110-2,下面将参考图2描述关于集群110-1和110-2的进一步细节。
如进一步所示,系统100还可以包括数据库(DB)120。DB 120可以存储从集群110-1和110-2接收的一个或多个改变事件。如下面将进一步详细描述的,可以收集一个或多个改变事件以便检测突变事件。
如进一步所示,系统100还可以包括应用编程接口(API)服务器130。一个或多个外部命令可以由容器编排系统内的容器平台执行。例如,在一个实施例中,API服务器130可以是Kubernetes API服务器。如将在下面进一步详细描述的,API服务器130可以提供一个或多个外部命令(例如,一个或多个探测命令)以结合改变事件来检测突变事件。
如进一步所示,系统100还包括至少一个处理设备140。至少一个处理设备140被配置为基于一个或多个改变事件和一个或多个外部命令来执行突变事件检测。
例如,至少一个处理设备140可以包括被配置为从API服务器130获取一个或多个外部命令(例如,一个或多个探测命令)的外部命令获取组件142。例如,可以从API服务器130中的容器定义提取一个或多个外部命令。外部命令(例如,探测命令)的示例包括但不限于liveness_probe(周期性地执行以检查容器的存活)、readity_probe(周期性地执行以检查容器的准备)、lifecy_post_start(仅在启动容器之后执行一次)、lifecy_pre_stop(仅在停止容器之前执行一次)等。
至少一个处理设备140还可以包括被配置为从数据库120收集一个或多个改变事件的改变事件收集组件144。下面将参考图7更详细地描述改变事件的示例。
至少一个处理设备140还可以包括进行树生成组件146,其被配置为基于与一个或多个改变事件相关联的一个或多个进程来生成一个或多个进程树(或“突变树”)。例如,在给定进程树中,父进程可以将所有子进程作为其分支。然后,文件改变事件可以是对应进程的子进程,作为分支的叶。更具体地,在每个事件中,可以使用进程标识符(PID)来生成一个或多个进程树。PID是可以由操作系统(OS)内核用来标识活动进程的标识符(例如,编号)。可以用于生成一个或多个进程树的PID的示例包括但不限于PID、PPID(父进程的PID)、PGID(进程组的进程组领导者的PID)等。
至少一个处理设备140还可以包括突变检测组件148。突变检测组件148可以被配置为通过将一个或多个进程树中的每一个进程树的根与一个或多个外部命令进行比较来执行突变检测。给定进程树的根是与事件的原始进程相对应的进程。如果给定进程树的根与外部命令中的至少一个相匹配,则确定给定进程树的根是由外部命令产生的进程。因此,给定进程树中的所有事件都由外部命令生成,并且没有检测到突变。然而,如果给定进程树的根与外部命令中的至少一个不匹配,则确定给定进程树的根不是由外部命令产生的进程。因此,给定进程树中的所有事件都由外部命令生成,并且检测到突变。
突变检测组件148还可以被配置为基于该比较来生成突变事件报告(“报告”)150。例如,如果比较导致确定给定进程树的根是由外部命令产生的进程并且因此不对应于突变,则可以从报告150中省略或排除给定进程树。然而,如果比较结果确定给定进程树的根不是由外部命令产生的进程并且因此对应于突变,则可以将给定进程树添加到报告150。
例如,在容器编排系统中,至少一个处理设备140可以连续地监测容器中的文件状态并且在给定采样处进行处理,并且在用户界面上报告状态中的模改变,其已经作为容器的正常改变被添加到简档白名单。报告可以被看作基于逐个容器的突变的通知,以及每个容器的时间线。因此,至少一个处理装置140可以满足容器完整性监测标准。
在说明性实施例中,DB 120可以被配置为每小时收集大约32,835个改变事件,进程树生成组件146可以被配置为每小时生成大约4,011个进程树,并且可以每小时检测到与非外部命令(例如,非探测)事件相对应的4个进程树(例如,每小时仅2个容器)。
参考图7,提供了示出示例性改变事件700的示图。在该说明性实施例中,改变事件700与Kubernetes(“k8s”)容器编排系统相关联。如图所示,改变事件700可以包括多个字段,包括“Time”、“k8s.ns.nam”、“k8s.pod.name”、“container.name”、“proc.cmdline”、“entry_proc”、“proc.vpgid”和“proc.vpid”。
字段“Time”提供对应于改变事件的时间戳。
字段“k8s.ns.nam”指示命名空间(ns)的名称,在该示例中其是“认知数据”。
字段“k8s.pod.name”指示pod的名称,在该示例中其是“conv-a-s04-csfdev-data-exhaust-healthcheck-5c8cd97fd5-dllhf”。pod是具有共享的存储/网络和如何运行容器的规范的一个或多个容器的组。
字段“container.name”指示容器的名称,在该示例中其是“data-exhaust-producer”。
字段“proc.cmdline”指示当启动该进程时的完整命令行。
字段“entry_proc”指示该进程是否是不同于源自容器入口点的根进程的另一根进程。
字段“proc.vpgid”指示生成事件的进程的进程组ID,如从其当前PID命名空间看到的。
字段“proc.vpid”指示生成事件的进程的ID,如从其当前PID命名空间看到的。
参考图2,示出了包括集群202-1和集群202-2的系统200。如图所示,集群202-1可以包括节点210-1和在节点210-1上运行的多个容器220-1,集群202-2可以包括节点210-2和在节点210-2上运行的多个容器220-2。系统200还可以包括数据库(DB)230。
多个容器220-1可以包括爬虫容器222-1,并且多个容器220-2可以包括爬虫容器222-2。爬虫容器222-1可以被配置为监测在节点210-1上运行的容器220-1,并且爬虫容器222-2可以被配置为监测在节点220-2上运行的容器220-2。由爬虫容器222-1和222-2观察或检测到的数据然后可以被发送到DB 230。DB 230可以存储用于执行突变事件检测的数据,诸如上面参考图1所描述的,任何适当的爬虫容器都可以用于实现根据本文所描述的实施例的爬虫容器222-1和222-2。合适的爬虫容器的示例包括但不限于Sysdig。
在该说明性实施例中,系统200是包括容器编排系统的集群计算系统。然而,这样的实施例不应被认为是限制性的,并且集群计算系统可以包括根据本文描述的实施例的任何合适的编排系统。
参考图3,示出了说明用于检测集群计算系统中的突变事件的系统/方法300的框图/流程图。
在框310处,收集集群计算系统内的一个或多个改变事件。集群计算系统可以包括一个或多个集群,每个集群包括相应的节点,并且收集一个或多个改变事件可以包括检测一个或多个集群中的一个或多个改变事件,并且将一个或多个检测到的改变事件存储在数据库中。
在一个实施例中,集群计算系统可以包括容器编排系统(例如,Kubernetes容器编排系统),其中每个集群包括在对应的集群节点上运行的多个容器。更具体地,一个或多个集群内的给定集群内的多个容器中的给定容器可以是被配置为监测在给定集群上运行的容器的爬虫容器。根据本文所述的实施例,任何合适的进程可用于收集一个或多个改变事件。
在框320处,基于与一个或多个改变事件相关联的一个或多个进程来生成一个或多个进程树。例如,在给定进程树中,父进程可以将所有子进程作为其分支。然后,文件改变事件可以是对应进程的子进程,作为分支的叶。更具体地,在每个事件中,可以使用进程标识符(PID)来生成一个或多个进程树。可以用于生成一个或多个进程树的PID的示例包括但不限于PID、PPID(父进程的PID)、PGID(进程组的进程组领导者的PID)等。根据本文所述的实施例,任何合适的进程可用于生成一个或多个进程树。
在框330处,可以获取一个或多个外部命令。一个或多个外部命令可以对应于预期的访问模式。例如,一个或多个外部命令可以由容器编排系统内的容器平台执行。在一个实施例中,可以从API服务器(例如,Kubernetes API服务器)获取一个或多个外部命令。获取一个或多个外部命令可以包括从API服务器中的容器定义提取一个或多个外部命令。外部命令(例如,探测命令)的示例包括但不限于liveness_probe(周期性地执行以检查容器的存活)、readity_probe(周期性地执行以检查容器的准备)、lifecy_post_start(仅在启动容器之后执行一次)、lifecy_pre_stop(仅在停止容器之前执行一次)等。任何适当的进程可以用来获取根据本文描述的实施例的一个或多个外部命令。
在框340处,通过将每个进程树的根与一个或多个外部命令进行比较来执行突变事件检测。更具体地,如果给定进程树的根与外部命令中的至少一个相匹配,则确定给定进程树的根是由外部命令产生的进程。因此,给定进程树中的所有事件都由外部命令生成,并且没有检测到突变。然而,如果给定进程树的根与外部命令中的至少一个不匹配,则确定给定进程树的根不是由外部命令产生的进程。因此,给定进程树中的所有事件都由外部命令生成,并且检测到突变。
在框310-340处执行的步骤可以在没有程序或图像分析的情况下从一个或多个改变事件中提取“非预期”事件,并且从一个或多个改变事件中过滤掉罕见的或不频繁发生的任何“预期”事件或访问模式。
在框350处,可以基于比较自动生成突变事件报告。该改变事件报告可以包括被构造为进程树的改变事件,该改变事件是由非预期访问(与预期访问相反)引起的。例如,如果比较导致确定给定进程树的根是由外部命令产生的进程,因此不对应于突变,则可以从突变事件报告中省略或排除给定进程树。然而,如果比较导致确定给定进程树的根不是由外部命令产生的进程,因此对应于突变,则可以将给定进程树添加到突变事件报告中。
在框360处,可以将突变事件报告传输至一个或多个计算设备。一个或多个计算设备可以与一个或多个系统管理员相关联。突变事件报告可以显示在用户界面上,该用户界面可以向系统管理员通知任何非预期的改变(例如,对容器的非预期的改变)。系统管理员然后可以采取补救动作以解决在突变事件报告上显示的任何非预期的改变。
例如,在容器编排系统中,系统/方法300可以在给定采样下连续地监测容器以获取文件的状态和进程,并且在用户界面上报告状态的模改变,其已经作为容器的正常改变被添加到简档白名单。报告可以被看作基于逐个容器的改变的通知,以及每个容器的时间线。因此,系统/方法300可以满足容器完整性监测标准。
参考图4,根据一个实施例示出了可以应用本发明的示例性处理系统400。处理系统400包括至少一个处理器(CPU)404,其经由系统总线402可操作地耦合到其他组件。高速缓存406、只读存储器(ROM)408、随机存取存储器(RAM)410、输入/输出(I/O)适配器420、声音适配器430、网络适配器440、用户接口适配器450和显示适配器460可操作地耦合到系统总线402。
第一存储设备422和第二存储设备424通过I/O适配器420可操作地耦合到系统总线402。存储设备422和424可以是盘存储设备(例如,磁盘或光盘存储设备)、固态磁设备等中的任何一种。存储设备422和424可以是相同类型的存储设备或不同类型的存储设备。
扬声器432通过声音适配器430可操作地耦合到系统总线402。收发器442通过网络适配器440可操作地耦合到系统总线402。显示设备462通过显示适配器460可操作地耦合到系统总线402。
第一用户输入设备452、第二用户输入设备454和第三用户输入设备456通过用户接口适配器450可操作地耦合到系统总线402。用户输入设备452、454和456可以是以下中的任何一个:键盘、鼠标、小键盘、图像捕获设备、运动感测设备、麦克风、结合了前述设备中的至少两个设备的功能的设备等。当然,也可以使用其他类型的输入设备。用户输入设备452、454和456可以是相同类型的用户输入设备或不同类型的用户输入设备。用户输入设备452、454和456用于向系统400输入信息和从系统400输出信息。
突变事件检测(MED)组件470可以可操作地耦合到系统总线402。MED组件470被配置成在如上所述的配方(formulation)生成系统内对配方进行采样。MED组件470可以被实现为独立的专用硬件设备,或者可以被实现为存储在存储设备上的软件。在MED组件470是软件实现的实施例中,尽管被示为计算机系统400的单独组件,但是MED组件470可以存储在例如第一存储设备422和/或第二存储设备424上。或者,MED组件470可以存储在单独的存储设备(未示出)上。
当然,处理系统400还可以包括本领域技术人员容易想到的其他元件(未示出),以及省略某些元件。例如,如本领域普通技术人员容易理解的,取决于各种其他输入设备和/或输出设备的特定实现,它们可以被包括在处理系统400中。例如,可以使用各种类型的无线和/或有线输入和/或输出设备。此外,如本领域普通技术人员容易理解的,还可以利用各种配置中的附加处理器、控制器、存储器等。处理系统400的这些和其他改变是本领域普通技术人员在给定这里提供的本发明的教导的情况下容易想到的。
应当理解,尽管本公开包括关于云计算的详细描述,但是本文所陈述的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知或以后开发的任何其他类型的计算环境来实现。
云计算是一种服务递送模型,用于实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储装置、应用、虚拟机和服务)的共享池的方便的按需网络访问,所述可配置计算资源可以以最小的管理努力或与服务的提供者的交互来快速供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
特性如下:
按需自助:云消费者可以单方面地自动地根据需要提供计算能力,诸如服务器时间和网络存储,而不需要与服务的提供者进行人工交互。
广域网接入:能力在网络上可用,并且通过促进由异构的瘦或胖客户端平台(例如,移动电话、膝上型计算机和PDA)使用的标准机制来访问。
资源池化:供应商的计算资源被集中以使用多租户模型来服务多个消费者,其中不同的物理和虚拟资源根据需求被动态地分配和重新分配。存在位置无关的意义,因为消费者通常不控制或不知道所提供的资源的确切位置,但是能够在较高抽象级别(例如国家、州或数据中心)指定位置。
快速弹性:在一些情况下,可以快速且弹性地提供快速向外扩展的能力和快速向内扩展的能力。对于消费者,可用于提供的能力通常看起来不受限制,并且可以在任何时间以任何数量购买。
测量服务:云系统通过利用在适合于服务类型(例如,存储、处理、带宽和活动用户账户)的某一抽象级别的计量能力来自动地控制和优化资源使用。可以监测、控制和报告资源使用,从而为所利用服务的提供者和消费者两者提供透明性。
服务模型如下:
软件即服务(SaaS):提供给消费者的能力是使用在云基础设施上运行的提供者的应用。应用可通过诸如web浏览器(例如,基于web的电子邮件)等瘦客户端界面从各种客户端设备访问。消费者不管理或控制包括网络、服务器、操作系统、存储、或甚至个别应用能力的底层云基础结构,可能的例外是有限的用户专用应用配置设置。
平台即服务(PaaS):提供给消费者的能力是将消费者创建或获取的应用部署到云基础设施上,该消费者创建或获取的应用是使用由提供商支持的编程语言和工具创建的。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础设施,但具有对部署的应用和可能的应用托管环境配置的控制。
基础设施即服务(IaaS):提供给消费者的能力是提供处理、存储、网络和消费者能够部署和运行任意软件的其他基本计算资源,所述软件可以包括操作系统和应用。消费者不管理或控制底层云基础设施,但具有对操作系统、存储、部署的应用的控制,以及可能对选择的联网组件(例如,主机防火墙)的有限控制。
部署模型如下:
私有云:云基础设施仅为组织操作。它可以由组织或第三方管理,并且可以存在于建筑物内或建筑物外。
社区云:云基础设施由若干组织共享,并且支持具有共享关注(例如,任务、安全要求、策略和合规性考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
公有云:云基础设施可用于一般公众或大型工业群体,并且由销售云服务的组织拥有。
混合云:云基础设施是两个或更多云(私有、共同体或公共)的组合,所述云保持唯一实体,但是通过使数据和应用能够移植的标准化或私有技术(例如,用于云之间的负载平衡的云突发)绑定在一起。
云计算环境是面向服务的,其焦点在于无状态、低耦合、模块性和语义互操作性。在云计算的核心是包括互连节点的网络的基础设施。
现在参考图5,描绘了说明性云计算环境550。如图所示,云计算环境550包括云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点510,所述本地计算设备例如是个人数字助理(PDA)或蜂窝电话554A、桌上型计算机554B、膝上型计算机554C和/或汽车计算机系统554N。节点510可以彼此通信。它们可以被物理地或虚拟地分组(未示出)在一个或多个网络中,诸如如上文描述的私有云、社区云、公共云或混合云或其组合。这允许云计算环境550提供基础设施、平台和/或软件作为服务,云消费者不需要为其维护本地计算设备上的资源。应当理解,图5中所示的计算设备554A-N的类型仅旨在说明,并且计算节点510和云计算环境550可以通过任何类型的网络和/或网络可寻址连接(例如,使用web浏览器)与任何类型的计算机化设备通信。
现在参考图6,示出了由云计算环境550(图5)提供的一组功能抽象层。应当预先理解,图6中所示的组件、层和功能仅旨在说明,并且本发明的实施例不限于此。如所描绘的,提供了以下层和相应的功能:
硬件和软件层660包括硬件和软件组件。硬件组件的示例包括:大型机661;基于RISC(精简指令集计算机)架构的服务器662;服务器663;刀片服务器664;存储装置665;以及网络和联网组件666。在一些实施例中,软件组件包括网络应用服务器软件667和数据库软件668。
虚拟化层670提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器671;虚拟存储672;虚拟网络673,包括虚拟专用网络;虚拟应用和操作系统674;以及虚拟客户端675。
在一个示例中,管理层680可以提供以下描述的功能。资源供应681提供了对被用来在云计算环境中执行任务的计算资源和其他资源的动态采购。计量和定价682提供了在云计算环境中利用资源时的成本跟踪,以及用于消耗这些资源的计费或计价。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户683为消费者和系统管理员提供对云计算环境的访问。服务级别管理684提供云计算资源分配和管理,使得满足所需的服务级别。服务水平协议(SLA)计划和履行685提供对云计算资源的预安排和采购,其中根据SLA预期未来需求。
工作负载层690提供了可以利用云计算环境的功能的示例。可以从该层提供的工作负载和功能的示例包括:映射和导航691;软件开发和生命周期管理692;虚拟教室教育传送693;数据分析处理694;事务处理695;和突变检测696。
本发明可以是任何可能的技术细节集成水平的系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),所述计算机可读程序指令用于使处理器执行本发明的各方面。
计算机可读存储介质可以是能够保留和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、诸如上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码装置,以及上述的任何适当组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络,例如因特网、局域网、广域网和/或无线网络,下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器相关指令、微代码、固件指令、状态设置数据,或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言,例如SMALLTALK、C++等,以及常规的进程编程语言,例如“C”编程语言或类似的编程语言。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。
如本文所使用的,术语“硬件处理器子系统”或“硬件处理器”可以指协作以执行一个或多个特定任务的处理器、存储器、软件或其组合。在有用的实施例中,硬件处理器子系统可以包括一个或多个数据处理元件(例如,逻辑电路、处理电路、指令执行设备等)。一个或多个数据处理元件可以包括在中央处理单元、图形处理单元和/或单独的基于处理器或计算元件的控制器(例如,逻辑门等)中。硬件处理器子系统可以包括一个或多个板上存储器(例如,高速缓存、专用存储器阵列、只读存储器等)。在一些实施例中,硬件处理器子系统可以包括一个或多个存储器,其可以在板内或板外,或者可以专用于由硬件处理器子系统使用(例如,ROM、RAM、基本输入/输出系统(BIOS)等)。
在一些实施例中,硬件处理器子系统可以包括并执行一个或多个软件元件。一个或多个软件元素可以包括操作系统和/或一个或多个应用和/或特定代码以实现指定结果。
在其他实施例中,硬件处理器子系统可以包括专用的、专门的电路,其执行一个或多个电子处理功能以实现指定的结果。这种电路可以包括一个或多个专用集成电路(ASIC)、FPGA和/或PLA。
根据本发明的实施例,还预期硬件处理器子系统的这些和其他改变。
本文参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。
这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。
计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的进程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所注明的功能可不按图中所注明的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。
已经描述了突变事件检测的系统和方法的优选实施例(其旨在说明而非限制),注意到本领域技术人员根据上述教导可以进行修改和改变。因此,应当理解,可以在所公开的特定实施例中进行改变,这些改变在由所附权利要求概括的本发明的范围内。因此,已经用专利法所要求的细节和特性描述了本发明的各方面,在所附权利要求中阐述了所要求保护的和期望由专利证书保护的内容。
Claims (20)
1.一种系统,包括:
存储器设备,用于存储程序代码;以及
至少一个硬件处理器,其可操作地耦合到所述存储器设备并且被配置为执行存储在所述存储器设备上的程序代码以:
基于与集群计算系统内的一个或多个改变事件相关联的一个或多个进程来生成一个或多个进程树;
通过将所述一个或多个进程树中的每个进程树的根与一个或多个外部命令进行比较来执行突变事件检测;以及
基于所述比较生成突变事件报告,其中所述突变事件报告包括从除了所述一个或多个外部命令之外的命令产生的一个或多个进程树中的每一个进程树。
2.根据权利要求1所述的系统,还包括:
数据库,其与所述至少一个处理器设备通信并且被配置成存储所述一个或多个改变事件;以及
应用编程接口(API)服务器,其与所述至少一个硬件处理器通信。
3.根据权利要求2所述的系统,其中,所述至少一个硬件处理器还被配置为执行存储在所述存储器设备上的程序代码以:
从数据库收集所述一个或多个改变事件;以及
使用应用编程接口(API)服务器来获取所述一个或多个外部命令。
4.根据权利要求1所述的系统,其中:
所述集群计算系统包括一个或多个容器;
所述至少一个硬件处理器还被配置为从所述一个或多个容器收集所述一个或多个改变事件;以及
所述一个或多个外部命令由容器平台执行。
5.根据权利要求1所述的系统,其中,所述一个或多个外部命令包括一个或多个探测命令。
6.根据权利要求1所述的系统,其中,所述至少一个硬件处理器还被配置为通过以下操作基于所述比较来生成所述突变事件报告:
确定所述进程树中的给定一个进程树的根是由所述外部命令中的一个外部命令产生的进程;以及
从所述突变事件报告中省略所述进程树中的所述给定一个进程树。
7.根据权利要求1所述的系统,其中,所述至少一个硬件处理器还被配置为将所述突变事件报告传输到一个或多个计算设备。
8.根据权利要求1所述的系统,其中,所述集群计算系统包括Kubernetes集群计算系统。
9.一种计算机实现的方法,包括:
基于与集群计算系统内的一个或多个改变事件相关联的一个或多个进程来生成一个或多个进程树;
通过将所述一个或多个进程树中的每个进程树的根与一个或多个外部命令进行比较来执行突变事件检测;以及
基于所述比较生成突变事件报告,其中所述突变事件报告包括从除了所述一个或多个外部命令之外的命令产生的一个或多个进程树中的每一个进程树。
10.根据权利要求9所述的方法,还包括:
收集所述一个或多个改变事件;以及
获取所述一个或多个外部命令。
11.根据权利要求10所述的方法,其中:
所述集群计算系统包括一个或多个容器;
收集所述一个或多个改变事件还包括从所述一个或多个容器收集所述一个或多个改变事件;以及
所述一个或多个外部命令由容器平台执行。
12.根据权利要求9所述的方法,其中,所述一个或多个外部命令包括一个或多个探测命令。
13.根据权利要求9所述的方法,其中,基于所述比较生成所述突变事件报告还包括:
确定所述进程树中的给定一个进程树的根是由所述外部命令中的一个外部命令产生的进程;以及
从所述突变事件报告中省略所述进程树中的所述给定一个进程树。
14.根据权利要求9所述的方法,还包括将所述突变事件报告传输到一个或多个计算设备。
15.一种包括程序指令的计算机可读存储介质,所述程序指令可由计算机执行以使所述计算机执行一种方法,所述方法包括:
基于与集群计算系统内的一个或多个改变事件相关联的一个或多个进程来生成一个或多个进程树;
通过将所述一个或多个进程树中的每个进程树的根与一个或多个外部命令进行比较来执行突变事件检测;以及
基于所述比较生成突变事件报告,其中所述突变事件报告包括从除了所述一个或多个外部命令之外的命令产生的一个或多个进程树中的每一个进程树。
16.根据权利要求15所述的计算机可读存储介质,其中,所述方法还包括:
收集所述一个或多个改变事件;以及
获取所述一个或多个外部命令。
17.根据权利要求16所述的计算机可读存储介质,其中:
所述集群计算系统包括一个或多个容器;
收集所述一个或多个改变事件还包括从所述一个或多个容器收集所述一个或多个改变事件;以及
所述一个或多个外部命令由容器平台执行。
18.根据权利要求15所述的计算机可读存储介质,其中,所述一个或多个外部命令包括一个或多个探测命令。
19.根据权利要求15所述的计算机可读存储介质,其中,基于所述比较生成所述突变事件报告还包括:
确定所述进程树中的给定一个进程树的根是由所述外部命令中的一个外部命令产生的进程;以及
从所述突变事件报告中省略所述进程树中的所述给定一个进程树。
20.根据权利要求15所述的计算机可读存储介质,其中,所述方法还包括将所述突变事件报告传输到一个或多个计算设备。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/578,868 | 2019-09-23 | ||
US16/578,868 US11144418B2 (en) | 2019-09-23 | 2019-09-23 | Mutation event detection for integrity monitoring |
PCT/IB2020/058815 WO2021059116A1 (en) | 2019-09-23 | 2020-09-22 | Mutation event detection for integrity monitoring |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114430824A CN114430824A (zh) | 2022-05-03 |
CN114430824B true CN114430824B (zh) | 2023-06-16 |
Family
ID=74880929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080066471.6A Active CN114430824B (zh) | 2019-09-23 | 2020-09-22 | 用于完整性监测的突变事件检测 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11144418B2 (zh) |
JP (1) | JP7455197B2 (zh) |
CN (1) | CN114430824B (zh) |
DE (1) | DE112020004487T5 (zh) |
GB (1) | GB2602436B (zh) |
WO (1) | WO2021059116A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210406368A1 (en) * | 2020-06-30 | 2021-12-30 | Microsoft Technology Licensing, Llc | Deep learning-based analysis of signals for threat detection |
US12081570B2 (en) * | 2021-07-20 | 2024-09-03 | CyCarrier Technology Co., Ltd. | Classification device with adaptive clustering function and related computer program product |
US20240211178A1 (en) * | 2022-12-21 | 2024-06-27 | Pure Storage, Inc. | Container Storage Interface Filter Driver-Based Determination of Optimal Storage System to Provide Storage for a Containerized Application Deployment |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103281344A (zh) * | 2012-01-14 | 2013-09-04 | 国际商业机器公司 | 用于混合云的服务使用的集成计量的方法和系统 |
CN104636130A (zh) * | 2013-11-08 | 2015-05-20 | 国际商业机器公司 | 用于生成事件树的方法和系统 |
CN110262941A (zh) * | 2019-05-28 | 2019-09-20 | 深圳市汇川技术股份有限公司 | 应用程序容器集群报警实现方法、系统、设备及存储介质 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6986076B1 (en) | 2002-05-28 | 2006-01-10 | Unisys Corporation | Proactive method for ensuring availability in a clustered system |
US8589447B1 (en) * | 2009-07-07 | 2013-11-19 | Netapp, Inc. | Efficient file system scan for shared data blocks |
US9817804B2 (en) * | 2013-09-12 | 2017-11-14 | Wix.Com Ltd. | System for comparison and merging of versions in edited websites and interactive applications |
EP3561672B1 (en) | 2015-04-07 | 2022-06-01 | Huawei Technologies Co., Ltd. | Method and apparatus for a mobile device based cluster computing infrastructure |
JP5933797B1 (ja) | 2015-10-07 | 2016-06-15 | 株式会社ソリトンシステムズ | ログ情報生成装置及びプログラム並びにログ情報抽出装置及びプログラム |
US10140170B2 (en) * | 2015-10-26 | 2018-11-27 | International Business Machines Corporation | Reporting errors to a data storage device |
JP6680028B2 (ja) | 2016-03-24 | 2020-04-15 | 日本電気株式会社 | 監視システム、監視方法および監視プログラム |
US10503895B2 (en) | 2017-04-11 | 2019-12-10 | Red Hat, Inc. | Runtime non-intrusive container security introspection and remediation |
US10922205B2 (en) | 2017-05-16 | 2021-02-16 | Vmware, Inc. | Monitoring applications running on containers |
JP2020530624A (ja) | 2017-08-10 | 2020-10-22 | アーガス サイバー セキュリティ リミテッド | 車載ネットワークに接続された構成要素の悪用を検出するシステムおよび方法 |
US10546120B2 (en) | 2017-09-25 | 2020-01-28 | AO Kaspersky Lab | System and method of forming a log in a virtual machine for conducting an antivirus scan of a file |
US10445163B2 (en) | 2017-09-28 | 2019-10-15 | Paypal, Inc. | Advanced computer system drift detection |
US10810044B2 (en) | 2018-01-04 | 2020-10-20 | Hewlett Packard Enterprise Development Lp | Enhanced cache memory allocation based on virtual node resources |
CN108737215A (zh) | 2018-05-29 | 2018-11-02 | 郑州云海信息技术有限公司 | 一种云数据中心Kubernetes集群容器健康检查的方法和装置 |
CN108848157A (zh) * | 2018-06-12 | 2018-11-20 | 郑州云海信息技术有限公司 | 一种Kubernetes集群容器监控的方法和装置 |
CN108878157A (zh) | 2018-06-22 | 2018-11-23 | 湖南耐普恩科技有限公司 | 一种超级电容器高温防爆装置 |
-
2019
- 2019-09-23 US US16/578,868 patent/US11144418B2/en active Active
-
2020
- 2020-09-22 JP JP2022516087A patent/JP7455197B2/ja active Active
- 2020-09-22 GB GB2204965.4A patent/GB2602436B/en active Active
- 2020-09-22 WO PCT/IB2020/058815 patent/WO2021059116A1/en active Application Filing
- 2020-09-22 DE DE112020004487.4T patent/DE112020004487T5/de active Pending
- 2020-09-22 CN CN202080066471.6A patent/CN114430824B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103281344A (zh) * | 2012-01-14 | 2013-09-04 | 国际商业机器公司 | 用于混合云的服务使用的集成计量的方法和系统 |
CN104636130A (zh) * | 2013-11-08 | 2015-05-20 | 国际商业机器公司 | 用于生成事件树的方法和系统 |
CN110262941A (zh) * | 2019-05-28 | 2019-09-20 | 深圳市汇川技术股份有限公司 | 应用程序容器集群报警实现方法、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
DE112020004487T5 (de) | 2022-06-23 |
JP2022549590A (ja) | 2022-11-28 |
GB2602436A (en) | 2022-06-29 |
CN114430824A (zh) | 2022-05-03 |
GB202204965D0 (en) | 2022-05-18 |
US20210089420A1 (en) | 2021-03-25 |
WO2021059116A1 (en) | 2021-04-01 |
JP7455197B2 (ja) | 2024-03-25 |
GB2602436B (en) | 2022-12-14 |
US11144418B2 (en) | 2021-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114430824B (zh) | 用于完整性监测的突变事件检测 | |
US9690553B1 (en) | Identifying software dependency relationships | |
US11960578B2 (en) | Correspondence of external operations to containers and mutation events | |
US10230582B2 (en) | Identifying resources for purging in a cloud based on inter-dependency graph analysis | |
US10025671B2 (en) | Smart virtual machine snapshotting | |
US11526404B2 (en) | Exploiting object tags to produce a work order across backup engines for a backup job | |
US11743344B1 (en) | Edge resource processing | |
US11474905B2 (en) | Identifying harmful containers | |
US10191792B2 (en) | Application abnormality detection | |
US20180157505A1 (en) | Automated image layer blacklisting in the cloud | |
US10176017B2 (en) | Configuration management for a shared pool of configurable computing resources | |
US20230222004A1 (en) | Data locality for big data on kubernetes | |
US11556650B2 (en) | Methods and systems for preventing utilization of problematic software | |
US11520616B2 (en) | Virtual server creation monitoring and resource allocation system | |
US9612927B1 (en) | Managing server processes with proxy files | |
US10200271B2 (en) | Building and testing composite virtual services using debug automation | |
CN112416700A (zh) | 分析启动的预测性故障和smart日志 | |
US20180011789A1 (en) | Reducing idle resource usage | |
CN118056183A (zh) | 优化即时编译过程 | |
CN115956234A (zh) | 分布式计算环境中超额资源使用的检测和处理 | |
CN114629675B (zh) | 做出安全推荐的方法、系统和存储介质 | |
US11816363B2 (en) | File based virtual disk management | |
US20230409935A1 (en) | Predicting the need for xai in artificial intelligence systems | |
CN115758228A (zh) | 基于不平衡数据集的分类 | |
CN116776140A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |