# secure_passthrough_2024bs **Repository Path**: liuxh0217/secure_passthrough_2024bs ## Basic Information - **Project Name**: secure_passthrough_2024bs - **Description**: 2024年毕业设计代码,包含对于SEV机密虚拟机的一些安全特性验证以及SWIOTLB(bounce-buffer)相关内容。 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-06-02 - **Last Updated**: 2024-06-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # secure_passthrough_2024bs #### 介绍 2024年毕业设计代码,包含对于SEV机密虚拟机的一些安全特性验证以及SWIOTLB(bounce-buffer)相关内容。 #### 安装对应版本的操作系统 为了能够正常启动AMD SEV系列的机密虚拟机需要安装特定的SVSM版本的主机系统。并且要求虚拟机中的客户机系统也需要通过对应的软件包进行更新。下面简要阐述安装特定版本主机系统的方法: (1) 获取特定版本的源代码:通过wget/git获取特定版本的源代码,本实验中主机操作系统是svsm-preview-hv-v3。之后通过tar xvf linux-version.tar.xz解压。 (2) 安装特定的软件包,通过sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison命令。 (3) 进入源码所在目录,将目前正在运行的配置文件转到当前目录中:cp -v /boot/config-$(uname -r) .config。 (4) 启动菜单编译:make menuconfig;进行选择之后选择“SAVE”保存配置。 (5) 编译内核:make。 (6) 安装所需的内核模块:sudo make modules_install。 (7) 安装内核:sudo make install。 (8) 更改/etc/default/grub文件,将新编译好的代码作为默认启动的内核版本,之后更新:update-grub。 (9) 重新启动,即在新编译的主机环境中。 #### 安装虚拟化环境 1. 安装QEMU-KVM (1)安装qemu-kvm以及所需的软件之后重新启动系统。 (2)将用户加入特定的组。 (3)启动并启用libvirt,以便后续管理 ``` sudo apt install qemu qemu-kvm virt-manager bridge-utils. sudo useradd -g $USER libvirt sudo useradd -g $USER libvirt-kvm sudo systemctl enable libvirtd.service && sudo systemctl start libvirtd.service ``` 2. 创建并启动普通虚拟机 ``` # 创建磁盘 qemu-img create -f qcow2 ubuntu.cow 20G # 启动虚拟机 qemu-system-x86_64 -m 4G -enable-kvm -cdrom ubuntu-22.04.4-live-server-amd64.iso -drive file=ubuntu.cow,format=qcow2 -boot order=d ``` 3. 创建并启动机密虚拟机 (1)为了启动机密虚拟机,需要将对应版本的SVSM软件包通过scp从主机传输到虚拟机中,通过如下命令 ``` ./launch-qemu.sh -hda guest.qcow2 scp host@ip:/