机密计算容器前沿探索与 AI 场景应用

作者:壮怀、朱江云

企业与个人对数据隐私保护日益关切,从数据,网络的可信基础设施扩展到闭环可信的计算基础设施,可信的计算,存储, 网络基础设施必定成为云计算的标配。 机密计算技术应运而生,其中一个重要的技术是通过芯片的可信执行环境TEE实现数据保护。在TEE内执行的应用,不用担心来自其他应用、其他租户、平台方甚至运维内部团队的安全隐患。

为了解决企业对数据隐私日益关切,阿里云、达摩院操作系统实验室与 Intel 和龙蜥社区一起,推出基于可信执行环境(TEE)的机密计算容器(Confidential Containers,简称 CoCo)在云上的参考架构。企业可以通过容器服务 ACK TDX 机密沙箱容器节点池实现端到端零信任的应用、数据和模型保护。

在 2023 年云栖大会现场,阿里云容器服务高级技术专家壮怀和英特尔中国软件与先进技术事业部的高级经理朱江云共同分享了阿里云容器服务团队与社区和生态伙伴一起,在机密容器领域的探索、安全特性的演进,以及关于如何通过机密容器来保护AI应用的数据、模型以及计算展开探讨。

ACK 端到端可信容器,为数据安全护航

阿里云容器服务高级技术专家壮怀首先分享了对当前容器运行时安全主要威胁的分析、企业应该坚守的安全原则及阿里云容器服务如何与机密计算领域生态伙伴一起,为客户提供端到端可信容器,为企业数据安全保驾护航。

图片

容器运行时安全威胁

通常来说,我们对于企业安全的定义是是“在不加剧安全漏洞的情况下,您能否继续高效/安全地工作”。保证容器运行时安全需要通过最小化权限、零信任的原则,以 Never trust, always verfy 的方式思考 IT 设施各个组件之间的交互方式,思考计算如何做到零信任。

图片

云计算构建了 RAM 鉴权体系、KMS 的密钥密文的管理能力、存储的 BYOK 加密技术、VPC、安全组、身份认证、鉴权、策略治理等等,即便如此,企业仍需思考是否足够解决云计算中信任问题,如计算过程数据的安全性如何保护、进程的计算过程对 root 的运维透明性如何防御等。

安全的好坏取决于 “最薄弱的环节” ,是大家都知道木桶原则,短板决定了容量,短板决定了安全水位,云计算信任问题在解决了存储和网络相关信任问题,更聚焦到了计算的信任问题。

实现安全的过程是对企业资源、所需专业知识、时间管理、实施成本、数据备份/恢复等的 “风险管理”。当今的安全趋势是以安全左移,安全贯穿于开发,构建等更早期的阶段,数据的安全性依然需要贯彻于存储、网络和计算的三项基础设施。

图片

企业对安全的需要是全天候的、持续不断的、永无止境的,安全就是 “在不对网络、生产效率和预算造成负面影响的情况下,以最快的速度学习所有可以学习的知识”。今天第三代的安全容器技术,正是遵循这个原则,从早期的需要侵入式的改造的 SGX1.0,到可以对更大内存空间做机密计算的 SGX2.0,到今天应用无感的平滑迁移进入安全容器技术(TDX/SEV/CCA)。从金融领域,扩展到今天的通用人工智能 AGI 的数据,模型保护。从数据,网络的可信基础设施到闭环可信的计算,可信的基础设施必定成为云计算的标配。

运行时的安全,有以下 5 个主要的安全威胁都可能会导致租户容器内的敏感数据遭到泄露:

  1. 非授权部署
  2. 错误配置
  3. 恶意镜像
  4. 漏洞利用
  5. 提权攻击和内存溢出/数据攻击

在云环境中运行容器时,底层基础设施的安全性和云服务提供商的可信度变得至关重要。如果云服务提供商受到入侵或缺乏适当的安全措施,容器内的敏感数据(如凭据、加密密钥或个人身份信息)可能会被未经授权的人员访问或窃取。今天云原生的安全手段通过相应的手段来治理和防护:

  1. OPA 策略治理应对授权和部署攻击
  2. 配置巡检应对配置漏洞
  3. 镜像扫描和 BinaryAuth 防范恶意镜像攻击
  4. CVE 修复和自动化运维升级抑制漏洞利用攻击

而对于上述第 5 中提到的“提权攻击和内存溢出/数据攻击”, 则需要使用机密虚拟机或者机密沙箱容器来做软硬一体的可信的计算来从根源上治理。

图片

阿里云与 Intel 和龙蜥社区一起,推出机密容器和通用云服务融合的参考架构,三方结合阿里云八代裸金属(Intel)和八代的机密虚拟机实例,KMS,OSS,ACK/ACR 等云服务提供参考解决方案。通过 ACK TDX 机密沙箱容器实现端到端零信任的应用,数据和模型保护。

通过 ACK 机密虚拟机节点池,企业无需对应用本身修改,直接部署云原生应用到机密虚拟机节点池,应用可以无缝切换高安全水位,支持多种机密计算场景,如金融风控、医疗健康数据隐私保护,AIGC/LLM 推理和微调,机密数据库,大数据应用等等。

操作系统和 RunD 对 TDX 支持

RunD 安全容器是龙蜥社区开源的下一代容器解决方案,包含 Rust Kata runtime 和 Dragonball VMM。RunD 安全容器已经于 2022 年由龙蜥云原生 SIG 开源至 Kata Containers 社区,且作为 Kata Container 3.0.0 release 的重要特性。目前龙蜥社区已经完成 Host OS 、Guest OS 和 RunD 安全容器对 TDX 硬件的支持工作,并提供机密容器解决方案的端到端支持。

图片

图片

租户级的远程证明

ACK 提供的多租户的远程证明服务提供了完整的租户级远程证明框架,用以支持建立用户对 TEE 从硬件到软件的全栈信任,从而实现注入密钥和证书注入等一系列关键的安全需求。达摩院操作系统实验室致力于研究远程证明架构对应用负载的完整可信,通过 Attestation Agent 运行在 TEE 内(这里的 TEE 主要包括机密虚拟机和机密沙箱内部)收集证据并发送给租户级服务 KBS,KBS 通过将证据转发给后端的 Attestation Service 对证据进行验证,然后向 TEE 内返回证明结果以及所需的秘密资源数据,从而达到对于应用负载,代码,配置,输入的安全度量。

图片

远程证明体系整体采用模块化和插件化设计,以统一的软件架构兼容多种 TEE 平台。KBS 通过 RESTful API 接收来自TEE或者租户的请求,在 KBS 内部我们实现了灵活的资源存储插件和 Attest Proxy 插件,从而允许在实际场景中对接不同的第三方存储服务和 Attestation Service。在后端的 Attestation Service 中,集成了 OPA 实现的策略引擎以支持租户深度定制的证明策略。通过 ACK 应用市场可以实现远程证明服务的组件化部署和定制化。

图片

在 ACK Pro 集群中可以通过部署远程证明服务,添加节点池,和部署运行时三个步骤来部署机密计算服务。

  1. 通过选择 ECS 8 代 Intel 物理机来构建 TEE 的安全沙箱容器节点池,或者选择 ECS 8 代 Intel 的虚拟机开启机密特性来构建 TEE 的机密虚拟机节点池。
  2. 通过 ACK 应用市场,云原生的方式一键部署远程证明和代理服务实例,helm install coco-kbs。
  3. 通过 ACK 应用市场部署 coco-operator 来提供两种新的容器运行时,kata-dragonball-tdx,kata-qemu-tdx 以及增强安全特性后的 runc,helm install coco-operator。

机密容器关键安全特性探索实践

图片

来自英特尔中国软件与先进技术事业部的高级经理朱江云代表 ACK 机密容器生态合作重要伙伴,向观众分享了容器运维行安全的演进、机密容器关键安全特性的发展以及在 AI 等前沿领域的探索落地。

图片

容器的运行时,共享内核的 runc 仍然占据主流的部署;随着安全需求的提升,独立内核的沙箱容器出现带来了更好的隔离性和更小的攻击面,降低了宿主机和云厂商的安全风险;随着对用户数据隐私要求的进一步提升,硬件加密的客户机内存和硬件生成的客户机密钥,结合远程证明,进一步保护了客户的隐私数据和代码,避免了硬件所有者窥探计算过程中的数据。

图片

机密容器(Confidential Containers)是云原生基金会(CNCF)旗下的一个沙箱项目,它使用硬件信任执行环境(TEE)为容器化的工作负载提供机密性和完整性。机密容器两大设计原则就是易用和安全。从易用性角度,无缝对接 Kubernetes 和容器生态, 确保应用能够平滑迁移;从安全性角度,机密容器有着更严格的威胁模型,通过提供 Pod/VM 级 TCB,对 IT 运维人员和云厂商也可以做到计算过程的零信任。

图片

结合 KMS,BYOK OSS,BYOK EBS,VPC,ACK,ACR 等云服务,端到端把零信任覆盖计算,存储和网络和配置, 对所有 POD 之外的输入做验证,所有 POD 里的非应用组件做度量,实现完整的应用可信和安全加固。

图片

为了确保 App 容器运行在可信运行时环境 不被恶意篡改,安全容器参考架构提供了可度量的 guest rootfs,并利用 dm-verity 通过远程证明服务提供根文件系统的完整性,并且保证了启动性能。

图片

为了确保 App 容器以期待的方式拉起,需要通过 OPA 策略定义和度量容器的元数据,包括:

  1. 环境变量
  2. mount points
  3. OCI API

图片

为了确保容器镜像的完整性,确保拉起过程中没有被恶意修改或者替换,使用镜像签名机制完成镜像校验,从 Key Broker Service 获得校验密钥,校验 Policy 并通过 CoSign/sigstore, GPG key 等方式校验镜像的完整性。

图片

为了保护镜像的机密性和不可窥探性,容器在运行时需要对主机不可见,通过镜像加密保证容器镜像对服务提供商不可获取,容器镜像在硬件 TEE 里下载和解密对运维人员不可见,加密后的容器镜像支持 OCI 和 distribution,支持按层加密和可选层加密主要针对模型和私有代码的保护,解密密钥在通过远程证明验证后发放只对 TEE 可见。

图片

安全的云上存储访问 ,存储相关的敏感信息以 sealedSecret 方式布署,敏感信息在 TEE 环境中被解密,并且这个过程依赖于远程证明,而不依赖于外部存储的传统服务端加密服务,安全挂载服务使用相关机密信息来挂载和解密外部存储。

基于机密容器构建可信 AI 应用

生成式人工智能(AIGC)等创新浪潮驱动了人工智能的新一轮增长,模型训练和模型推理成为云服务器的重要负载。如何在云上保护大数据分析和人工智能应用的数据安全和隐私,是数据科学家和云服务提供商共同面临的挑战。为了应对这个问题, 阿里云容器服务推出基于英特尔® TDX 的机密容器服务解决方案,通过 ACK TDX 机密容器实现端到端零信任的数据和模型保护,基于第四代英特尔® 至强®平台的 高级矩阵扩展(AMX)的 INT8(推理)和 BFloat16(训练/推理)内置 AI 加速能力, 可以实现高安全和高性价比的推理和微调服务:

  • 安全可信 - 通过加密 AI 模型存储和加密的私有应用镜像,保障模型数据的机密性与完整性,实现可信 AI 模型推理和微调
  • 高性价比 - 基于Intel ® AMX指令集和 Intel ® PyTorch 扩展,32 核可以实现秒级出图的推理能力
  • 低损耗 - 加密计算 TDX 性能损耗控制在 3% 以下

图片

使用 BigDL LLM 在 ACK 机密容器上部署推理和模型调优 ,BigDL LLM 是 Intel 平台上的大语言模型加速库,结合数据加密和阿里云存储和密钥服务,全链路安全保护的分布式大语言模型安全,也可以全链路安全保护的大语言模型微调数据的安全,通过 BigDL 和 ECS 8 代实例实现模型推理和微调的加速。

容器是承载可信基础设施最好的平台服务

云计算提供存储(BYOK 加密)和网络(非对称传输加密)的可信基础设施,发展到今天可信的计算(TDX/SEV/CCA)。大胆的猜测,可信的存储、网络、计算的基础设施必定成为云计算的标配,而容器正是承载可信基础设施最好的平台服务, 这也是我们为可信计算落地阿里云的初衷。

点击此处,详细了解如何在 ACK 上创建 TDX 机密虚拟机计算节点池

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

EFCore8分析类图映射到代码和数据库的示例

借用微软EFCore8官方的示例,我画了张类图: blog(博客)与Post(文章)是1对多的关系,显式表达出两者间是双向导航:双方都可见。 Post(文章)与Tag(标…

python(上半部分)

第一部分 1、input()语句默认结果是字符串 2、type()可以判断变量的类型 3、input()输出语句 (默认为字符串类型) 4、命名规则:中文、英文、数字、_,数字不可开头,大小写敏感。 5、 %s:将内容转换成…

Java期末复习题之选择题理论综合

点击返回标题->23年Java期末复习-CSDN博客 选择题考察内容为—— 构造函数的描述,在文件中写入字符而不是字节选用什么类,java源文件import, class定义以及package的顺序,静态成员变量作用域,非抽象子类的接口实现,…

实现打印一个数字金字塔。例如:输入5,图形如下图所示

1*12**123***1234**** 12345*****#include<stdio.h> void main() {int i,j,l,n,k;scanf("%d",&n);/**********Program**********//********** End **********/ } 当我们拿到这个题目的时候可以看见题目给了我们五个变量&#xff0c;其中n是我们输入的数…

Elasticsearch 写入优化探索:是什么影响了refresh 耗时?

1、问题背景&#xff1a; 数据写入后&#xff0c;refresh耗时过长&#xff0c;能达到1s-5s。 想通过测试&#xff0c;探索确认影响refresh的因素&#xff0c;比如&#xff1a;写入操作是新增还是更新&#xff0c;deleted文档占比是否有影响&#xff0c;是否有其他索引配置&…

一、网络ensp安装

一、网络ensp安装https://blog.csdn.net/G_GUi/article/details/135176493 文章目录 一、下载4个软件安装二、工具栏常用图标 一、下载4个软件安装 前面3个软件必须要安装&#xff0c;不然用不了ensp https://pan.baidu.com/s/1kV7cL–BEbgANwSrZJ5t1Q?pwdqqqq 二、工具栏常…

【XML】TinyXML 详解(一):介绍

【C】郭老二博文之&#xff1a;C目录 1、简介 优点&#xff1a; TinyXML 是一个简单、小型的 C XML 解析器&#xff0c;可以轻松集成到项目中。 TinyXML 解析 XML 文档&#xff0c;并根据该文档构建可读取、修改和保存的文档对象模型 (DOM) TinyXML 是在 ZLib 许可下发布的&a…

AI一键注释代码、阅读整个项目、转换编程语言。已开源!

获取github源码地址和国内url、key方式&#xff1a;在文章底部 大家好今天给大家介绍一款开源项目&#xff0c;这个项目是由渡码维护的&#xff0c;这个项目支持自己的大模型和使用openai两种方式&#xff0c;本文章介绍使用openai的方式&#xff01; 使用过程中发现两个问题…

Java 第16章 坦克大战1-2 思路整理

文章目录 1 绘制坦克坦克画板Panel画框Frame 2 让坦克动起来画板Panel 3 本章作业 1 绘制坦克 坦克 不同坦克有共同属性&#xff0c;可以先提取共同特征&#xff08;坐标位置&#xff09;作为父类&#xff0c;然后其他坦克类继承它。 画板Panel 有坦克在画板上显示&#xf…

四. 基于环视Camera的BEV感知算法-PETR

目录 前言0. 简述1. 算法动机&开创性思路2. 主体结构3. 损失函数4. 性能对比5. PETRv2总结下载链接参考 前言 自动驾驶之心推出的《国内首个BVE感知全栈系列学习教程》&#xff0c;链接。记录下个人学习笔记&#xff0c;仅供自己参考 本次课程我们来学习下课程第四章——基…

[MySQL binlog实战] 增量同步与数据搜索~从入门到精通

学习基础知识&#xff0c;并落实到实际场景&#xff08;增量同步数据搜索&#xff09; 对基础知识不感兴趣的&#xff0c;可以直接跳到应用场景 文章目录 binlog是什么简介产生方式文件格式statementrowmixed 怎么办开启 binlog查看 binlog其他查看相关命令运维查看 binlog设置…

mysql8.x版本_select语句源码跟踪

总结 源码基于8.0.34版本分析&#xff0c;函数执行流程含义大致如下&#xff1a; do_command 方法从连接中读取命令并执行&#xff0c;调用 dispatch_command 对命令进行分发。dispatch_command 调用 mysql_parse 对命令进行解析&#xff0c;如果遇到一条语句用 ; 分隔多条命…

猫头虎带您探索Go语言的魅力:GoLang程序员必备的第三方库大盘点 ‍ ‍

猫头虎带您探索Go语言的魅力&#xff1a;GoLang程序员必备的第三方库大盘点 ‍ &#x1f680;&#x1f431;‍&#x1f4bb; 博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#x…

Netty Review - 深入探讨Netty的心跳检测机制:原理、实战、IdleStateHandler源码分析

文章目录 概述心跳检测Code模拟心跳超时正常情况 IdleStateHandler源码分析channelReadchannelActiveinitialize 概述 心跳检测 Netty 的心跳检测机制是一种用于保持网络连接活跃的机制&#xff0c;它通过定期发送和接收特定的消息&#xff08;心跳包&#xff09;来确保客户端…

Java复习二—CH3-Exception 、CH4-I/O

CH3 Java Exception (异常) 3.1 Exception&#xff08;异常&#xff09;和 Error&#xff08;错误&#xff09; 异常能被程序本身可以处理&#xff0c;错误是无法处理 大多数错误与代码编写者执行的操作无关&#xff0c;而表示代码运行时 JVM 出现的问题 异常发生的原因有很…

电子科大软件系统架构设计——软件建模详细设计

文章目录 软件建模详细设计概述软件建模详细设计目标软件建模详细设计原则开闭原则里氏 (Liskov) 替换原则依赖倒置原则接口分离原则单一职责原则最少知识原则&#xff08;迪米特法则&#xff09;高内聚原则松耦合原则可重用原则 软件建模详细设计内容 UML 软件静态结构视图建模…

现代控制理论-李雅普诺夫

现代控制理论-李雅普诺夫 单输入单输出系统&#xff08;BIBO&#xff09;的系统函数如下&#xff1a; 则&#xff0c;该系统的能控标准型&#xff08;能空性&#xff09;为&#xff1a; 能观性&#xff1a; 李雅普诺夫下的稳定性&#xff1a; 李雅普诺夫下的渐进稳定性&a…

Ubuntu20.04纯命令配置PCL(点云库)

Ubuntu20.04纯命令配置PCL&#xff08;点云库&#xff09; 最近在学习点云库&#xff08;PCL&#xff09;的使用&#xff0c;第一步就是在自己的电脑安装配置PCL。 首先&#xff0c;对于ubuntu 16.04以上版本&#xff0c;可以直接使用命令进行安装&#xff0c;新建好一个文件夹…

小程序radio单选框回显

话不多说&#xff0c;效果图如下&#xff1a; 具体代码如下&#xff1a; <radio-group name"radio" bindchange"getSex"><label><radio value"1" checked"{{xingbie1}}" />男</label><label><radio…

Python序列之元组

系列文章目录 Python序列之列表 Python序列之元组 系列文章目录前言一、元组是什么&#xff1f;二、元组操作1.元组的创建&#xff08;1&#xff09;通过()创建。小括号可以省略。&#xff08;2&#xff09;通过tuple()函数创建。&#xff08;3&#xff09;通过生成器推导式创…