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

相关文章
|
6月前
|
Ubuntu 测试技术 Linux
dpdk测试环境搭建(vmware下ubuntu环境参考上文汇总流程)
dpdk测试环境搭建(vmware下ubuntu环境参考上文汇总流程)
332 0
|
1月前
|
Linux 虚拟化
Vmware 傻瓜式安装(不可不知道的Linux基础知识和技术 01)
本文介绍了VMware虚拟机的下载与安装步骤。首先,通过提供的网盘链接下载VMware安装包。接着,详细描述了安装流程,包括接受协议、选择安装路径(建议避免系统C盘)、取消更新选项等。最后,输入许可证密钥完成安装,并展示了打开虚拟机后的主界面。整个过程简单易懂,适合新手操作。
142 1
|
6月前
|
域名解析 网络协议 Linux
《Linux 简易速速上手小册》第7章: 网络配置与管理(2024 最新版)
《Linux 简易速速上手小册》第7章: 网络配置与管理(2024 最新版)
51 0
|
6月前
|
分布式计算 关系型数据库 MySQL
实战:在Linux上部署各类软件
实战:在Linux上部署各类软件
|
存储 Linux 编译器
Linux平台上DPDK入门指南:快速提升网络性能的利器
Linux平台上DPDK入门指南:快速提升网络性能的利器
|
Linux API 调度
kvm环境精讲和kvm环境离线安装包
kvm环境精讲和kvm环境离线安装包
561 0
kvm环境精讲和kvm环境离线安装包
|
安全 网络协议 Linux
【Linux】【开发环境】【RHEL】开发环境搭建系列之三——安装VMware Workstation虚拟机搭建基础嵌入式开发环境
【Linux】【开发环境】【RHEL】开发环境搭建系列之三——安装VMware Workstation虚拟机搭建基础嵌入式开发环境
237 0
【Linux】【开发环境】【RHEL】开发环境搭建系列之三——安装VMware Workstation虚拟机搭建基础嵌入式开发环境
|
弹性计算 安全 Oracle
Xen热修复技术
Xen 是一个开放源代码虚拟机监视器,由剑桥大学开发。 它打算在单个计算机上运行多达100个满特征的操作系统。操作系统必须进行显式地修改(“移植”)以在Xen上运行(但是提供对用户应用的兼容性)。 这使得Xen无需特殊硬件支持,就能达到高性能的虚拟化。
Xen热修复技术
|
Linux 虚拟化 网络虚拟化
虚拟化学习笔记-Linux 系统在虚拟机迁移中的技术难点
版权声明:转载请注明出处:http://blog.csdn.net/dajitui2024 https://blog.csdn.net/dajitui2024/article/details/79396683 磁盘分区名被硬编码。
1579 0
下一篇
无影云桌面