保捱科技网
您的当前位置:首页云计算专题实验指南

云计算专题实验指南

来源:保捱科技网


与虚拟机透明的安全

监控技术实验

- 0 - / 11

1.实验目的与意义

(1)掌握 Linux 操作系统的安装、使用开发环境搭建。

(2)学习 KVM或Xen Hypervisor的安装、使用,以及操作系统。

(3)学习使用 Libvmi 工具对虚拟机的行为(进程、 内存、网络、I/O、以及特定进程的行为)进行安全监控和分析。 2.基本原理和方法

通过在开源HypervisorKVM或Xen之上搭建虚拟机,并使用与之兼容的虚拟机内省工具 libvmi对虚拟机的行为进行监控。

LibVMI是美国Sandia国家实验室的Brian D.Payne等人开发的提供虚拟机内省(VMI)功能的程序库。使用LibVMI,可以方便地在宿主机上透明读写虚拟机的内存。libvmi的运行原理如图1所示。

图1 LibVMI的运行原理和系统结构

3.实验环境

物理服务器操作系统: Linux Hypervisor: KVM或Xen 虚拟机操作系统: Windows 7 VMI监控工具: libvmi

- 0 - / 11

4. 实验内容及步骤

(1)搭建虚拟机环境 I.安装并配置Linux操作系统,安装好Linux后安装openssh-server以便ssh登录进行实验。

II.安装Xen

之后重启,使用sudo xm list 查看信息:

完成Xen的安装。 III.配置网络

在/etc/network/interfaces中配置好物理端口信息后,加入以下文本以配置虚拟机网络使之桥接于物理端口:

之后重启网络:

IV.创建虚拟机

重启计算机,引导选择Xen进入系统。 首先为虚拟机生成30G镜像空间:

之后创建虚拟机的配置文件,配置为内存2G,一个CPU:

- 1 - / 11

使用xm create 命令启动虚拟机:

这样就成功运行了虚拟机。

然后使用VNC软件通过SSH隧道与虚拟机连接,并安装Windows 7系统。 最后关闭系统,将虚拟机配置文件中的启动配置修改为硬盘启动:

(2)安装并使用libvmi I.安装libvmi

由于libvmi官方示例代码将使用python版本,故此需要安装PyVMI:

II.配置libvmi

将以下虚拟机信息写入etc/libvmi.conf:

III.运行示例程序

在libvmi的./tools/pyvmi/examples文件夹下执行process-list.py示例程序:

- 2 - / 11

(3)对进程的某一行为进行监控

以下步骤说明如何配合使用内存监控软件(Cheat Engine)监视虚拟机内的记事本程序(notepad.exe)当前打开的文件名。

I.首先在虚拟机内用记事本打开一个文本文件*.txt;

II.用Cheat Engine打开notepad.exe进程,在内存浏览器中查找字符串[*.txt],记录下找到的多个内存地址;

III.再用打开的记事本程序打开另一个文件,重复上一步操作,比较两次找到的内存地址,选取两次都出现的一个,作为如下外部内省程序exp1.py的输入参数(外部内省程序通过调用vmi.read_str_va(vaddr)输出此va即虚拟机中程序的虚拟地址所指向的字符串);

IV.运行实验程序,可以看出程序输出值与虚拟机中程序一致,这说明libvmi可以对进程的行为进行监控。

- 3 - / 11

- 4 - / 11

(4)模拟加密监控

I.在虚拟机内运行exp2.c;

II.将exp2.c的输出结果作为exp2.py的参数,并运行该程序,虚拟机外部程序通过被监控程序的输出获得要监控数据的内存地址,后通过vmi.read_va()与vmi.read_str_va()取得相应的数据;

III.查看程序运行结果中包含虚拟机程序的数据信息,实现模拟加密监控。 IV.外部程序exp2.py

- 5 - / 11

- 6 - / 11

虚拟机内程序exp2.c:

- 7 - / 11

- 8 - / 11

5.实验总结 总结本次实验。

- 9 - / 11

因篇幅问题不能全部显示,请点此查看更多更全内容