CN110276199B - 一种Kubernetes云原生应用的动态安全检测方法 - Google Patents

一种Kubernetes云原生应用的动态安全检测方法 Download PDF

Info

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
Application number
CN201910554576.5A
Other languages
English (en)
Other versions
CN110276199A (zh
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.)
China Asean Information Harbor Co ltd
Original Assignee
China Asean Information Harbor 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 China Asean Information Harbor Co ltd filed Critical China Asean Information Harbor Co ltd
Priority to CN201910554576.5A priority Critical patent/CN110276199B/zh
Publication of CN110276199A publication Critical patent/CN110276199A/zh
Application granted granted Critical
Publication of CN110276199B publication Critical patent/CN110276199B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Abstract

本发明公开了一种Kubernetes云原生应用的动态安全检测方法,属于云原生安全技术领域,包括:扫描正在运行的Chart应用状态,识别Chart应用运行的资源类型、镜像类型、资源使用情况,监控分析Chart应用行为并审计,分析出恶意镜像、资源耗尽攻击、可疑连接等安全问题。本发明对Kubernetes Chart应用的各种资源类型进行动态安全检测,识别确定Kubernetes Chart应用的运行情况,通过加载不同插件,对不同资源进行扫描、监控,保证系统安全。

Description

一种Kubernetes云原生应用的动态安全检测方法
技术领域
本发明涉及云原生安全技术领域,特别是一种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监控该资源的资源占用情况。
CN201910554576.5A 2019-06-25 2019-06-25 一种Kubernetes云原生应用的动态安全检测方法 Active CN110276199B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109815704B (zh) * 2019-01-24 2020-08-04 中国—东盟信息港股份有限公司 一种Kubernetes云原生应用的安全检测方法及其系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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