CN110276199B - 一种Kubernetes云原生应用的动态安全检测方法 - Google Patents
一种Kubernetes云原生应用的动态安全检测方法 Download PDFInfo
- Publication number
- CN110276199B CN110276199B CN201910554576.5A CN201910554576A CN110276199B CN 110276199 B CN110276199 B CN 110276199B CN 201910554576 A CN201910554576 A CN 201910554576A CN 110276199 B CN110276199 B CN 110276199B
- Authority
- CN
- China
- Prior art keywords
- resource
- report
- plug
- monitoring
- task
- 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
- 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/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- 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/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Abstract
本发明公开了一种Kubernetes云原生应用的动态安全检测方法,属于云原生安全技术领域,包括:扫描正在运行的Chart应用状态,识别Chart应用运行的资源类型、镜像类型、资源使用情况,监控分析Chart应用行为并审计,分析出恶意镜像、资源耗尽攻击、可疑连接等安全问题。本发明对Kubernetes Chart应用的各种资源类型进行动态安全检测,识别确定Kubernetes Chart应用的运行情况,通过加载不同插件,对不同资源进行扫描、监控,保证系统安全。
Description
技术领域
本发明涉及云原生安全技术领域,特别是一种Kubernetes云原生应用的动态安全检测方法。
背景技术
随着云计算的不断发展,容器和Kubernetes已经成为云原生应用的基石,Kubernetes正在成为广大互联网公司和传统IT行业进行云化和简化运维的利器,在生产环境上得到大规模部署并被越来越多的公司采用。
Chart应用是Kubernetes资源的打包,由Helm服务进行管理,使用Chart应用在Kubernetes集群中进行应用安装或卸载。
然而作为新兴技术,容器和Kubernetes相关的安全研究相对滞后,Kubernetes云平台也正面临着越来越多的攻击和威胁,目前仍然没有Kubernetes的Chart应用的动态安全检测方案,完全依赖于运维人员凭借经验手工排查。
发明内容
本发明的发明目的是,针对上述问题,提供一种Kubernetes云原生应用的动态安全检测方法,包括:扫描正在运行的Chart应用状态,识别Chart应用运行的资源类型、镜像类型、资源使用情况,监控分析Chart应用行为并审计,分析出恶意镜像、资源耗尽攻击、可疑连接等安全问题;能有效覆盖静态检测的不足,寻找静态检测中无法发现的代码缺陷和安全隐患。
为达到上述目的,本发明所采用的技术方案是:
一种Kubernetes云原生应用的动态安全检测方法,包括以下步骤:
S1、初始化系统配置,根据配置建立helm client和Kubernetes client连接目标helm服务器和Kubernetes;若是无法连接则退出;
S2、加载插件库,连接数据库;若是加载连接出错则显示错误信息后退出;
S3、监控CVE漏洞信息,将漏洞信息更新到本地数据库;通过Kubernetes client连接Kubernetes,记录当前运行的Kubernetes所有资源;
S4、通过helm client连接helm服务器,通过Chart应用识别插件,扫描正在运行的Chart应用,获取正在运行的Chart应用列表;
S5、根据上一步骤的Chart应用列表,扫描并记录单个Chart应用信息;且,每扫描出一个Chart应用信息,便执行步骤S6;重复前述程序扫描出下一个Chart应用信息,若所有Chart应用信息已经被扫描出,则执行步骤S10;
S6、根据上一步骤记录的单个Chart应用信息,使用Kubernetes client连接至Kubernetes,通过资源扫描插件,遍历该Chart应用所使用的所有资源的数据,同时将每一项资源所需要的扫描项记录下来,执行步骤S7;
S7、遍历上一步骤单个Chart应用的资源列表,且每遍历一项资源就根据该资源所需要的扫描项分发安全扫描任务,然后执行步骤S8;重复前述程序遍历下一项资源,若该资源列表已经被遍历完,则执行步骤S9;
S8、根据传入的资源信息加载相应的扫描项,分别进行安全扫描任务,生成相应的报告,发送至步骤S9;
S9、加载报告插件,收集上一步骤传入的任务报告,生成单个Chart应用的安全报告,且每隔t0时间更新;然后,返回步骤S5进行下一个Chart应用的安全扫描及报告生成程序;
S10、加载报告插件服务,显示所有Chart应用的安全报告。
步骤S5中,Chart应用信息包括Kubernetes命名空间、状态和资源;且Kubernetes资源包括ConfigMap,PersistentVolumeClaim,Service,Deployment,Ingress,及Pod。
步骤S6中,扫描项包括镜像分层扫描、网络访问监控、资源占用监控、运行时权限监控及自定义扫描。
作为一选项,步骤S8的每个安全扫描任务独立异步运行,若单个资源有多项扫描项则依照预置的优先顺序逐项进行安全扫描。作为一选项,步骤S8具体步骤如下:
S8.1、根据传入的资源信息获得镜像内容,读取镜像manifest.json,解析获得每一层,加载镜像分层扫描插件对每一层进行扫描,匹配本地数据库中的CVE漏洞,生成本任务的报告,发送至步骤S9;
S8.2、根据传入的资源信息,加载网络访问监控插件,记录该资源的网络策略并将访问记录发送至审计记录插件,每隔t1时间生成本任务的报告,发送至步骤S9;
S8.3、根据传入的资源信息,加载资源监控插件获得该资源的CPU/内存/存储资源占用情况,每隔t2时间生成本任务的报告,发送至步骤S9;
S8.4、根据传入的资源信息,加载权限监控插件获得该资源的运行时权限、宿主机敏感文件读取情况,每隔t3时间生成本任务的报告,发送至步骤S9;
S8.5、根据传入的资源信息,加载用户自行编写的插件进行监控,一次性生成本任务的报告或每隔t4时间生成本任务的报告,发送至步骤S9。
作为一选项,步骤S8中,网络访问监控插件可通过以下方式监控网络访问:1、通过底层Envoy监控、追踪流量并保存访问记录;2、使用Kubernetes client进入容器中运行端口监听命令,收集监听记录并保存记录信息。
作为一选项,步骤S8中,资源监控插件可通过以下方式获得并记录资源占用情况:1、通过传入的资源信息获得静态的资源申请记录;2、使用Kubernetes client监控该资源的资源占用情况。
由于采用上述技术方案,本发明具有以下有益效果:
1.本发明提出的Kubernetes应用的动态安全检测方案,对Kubernetes的Chart应用进行动态安全检测,填补了Kubernetes云平台无Chart应用动态安全检测的空白。基于动态的Chart应用检测,能有效覆盖静态检测的不足,寻找静态检测中无法发现的代码缺陷和安全隐患,减少应用风险。
2.本发明对Kubernetes Chart应用的各种资源类型进行动态安全检测,识别确定Kubernetes Chart应用的运行情况,通过加载不同插件,对不同资源进行扫描、监控,保证系统安全。
附图说明
图1是本发明的步骤框图。
图2是本发明的处理流程图。
附图中,1-镜像分层扫描插件、2-网络访问监控插件、3-资源占用监控插件、4-运行时权限监控插件、5-自定义扫描插件。
具体实施方式
以下结合附图对发明的具体实施进一步说明。
如图1所示,一种Kubernetes云原生应用的动态安全检测方法,包括以下步骤:
步骤S1、初始化系统配置,根据配置建立helm client和Kubernetes client连接目标helm服务器和Kubernetes;若是无法连接则退出。
步骤S2、加载插件库,连接数据库;若是加载连接出错则显示错误信息后退出。
步骤S3、监控CVE漏洞信息,将漏洞信息更新到本地数据库;通过Kubernetesclient连接Kubernetes,记录当前运行的Kubernetes所有资源。
步骤S4、通过helm client连接helm服务器,通过Chart应用识别插件,扫描正在运行的Chart应用,获取正在运行的Chart应用列表。
步骤S5、根据上一步骤的Chart应用列表,扫描并记录单个Chart应用信息;且,每扫描出一个Chart应用信息,便执行步骤S6;重复前述程序扫描出下一个Chart应用信息,若所有Chart应用信息已经被扫描出,则执行步骤S10。
步骤S6、根据上一步骤记录的单个Chart应用信息,使用Kubernetes client连接至Kubernetes,通过资源扫描插件,遍历该Chart应用所使用的所有资源的数据,同时将每一项资源所需要的扫描项记录下来,执行步骤S7。
步骤S7、遍历上一步骤单个Chart应用的资源列表,且每遍历一项资源就根据该资源所需要的扫描项分发安全扫描任务,然后执行步骤S8;重复前述程序遍历下一项资源,若该资源列表已经被遍历完,则执行步骤S9。
步骤S8、根据传入的资源信息加载相应的扫描项,分别进行安全扫描任务,生成相应的报告,发送至步骤S9。
步骤S8的具体内容如下:
根据传入的资源信息,加载镜像分层扫描插件进行扫描,匹配本地数据库中的CVE漏洞,生成本任务的报告,发送至步骤S9;
根据传入的资源信息,加载网络访问监控插件,记录该资源的网络策略并将访问记录发送至审计记录插件,每隔t1时间生成本任务的报告,发送至步骤S9;
根据传入的资源信息,加载资源监控插件获得该资源的CPU/内存/存储资源占用情况,每隔t2时间生成本任务的报告,发送至步骤S9;
根据传入的资源信息,加载权限监控插件获得该资源的运行时权限、宿主机敏感文件读取情况,每隔t3时间生成本任务的报告,发送至步骤S9;
根据传入的资源信息,加载用户自行编写的插件进行监控,一次性生成本任务的报告或每隔t4时间生成本任务的报告,发送至步骤S9。
其中,每个任务独立的,可以顺序运行,也可以异步运行,互不影响。
作为一选项,步骤S8的每个安全扫描任务独立异步运行,若单个资源有多项扫描项则依照预置的优先顺序逐项进行安全扫描。作为一选项,具体步骤如下:
S8.1、根据传入的资源信息获得镜像内容,读取镜像manifest.json,解析获得每一层,加载镜像分层扫描插件对每一层进行扫描,匹配本地数据库中的CVE漏洞,生成本任务的报告,发送至步骤S9;
S8.2、根据传入的资源信息,加载网络访问监控插件,记录该资源的网络策略并将访问记录发送至审计记录插件,每隔t1时间生成本任务的报告,发送至步骤S9;
S8.3、根据传入的资源信息,加载资源监控插件获得该资源的CPU/内存/存储资源占用情况,每隔t2时间生成本任务的报告,发送至步骤S9;
S8.4、根据传入的资源信息,加载权限监控插件获得该资源的运行时权限、宿主机敏感文件读取情况,每隔t3时间生成本任务的报告,发送至步骤S9;
S8.5、根据传入的资源信息,加载用户自行编写的插件进行监控,一次性生成本任务的报告或每隔t4时间生成本任务的报告,发送至步骤S9。
步骤S9、加载报告插件,收集上一步骤传入的任务报告,生成单个Chart应用的安全报告,且每隔t0时间更新;然后,返回步骤S5进行下一个Chart应用的安全扫描及报告生成程序。
步骤S10、加载报告插件服务,显示所有Chart应用的安全报告。
下述将进一步举例说明。
如图1所示,在实例中,Kubernetes的Chart应用动态安全检测方案包括如下步骤:
步骤1:初始化系统配置,根据配置建立helm client与Kubernetes client连接目标helm服务器与Kubernetes。如果无法连接任意一个则退出。Helm client用于扫描正在运行的Chart应用,Kubernetes client用于连接Kubernetes,以扫描和监控资源使用情况。
步骤2:加载插件库,连接数据库等,加载连接出错则显示错误信息后退出。插件库用于动态监测,不同功能以插件的方式加载,例如Chart应用识别、资源扫描插件、镜像分层扫描插件、审计记录插件、定时任务等。用户可以根据需要编写自定义的动态监测插件,也可以通过插件配置或直接修改插件增加需要的功能。
步骤3:运行后台任务,包括监控最新的CVE漏洞信息,将漏洞信息更新到本地数据库,通过Kubernetes client连接Kubernetes,记录当前运行的Kubernetes所有资源。
步骤4:helm client连接helm服务器,通过Chart应用识别插件,扫描正在运行的Chart应用,获取正在运行的Chart应用列表
步骤5:根据上一步的Chart列表,循环扫描并记录单个Chart应用信息。Chart应用信息包括为Kubernetes命名空间Namespace、状态和资源。资源包括ConfigMap,PersistentVolumeClaim(PVC),Service,Deployment,Ingress,Pod等等。每扫描出一个Chart应用信息,便执行下一步。将未收录的Kubernetes资源统合标注为未知Chart应用。扫描完所有Chart应用,跳到步骤10。
步骤6:根据上一步记录的单个Chart应用信息,使用Kubernetes client连接至Kubernetes,通过资源扫描插件,遍历该Chart应用使用的所有资源的详细数据,同时将每种资源需要的扫描项记录下来。下一步将进入具体的安全扫描任务。执行下一步。
步骤7:遍历上一步单个Chart应用的资源列表,单个资源以每个扫描项作为一个安全扫描任务,分发安全扫描任务。
其中,Chart资源列表包含多个Chart;单个Chart包含多个资源;单个资源包含多个扫描项;单个扫描项对应一个扫描任务。每个安全扫描任务独立异步运行,互不影响。扫描项包括镜像分层扫描1、网络访问监控(network policy)2、资源占用监控3、运行时权限监控4及自定义扫描5,等。例如,该Chart资源列表共有10项,其中第一项资源包含1、2、3及4等4个扫描项,将该项资源信息分别发至后述步骤8.1、8.2、8.3及8.4相应扫描项中并执行,然后,对下一项资源执行,直至遍历完10项资源,之后执行步骤S9。其依照资源扫描顺序逐项进行扫描项,且,若单个资源有多项扫描项则依照预置的优先顺序逐项进行安全扫描,多项扫描项优先顺序可根据需要进行设置。如图2,ConfigMap,PVC,Service及Deployment逐步被扫描,定义各个资源包含的扫描项分别如图虚线框所示,则其由a1至a7步依次进行扫描。
步骤8.1:根据传入的资源信息获得镜像内容。读取镜像manifest.json,解析获得每一层,加载镜像分层扫描插件对每一层进行扫描,匹配本地数据库中的CVE漏洞,生成本任务的报告,发送至步骤9。
步骤8.2:根据传入的资源信息,加载网络访问监控插件,记录该资源的网络策略并将访问记录发送至审计记录插件。可通过多种方式监控网络访问:1通过底层Envoy监控、追踪流量并保存访问记录;2使用Kubernetes client进入容器中运行端口监听命令,手机监听记录并保存记录信息。网络访问监控插件保持后台运行,每隔15s生成本任务的报告,发送至步骤9。
步骤8.3:根据传入的资源信息,加载资源监控插件获得该资源的CPU/内存/存储资源占用情况。通过两种方式获得并记录资源占用情况:1通过传入的资源信息获得静态的资源申请记录;2使用Kubernetes client监控该资源的资源占用情况。源监控插件保持后台运行,每隔15s生成本任务的报告,发送至步骤9。
步骤8.4:根据传入的资源信息,加载权限监控插件获得该资源的运行时权限、宿主机敏感文件读取等。权限监控插件使用Kubernetes client连接Kubernetes,保持后台运行,每隔15s生成本任务的报告,发送至步骤9。
步骤8.5:本系统保留了用户自主开发插件,个性化监控的能力。步骤7传入资源信息,加载用户自行编写的插件,可分为一次性报告和后台类报告,一次性报告运行结束后不再启动,生成本任务的报告,发送至步骤9;后台类报告保持后台运行,每隔15s生成本任务的报告,发送至步骤9。
步骤9:后台加载报告插件,收集所有传入的任务报告,生成单个Chart应用的安全报告,每隔15s更新。返回步骤5扫描下一个Chart应用。
步骤10:加载报告插件服务,显示所有Chart应用安全报告。
其中,该方案的插件包括如下插件:
Chart应用识别插件,用于识别在Kubernetes中运行的Chart应用。
资源扫描插件,用于扫描和记录Kubernetes特定资源信息,并绑定该资源的扫描项。不同的资源有一个或多个扫描项。
网络访问监控插件,用于网络监控,底层为Envoy服务,若系统未配置则新增Envoy服务。
资源监控插件,用于监控和记录Kubernetes某些资源的内存/CPU/存储占用情况。
权限监控插件,用于监控和记录Kubernetes某些资源的运行时权限、宿主机敏感文件读取等。
审计记录插件,用于后台记录网络访问数据。
报告插件,用于创建、更新扫描报告。
资源扫描插件,预设了不同资源对应的扫描项,下述为相关扫描项及可接受的资源类型和预设值:
不扫描:certificatesigningrequests(csr)、namespaces(ns)、secrets;
网络访问监控:ingresses(ing)、networkpolicies(netpol)、services(svc);
资源占用监控:limitranges(limits)、resourcequotas(quota)、persistentvolumeclaims(pvc)、persistentvolumes(pv)、storageclasses(sc);
运行时权限监控:clusterrolebindings、clusterroles、configmaps(cm)、rolebindings、roles;
镜像分层扫描+网络访问监控+资源占用监控+运行时权限监控:deployments(deploy)、cronjobs、daemonsets(ds)、jobs、pods(po)、controllerrevisions、replicasets(rs)、replicationcontrollers(rc)、statefulsets(sts)。即,deployments(deploy)等每个资源都同时具有镜像分层扫描、网络访问监控、资源占用监控及运行时权限监控扫描项四个扫描项。
上述说明是针对本发明较佳可行实施例的详细说明,但实施例并非用以限定本发明的专利申请范围,凡本发明所提示的技术精神下所完成的同等变化或修饰变更,均应属于本发明所涵盖专利范围。
Claims (9)
1.一种Kubernetes云原生应用的动态安全检测方法,其特征在于,包括以下步骤:
S1、初始化系统配置,根据配置建立helm client和Kubernetes client连接目标helm服务器和Kubernetes;若是无法连接则退出;
S2、加载插件库,连接数据库;若是加载连接出错则显示错误信息后退出;
S3、监控CVE漏洞信息,将漏洞信息更新到本地数据库;通过Kubernetes client连接Kubernetes,记录当前运行的Kubernetes所有资源;
S4、通过helm client连接helm服务器,通过Chart应用识别插件,扫描正在运行的Chart应用,获取正在运行的Chart应用列表;
S5、根据上一步骤的Chart应用列表,扫描并记录单个Chart应用信息;且,每扫描出一个Chart应用信息,便执行步骤S6;重复本步骤前述程序扫描下一个Chart应用信息,若所有Chart应用信息已经被扫描出,则执行步骤S10;
S6、根据上一步骤记录的单个Chart应用信息,使用Kubernetes client连接至Kubernetes,通过资源扫描插件,遍历该Chart应用所使用的所有资源的数据,同时将每一项资源所需要的扫描项记录下来,执行步骤S7;
S7、遍历上一步骤单个Chart应用的资源列表,且每遍历一项资源就根据该资源所需要的扫描项分发安全扫描任务,然后执行步骤S8;重复本步骤前述程序遍历下一项资源,若该资源列表已经被遍历完,则执行步骤S9;
S8、根据传入的资源信息加载相应的扫描项,分别进行安全扫描任务,生成相应的报告,发送至步骤S9;
S9、加载报告插件,收集上一步骤传入的任务报告,生成单个Chart应用的安全报告,且每隔t0时间更新;然后,返回步骤S5进行下一个Chart应用的安全扫描及报告生成程序;
S10、加载报告插件服务,显示所有Chart应用的安全报告。
2.根据权利要求1所述的一种Kubernetes云原生应用的动态安全检测方法,其特征在于:所述步骤S5中,Chart应用信息包括Kubernetes命名空间、状态和资源;且Kubernetes资源包括ConfigMap,PersistentVolumeClaim,Service,Deployment,Ingress,及Pod。
3.根据权利要求1所述的一种Kubernetes云原生应用的动态安全检测方法,其特征在于:所述步骤S6中,扫描项包括镜像分层扫描、网络访问监控、资源占用监控、运行时权限监控及自定义扫描。
4.根据权利要求3所述的一种Kubernetes云原生应用的动态安全检测方法,其特征在于:所述扫描项扫描内容的值如下:
网络访问监控:ingresses(ing)、networkpolicies(netpol)、services(svc);
资源占用监控:limitranges(limits)、resourcequotas(quota)、persistentvolumeclaims(pvc)、persistentvolumes(pv)、storageclasses(sc);
运行时权限监控:clusterrolebindings、clusterroles、configmaps(cm)、rolebindings、roles;
镜像分层扫描+网络访问监控+资源占用监控+运行时权限监控:deployments(deploy)、cronjobs、daemonsets(ds)、jobs、pods(po)、controllerrevisions、replicasets(rs)、replicationcontrollers(rc)、statefulsets(sts)。
5.根据权利要求1所述的一种Kubernetes云原生应用的动态安全检测方法,其特征在于:所述步骤S8的具体内容如下:
根据传入的资源信息,加载镜像分层扫描插件进行扫描,匹配本地数据库中的CVE漏洞,生成本任务的报告,发送至步骤S9;
根据传入的资源信息,加载网络访问监控插件,记录该资源的网络策略并将访问记录发送至审计记录插件,每隔t1时间生成本任务的报告,发送至步骤S9;
根据传入的资源信息,加载资源监控插件获得该资源的CPU/内存/存储资源占用情况,每隔t2时间生成本任务的报告,发送至步骤S9;
根据传入的资源信息,加载权限监控插件获得该资源的运行时权限、宿主机敏感文件读取情况,每隔t3时间生成本任务的报告,发送至步骤S9;
根据传入的资源信息,加载用户自行编写的插件进行监控,一次性生成本任务的报告或每隔t4时间生成本任务的报告,发送至步骤S9。
6.根据权利要求5所述的一种Kubernetes云原生应用的动态安全检测方法,其特征在于:所述步骤S8的每个安全扫描任务独立异步运行,若单个资源有多项扫描项则依照预置的优先顺序逐项进行安全扫描。
7.根据权利要求6所述的一种Kubernetes云原生应用的动态安全检测方法,其特征在于:所述步骤S8的具体步骤如下:
S8.1、根据传入的资源信息获得镜像内容,读取镜像manifest.json,解析获得每一层,加载镜像分层扫描插件对每一层进行扫描,匹配本地数据库中的CVE漏洞,生成本任务的报告,发送至步骤S9;
S8.2、根据传入的资源信息,加载网络访问监控插件,记录该资源的网络策略并将访问记录发送至审计记录插件,每隔t1时间生成本任务的报告,发送至步骤S9;
S8.3、根据传入的资源信息,加载资源监控插件获得该资源的CPU/内存/存储资源占用情况,每隔t2时间生成本任务的报告,发送至步骤S9;
S8.4、根据传入的资源信息,加载权限监控插件获得该资源的运行时权限、宿主机敏感文件读取情况,每隔t3时间生成本任务的报告,发送至步骤S9;
S8.5、根据传入的资源信息,加载用户自行编写的插件进行监控,一次性生成本任务的报告或每隔t4时间生成本任务的报告,发送至步骤S9。
8.根据权利要求5或7所述的一种Kubernetes云原生应用的动态安全检测方法,其特征在于:所述步骤S8中,网络访问监控插件可通过以下方式监控网络访问:1、通过底层Envoy监控、追踪流量并保存访问记录;2、使用Kubernetes client进入容器中运行端口监听命令,收集监听记录并保存记录信息。
9.根据权利要求5或7所述的一种Kubernetes云原生应用的动态安全检测方法,其特征在于:所述步骤S8中,资源监控插件可通过以下方式获得并记录资源占用情况:1、通过传入的资源信息获得静态的资源申请记录;2、使用Kubernetes client监控该资源的资源占用情况。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910554576.5A CN110276199B (zh) | 2019-06-25 | 2019-06-25 | 一种Kubernetes云原生应用的动态安全检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910554576.5A CN110276199B (zh) | 2019-06-25 | 2019-06-25 | 一种Kubernetes云原生应用的动态安全检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110276199A CN110276199A (zh) | 2019-09-24 |
CN110276199B true CN110276199B (zh) | 2020-12-01 |
Family
ID=67962292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910554576.5A Active CN110276199B (zh) | 2019-06-25 | 2019-06-25 | 一种Kubernetes云原生应用的动态安全检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110276199B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111596927B (zh) * | 2020-05-15 | 2023-08-18 | 北京金山云网络技术有限公司 | 服务部署方法、装置及电子设备 |
CN112448846A (zh) * | 2020-11-05 | 2021-03-05 | 北京浪潮数据技术有限公司 | 一种k8s集群的健康巡检方法、装置及设备 |
US11822672B1 (en) | 2021-02-04 | 2023-11-21 | Cisco Technology, Inc. | Systems and methods for scanning images for vulnerabilities |
CN114297172B (zh) * | 2022-01-04 | 2022-07-12 | 北京乐讯科技有限公司 | 一种基于云原生的分布式文件系统 |
CN114422274B (zh) * | 2022-03-29 | 2022-07-05 | 腾讯科技(深圳)有限公司 | 一种基于云原生的多场景漏洞检测方法、装置及存储介质 |
CN116450301B (zh) * | 2023-06-14 | 2023-08-15 | 天津市天河计算机技术有限公司 | 基于容器的监控方法、系统、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107302604A (zh) * | 2017-06-30 | 2017-10-27 | 挖财网络技术有限公司 | 基于Kubernetes的PaaS平台域名配置方法及装置和电子设备 |
CN109032645A (zh) * | 2018-07-28 | 2018-12-18 | 烽火云科技有限公司 | 基于Kubernetes的持续集成与部署的方法和系统 |
US10191778B1 (en) * | 2015-11-16 | 2019-01-29 | Turbonomic, Inc. | Systems, apparatus and methods for management of software containers |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109815704B (zh) * | 2019-01-24 | 2020-08-04 | 中国—东盟信息港股份有限公司 | 一种Kubernetes云原生应用的安全检测方法及其系统 |
-
2019
- 2019-06-25 CN CN201910554576.5A patent/CN110276199B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10191778B1 (en) * | 2015-11-16 | 2019-01-29 | Turbonomic, Inc. | Systems, apparatus and methods for management of software containers |
CN107302604A (zh) * | 2017-06-30 | 2017-10-27 | 挖财网络技术有限公司 | 基于Kubernetes的PaaS平台域名配置方法及装置和电子设备 |
CN109032645A (zh) * | 2018-07-28 | 2018-12-18 | 烽火云科技有限公司 | 基于Kubernetes的持续集成与部署的方法和系统 |
Non-Patent Citations (1)
Title |
---|
容器安全解决方案探讨与研究;胡俊等;《网络空间安全》;20181231;第9卷(第12期);第105-111页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110276199A (zh) | 2019-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110276199B (zh) | 一种Kubernetes云原生应用的动态安全检测方法 | |
US20180137288A1 (en) | System and method for modeling security threats to prioritize threat remediation scheduling | |
US10140453B1 (en) | Vulnerability management using taxonomy-based normalization | |
US9811667B2 (en) | System and method for grouping computer vulnerabilities | |
CN104285219B (zh) | 统一扫描管理 | |
CN112989330B (zh) | 容器的入侵检测方法、装置、电子设备及存储介质 | |
CN104125197A (zh) | 一种安全基线系统及其实现安全检查的方法 | |
US20070005738A1 (en) | Automated remote scanning of a network for managed and unmanaged devices | |
CN111614657B (zh) | 基于模式选择的移动边缘安全服务方法及系统 | |
CN110719300B (zh) | 一种自动化漏洞验证的方法和系统 | |
CN104732145A (zh) | 一种虚拟机中的寄生进程检测方法和装置 | |
CN112202879B (zh) | 中间件管理方法、装置、电子设备和存储介质 | |
US11805146B2 (en) | System and method for detection promotion | |
CN114968470A (zh) | 基于k8s集群的容器检测方法、装置、电子设备及存储装置 | |
US9176974B1 (en) | Low priority, multi-pass, server file discovery and management | |
CN110750270A (zh) | 一种套装软件的部署方法及装置 | |
CN113268206B (zh) | 一种网络靶场资源热插拔实现方法与系统 | |
US11133977B2 (en) | Anonymizing action implementation data obtained from incident analysis systems | |
CN114866416A (zh) | 一种多集群统一管理系统及部署方法 | |
KR102093764B1 (ko) | 서버 및 스토리지 관리 서버 | |
CN114598500A (zh) | 一种安全服务提供方法、平台、电子设备、介质及程序 | |
CN114021123A (zh) | 行为基线库的构造方法、安全检查方法、装置及介质 | |
US20200028869A1 (en) | Automatic Traffic Classification of Web Applications and Services Based on Dynamic Analysis | |
CN113206825B (zh) | 一种漏扫装置的扫描结果对比分析方法 | |
CN109711205A (zh) | 一种usb存储设备使用记录清除方法及装置 |
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 |