云计算专题实验指南.docx
《云计算专题实验指南.docx》由会员分享,可在线阅读,更多相关《云计算专题实验指南.docx(10页珍藏版)》请在冰豆网上搜索。
云计算专题实验指南
与虚拟机透明的安全监控技术实验
1.实验目的与意义
(1)掌握Linux操作系统的安装、使用开发环境搭建。
(2)学习KVM或XenHypervisor的安装、使用,以及操作系统。
(3)学习使用Libvmi工具对虚拟机的行为(进程、内存、网络、I/O、以及特定进程的行为)进行安全监控和分析。
2.基本原理和方法
通过在开源HypervisorKVM或Xen之上搭建虚拟机,并使用与之兼容的虚拟机内省工具libvmi对虚拟机的行为进行监控。
LibVMI是美国Sandia国家实验室的BrianD.Payne等人开发的提供虚拟机内省(VMI)功能的程序库。
使用LibVMI,可以方便地在宿主机上透明读写虚拟机的内存。
libvmi的运行原理如图1所示。
图1LibVMI的运行原理和系统结构
3.实验环境
物理服务器操作系统:
Linux
Hypervisor:
KVM或Xen
虚拟机操作系统:
Windows7
VMI监控工具:
libvmi
4. 实验内容及步骤
(1)搭建虚拟机环境
I.安装并配置Linux操作系统,安装好Linux后安装openssh-server以便ssh登录进行实验。
II.安装Xen
之后重启,使用sudoxmlist查看信息:
完成Xen的安装。
III.配置网络
在/etc/network/interfaces中配置好物理端口信息后,加入以下文本以配置虚拟机网络使之桥接于物理端口:
之后重启网络:
IV.创建虚拟机
重启计算机,引导选择Xen进入系统。
首先为虚拟机生成30G镜像空间:
之后创建虚拟机的配置文件,配置为内存2G,一个CPU:
使用xmcreate命令启动虚拟机:
这样就成功运行了虚拟机。
然后使用VNC软件通过SSH隧道与虚拟机连接,并安装Windows7系统。
最后关闭系统,将虚拟机配置文件中的启动配置修改为硬盘启动:
(2)安装并使用libvmi
I.安装libvmi
由于libvmi官方示例代码将使用python版本,故此需要安装PyVMI:
II.配置libvmi
将以下虚拟机信息写入etc/libvmi.conf:
III.运行示例程序
在libvmi的./tools/pyvmi/examples文件夹下执行process-list.py示例程序:
(3)对进程的某一行为进行监控
以下步骤说明如何配合使用内存监控软件(CheatEngine)监视虚拟机内的记事本程序(notepad.exe)当前打开的文件名。
I.首先在虚拟机内用记事本打开一个文本文件*.txt;
II.用CheatEngine打开notepad.exe进程,在内存浏览器中查找字符串[*.txt],记录下找到的多个内存地址;
III.再用打开的记事本程序打开另一个文件,重复上一步操作,比较两次找到的内存地址,选取两次都出现的一个,作为如下外部内省程序exp1.py的输入参数(外部内省程序通过调用vmi.read_str_va(vaddr)输出此va即虚拟机中程序的虚拟地址所指向的字符串);
IV.运行实验程序,可以看出程序输出值与虚拟机中程序一致,这说明libvmi可以对进程的行为进行监控。
(4)模拟加密监控
I.在虚拟机内运行exp2.c;
II.将exp2.c的输出结果作为exp2.py的参数,并运行该程序,虚拟机外部程序通过被监控程序的输出获得要监控数据的内存地址,后通过vmi.read_va()与vmi.read_str_va()取得相应的数据;
III.查看程序运行结果中包含虚拟机程序的数据信息,实现模拟加密监控。
IV.外部程序exp2.py
虚拟机内程序exp2.c:
5.实验总结
总结本次实验。