[TOC]

了解设备模拟器器的工作原理:
用户空间:Send
内核空间:Syscall / tcp_ / ip_ / dev_ / e1000_
设备模拟器:Network devices / Hub / slirp
基础设备:网络设备->内核(Kernel)->App

半自动化deHypervisor fuzz 框架
虚拟机逃逸工具
Hypervisor 脆弱性防御系统;

虚拟化安全基本信息:
可测试的软件或模块,qemu/vmware系列产品
发展方法:测试VMware workstation 产品,Hyper-V产品;

Fuzz系统工作流程:
1.搭建网络和硬件环境,启动server,client,monitor
2.client加载系统hook模式,获取所在的机器的设备模拟器
3.Client向server申请设备测试数据,server发送数据
4.Client获取测试数据,并加载启动测试;
5.Monitor 持续监控Hypervisor运行情况并记录日志:
6.Client阶段性测试完毕,通知server
7.server从client和monitor获取日志并存储
8.Server启动日志分析模块判断是否发生异常;
9.分析异常并优化fuzz系统

monitor模块功能系统细节:
虚拟机管理:Snapshot / Reboot / 虚拟机设备编辑

虚拟机执行流程动态调试

  • 开始时进入调试模式
  • 载入调试插件

虚拟化系统运行日志:

  • 用户空间层进程日志;
  • 内核空间层日志;

e1000 模拟器:
初始化 : 端口分配,地址映射/设备状态设置,资源分配;
数据传输:写TDT寄存器;处理模拟符号表;3种类型描述:context data legacy;数据处理;状态复原 等待下一次连接;
处理细节:环形内存;TSO技术;

pcnet模拟器:
写IO端口-> Control and Status 写寄存器 -> [接收 / 发送] -> 虚拟网卡接口