K8S安全风险及防护建议

Kubernetes(K8S)是一个可移植、可扩展的开源平台,用于管理容器化的工作负载和服务,方便进行声明式配置和自动化。一个Kubernetes集群通常包含跨多台计算机运行的控制平面和多个工作节点(node),控制平面用于管理集群中的node,node用于运行工作负载。

Kubernetes架构图

自从2014年首次发布以来,Kubernetes受到了越来越多的关注和广泛的应用。目前,它已成为云原生应用程序开发和部署的标准之一,被许多大型企业和组织广泛采用,如谷歌、微软、亚马逊、IBM、阿里巴巴、腾讯等。根据CNCF的调查显示,截至2021年11月,全球有超过90%的企业和组织正在使用Kubernetes进行容器编排和管理。

一、针对Kubernetes的攻击愈演愈烈

近年来,针对K8S的攻击事件逐渐增加,成为了安全领域的一个重要话题。根据一些安全厂商和研究机构的报告,K8S的攻击事件占比情况如下:

Trend Micro发布的《2021年1-6月全球云安全报告》显示,2021年上半年,云容器和Kubernetes攻击的比例达到了43%。攻击者的目的是获取敏感信息、窃取凭据、传播恶意软件等。

Aqua Security发布的《2020年云原生安全报告》中指出,针对Kubernetes的攻击事件在2020年增长了26%。其中,最常见的攻击包括未经身份验证的访问、挖矿、拒绝服务、数据泄露等。

CNCF(Cloud Native Computing Foundation)发布的《2021年技术调查报告》中指出,65%的受访者认为容器和Kubernetes面临的安全风险是他们使用云原生技术时最大的担忧之一。另外,55%的受访者认为Kubernetes容易受到攻击。

综合来看,K8S的攻击案例验证了未来的主流攻击趋势,那就是‍集权设施将会成为未来攻击者的主要攻击对象。集权安全值得企业安全负责人们重点关注。

二、常见的Kubernetes威胁来源

在针对K8S的攻击日益激烈的情况下,攻击来源也表现出了多样化,根据调研目前它正面临着来自供应链、恶意攻击者、内部成员的攻击以及黑客组织等的威胁。

1、供应链风险

供应链包含构成最终产品的任何元素,从组件到用于管理集群的第三方服务或软件,这些风险有很多来源,而且通常很难解决。

在 2019 年,Harbor作为一个Kubernetes基础架构下的开源仓库,其曾遭受到了供应链攻击。攻击者通过Harbor的供应链漏洞,注入恶意Docker镜像,这些镜像被部署在Kubernetes集群中,最终导致Kubernetes集群的安全受到威胁。

2、恶意攻击者

恶意攻击者可以利用Kubernetes架构组件中的漏洞和错误配置,例如控制平面、工作节点或容器化应用程序。

2018年,黑客入侵了Tesla公司的Kubernetes集群,并利用集群中的计算资源进行加密货币挖掘。这次攻击的原因是由于Tesla在使用Kubernetes时未采取适当的安全措施。

3、内部威胁

内部威胁可以是管理员、用户,甚至是云服务提供商。对组织的Kubernetes基础设施具有特殊访问权限的内部人员可能会滥用这些特权。

2019年,加拿大的电商平台Shopify遭受了内部员工的K8S攻击。该员工修改了K8S配置文件,使得攻击者能够在Shopify的K8S集群中创建新的管理用户,并窃取用户数据。

三、Kubernetes攻击面

K8S作为一种开源的容器编排平台,已经成为了云原生应用开发和部署的重要基础设施之一。但同时,K8S也因其高度复杂的架构和众多组件,成为了攻击者攻击的目标之一。那么,攻击者采用何种方式攻击K8S?

以下是微软官方在2021年给出的K8S威胁矩阵图,详细地呈现了攻击者在每个阶段使用的技术,从左到右通过执行每个阶段的攻击方式也呈现了成果扩大的过程。

随着攻击技术的发展,每个攻击阶段的攻击技术也更加丰富。接下来对K8S攻击过程中的一些重要攻击阶段进行详细介绍。

初始访问(Initial Access)

初始访问是指攻击者在进入系统前获得的第一步访问权限。在Kubernetes中,攻击者可以通过多种方式进行初始访问。其中,一种常见的方式是通过针对公网暴露的Kubernetes API Server进行攻击。

另外攻击者还常用容器内漏洞入侵、kubeconfig file泄露、etcd未授权访问、恶意镜像等方式,进行前期的信息收集工作,以获得初始权限。

命令执行(Execution)

在Kubernetes中,命令执行通常是指攻击者通过各种手段在容器或节点上执行任意命令。比如攻击者可通过容器中运行的SSH服务执行命令,如果攻击者通过暴力破解或者其他方法获得了容器的有效凭证,他们就可以通过SSH获得对容器的远程访问。

另外,如果容器自身存在漏洞,那么攻击者也会通过漏洞执行命令。命令执行方式多种多样,常见的执行命令的攻击还有创建后门Pod、利用API Server执行命令、通过Sidecar注入执行命令、通过curl执行容器命令等。

权限维持(Persistence)

在Kubernetes中,攻击者利用权限维持来获取对系统的长期控制。例如,攻击者可以通过向容器镜像中添加恶意代码来创建一个具有相同标签的deployment或ReplicaSet。这样,当新的Pod创建时,它将自动更新为攻击者的容器镜像。攻击者可以在该容器中添加后门或其他恶意代码,以确保他们在以后的访问中能够维持其权限。

针对权限维持的其它利用方式包括挂载主机路径、K8s cronjob、Shadow API Server等,这些攻击方式常常被攻击者使用。

权限提升(Privilege Escalation)

Kubernetes中的权限提升攻击是指攻击者通过各种手段提升其在集群中的权限。一旦攻击者成功地提升了其权限,就可以对整个集群进行更多的攻击,比如访问其他资源、执行恶意代码等。例如,攻击者可以创建一个特权容器,该容器可以访问宿主机上的资源,并在该容器内执行命令,从而使其获得更高的权限。

另外,挂载根目录逃逸、容器内访问Docker.sock逃逸、docker漏洞逃逸、篡改ServiceAccount等方式也被经常使用。

横向移动(Lateral Movement)

横向移动是指攻击者利用已经获得的某个系统或账户的权限,在整个网络中移动并寻找其他系统或账户,以便进一步扩大攻击面和获取更高的权限。在Kubernetes中,攻击者可以利用各种漏洞和配置错误来获取对一个或多个节点的访问权限,然后通过控制这些节点来进行横向移动。

例如,攻击者可以通过利用kubelet的漏洞或未经授权的凭据访问节点,并在这些节点上启动恶意容器或修改已有容器的配置。一旦攻击者获得了节点的访问权限,他们可以扫描网络并寻找其他容器或节点,以便进一步扩大攻击范围。其它的横向攻击方式有通过容器逃逸进行横向、Cluster内网渗透、窃取凭证攻击云服务等。

总的来说,攻击者可以通过利用K8S集群内各组件的漏洞或者未经适当保护的访问权限来进一步深入攻击,这可能会导致敏感数据泄露、服务中断、系统崩溃等严重后果。

四、ITDR保护K8S集群

针对K8S的攻击日益激烈,如何避免K8S不被攻击值得大家思考,保护K8S中的敏感数据意义重大。为了保护您的K8S集群,可采用中安网星的ITDR平台进行全方位的保护。

ITDR(身份威胁检测与响应)平台是中安网星推出的针对身份威胁检测与响应高级威胁分析平台。主要围绕Identity及Infrastructure为核心进行防护,涵盖主流身份基础设施及集权设施,围绕从攻击的事前加固、事中监测,事后阻断出发,产品的设计思路覆盖攻击者活动的全生命周期。

事前,利用ITDR内置引擎对K8S集群中的不合理配置项、K8S相关的历史漏洞进行主动发现,在遭受恶意攻击之前,提前加固K8S集群,不给攻击者以可乘之机。

事中,通过融合图计算、身份欺骗等技术,对K8S进行全方位的监测,及时发现针对K8S的漏洞利用、身份窃取等风险,在遭受攻击的第一时间及时发现攻击者,对攻击行为进行阻断。结合威胁狩猎思想,将身份蜜罐技术应用于ITDR平台中,为反制攻击者提供保证。

事后,对攻击事件进行取证调查,禁用不合理的用户,清理危险的凭据,根据基线事件对K8S进行加固。

All in one:中安网星ITDR平台能力持续演进与突破

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/27339.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于 rsync 像 macOS 的 Time Machine 一样备份您的 Linux 服务器

一、前言 Time Machine 这东西用过 macOS 的都知道,可以说是数据备份神器。 前几天我误删了几个文件,还好我有设置 Time Machine 自动备份,于是我打开 Time Machine,点几下鼠标,文件就回来了! 我想要是 …

《遗留系统现代化》读书笔记(基础篇)

你现在所写的每一行代码,都是未来的遗留系统 为什么要对遗留系统进行现代化? 什么是遗留系统? 判断遗留系统的几个维度:代码、架构、测试、DevOps 以及技术和工具。时间长短并不是衡量遗留系统的标准。代码质量差、架构混乱、没…

JavaWeb(2)——HTML、CSS、JS 快速入门

一、JavaScript快速入门 JavaScript | MDN (mozilla.org) 一个完整的JavaScript实现由3个不同部分组成:核心(ECMAScript)、文档对象模型(DOM)和浏览器对象模型(BOM),如图所示。 EC…

大数据与视频技术的融合趋势将带来怎样的场景应用?

视频技术和AI技术的融合是一种新兴的技术趋势,它将改变视频行业的运作方式。视频技术和AI技术的融合主要包括以下几个方面: 1)人脸识别技术 人脸识别技术是AI技术的一个重要应用场景。它可以通过对视频中的人脸进行识别和分析,实…

常用语言的线程模型(Java、go、C++、python3) | 京东云技术团队

背景知识 软件是如何驱动硬件的? 硬件是需要相关的驱动程序才能执行,而驱动程序是安装在操作系统内核中。如果写了一个程序A,A程序想操作硬件工作,首先需要进行系统调用,由内核去找对应的驱动程序驱使硬件工作。而驱动…

Spring源码学习-MVC的WEB源码解析

目录 SpringMVC官方文档SpringMVC的父子容器父子关系的定义自定义快速启动器启动过程容器创建的过程容器刷新启动 父子容器示例图 网络请求链路分析DispatcherServlet请求链路 DispatcherServlet详解(MVC核心功能类)DispatcherServlet九大组件九大组件的初始化默认策略初始化时…

Linux网络基础 — 网络层

目录 IP协议 IP协议报头格式 网段划分 特殊的IP地址 IP地址的数量限制 私有IP地址和公网IP地址 路由 补充 网络层 在复杂的环境中确定一个合适的路径。 IP协议 ip具有将数据从 主机A 跨网络送到 主机B 的能力。 主机: 配有IP地址,但是不进行路由控制的设备…

二、DDL-3.数据类型

分为3种:数值类型、字符串类型、日期时间类型。 一、数值类型 【案例】 年龄: age TINYINT UNSIGNED——范围(0,255)够用 分数:score double(4,1)——分数0-100有小数,4—最高位数&#xff0…

LabVIEW实现基于DCT的野生动物监测无线图像传输

LabVIEW实现基于DCT的野生动物监测无线图像传输 针对野生动物物种数量不断下降的情况,需改进以增强当前野生动物监测系统的能力。目前的系统要求工人进入森林以收集存储在存储卡中的图像数据。这项任务风险很大,而且耗费大量时间。系统也无法提供实时报…

[C语言]if语句详解

C语言初阶系列 分支语句和循环语句(1) 目录 C语言初阶系列 前言 一,什么是语句? 1.1如何理解语句? 二,分支语句(选择结构) 2.1,if语句 2.2,if语句的错误的条件写法 2.2,if语…

python opencv 级联Haar多目标检测

一、基于OpenCV的haar分类器实现笑脸检测 1、Haar分类器介绍 🚀Haar分类器是一种基于机器学习的目标检测算法,它使用Haar特征描述图像中的目标。Haar特征是基于图像亮度的局部差异计算得出的,可以用来描述目标的边缘、角落和线条等特征。 使用…

Linux下Nginx升级

nginx版本升级不会覆盖配置文件,但以防万一升级前请先备份配置文件或者配置文件夹 默认配置文件地址:/usr/local/nginx/conf/nginx.conf 1.下载 wget -c http://nginx.org/download/nginx-1.24.0.tar.gz 2.解压 tar -xvf nginx-1.24.0.tar.gz 3.nginx…