对话|企业如何构建更完善的容器供应链安全防护体系
对话|企业如何构建更完善的容器供应链安全防护体系
云布道师
随着云计算和 DevOps 的兴起,容器技术和自动化成为软件开发中的必要手段,软件供应链也进入了自动化及 CI/CD 阶段。然而,容器技术和自动化虽然提升了软件的更新速度,但也带来了新的安全挑战。由于更新速度快,供应链一旦遭遇攻击,恶意代码可能会迅速传播到各个开发系统。在这一阶段,安全左移成为实现软件供应链安全的指导性思想,安全的价值体现在软件开发过程中的各个环节。
在此背景下,阿里云策划了一场关于云上安全的深度访谈栏目,汇聚阿里云内部众多产品技术专家,携手安全领域从业者,旨在通过全方位、多角度交流碰撞,分析容器安全与软件供应链安全之间的关系,揭示软件开发过程中存在的安全隐患与应对之道,帮助用户更好地建设和落地软件供应链安全及容器安全体系。
本期节目邀请到的是阿里云产品专家穆寰、阿里云容器服务高级技术专家匡大虎、阿里云容器服务技术专家黄竹刚,围绕软件供应链安全、容器安全的主要挑战以及阿里云如何帮助用户等维度展开了深入的讨论。
对话|企业如何构建更完善的容器供应链安全防护体系
企业应用云原生化进入深水区,践行 DevSecOps 离不开容器安全
2024 年 7 月,微软蓝屏席卷了全球,至少 20 多个国家的交通、金融、医疗、零售等行业或公共服务的业务系统受到影响。这一事件的发生再度引发了业界对软件供应链安全的担忧。
近年来,针对软件供应链的攻击事件愈演愈烈。去年 9 月,某黑客组织使用域名仿冒和星标劫持技术向开源包管理器 PyPi 植入一系列恶意包,攻击者可借此攻陷用户设备,窃取金融和个人信息,登录凭据等敏感数据。今年 3 月又爆出了一个威胁评分为满分 10 分的供应链漏洞,攻击者“卧薪尝胆” 3 年时间,通过一系列复杂的混淆和替换技术在一款开源软件 XZ 中植入了后门。幸运的是,由于发现及时,该漏洞并没有造成大范围的严重后果。
这些安全事件进一步反映出当下供应链安全的严峻形势。今年某海外安全厂商发布的《 2024 软件供应链攻击演化》报告中,自 2019 年以来,软件供应链攻击平均每年以 742% 的速度增加。同时今年某安全厂商的开源安全风险分析报告中对 17 个行业一千多个商业代码库进行了匿名分析,在分析结果中显示,其中 84% 的代码库中包含安全漏洞,更有 74% 的代码库包含高危安全漏洞。
现阶段,越来越多的企业将 DevSecOps 视为保障软件供应链安全的有力手段。 DevSecOps 是一种将安全深度融入软件开发生命周期的新型软件开发实践方法。与传统开发流程不同的是, DevSecOps 主张在软件开发的每个阶段都主动考虑和集成安全性,而不是将安全性视为事后的补充。
与此同时,容器安全在现代软件开发和部署中,与 DevSecOps 一起成为两个密切相关的概念。
在 DevSecOps 流程中,容器安全被视作整体安全策略的一个重要组成部分。这意味着企业在应用云原生化进程中需要在开发、CI/CD 、部署和运行阶段都以自动化和持续监控的方式集成容器安全。同时 DevSecOps 流程中强调的协作和循环反馈的文化理念也能够保证企业容器化应用持续的安全水位。
容器安全面临的三个挑战
容器安全指的是基于容器技术的应用云原生化改造后的安全防护,主要针对应用容器化改造带来的重点安全风险和挑战。相较传统的架构,企业应用在进行容器化转型过程中的安全挑战来自以下三个方面:
首先是云原生平台基础设施。云原生平台层组件相较于传统架构引入了更多的配置项和隔离层,这就给企业安全管理运维人员提出了更高的运维要求。如何保证平台基础设施层的默认安全性,如何在遵循最小化权限原则基础上进行授权操作,如何建立云原生应用系统的安全审计和监控能力,这些新的挑战都需要云服务商和企业安全管理运维人员协同构建并最终实施到企业云原生化转型后的系统应用架构中。
其次是 DevOps 软件供应链。云原生弹性、敏捷和动态可扩展的特征极大地改变了传统应用部署模式,应用自身的生命周期被大幅缩短,而企业应用的迭代效率则大幅提升,在企业供应链架构变革的同时需要构建和实施适配供应链各阶段的安全防护能力。
最后是应用范式上的改变。随着微服务架构在企业中的广泛应用,传统的基于南北向流量的安全边界模式已经变得不适用,企业需要更加细粒度的身份认证和访问控制;同时 Serverless 和函数计算等新技术开始流行,对于云服务商在基础设施层的安全隔离性和监控能力提出了更高要求,而应用的容器形态则需要新的运行时安全监控告警和资产管理模式与之对应。
实现容器安全的改进策略建议
针对上述挑战,阿里云表示,绝大多数的企业云原生安全的发展都落后于应用的云原生化进程,而想要改进则需要集中在以下三个方向:
首先是身份和访问管理。线上授予的权限与实际需要的权限之间存在巨大差异,无疑会给攻击者可乘之机。
其次是漏洞和配置管理。大多数的企业生产镜像都没有经过安全加固和最小化的裁剪收敛,另外很多线上应用因为开发调试的一时方便而在容器层配置了过高的特权。
在云原生 Kubernetes 集群的典型攻击路径中,由于云原生技术架构的复杂性,容器应用、运行时、Kubernetes 编排引擎、镜像仓库以及内核层都可能给整个应用系统引入新的风险,而近年来不断爆出云原生社区相关的 CVE 漏洞中,攻击者可以利用的攻击方式也是多种多样,像一般的提权、仿冒、篡改、抵赖、拒绝服务等典型攻击手段都出现在了近两年公开披露的漏洞利用方式中。
最后是监控和响应。由于大多数用户缺少针对容器资产的运行时监控和防护手段,在针对突发的攻击事件时无法有效完成定位和溯源。
因此,阿里云建议必须针对容器场景采取对应的安全防护手段。例如,默认安全和最小化授权,基于安全左移原则的漏洞和风险分级管理机制,建立容器部署的安全准入机制,针对容器的运行时监控告警以及云原生安全资产管理。
针对容器安全,阿里云的解决方案
在实践层面,围绕容器构建、部署及应用运行这三个阶段,阿里云推出了针对性的产品和服务。
针对容器构建阶段的安全需求,阿里云容器镜像服务 ACR 提供了隔离的镜像构建环境、智能化的镜像构建诊断、镜像漏洞扫描、镜像加签、SBOM 软件物料清单分析以及制品漏洞信息反查等多个安全特性,助力企业构建安全的容器制品。
针对容器部署阶段的安全需求,阿里云容器服务 ACK 提供了精细化的集群访问控制、完备的集群操作审计、与应用相结合的镜像验签、工作负载安全策略等安全特性。
针对应用运行阶段的安全需求,阿里云容器服务 ACK 提供了应用维度的最小化授权方案 RRSA 、节点池和 Pod 维度的网络安全组和安全策略以及容器内操作审计、安全沙箱容器和机密容器等多个安全方案。
阿里云表示,针对容器软件供应链日益严峻的安全形势,容器服务 ACK 、ACR 、ASM 通过一系列安全产品能力,实现了“连点成线”的供应链风险分析和防御机制,同时面向企业安全管理员提供了开箱即用的产品能力。
今年,面向供应链安全的典型客户需求,ACR 容器镜像服务支持 OCI 社区 1.1 版本的镜像和分发规范,标志着客户可以通过 ACR 管理和分发镜像签名以及 SBOM 这样的非镜像 OCI 制品,同时结合 ACK 的策略治理能力,帮助企业客户实现通用的制品自动化加签和验证方案,保证部署到生产集群中的镜像是完整可信的。
同时 ACK 容器服务还针对授权过大和容器逃逸后的节点内横向攻击等风险,有针对性地提供了对应的加固和防护能力。
阿里云网格服务 ASM 提供一个全托管式的服务网格平台,兼容社区 Istio 开源服务网格,用于简化服务的治理,包括服务调用之间的流量路由与拆分管理、服务间通信的认证安全以及网格可观测性能力,帮助企业实现应用无感的零信任安全。
基于此,用户可以通过结合 ACR 、ACK 、ASM 所提供的多种安全能力以及阿里云云安全中心所提供运行时安全能力,构建涵盖整个软件开发生命周期的端到端的企业安全运营和防护体系。
结语:阿里云携手客户共筑供应链安全
实现软件供应链安全,不仅需要企业采用针对性的策略,还需要建立对应的企业安全文化意识。除此之外,阿里云认为,做好软件供应链安全还需要从多个方面入手:
首先,加强基础设施的安全性。阿里云致力于提供高可靠性和高安全性的云计算基础设施,为企业软件供应链提供一个稳定可信的平台基础安全能力。
其次,技术创新是保障供应链安全的重要手段。阿里云利用人工智能、机密计算等前沿技术,帮助企业监测和预测潜在的安全威胁,提升供应链的整体预警和响应能力。
最后,阿里云倡导普惠和协同的安全理念。阿里云容器服务会同上下游合作伙伴的紧密合作,通过提供灵活可扩展的安全解决方案,建立有关云原生和容器安全最佳实践和安全威胁情报的信息共享和责任共担的机制,在 DevSecOps 理念的指导下构建更完善的供应链安全防护体系。
在未来,阿里云容器服务会在内部践行 DevSecOps 流程的同时,还会通过 ACK 、ACR 、ASM 、云安全中心等服务提供涵盖容器供应链安全流程关键阶段的核心安全产品能力,携手客户共筑供应链安全。
相关文章:

对话|企业如何构建更完善的容器供应链安全防护体系
对话|企业如何构建更完善的容器供应链安全防护体系 云布道师 随着云计算和 DevOps 的兴起,容器技术和自动化成为软件开发中的必要手段,软件供应链也进入了自动化及 CI/CD 阶段。然而,容器技术和自动化虽然提升了软件的更新速度&…...
HTML5 缩放动画(Zoom In/Out)详解
HTML5 缩放动画(Zoom In/Out)详解 缩放动画是一种常见的视觉效果,用于使网页元素逐渐放大或缩小,从而吸引用户的注意力。下面将介绍如何使用 CSS 和 JavaScript 实现这种动画效果。 1. 使用 CSS 实现缩放动画 可以通过 CSS 的 …...

C语言——文件IO 【文件IO和标准IO区别,操作文件IO】open,write,read,dup2,access,stat
1.思维导图 2.练习 1:使用C语言编写一个简易的界面,界面如下 1:标准输出流 2:标准错误流 3:文件流 要求:按1的时候,通过printf输出数据,按2的时候,通过p…...

【C++习题】22.随机链表的复制
文章目录 题目:138. 随机链表的复制 - 力扣(LeetCode)代码: 题目:138. 随机链表的复制 - 力扣(LeetCode) 链接🔗:138. 随机链表的复制 - 力扣(LeetCode&…...

备考蓝桥杯:数据结构概念浅谈
目录 1数据结构的概念 什么是数据结构: 为什么要有数据结构 2.数据结构的三个组成要素 1.逻辑结构 2.存储结构 3.数据运算 3。算法好坏的度量(时间复杂度和空间复杂度) 时间复杂度计算 最优和平均和最差时间复杂度 计算时间复杂度例子 空间复…...

【TI毫米波雷达】DCA1000不使用mmWave Studio的数据采集方法,以及自动化实时数据采集
【TI毫米波雷达】DCA1000不使用mmWave Studio的数据采集方法,以及自动化实时数据采集 mmWave Studio提供的功能完全够用了 不用去纠结用DCA1000低延迟、无GUI传数据 速度最快又保证算力无非就是就是Linux板自己写驱动做串口和UDP 做雷达产品应用也不会采用DCA1000的…...
创建型模式3.建造者模式
创建型模式 工厂方法模式(Factory Method Pattern)抽象工厂模式(Abstract Factory Pattern)建造者模式(Builder Pattern)原型模式(Prototype Pattern)单例模式(Singleto…...

【集成学习】Boosting算法详解
文章目录 1. 集成学习概述2. Boosting算法详解3. Gradient Boosting算法详解3.1 基本思想3.2 公式推导 4. Python实现 1. 集成学习概述 集成学习(Ensemble Learning)是一种通过结合多个模型的预测结果来提高整体预测性能的技术。相比于单个模型…...

【Orca】Orca - Graphlet 和 Orbit 计数算法
Orca(ORbit Counting Algorithm)是一种用于对网络中的小图进行计数的有效算法。它计算网络中每个节点的节点和边缘轨道(4 节点和 5 节点小图)。 orca是一个用于图形网络分析的工具,主要用于计算图中的 graphlets&#…...

58. Three.js案例-创建一个带有红蓝配置的半球光源的场景
58. Three.js案例-创建一个带有红蓝配置的半球光源的场景 实现效果 本案例展示了如何使用Three.js创建一个带有红蓝配置的半球光源的场景,并在其中添加一个旋转的球体。通过设置不同的光照参数,可以观察到球体表面材质的变化。 知识点 WebGLRenderer …...

【Git原理和使用】Git 分支管理(创建、切换、合并、删除、bug分支)
一、理解分支 我们可以把分支理解为一个分身,这个分身是与我们的主身是相互独立的,比如我们的主身在这个月学C,而分身在这个月学java,在一个月以后我们让分身与主身融合,这样主身在一个月内既学会了C,也学…...
义乌购的反爬虫机制怎么应对?
在面对义乌购的反爬虫机制时,可以采取以下几种策略来应对: 1. 使用代理IP 义乌购可能会对频繁访问的IP地址进行限制,因此使用代理IP可以有效地隐藏爬虫的真实IP地址,避免被封禁。可以构建一个代理IP池,每次请求时随机…...

消息中间件面试
RabbitMQ 如何保证消息不丢失 消息重复消费 死信交换机 消息堆积怎么解决 高可用机制 Kafka 如何保证消息不丢失 如何保证消息的顺序性 高可用机制 数据清理机制 实现高性能的设计...

基于CLIP和DINOv2实现图像相似性方面的比较
概述 在人工智能领域,CLIP和DINOv2是计算机视觉领域的两大巨头。CLIP彻底改变了图像理解,而DINOv2为自监督学习带来了新的方法。 在本文中,我们将踏上一段旅程,揭示定义CLIP和DINOv2的优势和微妙之处。我们的目标是发现这些模型…...
利用Python爬虫获取API接口:探索数据的力量
引言 在当今数字化时代,数据已成为企业、研究机构和个人获取信息、洞察趋势和做出决策的重要资源。Python爬虫作为一种高效的数据采集工具,能够帮助我们自动化地从互联网上获取大量的数据。而API接口作为数据获取的重要途径之一,为我们提供了…...

【LeetCode】力扣刷题热题100道(1-5题)附源码 链表 子串 中位数 回文子串(C++)
目录 1.两数之和 2.两数相加-链表 3.无重复字符的最长子串 4.寻找两个正序数组的中位数 5.最长回文子串 1.两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。…...
Docker启动失败 - 解决方案
Docker启动失败 - 解决方案 问题原因解决方案service问题 问题 重启docker失败: toolchainendurance:~$ sudo systemctl restart docker Job for docker.service failed because:the control process exited with error codesee:"systemctl status docker.se…...
【Duilib】 List控件支持多选和获取选择的多条数据
问题 使用Duilib库写的一个UI页面用到了List控件,功能变动想支持选择多行数据。 分析 1、List控件本身支持使用SetMultiSelect接口设置是否多选: void SetMultiSelect(bool bMultiSel);2、List控件本身支持使用GetNextSelItem接口获取选中的下一个索引…...

android系统的一键编译与非一键编译 拆包 刷机方法
1.从远程仓库下载源码 别人已经帮我下载好了在Ubuntu上。并给我权限:chmod -R ow /data/F200/F200-master/ 2.按照readme.txt步骤操作 安装编译环境: sudo apt-get update sudo apt-get install git-core gnupg flex bison gperf build-essential z…...
SQL语言的函数实现
SQL语言的函数实现 引言 随着大数据时代的到来,数据的存储和管理变得越来越复杂。SQL(结构化查询语言)作为关系数据库的标准语言,其重要性不言而喻。在SQL语言中,函数是一个重要的组成部分,可以有效地帮助…...

使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...
【Linux】C语言执行shell指令
在C语言中执行Shell指令 在C语言中,有几种方法可以执行Shell指令: 1. 使用system()函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果
html-<abbr> 缩写或首字母缩略词
定义与作用 <abbr> 标签用于表示缩写或首字母缩略词,它可以帮助用户更好地理解缩写的含义,尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时,会显示一个提示框。 示例&#x…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)
考察一般的三次多项式,以r为参数: p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]; 此多项式的根为: 尽管看起来这个多项式是特殊的,其实一般的三次多项式都是可以通过线性变换化为这个形式…...