一种容器镜像的检测方法及客户端、服务端与流程

文档序号:32340762发布日期:2022-11-26 09:41阅读:154来源:国知局
一种容器镜像的检测方法及客户端、服务端与流程

1.本发明涉及一种软件检测技术领域,特别是涉及一种容器镜像的检测方法及客户端、服务端。


背景技术:

2.容器的镜像是指是对应用程序的代码及其运行环境进行标准化封装,从而得到的一种特殊的文件系统,它包含一个打包的应用,以及它的依赖关系,还有它在启动时运行的进程信息。当容器的镜像出现漏洞等异常情况时,相应的容器也就存在安全隐患。
3.目前,现有的容器镜像检测方法多采用集中式扫描机制,即在服务器上部署容器镜像仓库,检测时服务器扫描容器镜像仓库内的镜像文件进行集中式扫描检测。但是,采用集中式扫描容器镜像仓库检测方法无法覆盖到边缘运行中的镜像,导致边缘网络节点中镜像文件的漏洞无法被及时发现,存在容器安全隐患。


技术实现要素:

4.有鉴于此,本发明提供一种容器镜像的检测方法及客户端、服务端,主要目的在于解决现有的集中式扫描容器镜像仓库检测方法无法覆盖到边缘运行中的镜像,导致边缘网络节点中镜像文件的漏洞无法被及时发现的问题。
5.依据本发明一个方面,提供了一种容器镜像的检测方法,应用于边缘网络节点的客户端,包括:
6.从边缘网络节点的容器引擎中获取待扫描容器的镜像数据;
7.对所述镜像数据进行解析得到镜像分层信息,将携带所述镜像分层信息的漏洞扫描请求发送到云平台控制中心的服务端,以使得所述服务端基于所述镜像分层信息进行漏洞扫描;
8.接收所述服务端发送的扫描结果,完成对所述待扫描容器的镜像检测。
9.进一步的,所述对所述镜像数据进行解析得到镜像分层信息包括:
10.获取所述镜像数据的代码数据;
11.通过检测所述代码数据中各个镜像层存储的唯一识别码信息,得到所述镜像数据的镜像分层信息。
12.进一步的,所述接收所述服务端发送的扫描结果,完成对所述待扫描容器的镜像检测之后,所述方法还包括:
13.从所述边缘网络节点的容器引擎中获取所述待扫描容器的镜像分层清单,将所述镜像分层清单中的第一镜像层与所述镜像分层信息中的第二镜像层进行比对,得到差异镜像层;
14.若检测到所述差异镜像层为缺失镜像层,则向所述服务端发送缺失镜像层查询请求,以使得所述服务端从本地缓存中加载所述缺失镜像层所对应的缺失镜像分层信息;
15.若检测到所述差异镜像层为新增镜像层,则从所述容器引擎中获取所述新增镜像
层对应的镜像数据进行解析得到新增镜像分层信息,并将携带所述新增镜像分层信息的漏洞扫描请求发送到所述服务端。
16.依据本发明另一个方面,提供了另一种容器镜像的检测方法,应用于云平台控制中心的服务端,包括:
17.从第三方下载漏洞数据库进行本地保存;
18.接收至少一个边缘网络节点的客户端的漏洞扫描请求,按照接收所述漏洞扫描请求的时间先后顺序提取所述漏洞扫描请求中携带的镜像分层信息;
19.基于所述漏洞数据库对所述镜像分层信息进行漏洞扫描,将扫描结果发送到所述客户端。
20.进一步的,所述基于所述漏洞数据库对所述镜像分层信息进行漏洞扫描包括:
21.将所述镜像分层信息中的数据与所述漏洞数据库中不同类型的漏洞数据一一进行匹配;
22.将与所述漏洞数据匹配成功的漏洞类型作为所述漏洞扫描的结果进行输出。
23.进一步的,所述接收至少一个边缘网络节点的客户端的漏洞扫描请求,按照接收所述漏洞扫描请求的时间先后顺序提取所述漏洞扫描请求中携带的镜像分层信息之后,所述方法还包括:
24.将所述镜像分层信息存储到本地缓存中;
25.当接收到所述客户端发送的缺失镜像层查询请求时,从所述本地缓存中获取所述缺失镜像层查询请求中待查询的所述缺失镜像层的镜像分层信息。
26.进一步的,所述方法还包括:
27.接收携带新增镜像分层信息的漏洞扫描请求;
28.基于所述漏洞数据库对所述新增镜像分层信息进行漏洞扫描,将扫描结果发送到所述客户端。
29.依据本发明一个方面,提供了一种客户端,包括:
30.数据获取模块,用于从边缘网络节点的容器引擎中获取待扫描容器的镜像数据;
31.解析及发送模块,对所述镜像数据进行解析得到镜像分层信息,将携带所述镜像分层信息的漏洞扫描请求发送到云平台控制中心的服务端,以使得所述服务端基于所述镜像分层信息进行漏洞扫描;
32.接收模块,接收所述服务端发送的扫描结果,完成对所述待扫描容器的镜像检测。
33.进一步的,所述解析及发送模块还包括:
34.代码获取单元,用于获取所述镜像数据的代码数据;
35.识别单元,用于通过检测所述代码数据中各个镜像层存储的唯一识别码信息,得到所述镜像数据的镜像分层信息。
36.进一步的,所述客户端还包括:
37.对比模块,用于从所述边缘网络节点的容器引擎中获取所述待扫描容器的镜像分层清单,将所述镜像分层清单中的所述镜像层与所述镜像分层信息中的所述镜像层进行比对,得到差异镜像层;
38.缺失镜像查询模块,用于若检测到差异镜像层为缺失镜像层,向所述服务端发送缺失镜像层的查询请求,以使得所述服务端从本地缓存中加载所述缺失镜像层所对应的缺
失镜像分层信息;
39.新增镜像解析模块,用于若检测到差异镜像层为新增镜像层,从所述客户端获取所述新增镜像层对应的镜像数据进行解析得到新增镜像分层信息,将携带所述新增镜像分层信息的漏洞扫描请求发送到所述服务端。
40.依据本发明一个方面,提供了一种服务端,包括:
41.数据库下载模块,用于从第三方下载漏洞数据库进行本地保存;
42.信息提取模块,用于接收至少一个边缘网络节点的客户端的漏洞扫描请求,按照接收所述漏洞扫描请求的时间先后顺序提取所述漏洞扫描请求中携带的镜像分层信息;
43.漏洞扫描模块,用于基于所述漏洞数据库对所述镜像分层信息进行漏洞扫描,将扫描结果发送到所述客户端。
44.进一步的,所述漏洞扫描模块还包括:
45.漏洞匹配单元,用于将所述镜像分层信息中的数据与所述漏洞数据库中不同漏洞类型的漏洞数据进行一一匹配;
46.结果输出单元,用于将匹配成功的所述漏洞数据所对应的漏洞类型确定为所述漏洞扫描的漏洞结果。
47.进一步的,所述服务端还包括:
48.存储模块,用于将所述镜像分层信息存储到本地缓存中;
49.缺失镜像获取模块,用于当接收到所述客户端发送的缺失镜像层查询请求时,从所述本地缓存中获取所述缺失镜像层查询请求中待查询的所述缺失镜像层的镜像分层信息。
50.进一步的,所述服务端还包括:
51.新增镜像接收模块,用于接收携带新增镜像分层信息的漏洞扫描请求;
52.新增镜像扫描模块,用于基于所述漏洞数据库对所述新增镜像分层信息进行漏洞扫描,将扫描结果发送到所述客户端。
53.依据本发明的一方面,提供了一种存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述容器镜像的检测方法对应的操作。
54.依据本发明的一方面,提供了一种计算机设备,包括处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
55.所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如上述任一项所述的容器镜像的检测方法对应的操作。
56.依据本发明的一方面,提供了另一种存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述任一项所述的容器镜像的检测方法对应的操作。
57.依据本发明的一方面,提供了另一种计算机设备,包括处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
58.所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如上述任一项所述的容器镜像的检测方法对应的操作。
59.借由上述技术方案,本发明实施例提供的技术方案至少具有下列优点:
60.本发明提供了一种容器镜像的检测方法及客户端、服务端,与现有技术在服务器上部署容器镜像仓库,检测时服务器扫描容器镜像仓库内的镜像文件进行集中式扫描检测相比,本发明通过客户端从边缘网络节点的容器引擎中获取待扫描容器的镜像数据;对所述镜像数据进行解析得到镜像分层信息,将携带所述镜像分层信息的漏洞扫描请求发送到云平台控制中心的服务端,以使得所述服务端基于所述镜像分层信息进行漏洞扫描;接收所述服务端发送的扫描结果,完成对所述待扫描容器的镜像检测。云平台控制中心的服务端从第三方下载漏洞数据库进行本地保存;接收至少一个边缘网络节点的客户端的漏洞扫描请求,按照接收所述漏洞扫描请求的时间先后顺序提取所述漏洞扫描请求中携带的镜像分层信息;基于所述漏洞数据库对所述镜像分层信息进行漏洞扫描,将扫描结果发送到所述客户端。实现了对不同边缘网络节点中运行的的容器镜像进行分布式漏洞扫描,从而及时有效的发现不同边缘网络节点容器镜像中存在的漏洞,提高了各边缘网络节点容器镜像的漏洞扫描效率。
61.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
62.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
63.图1示出了本发明实施例提供的一种容器镜像的检测方法的流程图;
64.图2示出了本发明实施例提供的一种容器镜像的检测方法的流程图;
65.图3示出了本发明实施例提供的一种容器镜像的检测方法的流程图;
66.图4示出了本发明实施例提供的一种容器镜像的检测方法的流程图;
67.图5示出了本发明实施例提供的一种容器镜像的检测方法的交互流程图;
68.图6示出了本发明实施例提供的一种客户端的组成框图;
69.图7示出了本发明实施例提供的一种服务端的组成框图;
70.图8示出了本发明实施例提供的一种计算机设备的结构示意图;
71.图9示出了本发明实施例提供的另一种计算机设备的结构示意图;
72.图10示出了本发明实施例提供的一种容器镜像的检测系统组成框图。
具体实施方式
73.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
74.本发明实施例提供了一种容器镜像的检测方法,可应用于边缘网络节点的客户端中,如图1所示,该方法包括:
75.101、从边缘网络节点的容器引擎中获取待扫描容器的镜像数据;
76.本发明实施例中,容器的镜像数据存储在当前客户端对应的边缘网络节点的容器引擎中,在对边缘网络节点中容器的镜像进行扫描时,需要先从边缘网络节点的容器引擎中将待扫描容器的镜像数据获取出来。容器引擎为边缘网络节点提供强大的集群管理和编排,常用的有应用容器引擎docker等,本发明实施例不做具体限定。容器的镜像数据包含一个打包的应用,以及它的依赖关系,还有它在启动时运行的进程信息等数据内容。
77.102、对所述镜像数据进行解析得到镜像分层信息,将携带所述镜像分层信息的漏洞扫描请求发送到云平台控制中心的服务端,以使得所述服务端基于所述镜像分层信息进行漏洞扫描;
78.本发明实施例中,当前边缘网络节点的客户端在获取到待扫面容器的镜像数据后,需要对镜像数据进行解析,得到镜像数据中各个镜像分层信息。镜像分层信息用于表征镜像数据中各个分层所包含的信息或数据,如镜像层rolayer、init层、容器层mountlayer等各个分层所包含的信息或数据,本发明实施例不做具体限定。当前客户端将携带镜像分层信息的漏洞扫描请求发送到服务端,以使得服务端基于镜像分层信息进行漏洞扫描。
79.需要说明的是,当前边缘网络节点的客户端仅解析从与之对应的边缘网络节点的容器引擎中获取的镜像数据,当存在多个边缘网络节点时,各个客户端也仅解析与之对应的边缘网络节点的容器引擎中获取的镜像数据,分别向同一个云平台控制中心的服务端发送漏洞扫描请求,形成分布式扫描结构。
80.103、接收所述服务端发送的扫描结果,完成对所述待扫描容器的镜像检测。
81.本发明实施例中,当前边缘网络节点的客户端接收云平台控制中心的服务端发送的漏洞扫描结果,如待测扫描容器的镜像数据不存在漏洞,或存在sql注入漏洞、目录遍历漏洞、跨站脚本漏洞等漏洞类型中的一种或几种,本发明实施例不做具体限定,完成对待测扫描容器的镜像检测。
82.本发明提供了一种容器镜像的检测方法,本发明实施例通过从边缘网络节点的容器引擎中获取待扫描容器的镜像数据;对所述镜像数据进行解析得到镜像分层信息,将携带所述镜像分层信息的漏洞扫描请求发送到云平台控制中心的服务端,以使得所述服务端基于所述镜像分层信息进行漏洞扫描;接收所述服务端发送的扫描结果,完成对所述待扫描容器的镜像检测。以便对边缘网络节点中的容器镜像数据进行及时的检测,提前发现边缘网络节点中运行容器的安全漏洞,保证边缘网络节点中容器镜像的安全可靠。
83.进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例中的具体实施过程,提供了另一种容器镜像的检测方法,步骤对所述镜像数据进行解析得到镜像分层信息包括:
84.获取所述镜像数据的代码数据;
85.通过检测所述代码数据中各个镜像层存储的唯一识别码信息,得到所述镜像数据的镜像分层信息。
86.本发明实施例中,为了更高效便捷的识别并获取到各个镜像分层信息。当前客户端获取镜像数据的代码数据,镜像数据的代码数据中包含各个镜像层存储的唯一识别码,如镜像的唯一标识imageid、docker内容寻址机制采用的索引chainid、镜像层校验diffid等,本发明实施例不做具体限定。当前客户端通过检测代码数据中各个镜像层存储的唯一识别码信息,通过唯一识别码信息得到镜像数据的镜像分层信息。
87.进一步的,作为上述实施例具体实施方式的细化和扩展,为了简化容器镜像检测方法,在对待扫描容器进行第一次漏洞扫描之后,不再重复的获取待扫描容器的全部镜像数据,而是通过检测,获取待扫描容器新增的镜像数据进行解析扫描或者从云平台控制中心的服务端调取待扫描容器缺失的镜像分层信息进行漏洞扫描,不仅提高了边缘网络节点的漏洞扫描效率,还减少了云平台控制中心的服务端漏洞扫描的工作量。提供了另一种容器镜像的检测方法,如图2所示,步骤接收所述服务端发送的扫描结果,完成对所述待扫描容器的镜像检测之后,所述方法还包括:
88.201、从所述边缘网络节点的容器引擎中获取所述待扫描容器的镜像分层清单,将所述镜像分层清单中的第一镜像层与所述镜像分层信息中的第二镜像层进行比对,得到差异镜像层;
89.本发明实施例中,当前边缘网络节点的客户端从与之对应的边缘网络节点的容器引擎中获取待扫描容器的镜像分层清单。镜像分层清单用于统计容器镜像层的数量、名称等信息,本发明实施例不做具体限定。当前客户端将镜像分层清单中的第一镜像层与镜像分层信息中的第二镜像层进行比对,得到差异镜像层。差异镜像层用于表征第一镜像层与第二镜像层中的差异部分,包括缺失镜像层和新增镜像层。
90.202、若检测到所述差异镜像层为缺失镜像层,则向所述服务端发送缺失镜像层查询请求,以使得所述服务端从本地缓存中加载所述缺失镜像层所对应的缺失镜像分层信息;
91.本发明实施例中,当前客户端若检测到差异镜像层为缺失镜像层,就向云平台控制中心的服务端发送缺失镜像层查询请求,云平台控制中心的服务端在接收到当前客户端的查询请求之后,从本地缓存中加载缺失镜像层所对应的缺失镜像分成信息,由服务端基于漏洞数据库进行漏洞扫描。
92.需要说明的是,云平台控制中心服务端的本地缓存中存储有待扫描容器的第一次漏洞扫描请求所携带的镜像分层信息,在缺失镜像层查询时,通过检测缺失镜像层的代码数据中的唯一识别码信息进行缺失镜像分层信息的加载。
93.203、若检测到所述差异镜像层为新增镜像层,则从所述容器引擎中获取所述新增镜像层对应的镜像数据进行解析得到新增镜像分层信息,并将携带所述新增镜像分层信息的漏洞扫描请求发送到所述服务端。
94.本发明实施例中,当前边缘网络节点的客户端若检测到差异镜像层为新增镜像层,就从边缘网络节点所对应的容器引擎中获取新增镜像层对应的镜像数据,当前客户端通过获取新增镜像层对应的镜像数据的代码数据,检测代码数据的唯一识别码信息,得到新增镜像层的新增镜像分层信息,并将携带新增镜像分层信息的漏洞扫描请求发送到云平台控制中心的服务端,服务端在接收到新增镜像分层信息后基于漏洞数据库进行漏洞检测,并将新增镜像分层信息存储到云平台控制中心的本地缓存中。
95.本发明提供了一种容器镜像的检测方法,本发明实施例通过从边缘网络节点的容器引擎中获取待扫描容器的镜像数据;对所述镜像数据进行解析得到镜像分层信息,将携带所述镜像分层信息的漏洞扫描请求发送到云平台控制中心的服务端,以使得所述服务端基于所述镜像分层信息进行漏洞扫描;接收所述服务端发送的扫描结果,完成对所述待扫描容器的镜像检测。以便对边缘网络节点中的容器镜像数据进行及时的检测,提前发现边
缘网络节点中运行容器的安全漏洞,保证边缘网络节点中容器镜像的安全可靠。
96.本发明实施例提供了又一种容器镜像的检测方法,可应用于云平台控制中心的服务端中,如图3所示,包括:
97.301、从第三方下载漏洞数据库进行本地保存;
98.本发明实施例中,当前云平台控制中心的服务端从第三方下载漏洞数据库,并将漏洞数据库保存在本地服务端。第三方下载的漏洞数据库包含多种类型的漏洞数据,包括但不限于sql注入漏洞、目录遍历漏洞、跨站脚本漏洞等,本发明实施例不做具体限定。
99.302、接收至少一个边缘网络节点的客户端的漏洞扫描请求,按照接收所述漏洞扫描请求的时间先后顺序提取所述漏洞扫描请求中携带的镜像分层信息;
100.本发明实施例中,当前云平台控制中心的服务端接收一个或多个与之关联的边缘网络节点的客户端的漏洞扫描请求,根据接收到各个客户端的漏洞扫描请求的时间先后顺序,对漏洞扫描请求进行处理,即最先接收到的漏洞扫描请求最先进行处理,越是后接收到的漏洞扫描请求,越是排到后面处理。当前服务端在处理漏洞扫描请求时,首先获取漏洞扫描请求中携带的镜像分层信息。
101.需要说明的是,这里的时间以云平台控制中心的服务端的时间为依据,避免各个边缘网络节点客户端的时间不统一而导致接收请求时间的混乱。
102.303、基于所述漏洞数据库对所述镜像分层信息进行漏洞扫描,将扫描结果发送到所述客户端。
103.本发明实施例中,当前服务端在获取到镜像分层信息后,基于漏洞数据库对镜像分层信息进行漏洞扫描,漏洞扫描时将镜像分层信息与漏洞数据库中不同类型的漏洞数据进行一一比对进行漏洞识别,将识别出的漏洞发送到漏洞扫描请求所对应的客户端。在没有识别到漏洞信息的时候,将不存在漏洞数据的扫描结果发送到漏洞扫描请求所对应的客户端。
104.本发明提供了一种容器镜像的检测方法,本发明实施例通过从第三方下载漏洞数据库进行本地保存;接收至少一个边缘网络节点的客户端的漏洞扫描请求,按照接收所述漏洞扫描请求的时间先后顺序提取所述漏洞扫描请求中携带的镜像分层信息;基于所述漏洞数据库对所述镜像分层信息进行漏洞扫描,将扫描结果发送到所述客户端。使得当前云平台控制中心的服务端处理多个边缘网络节点的客户端的漏洞扫描请求,形成一种分布式的漏洞扫描结构,不仅便于对各个边缘网络节点客户端的容器镜像的管理,还降低了云平台控制中心服务端的存储压力。
105.进一步的,作为上述实施例具体实施方式的细化和扩展,为了提高镜像数据的漏洞扫描效率和漏洞扫描的准确率,提供了另一种容器镜像的检测方法,步骤基于所述漏洞数据库对所述镜像分层信息进行漏洞扫描包括:
106.将所述镜像分层信息中的数据与所述漏洞数据库中不同漏洞类型的漏洞数据进行一一匹配;
107.将匹配成功的所述漏洞数据所对应的漏洞类型确定为所述漏洞扫描的漏洞结果。
108.本发明实施例中,当前云平台控制中心的服务端将镜像数据分层信息中的数据与漏洞数据库中的不同类型的漏洞数据一一进行匹配,匹配时可以先对漏洞数据库中不同类型的漏洞数据进行特征提取,基于提取的特征进行匹配;还可以检测漏洞数据库中不同类
型漏洞数据的关键词,基于关键词进行匹配,本发明实施例不做具体限定。当前云平台控制中心的服务端将匹配成功的漏洞类型作为漏洞扫描的结果进行输出。当镜像分层信息与漏洞数据库中任意一个类型的漏洞数据都匹配不成功时,则输出不存在漏洞的扫描结果。
109.进一步的,作为上述实施例具体实施方式的细化和扩展,为了仅对缺失的镜像层进行漏洞扫描,提高云平台控制中心的服务端的漏洞扫描效率,提供了另一种容器镜像的检测方法,步骤接收至少一个边缘网络节点的客户端的漏洞扫描请求,按照接收所述漏洞扫描请求的时间先后顺序提取所述漏洞扫描请求中携带的镜像分层信息之后,如图4所示,所述方法还包括:
110.401、将所述镜像分层信息存储到本地缓存中;
111.402、当接收到所述客户端发送的缺失镜像层查询请求时,从所述本地缓存中获取所述缺失镜像层查询请求中待查询的所述缺失镜像层的镜像分层信息。
112.本发明实施例中,当前云平台控制中心的服务端为了后期能在本地缓存中查找到客户端缺失的镜像分层信息,将待扫描容器的所有镜像层的镜像分层信息均存储在本地缓存中。当前服务端在接收到边缘网络节点的客户端发送的缺失镜像层查询请求时,通过检测缺失镜像层的唯一识别码信息,从云平台控制中心的本地缓存中获取缺失镜像层所对应的镜像分层信息并进行漏洞扫描。
113.需要说明的是,不同边缘网络节点的客户端的差异镜像层的内容存在差异性,有的边缘网络节点的客户端的差异镜像层包含缺失镜像层,而有的边缘网络节点的客户端的差异镜像层包含新增镜像层。只有检测到包含缺失镜像层的客户端才向当前服务端发送缺失镜像层查询请求,服务端按照查询请求接收时间的先后顺序,从本地缓存中查找缺失镜像分层信息。
114.进一步的,作为上述实施例具体实施方式的细化和扩展,为了仅对新增的镜像层进行漏洞扫描,减少各边缘网络节点的客户端的数据解析工作,提高云平台控制中心的服务端的漏洞扫描效率,提供了另一种容器镜像的检测方法,所述方法还包括:
115.接收携带新增镜像分层信息的漏洞扫描请求;
116.基于所述漏洞数据库对所述新增镜像分层信息进行漏洞扫描,将扫描结果发送到所述客户端。
117.本发明实施例中,不同边缘网络节点的客户端的差异镜像层的内容存在差异性,有的边缘网络节点的客户端的差异镜像层包含缺失镜像层,而有的边缘网络节点的客户端的差异镜像层包含新增镜像层。只有检测到包含新增镜像层的客户端才向当前服务端发送携带新增镜像分层信息的漏洞扫描请求。当前服务端基于漏洞数据库对新增镜像层的新增镜像分层信息进行漏洞扫描,扫描前可以先对漏洞数据库中不同类型的漏洞数据进行特征提取,基于提取的特征进行匹配;还可以检测漏洞数据库中不同类型漏洞数据的关键词,基于关键词进行匹配,本发明实施例不做具体限定。将漏洞扫描的结果发送到客户端。
118.对于本发明实施例,为了对各个边缘网络节点中运行的容器的镜像数据及时的进行漏洞检测,将各个边缘网络节点对应的容器引擎中的容器镜像数据进行解析得到镜像分层信息后,将镜像分层信息发送到服务端进行漏洞扫描。并在云平台控制中心的服务端的缓存中保存各个边缘网络节点客户端容器的镜像分层信息,在缺失镜像分层时,服务端为各个客户端提供查询服务。在各个客户端的容器出现更新时,服务端为新增的镜像分层信
息提供漏洞扫描服务,不仅减少了客户端的数据解析工作,同时减少了服务端的漏洞扫描工作,提高了分布式漏洞扫描系统整体的扫描效率。另外,由于本发明实施例中边缘网络节点的客户端可以为商家管理系统、扫码点餐系统、智能家居控制管理系统、绿色出行管理系统等不同业务的应用端,因此,在与云平台控制中心的服务端进行本发明实施例中的数据处理的交互步骤如图5所示。
119.本发明提供了一种容器镜像的检测方法,本发明实施例通过从第三方下载漏洞数据库进行本地保存;接收至少一个边缘网络节点的客户端的漏洞扫描请求,按照接收所述漏洞扫描请求的时间先后顺序提取所述漏洞扫描请求中携带的镜像分层信息;基于所述漏洞数据库对所述镜像分层信息进行漏洞扫描,将扫描结果发送到所述客户端。使得当前云平台控制中心的服务端处理多个边缘网络节点的客户端的漏洞扫描请求,形成一种分布式的漏洞扫描结构,不仅便于对各个边缘网络节点客户端的容器镜像的管理,还降低了云平台控制中心服务端的存储压力。
120.作为对上述图1所示方法的实现,本发明实施例提供了一种客户端,如图6所示,该客户端包括:
121.数据获取模块51,用于从边缘网络节点的容器引擎中获取待扫描容器的镜像数据;
122.解析及发送模块52,对所述镜像数据进行解析得到镜像分层信息,将携带所述镜像分层信息的漏洞扫描请求发送到云平台控制中心的服务端,以使得所述服务端基于所述镜像分层信息进行漏洞扫描;
123.接收模块53,接收所述服务端发送的扫描结果,完成对所述待扫描容器的镜像检测。
124.进一步的,所述解析及发送模块还包括:
125.代码获取单元,用于获取所述镜像数据的代码数据;
126.识别单元,用于通过检测所述代码数据中各个镜像层存储的唯一识别码信息,得到所述镜像数据的镜像分层信息。
127.进一步的,所述客户端还包括:
128.对比模块,用于从所述边缘网络节点的容器引擎中获取所述待扫描容器的镜像分层清单,将所述镜像分层清单中的所述镜像层与所述镜像分层信息中的所述镜像层进行比对,得到差异镜像层;
129.缺失镜像查询模块,用于若检测到差异镜像层为缺失镜像层,向所述服务端发送缺失镜像层的查询请求,以使得所述服务端从本地缓存中加载所述缺失镜像层所对应的缺失镜像分层信息;
130.新增镜像解析模块,用于若检测到差异镜像层为新增镜像层,从所述客户端获取所述新增镜像层对应的镜像数据进行解析得到新增镜像分层信息,将携带所述新增镜像分层信息的漏洞扫描请求发送到所述服务端。
131.本发明提供了一种客户端,本发明实施例通过从边缘网络节点的容器引擎中获取待扫描容器的镜像数据;对所述镜像数据进行解析得到镜像分层信息,将携带所述镜像分层信息的漏洞扫描请求发送到云平台控制中心的服务端,以使得所述服务端基于所述镜像分层信息进行漏洞扫描;接收所述服务端发送的扫描结果,完成对所述待扫描容器的镜像
检测。以便对边缘网络节点中的容器镜像数据进行及时的检测,提前发现边缘网络节点中运行容器的安全漏洞,保证边缘网络节点中容器镜像的安全可靠。
132.作为对上述图3所示方法的实现,本发明实施例提供了一种服务端,如图7所示,该服务端包括:
133.数据库下载模块61,用于从第三方下载漏洞数据库进行本地保存;
134.信息提取模块62,用于接收至少一个边缘网络节点的客户端的漏洞扫描请求,按照接收所述漏洞扫描请求的时间先后顺序提取所述漏洞扫描请求中携带的镜像分层信息;
135.漏洞扫描模块63,用于基于所述漏洞数据库对所述镜像分层信息进行漏洞扫描,将扫描结果发送到所述客户端。
136.进一步的,所述漏洞扫描模块还包括:
137.漏洞匹配单元,用于将所述镜像分层信息中的数据与所述漏洞数据库中不同漏洞类型的漏洞数据进行一一匹配;
138.结果输出单元,用于将匹配成功的所述漏洞数据所对应的漏洞类型确定为所述漏洞扫描的漏洞结果。
139.进一步的,所述服务端还包括:
140.存储模块,用于将所述镜像分层信息存储到本地缓存中;
141.缺失镜像获取模块,用于当接收到所述客户端发送的缺失镜像层查询请求时,从所述本地缓存中获取所述缺失镜像层查询请求中待查询的所述缺失镜像层的镜像分层信息。
142.进一步的,所述服务端还包括:
143.新增镜像接收模块,用于接收携带新增镜像分层信息的漏洞扫描请求;
144.新增镜像扫描模块,用于基于所述漏洞数据库对所述新增镜像分层信息进行漏洞扫描,将扫描结果发送到所述客户端。
145.本发明提供了一种服务端,本发明实施例通过从第三方下载漏洞数据库进行本地保存;接收至少一个边缘网络节点的客户端的漏洞扫描请求,按照接收所述漏洞扫描请求的时间先后顺序提取所述漏洞扫描请求中携带的镜像分层信息;基于所述漏洞数据库对所述镜像分层信息进行漏洞扫描,将扫描结果发送到所述客户端。使得当前云平台控制中心的服务端处理多个边缘网络节点的客户端的漏洞扫描请求,形成一种分布式的漏洞扫描结构,不仅便于对各个边缘网络节点客户端的容器镜像的管理,还降低了云平台控制中心的服务端的存储压力。
146.根据本发明一个实施例提供了一种存储介质,所述存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的容器镜像的检测方法对应的操作。
147.图8示出了根据本发明一个实施例提供的一种计算机设备的结构示意图,本发明具体实施例并不对计算机设备的具体实现做限定。
148.如图8所示,该计算机设备可以包括:处理器(processor)702、通信接口(communications interface)704、存储器(memory)706、以及通信总线708。
149.其中:处理器702、通信接口704、以及存储器706通过通信总线708完成相互间的通信。
150.通信接口704,用于与其它设备比如客户端或其它服务器等的网元通信。
151.处理器702,用于执行程序710,具体可以执行上述数据的处理方法实施例中的相关步骤。
152.具体地,程序710可以包括程序代码,该程序代码包括计算机操作指令。
153.处理器702可能是中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算机设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
154.存储器706,用于存放程序710。存储器706可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
155.程序710具体可以用于使得处理器702执行以下操作:
156.从边缘网络节点的容器引擎中获取待扫描容器的镜像数据;
157.对所述镜像数据进行解析得到镜像分层信息,将携带所述镜像分层信息的漏洞扫描请求发送到云平台控制中心的服务端,以使得所述服务端基于所述镜像分层信息进行漏洞扫描;
158.接收所述服务端发送的扫描结果,完成对所述待扫描容器的镜像检测。
159.图9示出了根据本发明一个实施例提供的另一种计算机设备的结构示意图,本发明具体实施例并不对计算机设备的具体实现做限定。
160.如图9所示,该计算机设备可以包括:处理器(processor)802、通信接口(communications interface)804、存储器(memory)806、以及通信总线808。
161.其中:处理器802、通信接口804、以及存储器806通过通信总线808完成相互间的通信。
162.通信接口804,用于与其它设备比如客户端或其它服务器等的网元通信。
163.处理器802,用于执行程序810,具体可以执行上述数据的处理方法实施例中的相关步骤。
164.具体地,程序810可以包括程序代码,该程序代码包括计算机操作指令。
165.处理器802可能是中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算机设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
166.存储器806,用于存放程序810。存储器806可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
167.程序810具体可以用于使得处理器802执行以下操作:
168.从第三方下载漏洞数据库进行本地保存;
169.接收至少一个边缘网络节点的客户端的漏洞扫描请求,按照接收所述漏洞扫描请求的时间先后顺序提取所述漏洞扫描请求中携带的镜像分层信息;
170.基于所述漏洞数据库对所述镜像分层信息进行漏洞扫描,将扫描结果发送到所述客户端。
171.本发明实施例提供了一种容器镜像的检测系统,如图10所示,包括:客户端901、服
务端902;
172.所述客户端901,用于从边缘网络节点的容器引擎中获取待扫描容器的镜像数据;
173.所述客户端901,还用于对所述镜像数据进行解析得到镜像分层信息,将携带所述镜像分层信息的漏洞扫描请求发送到云平台控制中心的服务端,以使得所述服务端基于所述镜像分层信息进行漏洞扫描;
174.所述客户端901,还用于接收所述服务端发送的扫描结果,完成对所述待扫描容器的镜像检测。
175.所述服务端902,用于从第三方下载漏洞数据库进行本地保存;
176.所述服务端902,还用于接收至少一个边缘网络节点的客户端的漏洞扫描请求,按照接收所述漏洞扫描请求的时间先后顺序提取所述漏洞扫描请求中携带的镜像分层信息;
177.所述服务端902,还用于基于所述漏洞数据库对所述镜像分层信息进行漏洞扫描,将扫描结果发送到所述客户端。
178.显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
179.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1