Xen热修复技术| 学习笔记

简介: 快速学习Xen热修复技术。

开发者学堂课程【虚拟化技术入门Xen热修复技术】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/374/detail/4700


Xen热修复技术


内容介绍:

Xen 是一个开放源代码虚拟机监视器,由剑桥大学开发。

它打算在单个计算机上运行多达100个满特征的操作系统。操作系统必须进行显式地修改(“移植”)以在 Xen 上运行(但是提供对用户应用的兼容性)。

这使得 Xen 无需特殊硬件支持,就能达到高性能的虚拟化。


一、Xen 安全漏洞概要

1、总共发布125个安全漏洞

http://xenbits.xen.org/xsa

其中 xsa-108 和 xsa-123 是高危漏洞

2、XSA-108

2014年10月1日公布

可导致 Hypervisor 内存泄露给客户机

3、XSA-123

2015年3月10日公布

可导致客户机指令提权

 

二、Xen 安全漏洞的修护方式

1、冷不丁方式

(1)打补丁后重启服务器生效

(2)全部客户 VM 必须 Shutdown

(3)所有 VM 会被中断10-30分钟

(4)多半 Xen 的运营商在使用

2、热补丁方式

(1)动态应用补丁修复漏洞

(2)客户 VM 不用重启或关闭

(3)客户 VM 对修复过程无感知

(4)阿里云掌握热补丁技术

 

三、Linux 内核 Hotfix

1业内较成熟的 Hotfix方案

Ksplice by Oracle

Ksplice by Suse

Ksplice by Redhat

Ksplice by Alibaba

2内核技术的实现方式

(1)预留 Pre-Defined 接口

(2)允许插入内核 Module

(3)有权访问内核内存

(4)函数级别的替换

与内核 Hotfix 相比,Xen hyperviso Hotfix 技术挑战极大

 

四、Xen Hypervisor底层架构

image.png

 

五、Xen 热修复的挑战

1、Xen 是 Type-1 Hypervisor 内存被严格隔离;

2、Xen Hypervisor 被装载的的地址是动态的;

3、Xen Hypervisor 不支持楼莫块插入


六、如何访问 Hpypervisor 内存

image.png

1、通过 DMA 访问 Xen 内存

(1)构造 DMA 请求的能力

利用内核 Hotfix 替换 Dom0 内核的这两个函数

在新的 map_sg/unmap_sg 中加入过滤逻辑

筛选出特定的 DMA 请求,修改 DMA 目的地址

2、正常的文件读操作流程

image.png

3、热修复时文件读流程

image.png

4、计算修复代码的地址

(1)设备 DMA 只能使用物理地址

(2)Hypervisor 加载过程

(3)Hypervisor Hotfix 物理地址计算公式加载

(4)XSA-123

2月28日,安全团队发布给 Pre-disclosure List 成员

(5)修复前后汇编代码对比

修复后机器码被编译器优化严重

(6)分析、解决过程

通过分析汇编修复相关逻辑

18000多条指令,复杂性较高

(7)修复前后对比

(8)机器码补丁注入流程

确定要注入代码的物理地址

从 Hypervisor 读出相关代码的机器码(4K)

和期待的 Pattern 比较是否一致

如一致,把机器码 Patch 和读出代码 N Merge, 生成新的 Patch

暂停所有 VM 运行

把新的 Patch 通过 DMA 写回到 Hypervisor

回复所有VM 运行

VM 被暂停的时间越短越好

(9)漏洞修复应急过程

2月28日收到 Xen 安全团队通知

3月2日上午漏洞评估完成:高危

3月2日下午确定重启和热修复的方案

3月5日晚第一版热修复方案 Ready3月6日晚第二版热修复方案 Ready

3月6日晚发布到部分机器中

3月9日发布挂出公告开始发全集群3月10日漏洞公开前发布完成

 

六、小结

1、云计算业务中安全是头等大事

2、 完善的安全问题处理预案

3、热修复技术对安全运营至关重要

4、多团队协作尤为重要

 

七、课程总结

1、弹性计算是虚拟化技术的典型引用

2、虚拟化技术包括以下三点

CPU 虚拟化  内存虚拟化  IO 虚拟化

3、Xen 和 KVM 是当今最流行的开源虚拟化系统

支撑全球70%以上的云计算业务

4、Xen 安全漏洞热修复技术决定一个公司的运营能力

阿里云有全球首创的 Hypervisor 热修复技术

安全修复 xsa-108,xsa-123,毒液等恶性安全漏洞

 

八、参考资料

Intel SDM:Intel 64 and IA-32 Architectures Software Developer

Manuals

弹性计算:https://ecs-buy.aliyun.com

Xen:http://www.xen.org

Xen安全漏洞:http://xenbits.xen.org/xsa/

KVM:www.linux-kvm.org

相关文章
|
监控 安全 测试技术
2024年度云治理企业成熟度发展报告解读(三)五大支柱关键数据解读
本文深入分析了安全、稳定、成本、性能、运行等云治理五大支柱的关键数据,指出身份安全关注度显著提升,成为企业云计算中的核心焦点。
290 11
2024年度云治理企业成熟度发展报告解读(三)五大支柱关键数据解读
|
Ubuntu 开发工具 git
ubuntu 14.04的git 错误: gnutls_handshake() failed: Handshake failed
本文提供了一个解决Ubuntu 14.04系统上使用Git时遇到的"gnutls_handshake() failed: Handshake failed"错误的脚本,通过替换git的默认加密传输库gnutls为更稳定的openssl,并指导如何编译安装新版本的git来解决问题。
704 0
龙蜥和麒麟的异同
有没有大佬能简要说明一下两个操作系统的异同
|
网络虚拟化
干货 | 华三 Monitor Link常用功能配置操作
干货 | 华三 Monitor Link常用功能配置操作
434 0
|
消息中间件 存储 负载均衡
中间件消息队列与发布/订阅模型
【7月更文挑战第15天】
487 6
|
资源调度 分布式计算 Hadoop
YARN如何实现资源管理?
【6月更文挑战第19天】YARN如何实现资源管理?
349 13
|
人工智能 自然语言处理 数据可视化
🚀从零到英雄!AI Prompt赋能商业数据分析,新手也能成专家
【8月更文挑战第1天】在数字化时代,商业数据分析至关重要但门槛高。AI Prompt技术革新了这一领域,使新手能迅速成为专家。AI Prompt通过自然语言指令驱动AI执行数据分析任务,无需编程背景即可享受数据洞察。例如,新分析师可通过简单指令分析销售数据,计算关键指标并生成可视化报告。随着技能提升,可设计更复杂的指令满足多样需求。AI Prompt还能自我学习优化,提高分析质量和效率。总之,这项技术简化了数据分析流程,加速了人才的成长路径。
446 0
|
存储 KVM 虚拟化
倚天产品介绍|倚天虚拟化:虚拟机热迁移特性介绍
热迁移分为热迁移和冷迁移,冷迁移过程中有一段明显的时间VM的服务不可用,而热迁移的服务的服务暂停时间非常短。热迁移过程中无需关闭或者长时间暂停VM,VM保持正常运行,只有在热迁移临近结束时有一个非常短暂的停机切换时间。热迁移可保证了VM服务的可用性,提升业务的连续性和用户体验。