一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于Agent的容器运行时异常检测方法及系统与流程

2022-06-08 22:46:37 来源:中国专利 TAG:

一种基于agent的容器运行时异常检测方法及系统
技术领域
1.本发明公开一种基于agent的容器运行时异常检测方法及系统,涉及容器运行时安全技术领域。


背景技术:

2.随着云计算技术的不断发展,应用部署的方式在不断地发生变化。现在将应用程序打包成镜像,通过容器化的方式部署已经成为了主流,越来越多的公司在生产环境中使用。容器部署相比于传统的虚拟机部署方式拥有启动速度快、占用资源少、不依赖底层环境等优点。多个容器可以在同一个宿主机上运行,基于linux namespace和cgroups技术实现容器间的隔离,共享着同一个宿主机的内核。但是,近年来随着容器技术被越来越广泛的使用,也出现了一系列安全问题,如容器逃逸、高危系统调用、提权攻击等。不同于常规的虚拟机安全检测,容器与宿主机之间处于隔离状态,常规的异常检测方法无法适用于容器环境,导致容器运行时安全问题无法得到有效解决。
3.故现发明一种基于agent的容器运行时异常检测方法及系统,以解决上述问题。


技术实现要素:

4.本发明针对现有技术的问题,提供一种基于agent的容器运行时异常检测方法及系统,所采用的技术方案为:一种基于agent的容器运行时异常检测系统,包括日志存储模块、agent和日志收集模块,所述的系统还包括管理模块和检测模块;
5.管理模块在容器集群宿主机上安装和维护用于采集数据的agent,用于收集和传输日志的日志收集模块;通过日志搜索告警信息并展示在控制台上,收集检测模块上报的复杂匹配规则监测到的异常行为,通过控制台进行展示;
6.检测模块包括机器学习模型,检测模块使用日志存储模块中保存的日志检测是否存在所检测的异常行为,通过告警信息讲异常行为上报给管理模块。
7.所述日志存储模块具体包括信息存储模块、信息传递模块和数据划分模块:
8.信息存储模块:保存宿主机日志收集模块上报的日志信息;
9.信息传递模块:将日志信息提供给管理模块和检测模块查询与使用;
10.数据划分模块:将日志数据按照查询范围划分等级。
11.所述agent由管理模块安装到宿主机中;agent具体包括信息采集模块、规则匹配模块和上下文标记模块:
12.信息采集模块:负责监控宿主机上的全部系统调用;
13.规则匹配模块:根据设置好的简单匹配规则来检测是否有异常行为,监测到异常行为后将告警信息写入到日志中;
14.上下文标记模块:根据复杂匹配规则所配置的需要记录的系统调用信息及相关上下文信息一起写入日志中。
15.所述日志收集模块由管理模块安装到宿主机中;
16.日志收集模块将agent输出的日志汇总并添加上下文信息后通过网络发送到管理侧的日志存储模块进行存储,以供后续检测使用。
17.一种基于agent的容器运行时异常检测方法,所述的方法具体步骤包括:
18.在容器集群宿主机上安装和维护用于采集数据的agent,用于收集和传输日志的日志收集模块;通过日志搜索告警信息并展示在控制台上,收集检测模块上报的复杂匹配规则监测到的异常行为,通过控制台进行展示;使用日志存储模块中保存的日志检测是否存在所检测的异常行为,通过告警信息讲异常行为上报。
19.所述容器集群宿主机收集模块上报的日志信息;将日志信息提供给管理模块和检测模块查询与使用;将日志数据按照查询范围划分等级。
20.所述agent安装于宿主机中;agent负责监控宿主机上的全部系统调用;根据设置好的简单匹配规则来检测是否有异常行为,监测到异常行为后将告警信息写入到日志中;同时根据复杂匹配规则所配置的需要记录的系统调用信息及相关上下文信息一起写入日志中。
21.所述agent输出的日志汇总并添加上下文信息后通过网络发送到管理侧的进行存储,以供后续检测使用。
22.本发明的有益效果为:使用本发明系统进行容器运行时异常检测可以达到实时检测与告警、资源占用小、对业务无侵入等效果;无需改造运行中的容器,即可监测到容器中的异常行为及危险操作,为容器平台的稳定运行提供保障;对异常行为的实时告警可以帮助运维人员和用户更好的处理安全威胁,保证集群的稳定运行;主要通过agent采集宿主机的系统调用及相关进程的信息,不在宿主机上进行大量计算,可以降低对宿主机的资源占用,保证更多资源留给业务容器使用,保证业务稳定的运行;无需改造已有业务容器,在业务无感知的情况下进行容器运行时安全监控,提升了运维效率。
附图说明
23.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
24.图1是本发明系统的架构示意图。
具体实施方式
25.下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
26.实施例一:
27.一种基于agent的容器运行时异常检测方法及系统,所采用的技术方案为:一种基于agent的容器运行时异常检测系统,包括日志存储模块、agent和日志收集模块,所述的系统还包括管理模块和检测模块;
28.管理模块在容器集群宿主机上安装和维护用于采集数据的agent,用于收集和传输日志的日志收集模块;通过日志搜索告警信息并展示在控制台上,收集检测模块上报的
复杂匹配规则监测到的异常行为,通过控制台进行展示;
29.检测模块包括机器学习模型,检测模块使用日志存储模块中保存的日志检测是否存在所检测的异常行为,通过告警信息讲异常行为上报给管理模块;
30.如图1所示,本系统的架构图,左侧为管理侧,包含控制台、管理模块、检测模块和日志存储模块;
31.右侧为用户的容器集群,每个宿主机节点上运行着由管理模块维护的agent和日志收集模块;
32.进一步的,所述日志存储模块具体包括信息存储模块、信息传递模块和数据划分模块:
33.信息存储模块:保存宿主机日志收集模块上报的日志信息;
34.信息传递模块:将日志信息提供给管理模块和检测模块查询与使用;
35.数据划分模块:将日志数据按照查询范围划分等级;
36.日志存储模块负责保存从宿主机日志收集模块上报的日志信息,并将日志信息供给管理模块和检测模块查询与使用,为了保证实时性与可靠性,日志存储模块需要将日志数据分成不同的等级,提供不同可靠性的查询范围;
37.进一步的,所述agent由管理模块安装到宿主机中;agent具体包括信息采集模块、规则匹配模块和上下文标记模块:
38.信息采集模块:负责监控宿主机上的全部系统调用;
39.规则匹配模块:根据设置好的简单匹配规则来检测是否有异常行为,监测到异常行为后将告警信息写入到日志中;
40.上下文标记模块:根据复杂匹配规则所配置的需要记录的系统调用信息及相关上下文信息一起写入日志中;
41.agent由管理模块安装到宿主机中;agent负责监控宿主机上的全部系统调用,并根据设置好的简单匹配规则来检测是否有异常行为,监测到异常行为后需要将告警信息写入到日志中;同时还需要根据复杂匹配规则所配置的需要记录的系统调用信息及相关上下文信息一起写入日志中;
42.部署在宿主机上的agent可以在对业务容器的零侵入的情况下检测容器中的异常进程和活动;其主要由工作在linux内核空间的信息采集模块、运行在linux用户空间的上下文标记模块以及运行在用户空间的规则匹配模块组成;
43.运行在linux内核空间的信息采集模块负责采集从用户空间的进程发起的所有系统调用,该采集方式是一种类似于监控的方式,即不会对系统调用的整个链路进行侵入,而是以一种观察者的方式默默记录下每一次系统调用,同时包括系统调用的函数名、调用参数、返回值及调用者等信息;因此,这种监控采集方式是对业务容器无侵入的,业务容器不会感知到linux内核空间中监控程序的存在;同时,监控采集程序运行在linux内核空间,其运行效率比传统的在用户空间采集进程信息的程序要高;在不影响业务容器运行的同时,也不会占用宿主机过多的资源,保证资源都被业务容器所使用;
44.将系统调用信息采集完成后,运行在linux内核模块中的程序会将采集到的信息发送到运行在linux用户空间中的程序进行进一步处理,因为在linux内核空间中采集到的系统调用只包含上述的一些原始信息,不包含系统调用由哪些进程发起的、系统调用的用
途等信息;因此,运行在linux用户空间的上下文标记模块接收到从linux内核空间传递过来的系统调用信息后,结合用户空间中的各个进程信息,通过进程id进行关联,为每一条系统调用信息补充上具体发起该系统调用的进程名称、可执行文件名称、进程是否为容器进程、容器进程所使用的docker镜像名称、是否为kubernetes的pod、kubernetes中pod的名称等信息,另外还会包含一些系统调用函数独有的信息,如涉及到的文件描述符、涉及到的tcp或udp端口、使用的内存地址等,以上为进一步匹配与分析系统调用序列信息做基础;
45.通过在linux内核空间中的信息采集模块与在linux用户空间中的上下文标记模块的协同工作,已经将宿主机中所有进程所对应的系统调用信息全部采集了上来,并且标记了相对应的上下文信息;
46.再进一步的,所述日志收集模块由管理模块安装到宿主机中;
47.日志收集模块由管理模块安装到宿主机中,其负责将agent输出的日志汇总并添加上下文信息后通过网络发送到管理侧的日志存储模块进行存储,以供后续检测使用;
48.在用户空间运行的规则匹配模块会根据采集上来的系统调用信息,按照进程区分出不同的系统调用序列,按照进程级别的系统调用序列信息进行过滤,筛选出异常的容器进程;根据现有容器运行环境的分析及生产经验,为规则匹配模块预置了一些检测规则,这些检测规则和每条系统调用上的基础信息及上下文信息都可以一一对应,每一条系统调用的每一项信息与每一项上下文都可以作为一条匹配规则,通过对规则的拆分与组合,即可分析出具体的异常行为,并结合该进程的上下文信息,判定出是哪个业务容器中出现了异常行为,并且可以标记出现异常行为的容器镜像,为接下来的异常阻断、容器镜像深入分析和宿主机中的安全威胁分析做好准备;
49.被agent采集的宿主机所有系统调用的数据体量很大,所以需要进行过滤与筛选操作;第一步就是上面所述的根据规则匹配模块中内置的匹配规则进行检测,如果检测到匹配的异常信息,就将具体的异常信息通过日志的形式打印出来,然后由宿主机上的日志收集模块将告警信息收集起来并传递给管理侧的日志存储模块,供用户在控制台上查看或管理模块进行分析;这里所述的步骤是异常检测系统的第一部分:简单匹配规则;异常检测的第二部分是复杂匹配规则,该部分依赖于管理侧中部署的复杂异常检测模块,复杂异常检测模块中包含基于生产环境中已有的容器运行时安全异常数据训练出的模型文件,以及该模型对应的需要被采集的系统调用类型信息,即一个需要被采集的系统调用信息列表,该列表也会配置到linux用户空间的规则匹配模块,该模块会将这些配置的需要被使用到的系统调用信息和告警信息一起打印到日志中,并一起由宿主机上的日志收集模块将数据传递到管理侧的日志存储模块;传递的数据中还会包含具体的宿主机信息及集群信息,用于在检测出异常后区分出具体发生异常进程所述的集群、宿主机及容器信息;
50.管理侧的复杂异常检测模块会实时的按照进程筛选出日志存储模块中的系统调用序列,然后通过已经训练好的模型来检测复杂异常信息,如果检测出模型中已知的异常信息,就将对应的异常信息传递到日志存储模块中,和简单匹配规则生成的告警一起被管理模块及用户控制台使用,为下一步操作提供依据;
51.运行在每个宿主机上的日志收集模块,该模块的作用是将agent打印到日志中的报警信息及检测所需的系统调用日志信息统一汇总起来,并将宿主机的标识信息加入到日志中,再通过网络将日志数据传输给管理侧的日志存储模块;
52.管理侧的日志存储模块统一将各个宿主机上报的日志信息存储起来,供管理侧的管理模块和检测模块使用;
53.管理侧的管理模块首先会将日志存储模块中和告警相关的日志筛选出来,通过控制台展现给用户,用户可以通过控制台观察到容器运行时的异常行为;管理模块还负责安装和维护在宿主机中的agent和日志收集模块;
54.管理侧的检测模块利用训练好的模型,结合日志存储模块中的相关日志进行动态分析检测,如果检测到容器运行时的异常行为,会通知管理模块,进行告警,最终也会在控制台展现给用户;
55.通过上述组件的协同配合,可以做到实时检测容器运行时的异常行为,并将异常行为通过告警的方式通知给用户,用户可以通过控制台查看并处理异常行为的告警;
56.运行在容器所在宿主机中的agent通过预先配置好的一系列规则进行异常检测,主要检测的简单匹配规则包括:文件逃逸访问、高危系统调用、敏感文件写、异常权限启动、异常端口占用、异常调用、异常目录挂载等;复杂匹配规则包括:shocker攻击、dirtycow攻击、提权攻击、spectre&meltdown攻击等。
57.实施例二:
58.一种基于agent的容器运行时异常检测方法,所述的方法具体步骤包括:
59.在容器集群宿主机上安装和维护用于采集数据的agent,用于收集和传输日志的日志收集模块;通过日志搜索告警信息并展示在控制台上,收集检测模块上报的复杂匹配规则监测到的异常行为,通过控制台进行展示;使用日志存储模块中保存的日志检测是否存在所检测的异常行为,通过告警信息讲异常行为上报;
60.进一步的,所述容器集群宿主机收集模块上报的日志信息;将日志信息提供给管理模块和检测模块查询与使用;将日志数据按照查询范围划分等级;
61.进一步的,所述agent安装于宿主机中;agent负责监控宿主机上的全部系统调用;根据设置好的简单匹配规则来检测是否有异常行为,监测到异常行为后将告警信息写入到日志中;同时根据复杂匹配规则所配置的需要记录的系统调用信息及相关上下文信息一起写入日志中;
62.再进一步的,所述agent输出的日志汇总并添加上下文信息后通过网络发送到管理侧的进行存储,以供后续检测使用。
63.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献