虚拟机安全(通用12篇)
虚拟机安全 篇1
摘要:虚拟机技术最早由IBM于上世纪60年代提出, 被定义为硬件设备的软件模拟实现, 虚拟机可以实现对硬件、指令和操作系统的虚拟化。本文主要针对虚拟机的安全技术进行分析。
关键词:虚拟机,安全技术,分析
当今世界是互联网的信息时代, 也是病毒和恶意程序不断发展的时代。目前我们即使采用了各种主动性的防御技术也很难阻挡病毒和恶意程序对计算机系统的攻击和侵害。系统的崩溃, 数据的损坏是我们经常会面临的问题。但是互联网已经成为我们工作和生活不可或缺的一种工具, 我们迫切需要一种新的强有力的技术能够保证网络的应用安全和计算机系统的正常工作和运行。
一、虚拟机技术的应用
虚拟机是在物理计算机上模拟的计算机, 这些虚拟机可以相当于物理计算机上的应用程序一样运行, 实现对硬件、指令和操作系统的虚拟化。在虚拟机的运行环境中, 虚拟机以及硬件层之间存在虚拟机监视器, 这是系统的核心, 可以实现虚拟机系统资源的底层交换与合理分配。它们可以模拟计算机的工作, 可以安装应用程序并对应用程序进行软件的评测, 可以访问互联网的资源, 一旦出现网络攻击, 虚拟机也会出现问题, 但这些都不会影响物理计算机的正常的运行, 而且可以很快实现虚拟机操作系统的恢复。虚拟机技术是智能化较高的具有较高的查杀病毒准确性的一种反病毒技术, 它可以提高硬件资源的利用效率, 进行网络灾难的及时恢复并提高办公软件的自动化水平。
二、虚拟机的安全技术分析
虚拟机可以实现对程序的隔离执行状态。也就是说我们可以运用虚拟机技术对相应的计算机程序执行隔离, 使之运行于某一封闭的环境中。它既可以实现对危险性较高的计算机程序的有效隔离, 也可以实现对需要重点保护的应用程序进行有效隔离。
但是这种虚拟机的隔离技术也不是永远安全可靠的。满足了操作系统虚拟化的计算机可以实现操作系统内核的共享操作。要特别注意对内核恶意代码的有效隔离, 防备恶意代码进入操作系统内核而避开虚拟机的隔离机制。这样的话, 我们即使使用了一定的隔离措施, 但计算机的系统资源也很难实现真正完全的有效保护。
对硬件进行虚拟化的隔离可以达到更强效果的隔离。它可以把某些计算机程序发送到沙箱的虚拟机中进行自动执行, 但这种执行环境要受到一定配置的条件影响, 需要进行手动的设置。虚拟机也可以设有通用的计算机程序环境和封闭的计算机程序运行环境。一旦出现高危的程序, 就可以实现对这些高危程序的封闭隔离。但是就目前而言, 这些虚拟机的隔离技术都需要较高的硬件虚拟化开销, 需要进一步的技术上的研发和突破。
虚拟机可以提高硬件资源的使用效率, 也可以实现对病毒和高危程序的有效隔离, 对网络灾难的实时恢复, 但是在享有这些优点的同时, 我们发现, 在虚拟环境中, 我们无法对用户的行为进行有效的监控。虽然当前虚拟机的自省技术拥有特权对虚拟机中的用户内存执行访问的功能, 但其权限是有限的, 不同虚拟机之间的语意鸿沟也不是完全就可以消除或忽略不管的。因而还需要科研人员的不断努力来改变这种现状。
虚拟机也可以对内存进行保护。传统的反病毒软件可以实现对内存和文档的扫描、查杀, 但是随着新病毒的不断涌现和计算机系统漏洞问题的出现, 经常会导致计算机的杀毒软件失效或出现无法启动的情况。现在的虚拟机技术可以实现对虚拟机内存的保护和有效隔离。我们可以采用分离式页表对内核内存和应用程序内存进行有效分离, 也可以采用内核代码完整性验证的机制来实现虚拟机监视器层对内存写保护机制的检测和恶意代码进入的限制。
虚拟机动态迁移技术的发展实现了虚拟机在不同物理计算机服务器上的迁移。这种虚拟机的动态迁移技术可以把文件系统、内存以及网络连接等等各种资源进行整体的迁移, 对于数据中心的负载均衡和网络灾难的恢复意义重大, 影响深远。但是这种虚拟机的动态迁移技术也是存在一定的技术缺陷的, 它的安全防护措施只对拥有加密的SSL通信有效, 对于某些欺骗攻击目前还起不到明显的防护效果, 需要配合其他的安全防护措施。
三、结语
综上所述, 在现在互联网信息时代和云计算的背景下, 虚拟机的出现可以解决物理计算机系统能耗高、效率低的问题, 同时它还可以实现对高危应用程序的有效隔离和内存的有效保护, 也可以实现对网络灾难的实时恢复, 对于新型计算机应用技术的节能减排, 安全高效有着重要的意义。但目前虚拟机的应用还存在着很多技术上的缺陷和一定的安全隐患, 需要我们加大对它的科学研究, 让它的实用性更强, 拥有更大的发展潜力。
参考文献
[1]程川.一种基于Xen的信任虚拟机安全访问设计与实现[J].计算机与数字工程, 2010 (03) .
[2]郑婷婷, 武延军, 贺也平.云计算环境下的虚拟机快速克隆技术[J].计算机工程与应用, 2011 (13) .
[3]宋韬, 盘细平, 罗元柯, 倪国军.Java虚拟机在嵌入式DSP系统上的实现[J].计算机应用与软件, 2007 (04) .
[4]王惠萍, 张海龙, 冯帆, 王建华.Java虚拟机使用及优化[J].计算机与网络, 2010 (21) .
虚拟机安全 篇2
这是一种使用虚拟机产品的常见的问题,琢磨了很久才弄好,给大家分享分享
1、出现这种情况的时候点击获取所有权是没有用的
2、这时点击取消
3、鼠标放在计算机名上面出现此虚拟计算机的安装路径
4、两台虚拟计算机安装路径对比,可以看到此虚拟机多出了一个目录,此目录为上次未正常关闭的一个记录文件
5、删除此文件
6、此时虚拟机就正常了
虚拟也精彩 虚拟机技巧精选 篇3
在主机和虚拟机间快速切换鼠标
在VMware使用虚拟机系统时,常常会出现鼠标固定在虚拟机界面,无法移出的现象。此时,可通过按下(Ctrl+Alt)组合键,或者在VMware窗口下部单击鼠标,将鼠标移出。当然,如果你觉得同时按下两个键比较麻烦的话,也可以单击菜单“Edit”→“Perferences”命令,打开“Perferences”窗口,切换到“Hot Keys”选项卡,自定义自己希望使用的热键。
正确关机
在VMware中,我们可以通过单击VMware工具栏上的“Power OFF”按钮进行关机;也可以通过常规方法,单击“开始”→“关闭计算机”关机。前一种方法,实际相当于主机中的非法关机,所以不予提倡,应该采取后一种方法。另外,有时我们在运行虚拟机的过程中,会发现屏幕上出现了很多乱码字符,甚至会出现花屏的现象,这时,你不要认为是显卡驱动未正确安装的缘故。解决方法其实很简单,只需让虚拟机操作系统在全屏状态下运行即可。
使用虚拟ISO光盘文件
相比于在主机中,需要安装虚拟光驱工具才能使用虚拟ISO光盘文件来说,VMware提供的ISO文件直接调用功能,非常实用,不仅省去了安装工具的麻烦,而且使得从虚拟光盘文件引导直接引导系统,变得更为简便。
你只要单击菜单“VM”→“Settings”,在出现的“Virtual Machine Settings”窗口中,切换到“Devfce”选项卡,在列表中选择“CD-ROM”项,然后在右侧的“Connection”栏里点选“UselSO image”项,就可以直接将ISO文件虚拟为光盘文件,省去刻盘的麻烦了。
如果你在使用完ISO文件之后,又想在CD-ROM中读取真正光碟,可以将“CD-ROM”的属性重新改回“Use physical drive”。这样,不需要重启就可以正常地读取真实光盘中的内容。
快速打开任务管理器
大家都知道,在主机中,按下(Ctrl+Alt+Del)组合键可以打开任务管理器。虽然在VMware按下该键也可以打开虚拟机系统中的任务管理器,但是同时也会启动主机中的管理器窗口。其实,正确打开虚拟机中的任务管理器窗口的方法是按下
启动时进入BIOS设置界面
虚拟机的魅力在于它可以模拟主机来运行,所以凡是可能在主机中完成的操作,都可以在虚拟机中进行,其中包括PC用户经常接触的BIOS设置。不过,和主机不同的是,不管你的PC实际使用的是何种主板,VMware中都模拟的都是Phoenix BlOS。因此,只要在启动虚拟机时按下
给虚拟机多一点内存
虽然VMware会自动为虚拟机系统分配物理内存,但是实际运行中往往会手动调整,以便让虚拟机运行的效率更高。调整方法是:点击菜单“VM”→“Settings”,打开“Virtual Machlne Settinqs”窗口。切换到“Device”选项卡,在列表中选中“Memory”项,接着在右侧界面拖动滑块调整数值(一般为物理内存的一半),单击“OK”即可。
玩转虚拟机快照
虚拟机快照的作用相当于一块还原卡,只要设定了快照,就可以在任何时候恢复到快照状态。
通过虚拟机探索网络协议及其安全 篇4
关键词:虚拟机,网络安全,TCP协议,IP协议
计算机网络中的主机间互相通信, 除了要实现物理上的连接, 还要遵循共同的协议, 以确保协调一致、正常通信。国际标准化组织于1984年颁布了OSI参考模型, 将网络分为七层, 虽然在现实中没有得到应用, 但也影响到了其它协议的制定与执行。TCP/IP协议是因特网上广泛应用的协议, 刚开始是四层结构, 后来借鉴OSI参考模型, 形成了五层结构, 分别是物理层、数据链路层、网络层、传输层、应用层。其中, 物理层和数据链路层支持所有标准的和专用的协议, 没有专门定义特定的协议;网络层定义了IP网际协议;传输层定义了TCP和UDP协议;应用层则定义了HTTP、FTP、DNS等协议。下面先探讨IP协议的原理、缺陷及防治, 然后再探讨TCP和UDP协议及其安全。
1 IP协议的组成
IP协议提供了一种不可靠的无连接数据报服务, 它尽最大努力交付数据, 但不保证交付的成功。正如邮局尽力交付平邮信件, 却不能确保交付成功一样。IP主要由四个支持协议组成:ARP、RARP、ICMP和IGMP。关于ARP的原理及ARP病毒的防治, 笔者在文章《虚拟机模拟ARP病毒与防治》中已有论述, 下面主要结合ICMP来探讨IP协议及其安全。
IP数据报在不同的网络中允许的最大长度并不相同, 如在以太网中不能超过1500字节, 在PPP链路中不能超过296字节。各网络允许的IP数据报最大长度称为该类网络的MTU。如果数据报的长度不超过该类网络的MTU, 可将数据直接封装成一个帧;如果超过了, 则要将数据拆分成多个分片, 再把每个分片封装成帧。数据流经不同网络时, 因为各类网络的MTU值不同, 有可能需要再次拆分。IP数据报除了数据部分, 还有头部。头部主要包含了源IP地址、目的IP地址、TTL生存时间以及用于分片的标识、标志、分片偏移等信息, 占20字节。
ICMP协议本身就是IP协议的一种。ICMP报文由数据部分和ICMP头部组成, ICMP头部占8字节。ICMP报文被封装在IP数据报中, ICMP报文作为IP数据报的数据部分, 加上20字节的IP头部, 组成IP数据报。可通过ping命令发送ICMP报文来确定另一路由器或主机是否存活。
2 IP分片的安全问题
IP数据报一旦超过网络的MTU值, 则需划分为多个分片。各IP分片到达目的主机后, 操作系统会根据分片偏移值将数据进行重装。但若发送相互重叠的IP分片给没有预防机制的主机, 操作系统会因为无法重装分片, 导致失控、死机。另外, 如果只发送一个分片, 而不发送后继分片给目标主机, 目标主机会一直等待后继分片, 如果发送了大量这样的分片报文, 会消耗掉目标主机的大量资源, 导致目标主机不能响应正常的IP报文。
比如泪滴攻击, 就是利用某些操作系统不能恰当处理重叠的IP分片, 致使系统崩溃的。遇到此类攻击, 一般重启电脑可恢复正常, 但未保存的数据会丢失。微软的SMB2中发现了一个远程重启漏洞, 利用该漏洞的溢出代码, 会使Win7和Vista的用户面临泪滴攻击的风险。解决的办法是利用泪滴攻击检测软件进行检测或打补丁、升级操作系统。
下面将用实验来模拟泪滴攻击。首先, 我们通过虚拟机来观察IP分片的结构。运行虚拟机PC1和PC2, 在PC2上安装并运行协议嗅探器Wireshark, 在PC1上运行命令ping PC2–n1–l 1800, 该命令会发送一个长度1800的数据包到PC2, 因为1800超过了以太网的MTU值1500, 所以操作系统会将数据分片后再发送。通过Wireshark可查看到分片情况:数据被分成两个分片, 第1分片1500字节, 其中数据1480字节, IP头部20字节;第2分片328字节, 其中数据部分占320字节, ICMP头部占8字节, IP头部占20字节。两个分片的数据部分合计1800字节。
通过此例, 我们了解了IP分片的结构。为模拟实现泪滴攻击, 还需要能构造IP分片的软件, hping就能实现此功能。hping刚开始时主要用于linux等操作系统, 后来推出了windows版本的hping2, hping的应用进一步扩大。在windows下需先安装Win Pcap, hping才能正常运行。下面编写一批处理程序, 实现在PC1上为一个数据包创建两个分片, 发送到PC2:
其中, -1 (数字1) 指明使用ICMP模式;-x用于设置more fragments标志, 指明还有后继IP分片;-d后的数值表示设置的载荷大小;-N后的数值表示设置的IP包ID, 同一数据包的各分片应设置相同的IP包ID, 这里将两个分片的ID设置为119;-c后面的数值表示发送数据包的个数, 命令中将发送的数据包数设为1;-g后的数值用来设置帧偏移量, 批处理中的第一行设置IP分片1的载荷大小为1000字节, 加上8字节的ICMP包头长度, 分片1的数据部分为1008字节, 占用0~1007, 第2分片的帧偏移量应在此基础上加1, 所以设为1008。笔者分别在windows和linux下运行了此批处理程序或脚本, 发现在linux下能正常运行, 在windows下会产生TTL超时。因此建议尽量采用Linux运行hping。
在PC2上运行协议嗅探器Wireshark, 可查看到, PC1发送了两个IP分片, 第一分片数据1008字节, 包含了载荷1000字节和ICMP头部信息8字节;第二分片数据308字节, 包含了载荷300字节和ICMP头部信息8字节。
此例展示了用hping将一个数据包划分为多个分片进行发送的方法。构造重叠的IP分片的方法与此类似。区别在于, 在指定第2个IP分片时将其偏移量减小, 使第二个分片与前一分片产生重叠部分。
windows下模拟泪滴攻击, 可通过以下批处理程序实现, 循环将发送51个IP包, IP包的ID值从200变到250:
类似的, 在Linux下, 模拟泪滴攻击的sh脚本可以如此编写:
通过嗅探器, 可以查看到, 新版操作系统能够防范泪滴攻击, 对重叠的IP分片不予重装。因此, 升级操作系统, 是防范攻击的一项重要措施。
3 传输层协议及其安全
传输层主要包括TCP和UDP等协议。其中, TCP是面向连接的、可靠的进程到进程的通信协议。TCP提供全双工服务, 数据可在同一时间双向传输, 连接的两端都配有用于存储临时数据的发送缓存和接收缓存。
TCP是建立在无连接的IP服务之上的, IP数据包不一定按顺序到达目的主机, 而且还有可能丢失或损坏。TCP会一直等待所有IP数据包到达目的地后将之重新排序;若发现有丢失或损坏的IP数据包, 还要负责它们的重传。当所有IP数据包到达并确认完好无损后, TCP将它们重新组合, 再上传给上层的应用程序。
TCP通信需经过连接的建立、数据的传输和连接的终止等阶段。TCP连接的建立需要经过三次握手。第一次握手:源端发送SYN报文段到目的端, 进入SYN_SEND状态;第二次握手:目的端收到源端发来的SYN后发送ACK报文应答, 同时发送SYN, 此处合称为发送ACK+SYN报文段, 此时目的端进入SYN_RECV状态;第三次握手:源端收到目的端发来的ACK+SYN报文段后, 发送ACK报文作为对目的端SYN的应答, 从而进入ESTABLISH状态, 完成三次握手。
三次握手的过程可通过协议嗅探器Wireshark进行观察。启动两台虚拟机, PC1提供Web服务, PC2启动IE访问PC1, 在PC1上用Wireshark可抓到三次握手的三个数据包。可以看到, 第一个数据包, PC2向PC1的80端口发送建立连接的请求, SYN位为1, 其它控制位为0, 同时产生并送出PC2的初始序列号;第二个数据包, PC1向PC2回复一个确认, ACK位为1, 确认序列号为PC2的初始序列号加1;同时, PC1也向PC2发出建立连接的请求, SYN位为1, 除SYN和ACK外的控制位为0, 并产生和送出PC1的初始序列号;第三个数据包, PC2收到PC1的连接请求, 回复一个确认, ACK位为1, 其它控制位为0, 确认序列号为PC1的初始序列号加1。
TCP连接建立过程存在一定的安全隐患, SYN Flood攻击就利用了TCP协议三次握手原理, 发送大量伪造源IP的SYN数据包, 目的端每收到一个SYN数据包, 就会为之分配内存并将其放入半连接队列, 然后向源端发送ACK+SYN, 并等待源端返回ACK。由于源端是病毒伪造的, 当然不会返回ACK。过多的SYN数据包会致使半连接队列的溢出, 导致正常主机发送的SYN连接请求也会因此被丢掉, 目的端无法响应正常的请求。
下面, 用hping模拟SYN Flood。启动三台虚拟机, 模拟欲达到的效果是:PC1作为WEB服务器, 平时PC2可正常访问它;PC3对PC1发出SYN Flood攻击后, PC2无法正常访问PC1。PC3对PC1发起攻击的命令如下:
其中, –p 80表示攻击主机的80端口;–i u1表示发送的时间间隔是1微秒;–S用于设置SYN标志;–a用于伪造源IP地址。
执行此命令后, 在PC1上启用Wireshark可抓到很多SYN包, 这是因为该命令使得PC3每隔一微秒就用伪造的源地址向PC1的80端口发送一个SYN数据包, 但伪造的源地址永远也不会返回ACK, PC1的资源会越耗越多。可以看到, 从PC2访问PC1会变得很慢, 甚至无法打开PC1上的网页。
类似于SYN Flood攻击, 还存在着针对UDP缺陷的UDP Flood攻击。UDP是一种无连接的、不可靠的协议。它不关心发送的数据是否无误的到达目标主机, 数据的可靠性要由上层协议来保障。它的优点是头部结构简单, 数据传输的开销小, 象QQ这样的聊天工具发送信息时采用的就是UDP协议。UDP不需要先建立连接再传输数据, UDP Flood攻击就是利用伪造的源地址向被攻击主机的端口发送UDP数据包, 被攻击主机接收到后发现该端口中并不存在相应的应用程序时, 会产生一个目的地不可连接的ICMP数据包返回给伪造的源地址。如果攻击者发送了足够多的UDP数据包, 被攻击系统就会变慢或瘫痪。
用hping模拟UDP Flood的方法与模拟SYN Flood相似, 命令如下:
在PC1上启用Wireshark可抓到大量的UDP包, 可以看到源地址为伪造的源地址, 源端口不断变化, 目的端口为指定的80端口。
要防范SYN Flood、UDP Flood攻击, 可在网络关键之处部署防火墙, 对来源不明的有害数据进行过滤、阻断服务器处理能力之外的新建连接、发现攻击后通知服务器释放无效连接、运用SYN Cookie和Safe Reset技术验证发起连接的客户端是否合法等。另外, 我们还可以禁用或过滤一些不用的服务、对必须启用的服务使用代理机制来进行保护、对网络进行监控以了解这些服务是否存在被滥用的迹象并加以控制。
参考文献
[1]阿博泰克.网络安全高级应用[M].科学技术文献出版社:2009.
[2]阿博泰克.组建与维护企业网络[M].科学技术文献出版社:2009.
虚拟机应用与感受 篇5
虚拟机是一个虚拟系统平台,嫁接在真实的物理平台之上,安装到系统里面以后,可以在虚拟机中安装多个操作系统如windows,linux等。理论上虚拟机可以使虚拟系统和真实系统完全隔离开,使用虚拟系统上网可以避免在遭受网络攻击时导致真实系统崩溃,瘫痪的也只是虚拟系统,针对服务器虚拟化是适用于核心业务,还是适用于周边业务,电话调查和网络调查的结果略有差异。45%的电话调查受访者表示服务器虚拟化仅适用于“安全性要求较低和访问量较低的周边业务,如DNS、目录、身份认证等”;而在网络调查中,只有36%的人表示虚拟化仅适用于周边业务,比持核心业务论观点的受访者比例高1个百分点。该项调查表明,多数用户还是希望先将周边业务运行在虚拟服务器上,然后再考虑核心业务的迁移。这也说明,用户对虚拟化应用的安全可靠性存在较大的顾虑
一、功能:同意时刻运行多个系统
二、VMware 的特点
1、虽然VMware只是模拟一个虚拟的计算机,但是它就像物理计算机一样提供了BIOS,你可以相同的方法更改BOIS的参数设置。你不需要重新启动就可以同时在一台计算机上运行多个操作系统,可以是在窗口模式下运行客户机,也可以在全屏模式下运行,当你从Guest OS切换到Host OS屏幕之后,系统将自动保存Guest OS 上运行的所有任务,以避免由于Host OS的崩溃,而损失Guest OS应用程序中数据。
2、每一个在主机上运行的虚拟机操作系统都是相对独立的,拥有自己独立的网络地址,就像单机运行一个操作系统一样,提供全部的功能,当然,如果你的计算机内存比较小的话,你明显感觉到速度很慢。最令人兴奋的是,当你的计算机在同时运行多个操作系统的情况下,如果,其中一个Guest OS的崩溃,但是并不影响 其它Guest OS的正常运行。
3、在虚拟机上安装同一种操作系统的另一发行版,不需要重新对硬盘进行分区,比如,你可以在Red Hat Linux的一个目录下,安装Turbo Linux 或者其它的Linux 版本,而不需要重新分区。
4、虚拟机之间支持TCP/IP、Novell Netware以及Microsoft网络虚拟网络以及Samba文件共享等。而且,支持Guest OS和Host OS之间以及不同Guest OS操作环境下的剪切、复制和粘贴操作。VMware支持CD-ROM、软驱以及音频的输入输出,和VMware 1.0相比,最新版本的VMware 2.03改进了不少,比如增加了对SCSI设备、SVGA图形加速卡以及ZIP驱动器的支持。比如,你运行的是英文版的Linux,而同时又想处理中文,在内存足够的条件下,那么同时运行Windows是一个不错的选择。
注意:目前还不支持MIDI声频,以及游戏控制器和操纵杆。
5、在VMware的窗口上,模拟了打开虚拟机电源、关闭虚拟机电源以及复位键等,这些按钮的功能对于虚拟机来说,就如同虚拟机机箱上的按钮一样。如果你的客户机的操作系统是Windows,在运行过程中非正常关机或者VMware崩溃,下次启动Windows的时候,它会自动进行文件系统的检查与修复。
三、VMware使用感受
VMwave是一款优秀的虚拟机软件,不像微软的VPC需要昂贵的i7 CPU,也不像Vbox一样功能极少。这是一款老牌的虚拟机软件,可以支持绝大部分操作系统的虚拟安装;并且当虚拟系统出现问题时,它还会自动进行文件系统的检查与修复。
1、软件安装与启动
1、虚拟机软件安装与启动
由于软件体积较大,对系统的配置较多,因此其安装会持续一段时间,但安装时并没有过多需要用户手动的配置,它会自动安装所需的组件,比如网络连接支持等。安装完成后会要求重新启动,之后即可进入虚拟软件主界面
评述:软件在安装时就给人一种功能强大的感觉,因为其在安装时会自动安装虚拟系统所需要的各项驱动程序;进入主界面后,仍然可以感受到这一点。在主界面中,虽然是英文界面,但我们仍然可以很容易的找到操作步骤及相应的配置选项。
2、创建第一个虚拟系统
新安装的虚拟机相当于一个新购买的硬盘,因此首先需要创建一个虚拟磁盘(相当于硬盘分区),然后再向此虚拟磁盘中安装相应的操作系统。
步骤1:创建虚拟磁盘
单击主界面右方的“New Virtual Machine”按钮进入虚拟磁盘创建向导。整个创建过程主要分为选择要安装的操作系统、定义此虚拟磁盘名称和存储位置、选择网络连接方式、分配磁盘空间等。步骤2:安装虚拟系统
完成虚拟磁盘创建后,在主界面上即可看到新创建的选项卡。从此选项卡界面下可看到当前创建的虚拟系统的大致情况,单击“Commands”栏下的“Start this virtual machine”按钮即可启动虚拟机系统。
在光驱中放入光盘,vmware会自动从光盘启动到安装向导;之后即可开始在此虚拟机中安装另一套操作系统。当系统安装完成后,即可按正常登录方式进入此虚拟系统。步骤3:功能配置
进入虚拟系统后,为延伸系统功能,可单击“VM”主菜单下的“Install VMware tools”命令来安装工具包。重新启动虚拟系统后,可利用此工具包实现虚拟系统与主机系统鼠标的无缝切换。
而关闭虚拟系统并单击软件主菜单上的“Edit/Preference”命令,可对虚拟磁盘的存储位置、虚拟系统内存等参数作调整。而如果选择“Edit/Virtual Network Settings”命令,则可为虚拟系统重新配置网络连接。
3、扩展功能与总体评述:
随VMware Workstation 还会安装一款名为“VMware Player”的工具,它省去了制作虚拟机的过程,只是一个系统“播放器”;即是说从VMware官方网站下载的系统的虚拟机文件,可以直接在此工具中播放使用,而无须再重新创建虚拟系统。
为虚拟机提供全面保护 篇6
赛门铁克技术专家毛立峰认为,2010年,随着越来越多的虚拟服务器的应用,IT管理员将非常重视数据备份和恢复,以助其更好地管理日益增长的数据存储量,并降低管理的复杂程度。NetBackup 7通过使用统一的解决方案,保护了物理的和虚拟的服务器,并通过重复数据删除技术可以减少数据存储量,加快数据恢复的速度。
毛立峰介绍说,由于以往的备份软件并不适用于虚拟机环境,所以很多虚拟机没有备份保护。据统计,大约有40%以上的虚拟机没有做备份,可见,虚拟机环境中备份的使用率并不高。其实,赛门铁克的NetBackup 6.5针对虚拟机环境已经提供了相应的解决方案,NetBackup 7则更加完善了对虚拟机的备份保护。赛门铁克《2010数据中心调查报告》显示,许多企业认为虚拟机映像内的粒度恢复是虚拟机数据保护中面临的最大挑战。通过在虚拟环境中使用NetBackup 7的重复数据删除和增量备份技术,企业能够大幅度提高备份的速度,同时可降低多达95%的虚拟机备份中的存储量。NetBackup 还可通过使用为Hyper-V提供的主机外备份技术(off-host)和为VMware提供的块级备份技术,帮助IT管理员降低备份操作对虚拟机的影响。
毛立峰说,对于VMware,NetBackup 7可以实现脱机备份,因而不占用系统资源,而是由另外的机器来做备份。同时,NetBackup 7在VMware上实现了基于块级的增量备份,在Hyper-V上能实现基于文件级的增量备份,这是该备份软件有别于其他备份软件的特色。
据介绍,对于虚拟机的备份,一般备份软件是将整个虚拟机全部备份下来,恢复时也只能全部恢复。但利用NetBackup 7实现的VMware脱机备份,在恢复时则实现了两种恢复方式,一是虚拟机全部恢复,二是恢复其中的单个文件,即可从VMware vSphere环境的分块增量备份中快速地恢复文件,还可以从Hyper-V虚拟机的映像级备份中轻松恢复单个文件或文件夹。对于第二种恢复方式,毛立峰解释说,尽管虚拟机备份时是基于块级的备份,但该软件可以智能地对文件数据进行识别,从而可以实现单个文件的恢复。这是NetBackup 7独有的特点,即一种备份方式,两种恢复方式。
另外,对于通常备份中的重复数据删除功能,在虚拟机环境中同样可以实现,所不同的是,由于虚拟机环境非常类似,有大量的重复数据,因此,在虚拟机环境中使用重复数据删除功能的效果更明显,可降低多达95%的虚拟机备份中的存储量,大幅提高备份的速度。
除此之外,NetBackup 7的另一个特色就是新增加的复制技术使企业能够减少多达95%的各端点数据传输量,从而确保了企业可随时随地快速、轻松地进行应用的恢复和数据的备份,并降低了基于磁带的灾难恢复的成本,同时缩短了管理周期。NetBackup增加了备份目录复制,并将其作为主控制台内的标准功能,这进一步简化了灾难恢复流程。
虚拟机安全 篇7
虚拟化技术被广泛地使用在个人电脑与服务器集群等设备中。目前使用最广泛的是基于x86的虚拟化解决方案。即使近些年虚拟化解决方案的可靠性已经有所提高,针对虚拟化服务和操作系统内虚拟机的保护控制仍是一个研究热点。针对系统安全性的大多数类型的攻击会改写部分文件系统,采用入侵检测工具能够检查对文件的修改,重点是检查位于关键路径上的文件。
通常完整性检验工具和数据收集工具运行在同—个被监控的系统上。这里存在—个安全隐患,恶意软什可能篡改监控系统的钩子函数。虚拟化技术的引入可以提高整个系统的安全性,虚拟机有附加的边界保护[1]。特别地,—个系统管理程序能够提供—个定位监控系统可信计算根时,恶意软件无法访问该可信计算根。在这种情况下,即使攻击者成功地侵入—个虚拟机,其篡改痕迹也不能被删除,外部的安全系统也能够迅速采取相应行动。
本文讨论了监控客户虚拟机在服务器整合的工作模式,即—台主机上运行多个客户虚拟机。该文提出了—个可以监控和保护这些客户虚拟机的安全增强方案。实时完整性检验方法使主机可控制内部未经授权的对客户虚拟机的篡改。方案可以检测并对异常的客户行为采取措施。安全增强方案的实现是一个基于扩展并具有最小化可访问性和可视性的监控系统的Linux内核虚拟机[4]。
2 安全增强方案机制
2.1 威胁模式
假设仅有虚拟机管理程序和主机内核是可信计算根的一部分。客户虚拟机运行时,可能遭到攻击或被注入恶意软件。客户主机运行时,客户系统可能遭到病毒、恶意代码注入、缓冲区溢出等所有可能的攻击。入侵者可能利用各种系统漏洞来影响内核和应用程序运行,页可能远程利用这样的漏洞企图获得全部权限。
2.2 要求和注意事项
根据上述讨论的威胁模式,下面给出基于虚拟机的一个安全系统主要要求和可能遇到的一些需要注意的相关问题,及可能的解决方案。
基于虚拟机的安全系统使用了入侵检测系统的核心概念[3]。这样的系统必须符合下列要求。
透明性:系统应尽觉降低虚拟机方面的能见度。即潜在的入侵者不应该能够发现监测系统的存在。
免疫来自客户系统的攻击:主机系统和属性相同的客户系统应受到保护,免受来自不安全客户攻击。同时,由主机系统提供的功能不应受到影响。
可部署性:系统应可以部署在绝大多数可用的硬件上。
动态反应:系统应能检测到一个客户的入侵行为并采取适当的行动,或对不安全的客户采取适当的行动。
注意事项:
(1)需要建立从客户到主机的通信通道,以便主机读取客户数据或解析客户信息,但通道必须对用户空间不可见。
(2)需要建立客户虚拟机和主机之间的信号信道,以便客户虚拟机中发生的某些事件时可通知主机,但同样它应尽可能的隐藏。
(3)为了确保—致性和防上信息泄漏,对通道进行某种形式的访问控制是必要的。但是,这种访问控制机制不应影响系统性能。
3 安全增强方案结构
方案体系结构由多个位于主机和客户机内核的模块组成。监测系统的核心模块位于主机。数据可以由客户虚拟机系统收集,或由主机侧的唯一进程收集。
虚拟机系统可以收集到更准确和更完整的客户系统数据,但也更容易被客户系统发觉。用—个位于客户系统中的守护进程收集感兴趣的客户数据,可以减少主机端的计算负载。然而,在监控系统隐蔽性和减少主机端计算负荷之间孺进行权衡。进程收集方式理论上是客户无法检测到,但仅允许一个相当受限的监测系统。该文提出的安全增强方案优先选择支持虚拟机系统收集数据,同时也支持单—进程收集数据。
安全增强方案的每个虚拟机伩川自己的私有内存空间与主机通信,其虚拟机之间是完全独立。
安全增强方案的实现分为两大部分,主机和客户机。两者有相似的结构:(1)内核的守护进程用于管理和共享通信信道:(2)用—个模块动态接收、分析消息,并采取相应行动。
下面讨论为解决一系列安全增强方案的技术难题而需要遵循的要求:
1)主机一客户机通信系统在KVM[5]中不可用,必须设计一个使用共享内存的简易通信系统。
2)KVM中缺乏客户机至主机的信号通道,需要设计一个使用共享内存的简单的信号机制。不选择类似Xen[2]中的事件通道,因为其实现的信号信道使得整个安全增强操作系统更容易地暴露在客户虚拟机中的攻击者面前。
3)KVM缺乏对共享内存的访问控制机制,需要同步主机一客户机间对共享内存的访问。为了简化访问控制管理,每个安全增强方案实现的虚拟机提供了自己的共享内存区,用于与主机通信。同时,为每个虚拟机的两个单向通道实现了一个简单的锁机制,以同步共享内存区域的消息传输。
KVM与Xen不同,共享内存没有由虚拟机监控程序直接管理,而是由Qemu-KVM[6]仿真进程管理。采用虚拟网络接口作为主机和客户机问通信信道导致客户可见且易受到攻击。此外,该消息处理程序包含在客户机内核模块就是为了使它尽可能的安全。主机端的消息处理程序实现包含在Qemu-KVM的共享内存管理模块中。如图1所示,方案中共享内存是由两个数据缓存区和两个锁保护相应的关键段组成。
安全增强方案应能够主动监控客户虚拟机内运行的关键进程。方案能定期检查客户机的守护进程是否存在与活动。如果其中的一个进程终止,主机将采取适当的策略,包括收集数据进行分析,甚至冻结客户机或重新启动。方案在主机端创建一个包含对选择的虚拟机关键路径文件计算的校验和的数据库。一个运行时守护进程可重新计算被监控文件的哈希值。如果发现哈希值不匹配,将采取相应对策。
如图2所示,各种模块间的通信协议是类似的。土机和客户机之间有以下几点显著不同。
1)共享内存的管理和分配:客户机由内核模块分配和管理共享内存,而在主机的共享内存必须已经在虚拟机中分配并且由Qemu-KVM进程管理。
2)模块的数量:在虚拟机,共享内存管理需要两个内核模块,而在主机端需要三个模块。
4 结论
安全增强方案的目标是提供一种潜在的无法察觉、无法破坏的系统,可以捕捉完整性损害的虚拟机,其具有以下特点:
1)方案实现的主机一客户机通信消息不通过标准的网络协议栈处理,以使其无法被检测。方案完全靠自己的内部通讯协议,它独立于所采用的虚拟化系统。此外,方案的每个虚拟机都有自己保留共享内存区实现主机一客户机通信,使得每个通信通道独立管理并相互间隔离。
2)主机和客户机间没有明确的信号通道,方案中实现的通信不易被检测到。
3)方案可以在主机和客户机之间共享监测任务,提升了系统性能。
4)核心监测系统位于主机侧,系统很难被侵入。此外,管理主机和客户机间通信的模块驻留在客户机的内核中。
5)方案实现可以部署在任何最新的标准Linux内核。
本文提出了一个Linux内核虚拟机扩展安全增强方案。该方案增强了Linux的内部安全性,对客户虚拟机透明,支持全虚拟化,提供了虚拟机管理程序和客户虚拟机间安全的双向通信通道,同时该方案可以部署在大多数x86和x86-64位计算机上。后续将继续对方案的实现与应用进行进一步研究。
参考文献
[1]M.Aiken,M.F ahndrich,C.Hawblitzel,and al.Deconstructing process isolation.In MSPC,06:Proc.Of the 2006 workshop on Memory systemperf.andcorrectness,pages1-10,NewYork,NY,USA,2006.
[2]张志新,彭新光.基于Xen的入侵检测服务研究[J].杭州电子科技大学学报,2008(6):91-94
[3]程川.一种基于Xen的信任虚拟机安全访问设计与实现[J].计算机与数字工程,2010,(3).
[4]管建超.基于VMware的虚拟机安全设计与实现[J].电力信息化,2010,(6).
[5]P.A.Loscocco,P.W.Wilson,J.A.Pendergrass,and al.Linux kernel integrity measurement using contextual inspection.In STC’07:Proc.Of the2007 ACM workshop on Scalable trusted computing,pages 21-29,NewYork,NY,USA,2007.
虚拟机安全 篇8
虚拟化技术在企业IT管理中已经成为一项关键技术,能帮助提高应用的灵活性,并且通过整合服务器达到提高硬件利用率的目的。VM ware为物理设备与操作系统间提供了强大的、灵活的平台,每个物理服务器不再只包含一个操作系统,而是一个物理服务器上包含多个虚拟机且同时运行。大部分时间只考虑到VM ware构架的高兼容性与商业价值,忽略了安全性问题,其中包括网络、存储与管理等方面。
1 网络架构
VM ware服务器软件与管理平台是VM ware第3版的主要组成部分。VM ware服务器软件是一个健壮的虚拟化平台,它抽取了处理器、内存、存储与网络资源并应用于多虚拟机上,它包含4个组成部分(见图1):
(1)虚拟机层,即虚拟机内核运行虚拟机,它统一协调宿主机硬件资源,按照方案分配给虚拟机使用。
(2)虚拟机,包含操作系统以及基于操作系统的应用软件。所有虚拟机是完全独立,而且对于客户操作系统透明。
(3)管控软件,它提供管理与监视宿主机资源,它只基于Linux分配与管理资源。
(4)虚拟网络层,虚拟机与服务控制台通过虚拟网络设备层与物理网络连接。
ESX服务器管理界面或服务控制台是一个定制的、增强的安全性版本的红帽Linux操作系统。服务控制台是特殊的虚拟机用于管理内核,ESX服务器管理界面由4个部分组成(见图2)。
(1)管控中心服务器(VirtualCenter),它负责管理、配置虚拟化环境中的每个节点。它运行于Microsoft Windows 2000,Microsoft Windows XP Professional,与Microsoft Windows Server 2003。
(2)管控中心数据库,它负责保存物理服务器、资源池以及虚拟机的信息。数据库可以是Oracle、SQL Server或者MSDE。
(3)虚拟机客户端,允许管理员或者用户从任何机遇Windows系统PC计算机上连接到管控中心服务器,或者单独的ESX服务器上。
(4)证书服务器,提供VMware管理证书授权。
2 安全设计
设计VM ware的基础构架的组成部分能够融入异构环境,并没有进行重大更改。这种易用性很容易导致一个开放的、不安全的虚拟构架基础实施设置,从而消除自身数据保护,因为它是比较容易闯入的。避免安全问题是IT管理人员面临的主要挑战,IT管理人员需要规划安全的VM ware虚拟化基础设施。
虚拟化并没有消除安全控制的需要,有一定的提前规划,系统管理员可以将基本安全规划应用到虚拟构架上,本节探讨这种安全规划VM ware虚拟化基础架构的设计。
2.1 用户账号
在默认安装向导在物理服务器安装Red Hat 3时,只能选择root账号登陆。root账号在ESX服务器上具有最高权限,能够进行任何配置。默认安装的管控中心分配本地Windows服务器管理员组中的administrator账号,它包含管控中心的管理员角色,在管控中心安装时具有最高权限。安装有管控中心软件的Windows服务器是域内的一个成员,那么所有域管理组的成员都能够自动继承这些权限。当需要多个管理者管理VM ware虚拟构架时,必须要建立新账户,这些账户与自己的责任和所需要的角色相关联。管控中心的细致的权限设计允许能将特殊权限能和活动目录用户或者安全组联系。利用这种层次化的结构,使得管理员只划分他们所需要的权限。虚拟化基础设施平台中,只有2种账户提供用户身份验证:本地与活动目录。利用统一的目录服务,例如活动目录,能够为用户制定安全策略,如密码长度以及密码有效期。
2.2 虚拟机网络
虚拟机基础构架中,有3种不同类型的网络流量通过虚拟网络层。
第1种用于ESX服务器管理连接。虽然ESX服务器管理连接是封装且安全的,建议使用单独的VLAN或者与其他服务器相隔离的网络,以减少安全网络的流量。
第2种用于VMotion、iSCSI与NFS的流量。VMotion网络活动未加密,这种网络流量应该在专用的VLAN上并且远离运行网络嗅探的网络上,因为虚拟机的内存运行状态遍布整个网络,这种情况下,VMotion将可能包含有特权的资料。iSCSI的流量应始终位于一个单独的物理网络。磁盘I/O不支持加密,因此如果使用这个连接,应视为具有高安全性。NFS流量具有2个目的:NFS的挂载功能可用于存储只有ISO文件和其他支持文件(如ESX服务器补丁),或用于存储模板和虚拟机的状态资料。在前一种情况下,安全处理这一流量可能与处理周围的NFS服务器一样迫切;在后一种情况下,与处理iSCSI流量的策略相同。
第3种用于虚拟机操作系统的网络连接。虚拟机网络连接功能上基本等同于物理交换机直接连接物理服务器。虚拟交换机支持802.Q的VLAN的端口汇聚(Trunk),因此在同一台虚拟交换机添加端口汇聚,不会造成更多的潜在路由循环与混乱的网络流量。虚拟机对除自己以外的VLAN不可见,因为虚拟交换机只转发包至指定的虚拟机MAC地址,如同物理交换。
2.3 共享存储
ESX服务器文件系统(Virtual Machine File System,VMFS),能够使多个系统同时访问共享存储。文件锁定机制,防止在读写模式下,2个系统同时访问同一文件,但虚拟机文件都可以被设置为只读模式(称为“undoable模式”)从而使另一个系统复制一个正在运行的虚拟机的硬盘。在SAN中配置区域(zone),能保证未授权的系统不能直接访问VMFS LUN以及vmdk文件。
iSCSI的SAN允许高效率地利用现有的以太网基础设施,为ESX服务器提供存储资源,它们可以动态分额。因此,iSCSI的SAN系统提供了一个经济的存储解决方案的环境,依赖于一个共同的存储池服务多个用户。考虑到iSCSI SAN系统与任何网络系统间潜在的安全漏洞,可以采取一些措施,尽量减少ESX服务器配置iSCSI的安全风险。使用单独的物理网络基础设施连接到iSCSI设备上:让虚拟机共享虚拟交换机和局域网的iSCSI配置可能会暴露iSCSI流量,导致黑客对虚拟机进行攻击,因为无论是硬件的iSCSI适配器或ESX服务器本身的iSCSI启动均未加密传输的数据(暴露给数据嗅探工具)。确保没有任何虚拟机器可以看到iSCSI存储网络,以防止入侵者监听iSCSI的传输。此外,还应该配置ESX服务器主机(或发起人)和iSCSI的设备(或目标)之间的身份验证,任何时候当主机试图访问目标LUN的数据,均需要身份验证。
2.4 审计和日志记录
建立对虚拟基础设施平台管理的日志,并需要一个有共同标准的系统时间以保证日志的真实性。因为在ESX服务器的Red hat操作系统以及虚拟机操作系统均包含日志,在审查有关的日志文件时,系统时间同步有利于跟踪以及关联入侵者的行动。管控中心能够记录事件及系统活动,应考虑建立一个集中的系统日志服务,以巩固本身ESX服务器系统日志。
3 安全防范的实现
3.1 ESX服务器的安全防范
添加ESX服务器是增加虚拟化平台业务的最常用的方法,在ESX Server安装ESX服务器层软件(Red Hat 3)时对虚拟化平台进行安全设置是最有效的。以下为具体安全防范实现:
(1)为root账号设置强密码,限制使用root账号登陆的人员,并规定密码有效期。
(2)与可靠的时钟源建立时钟同步关系。有价值地审计跟踪完全依赖于一个时间戳标准,认证和使用通用目录服务要求一致的时间基准。在ESX服务器上配置NTPD(Network Time Protocol Daemon,即网络时间守护进程)同步类型为straturm-1标准的网络时钟源,在虚拟机客户机操作系统上配置VM ware工具服务,执行服务控制台和虚拟机的时间同步,定期执行安全检查和审查日志文件。
(3)创建一个本地非特权用户账户,可以通过本地登录到ESX服务器进行疑难排查工作;利用Sudo命令执行服务控制台命令(需要root级别的权限)。Sudo命令允许系统管理员让某些用户(或用户组)具备运行root用户或者其他用户所具有的部分(或全部)命令的能力,并详细记录用户行为。
(4)配置ESX服务器的目录服务对用户账户进行身份验证(例如LDAP或Active目录)。
(5) ESX服务器安装过程中,取消选择“创建一个默认的ESX虚拟机的端口组”的选项(此选项将在服务控制台所在的网络接口里创建一个虚拟机端口组)。否则,通过虚拟机将会监听到未加密的信息。
(6)对于SAN构架,利用SAN的ZONE划分限制共享存储的访问;利用LUN与主机HBA卡的WWN地址绑定,与服务器HBA卡建立一对一或多对一的连接和访问关系,从而限制服务器对LUN的访问。
(7)对于iSCSI构架,提供一个独立的以太网供iSCSI存储网络访问存储;不允许虚拟机访问虚拟交换机和iSCSI存储网络的VLAN,配置ESX服务器和iSCSI存储之间的身份认证。
3.2 管控中心的安全防范
Windows操作系统提供了潜在的可利用的安全漏洞,所以它是最可能破坏的虚拟基础设施安全的目标。以下为具体安全防范实现:
(1)通过对Windows操作系统以及管控中心软件打补丁加固管控中心的Windosws服务器操作系统。
(2)在单独的物理服务器上部署管控中心的数据库,为管控中心服务创建一个专用账户,将该用户设定为数据库拥有者。安装后,降低该用户权限,使得该用户只拥有调用/执行存储过程、执行DML语言的权限。
(3)创建活动目录(或者LDAP目录)安全组匹配管控中心的安全角色,之后创建组和角色在管控中心中关联。改变本地管理员组与管控中心管理员角色的关联关系,避免所有域管理员均为管控中心的管理员。
(4)替换默认虚拟机管控中心服务器的SSL颁发证书,这将减少通过登录会话重放攻击管控中心用户账户的风险。
(5)把管控中心数据库容器当作一个最高安全边界,只分配在这个级别权限的个人,才能够访问它下面的一切。
(6)确保只有经过VM ware培训的使用者,才为之分配权限访问管控中心。
(7)建立和保持与虚拟基础架构相关的工作流程和管理办法,并制定和遵守良好的变更管理制度,定期审核,检查定期进行审核,确保既定的政策和流程的遵守。
4 结语
虚拟机安全 篇9
从系统软硬件体系结构看,虚拟化其实就是位于底层物理硬件和上层操作系统之间的一个硬件抽象层,它对下层物理硬件进行抽象,同时为上层操作系统提供虚拟执行环境,包括虚拟CPU、虚拟内存、虚拟硬盘、虚拟网卡等。这个虚拟执行环境一般称之为虚拟机(Virtual Machine,VM)。而这个实现虚拟化功能的软件一般称之为虚拟机监控器(Virtual Machine Monitor,以下简称VMM)。从用户体验来看,虚拟化是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机,每个逻辑计算机可运行不同的操作系统,使应用程序可以在相互独立的空间内运行而互不影响。虚拟化一方面提升了主机物理资源的利用率,另一方面增强了应用之间的隔离性。虚拟机监控器实现了上层操作系统和下层物理硬件之间的解耦合,使操作系统和应用可以在不同物理主机之间方便地迁移。
虚拟机逃逸是指利用虚拟机软件或者虚拟机中运行的软件的漏洞进行攻击,以达到攻击或控制虚拟机监控器( 或宿主操作系统) 的目的。虚拟机逃逸攻击一般是指攻击者在控制一个VM前提下,通过利用虚拟机和底层VMM的交互漏洞( 逻辑漏洞和代码缺陷), 实现对底层VMM或其他虚拟机的控制。虚拟机逃逸的后果包括在VMM层或者管理域中安装后门、执行拒绝服务攻击、窃取其他租户数据,以及控制其他租户虚拟机等。
2 虚拟机逃逸攻击机理
在虚拟化环境中,上层虚拟机需要和底层的虚拟机监控器通过某种方式进行交互,以实现对底层物理资源的访问,而这种交互过程就是可能的引入虚拟机逃逸漏洞的关键点。在一个典型的虚拟化环境中,虚拟机逃逸漏洞可能出现在两个交互接口上:(1) 虚拟机和底层VMM之间的资源访问请求交互接口;(2) 用户虚拟机和管理虚拟机之间用来实现高效通信的交互接口。
我们先来分析虚拟机和底层VMM之间的资源访问请求交互接口可能引入的虚拟机逃逸安全问题。对于不同的虚拟化方式,虚拟机和底层VMM之间的交互方式也不一样。在全虚拟化实现方式下,虚拟机和底层VMM之间的资源交互接口是VMM为上层虚拟机所提供的仿真硬件,包括CPU、内存、磁盘和外设等,一旦底层VMM基于软件方式实现全仿真虚拟硬件时存在脆弱性,就可能导致虚拟机逃逸。在半虚拟化实现方式下,虚拟机和底层VMM之间的资源访问交互接口为底层VMM所提供的超级调用(Hypercall),上层VM通过调用超级调用来请求访问底层的物理资源,底层VMM在接收到这些超级调用后,将对超级调用进行安全审核,审核通过后则代替VM执行资源访问操作,之后将执行结果返回给上层的VM,一旦VMM所实现的超级调用存在脆弱性,则会导致虚拟机逃逸。
同样,用户虚拟机和管理虚拟机之间用来实现高效通信的交互接口也可能导致虚拟机逃逸漏洞。通常情况下,用户虚拟机之间或者用户虚拟机和管理虚拟机之间相互隔离,它们之间的通信只能通过VMM实现的虚拟网络来通信,但在很多情况下,比如半虚拟化驱动架构下,用户虚拟机需要和管理虚拟机通过一种内存共享方式来进行通信,而这种内存共享通信方式如果在逻辑设计或代码实现上存在脆弱性,则可能导致虚拟机逃逸漏洞。
常见的虚拟化软件包括商用的VMware ESXi、Microsoft Hyper-V, 以及开源Xen和KVM等。自从虚拟化技术广泛应用以来,很多学者都认为虚拟机逃逸漏洞只是在理论上存在,因为现实环境中并没有发现类似漏洞。直到2009 年,在美国拉斯维加斯举行的黑帽大会上,immunity公司的kostya Kortchinsky公布了一个Cloud Burst漏洞,该漏洞可以实现VMWare Workstation虚拟化环境下从客户机到底层宿主机的虚拟机逃逸,并现场进行了演示,证明攻击者利用该漏洞可以在宿主操作系统上执行任意代码,从而可以控制整个宿主操作系统。虚拟机逃逸漏洞从而引起了安全界的重视。近些年来,发现了很多关于商业和开源虚拟化软件的虚拟机逃逸漏洞。
本文主要分析Xen虚拟化环境下的虚拟机逃逸漏洞。Xen是最早的开源虚拟化平台,它由剑桥大学开发,也是最早提出半虚拟化概念的虚拟化软件(Xen称半虚拟化为PV模式)。Xen试图解决早期全虚拟化模式下的二进制翻译技术的效率低下问题,但它需要修改虚拟机客户操作系统,存在兼容性问题。2005 年,随着Intel和AMD相继推出支持硬件辅助虚拟化的CPU之后,Xen也开始宣布支持全虚拟化模式(Xen称全虚拟化为HVM模式)。早期的开源云解决方案都选择Xen作为虚拟化构建模块,包括Eucalyptus、Open Stack、和Cloud Stack。自从开源虚拟化软件KVM出现在linux 2.6.20 内核中,更新升级都比Xen方便,导致KVM虚拟化软件使用率逐年增加,Xen逐年减少。并且,随着CPU硬件辅助虚拟化技术得到普遍应用,大大提升了全虚拟化模式虚拟机的执行效率,因此,Xen半虚拟化模式也被越来越少使用。当前,一些国内云计算产品还在使用Xen虚拟化技术,包括阿里、华为、浪潮、中科曙光和中移动的云计算产品,国外的亚马逊、Rackspace、linode等虚拟主机或云服务提供商也还在使用Xen作为虚拟化技术。
3 常见Xen虚拟机逃逸漏洞
本文以开源Xen虚拟化软件为例,分析近年来发现的Xen虚拟机逃逸漏洞,以便了解这些虚拟机逃逸漏洞的产生原因。这里选择Xen的四个虚拟机逃逸漏洞进行简要分析,包括:(1) QEMU软盘驱动模拟器漏洞(CVE-2015-3456) ;(2) PCNET仿真网卡驱动漏洞(CVE-2015-3209) ;(3) 仿真IDE设备漏洞(CVE-2015-5166) ;(4) Xen内存跨界访问漏洞(CVE-2015-7835)。
3.1 QEMU软盘驱动模拟器漏洞分析
编号为CVE-2015-3456 的虚拟机逃逸漏洞存在于Xen全虚拟化模式中。在Xen全虚拟化模式中,底层Xen虚拟机监控器为上层虚拟机提供仿真的软盘驱动器FDC,这个仿真软驱设备FDC是由位于Xen管理域Domain0 中的一个QEMU进程来实现。客户机操作系统可以向仿真软盘驱动器FDC的输入输出端口发送搜索、读取、写入、格式化等指令。仿真软驱设备FDC使用一个固定大小的缓冲区来存储由客户机操作系统发来的软驱操作指令及其相关数据参数。仿真软驱设备FDC会跟踪这些指令,并在指令所预期的数据接收完成后,执行这条指令并清除缓冲区为下一条指令做准备。但由于该仿真软驱设备FDC存在设计缺陷,使得攻击者可以从客户机操作系统发送大量的操作指令和精心制作的参数数据到仿真软驱设备FDC,从而造成FDC缓冲区溢出,溢出的结果是攻击者可能在监控进程QEMU上下文中执行任意代码,进而获得Xen管理虚拟机的控制权。QEMU软盘驱动模拟器漏洞将对所有使用QEMU FDC仿真设备的Xen 4.5.x和早期版本受到影响。该漏洞影响到的虚拟化和云计算产品包括Xen、Redhat、Citrix、Fire Eye、Linode、Rackspace、Ubuntu、Debian、Suse等多个产品。
3.2 PCNET仿真网卡漏洞分析
编号为CVE-2015-3209 的虚拟机逃逸漏洞存在于Xen的PCnet仿真网卡驱动中,该仿真网卡驱动负责实现上层虚拟机和底层物理网卡之间的网络数据交换。PCnet仿真网卡驱动开辟了4 096 字节的缓冲来接收虚拟机传来的网络报文,允许接收最大为4 096 字节的网络数据帧。但由于PCnet仿真网卡驱动支持网络帧分片传输模式,从而允许虚拟机通过发送多个数据帧分片传输网络数据帧。但PCnet仿真网卡驱动在接收连续的数据帧分片时并没有检查数据帧总长度是否超过4 096 字节,因而,如果恶意虚拟机采用分片方式发送的数据帧总长度超过4 096字节时,则可能导致缓冲区溢出,从而可能获得QEMU进程控制权,实现从客户虚拟机到虚拟机监控器的虚拟机逃逸。QEMU PCNET虚拟机漏洞将影响所有采用PCNET作为虚拟网卡的Xen HVM虚拟机。但ARM架构的Xen不受影响。同时,如果在全虚拟机中使用的是PV驱动模式,则也不受该漏洞影响。此外,该漏洞也可能影响所有使用Xen作为虚拟监控器的云计算平台,包括Open Stack和Cloud Stack等。
3.3 仿真IDE设备漏洞分析
编号为CVE-2015-5166 的虚拟机逃逸漏洞存在于Xen的IDE仿真设备驱动中,该IDE仿真设备用来实现上层虚拟机和底层物理磁盘或文件之间的交互。该IDE仿真设备由运行在Domain0 管理域中的QEMU进程实现。通常情况下,虚拟机操作系统可以通过两个不同端口实现对仿真IDE设备的释放(unplug)。但由于设计逻辑上的错误,如果攻击者先后通过这两种端口释放同一个仿真IDE设备,可能引发释放后再使用(Use After Free,UAF) 漏洞。比如,攻击者可以先向地址为0xae08IO端口写入0xfe5a请求释放仿真IDE设备,这时QEMU会释放与IDE硬盘相关的一个名为Block Backend的数据结构,而攻击者如果再次通过ACPI端口对该仿真IDE设备进行释放时,会导致QEMU进程会尝试使用已经被释放的Block Backend数据结构空间,导致QEMU进程崩溃。攻击者如果结合利用其他数据披露信息,则可能利用该漏洞获得对底层QEMU进程的控制,从而实现从虚拟机到宿主机的逃逸。QEMU IDE设备UAF漏洞可能影响到Xen 4.5.x和以前的所有版本。
3.4 Xen内存跨界访问漏洞分析
编号为CVE-2015-7835 的Xen内存跨界访问漏洞存在于Xen的物理内存资源管理上,该漏洞可以由半虚拟化模式虚拟机( 以下简称PV虚拟机) 中的页表管理超级调用所利用。通常情况下,PV虚拟机操作系统无法直接修改用来实现内存管理的页表结构,它只能通过超级调用请求底层的Xen VMM代为修改,由Xen检查通过后代替PV虚拟机操作系统修改页表。在Intel IA-32 架构下,Xen混合使用2 M分页和4 K分页的物理内存管理方式,其中2 M物理页面存供操作系统内核使用,4 K物理页面供用户空间程序使用。Xen使用同一套页表实现对4 K页面和2 M页面物理内存的混合管理。在64 位虚拟化环境下,Xen采用四级页表映射方式实现对4 K物理页面的寻址,采用三级页表映射实现对2 M物理页面的寻址。一个64 位的虚拟机进程线性地址在转换为机器物理地址时,到底是采用三级页面映射方式来寻址2 M物理内存空间,还是采用四级页表映射寻址4 K物理内存空间,是由第三节页表的页表项(Page Directory Entry,PDE) 的一个名为PS的标识位来区分。当PS为0 时,Xen采用四级页表映射寻址4K物理内存空间;当PS为1 时,Xen采用三级页面映射方式来寻址2M物理内存空间。同时,Xen提供了一种页表快速更新机制,允许PV虚拟机操作系统请求直接更新三级页表中的PDE条目;由于Xen对PDE条目更新请求检查不严,导致PV虚拟机操作系统可能将三级页表项PDE的PS标识位从0 置为1,从而可能跨过第四级页表,实现从4 K页面到2M物理页面的跨界读写访问。而这个2 M物理页面可能属于其它虚拟机,也可能属于Xen VMM,因此,一旦虚拟机获取了这种跨界物理内存直接读写权限,则可能通过修改物理内存实现虚拟机逃逸。该漏洞影响到Intel IA-32 架构上所有从Xen 3.4 到Xen 4.6 版本的虚拟化软件,只要Xen开启了半虚拟化模式支持功能。
4 虚拟机逃逸漏洞危害分析
虚拟机逃逸漏洞一旦被利用,则后果非常严重。一旦逃逸成功,可以达到:(1) 导致Xen VMM崩溃,从而造成拒绝服务攻击;(2) 成功控制Xen的管理虚拟机(dom0) ;(3) 实现对虚拟化平台上其他虚拟机的完全控制,包括VM的启停、VM删除,VM磁盘和网络流量劫持等;(4) 以该管理虚拟机为跳板,实现对虚拟化平台中其他部分的横向渗透。攻击者利用虚拟机逃逸漏洞,可以突破虚拟化平台上所实现的计算隔离、存储隔离和网络隔离安全机制,从而给其他租户带来非常大的危害。
虚拟机逃逸漏洞主要出现在上层虚拟机和下层VMM之间的交互接口上,上层虚拟机通过该交互接口实现对底层物理资源和物理外设的访问。只要该交互接口在逻辑设计上或代码实现上存在脆弱性,就可能引入虚拟机逃逸漏洞。本文虽然只分析了Xen虚拟化软件的虚拟机逃逸漏洞,但对于其他虚拟化平台, 包括Hyper V、KVM、ESXi等虚拟化软件,他们都存在上层虚拟机和下层VMM之间的交互接口,因此都可能在该交互接口上引入虚拟化逃逸漏洞,因此都将面临由于虚拟机逃逸漏洞被恶意利用所导致的严重危害。
虚拟机逃逸漏洞会严重影响到党政部门云计算服务的安全性。我国云计算安全审查所参照的关键国家标准GB/T 31168-2014《信息安全技术云计算服务安全能力要求》中,关于虚拟化安全方面对云服务商提出了很多安全控制方面的要求,包括多租户之间计算隔离、存储隔离和网络隔离。但通过上面的虚拟机逃逸漏洞危害分析结果可知,只要该云计算服务所依赖的虚拟化平台存在虚拟机逃逸漏洞,则攻击者可以轻松突破底层虚拟化平台为达到租户隔离而实施的各种安全控制措施,将导致非常严重的后果。
5 虚拟机逃逸攻击安全对策
对于虚拟机逃逸攻击,目前没有非常好的安全对抗措施,但我们可以参照信息安全中的PDR模型来实施虚拟机逃逸攻击的安全防范,并且这需要各云计算服务角色之间协同来完成。表1 给出了PDR各阶段各云服务角色可能采取的安全对策建议。
6 未来工作建议
云计算安全问题一直是人们所关注的焦点,它是影响党政部门采购公共云计算服务的主要障碍。虚拟机逃逸攻击从理论上存在变为现实中被经常发现的问题,并且其危害性非常大,应该引起学术界、产业界和云用户的高度重视。第三方云安全评估机构在进行云安全评估时,也应该高度重视虚拟机逃逸攻击问题。我们的下一步工作主要包括:(1)联合高校等学术机构深入研究虚拟机逃逸漏洞形成机理,研究和制定虚拟机安全防范方面的规范和标准;(2)收集常见虚拟化平台已发布的虚拟机逃逸漏洞,建立虚拟机逃逸漏洞库;(3) 研究虚拟逃逸漏洞检测方法,联合安全攻防团队共同研发能对现有已发布虚拟化逃逸漏洞的检测工具;(4) 对云计算服务进行安全评估时,加强对虚拟机逃逸漏洞的检测,为云计算服务安全测评提供支撑。
虚拟机安全 篇10
目前,尽管入侵检测系统被广泛应用于检测和确保系统的安全,但是仍旧有一些系统很容易的被入侵者侵入[1]。一旦入侵者进入系统之后,便会在系统中安装木马等危险程序来窃取信息。为了掩盖其踪迹,入侵者在离开系统之前会对记录其踪迹的系统日志进行修改或者删除。因此,系统日志的实时备份对于系统安全分析及后来的调查取证工作显得异常重要。
当前备份系统日志的方法很多,最为流行的就是通过网络将日志备份在远程主机上。但是,入侵者同样可以利用tcpdump[2]来获取在网络上传输的数据,而且备份系统日志的远程主机同样容易受到攻击。为了克服以上不足之处,本文提出了一种安全高效率的系统日志备份方法,并且给出了相关的实验结果及分析。
1 Xen
Xen是目前最流行的一种虚拟化解决方案,它采用了半虚拟化技术,虚拟机管理器为上层虚拟机给出提供了与底层硬件设备相似的抽象层[3]。运行在x86平台上的Xen借助了IA32的4个优先级(Ring0到Ring3)。在传统的体系结构中,只有操作系统运行在最高优先级(Ring0),普通的应用程序运行在Ring3,而Ring1和Ring2都没有使用。在Xen体系结构中,Xen虚拟机管理器处在最高优先级Ring0,而用户域和特权域的操作系统运行在Ring1,运行在这些客户操作系统上的应用程序运行在Ring3[5]。
1.1 Xen的特点
构建基于Xen的日志实时备份模型,用到Xen的以下两个特性[6]:
1)隔离性运行在某个域上的软件不能对运行在其他域上的软件进行访问或修改。即使入侵者已将该域的操作系统完全破坏,仍然不会危及其他域的操作系统的安全。
2)监控能力Xen可以监控所有虚拟机实例的所有状态:CPU状态(例如注册表状态)、所有的存储器、I/O设备状态(例如存储设备的容量以及I/O控制器的注册表状态)。
1.2 超级调用
超级调用是Xen提供给客户OS的程序接口,它被客户OS调用,就象常规操作系统的系统调用被调用一样[3]。调用超级调用时,软中断指令被发布,其中断向量入口地址在Xen中。在IA-32 x86架构中,超级调用对应的指令是“int$82”,硬件IDT表(Interrupt Descriptor Table)被设置,以便超级调用指令仅仅能从Ring 1被发布。如表1所示。
1.3 事件通道
事件通道是Xen用于用户域和虚拟机监视器VMM(Virtual Machine Monitor)之间、用户域和用户域之间的一种异步事件通知机制[3]。
Xen为每个域在其shared_info中定义了一个128字节的数据结构,其中每一个位被称为一个事件通道,所以每个域中只有1024个事件通道。
每个事件通道在shared_info中有两个附加位[4]:
Pending位:通知该域外有一个事件需要处理,处理后可将其清0。
Masking位:该位为1时,所有的事件都被屏蔽;该位为0时,如果申请位为1,在Xen从Ring 0向Ring1返回时将触发域中的事件调用处理,这与Unix中的信号机制类似。
1.4 Xen域的共享内存
Xen在创建域时,为每个域分配了一个物理页(在x86架构下大小为4kb)作为与该域的共享内存,用域控制块的shared_info字段表示[4]。shared_info被映射到Xen的虚拟地址空间中,能被Xen访问;Xen启动域时,把shared_info作为参数传递给该域,该域的操作系统初始化时,shared_info被映射到该操作系统的虚拟地址空间中,从而能被该操作系统内核访问。特权域Dom0取得其所创建的用户域的shared_info物理页号,把shared_info映射到Dom0 OS的虚拟地址空间中,使之也能被Dom0 OS内核访问。总之,用户域的shared_info被Xen、Dom0以及其他的用户域所共享。
2 系统设计与实现
本文的体系结构如图1所示,设计有Dom0和Dom U,Dom U被Dom0创建。在Dom U上运行Xeno Linux U,在Dom0上运行Xeno Linux0。由syslogd记录Dom U产生的日志数据,并保存在/dev/xenlog文件中。Dom ULog模块对/dev/xenlog进行实时监控。一旦有新的日志数据写入到/dev/xenlog中,Dom ULog模块便会把新增加的日志数据写入共享内存,然后通知Dom0上的Dom0Log模块从共享内存中读出日志,把日志存入Dom0上的文件系统中。
2.1 DomU模块
在Linux操作系统中,syslogd是常用的日志服务后台进程[7]。Syslogd接受请求,并且把日志信息记录到指定文件中。通过配置/etc/syslog.conf将应用程序产生的日志记录到文件xenlog中,配置如下:
DomULog模块负责对/dev/xenlog进行监控,当检测到有新的日志数据写入后,其负责将新写入的日志写入到共享内存之中。
当XenoLinuxU启动时,Dom ULog模块随之启动。DomULog模块的工作流程如下:
1)DomULog分配共享内存,并取得该共享内存的物理地址phyaddr;
2)为了能够与Xeno Linux0中的Dom0Log模块进行同步通信,DomULog必须首先设置一个尚未绑定的Event-Channel Port;
3)Dom ULog将phyaddr、Event-ChannelPort和自己所在域的ID号通过XenBus发送到位于Dom0的XenStore中;
4)注意,此时DomULog与Dom0Log之间还没有建立起事件通道,而且Dom0Log还没有将Dom ULog申请的共享内存映射到Dom0的地址空间上;
5)如果DomULog收到了Dom0Log发送来的“事件通道已创建”和“共享内存已映射”的通知,DomULog就开始对/dev/xenlog文件进行实时监控;
6)如果有新的日志数据写入到/dev/xenlog文件中,DomU-Log就会把新写入的日志数据写入到共享内存之中,并向Dom0Log发送“数据已就绪,请取数据”的通知;
7)在收到Dom0Log发送的“数据已经取出”的通知后,DomULog会按照需要看是否要继续往共享内存中写数据。
2.2 共享内存
共享内存的设计是用来暂时的存储DomULog模块写入的日志数据,然后等待Dom0Log模块将日志数据读取。在XenoL-inuxU内核中已经分配了共享内存的大小,当写入的日志数据过大会导致共享内存缓冲区的数据溢出;同时如果同时对共享内存缓冲区进行读写操作,这样不会造成上述的情况,但是,同时对共享内存缓冲区进行读写操作,必然会导致竞争。
为了解除上述的这种竞争,使两个模块可以同时读写共享内存,我们将共享内存设计成一个环形的缓冲区:有两个入口,一个读数据,一个写数据,当到达缓冲区的尾部时,它们会自动自陷。写数据的时候会占用缓冲区的空间,但是读取数据后会自动释放这些空间,等待着下一次写请求的到来。缓冲区的数据结构如下所示:
2.3 Dom0模块
Dom0Log模块在初始化的时候,会注册XenBus Watch用来监听XenStore的变化。如果有Dom ULog往XenStore相应的目录处写入内容(即:phyaddr、Event-ChannlePort和domID),则Dom0Log模块会完成以下工作:
1)将phyaddr映射到自己所在域(即:Dom0)的地址空间;
2)将DomULog模块发送过来的Event-Channel Port与自己某个尚未绑定的Port进行绑定,从而建立事件通道;
3)利用DomULog模块发送来的domID,在Domain0相应的目录下创建以domID为名称的日志文件;
4)利用事件通道,向DomULog模块发送“事件通道已创建”和“共享内存已映射”通知;
5)等待DomULog模块发送“数据已就绪,请取数据”的通知;
6)接收到“数据已就绪,请取数据”的通知后,就从共享内存中读取日志数据,并存放到相应的日志文件中;
7)接收完日志数据后,向DomULog发送“数据已经取出”通知;
8)继续等待。
3 实验结果及评估
综上所述,基于Xen虚拟机的系统日志备份方法在将日志数据传输到xenolinx0的文件系统的过程中,并没有通过网络传输,大大地降低了日志数据被网络上的木马程序窃取的可能性,提高了日志数据传输过程的安全性。
在本文所提出的方法中,日志数据是通过Dom U和Dom0间的共享内存传输,通过共享内存传输数据的效率比传统的通过网络传输数据的效率高出许多。我们用这两种方法传输大小为100kb的数据,通过计算传输所需时间可以很明显地看出效率的高低。实验所用计算机的配置如下:Intel Pentium 4 CPU3.0 GHz,DDR 512M内存,80G硬盘。Dom0 OS内核版本为2.6.18-1(Fedora Core Linux),Dom U OS内核版本为2.6.18-1(Fedora Core Linux),Xen为3.0版本,系统启动给客户操作系统分配了192M内存,2G大小的文件系统,以及512M的交换分区。实验结果数据如表2所示,单位为秒(相同实验每种方法分别测试十次,取十次的平均值)。
由表2的数据可知,通过共享内存传输数据的平均时间为0.085383秒,通过网络传输数据的平均时间为0.728681秒,通过网络传输数据所用时间是通过内存传输数据所用时间的8.5倍。可见,通过共享内存传输日志数据的效率比起传统的传输日志数据方法的效率高出许多。
4 结论
传统的备份日志数据是将日志数据通过网络传输到一个专用的日志服务器,这种方法会造成一些重要的日志数据在网络上被窃取、篡改。本文提出的基于Xen虚拟机的系统日志备份方法通过共享内存传输日志数据,日志数据传输的整个过程都是通过Dom U和Dom0之间的共享内存,避免了在网络传输过程中被截获的危险。
同时,由于Xen提供的Dom0和DomU之间的完全隔离性,使得即使DomU OS已经被攻击者攻破,要破坏备份在Dom0OS文件系统上的日志数据也是很难的。
摘要:系统日志对于计算机系统的安全至关重要。为了确保系统日志的安全,通常的做法是通过网络将系统日志备份到远程主机上,但其在传输过程中容易被截获。提出一个运行于Xen之上的日志实时备份模型,通过系统实例之间的共享内存来传输系统日志,这样可以避免日志数据在传输过程中被暴露在网络上所带来的风险。实验表明,该方法不仅增强了系统日志的安全性,而且传输效率也非常高。
关键词:Xen,虚拟机,日志安全,共享内存,超级调用
参考文献
[1]陈晓梅.入侵检测产品的评价研究[J].微电子学与计算机,2005,22(9):74-76.
[2]The tcpdump program.2007.http://www.tcpdump.org.
[3]Xen Project.Xen Interface Manual.March2007.http://www.cl.cam.ac.uk/Research/SR.G/notes/xen/readmes/interface/interface/inter-face.html.
[4]David Cisnall.The definitive guide to the Xen hypervisor.PRENTICE HALL.2007.
[5]Tim Abels,Puneet Dhawan,Balasubramanian Chandrasekaran.An O-verview of Xen Virtualization.March2007.http://www.dell.com/downloads/global/power/ps3q05-20050191-Abels.pdf.
[6]Whitaker A J.Building Robust Systems with Virtual Machine Monitors.Univ.Washington Generals Examination,2004.
妙用虚拟机:1台电脑3个系统 篇11
虚拟机和模拟器
通过虚拟机软件,即可在当前系统上安装运行Linux系统,或者再安装一个Windows系统。虚拟机软件有很多种,不过,对于个人用户来说,免费的VirtualBox(www.virtualbox.org)是首选,该软件使用方便,支持各种Linux和Windows版本,创建的虚拟机可以直接读取ISO光盘镜像文件进行操作系统的安装,虚拟机系统安装完成后,可以直接访问当前电脑上的物理硬盘,可以通过主机接入互联网,并且可以直接读取插入主机的USB设备。
不过,虚拟机软件虽然强大,但却无法直接支持需要特殊硬件的系统,例如通过RISC CPU执行指令的PlayStation平台、运行于PowerMac架构苹果电脑的Mac OS X。要在电脑上安装这些系统和运行为这些系统设计的软件,我们必须通过模拟器来模拟目标系统所需的特殊硬件环境,这将需要电脑进行极其复杂的指令转换。因而,通过模拟器安装的虚拟机通常速度要慢很多。另外,模拟器的使用涉及一些版权的问题,部分硬件厂商并不开放设备固件和驱动程序的版权,而这对于模拟器来说是必不可少的。因而,在下面涉及模拟器的虚拟机方案中,用户必须自行从设备上提取需要的BIOS,而Mac OS X等操作系统,用户也必须自行购买。
安全的虚拟环境
我们可以在虚拟机中安装Linux,用于处理通过浏览器即可完成的敏感操作,例如网上购物和个人信息管理,或者安装一个Windows操作系统,专门用于管理网上银行。由于没有其他不必要的第三方应用程序干扰,所以系统将更加稳定和安全。
1 安装BitBox BitBox(http://download.sirrix.com/content/pages/bbdl-en.htm)是一个一步到位的Linux虚拟机安全使用方案,安装该软件将自动安装VirtualBox,不需要我们手动建立虚拟机和安装Linux系统。只需简单地单击下一步跟随安装向导完成安装,启动软件后将直接进入一个运行于虚拟机中的小型Linux系统环境。
2 安全的浏览器 BitBox中包含了一个Firefox浏览器,启动软件进入系统后将自动打开浏览器,我们马上就可以使用它来处理一些担心被木马程序窃取的敏感资料。使用完后关闭BitBox,下一次再次打开软件,我们上一次使用的记录以及曾经对浏览器进行的设置将全部被丢弃,BitBox将恢复到初始状态,准备好开始新一轮操作。虽然并不是所有的网上银行都能够支持Linux操作系统和Firefox浏览器,但是有了这样一个安全的浏览方式,很多时候我们可以更放心地通过浏览器处理一些敏感的信息。
3 全新的Windows 国内的许多网上银行都只支持Windows操作系统,如果希望在不受外界干扰的安全环境下管理网上银行,那么可以考虑在虚拟机中安装一个专门的Windows系统。首先,安装VitualBox,安装程序将逐一询问用户是否同意安装USB控制器与网络适配器等驱动程序。安装完成后启动软件,单击“控制|新建”并选择“下一步”,键入自定义的虚拟机名称,并从下方的下拉菜单中选择准备安装的操作系统版本。接下来我们就可以为虚拟机安装操作系统了,VitualBox支持直接加载光盘镜像进行安装,右击新建的虚拟机,选择“设置”,选中左侧导航栏中的“Storage”,单击光盘属性设置右侧的光盘图标,选择下载的操作系统安装光盘镜像文件,启动虚拟机时即可从安装光盘直接启动。
4 安全管理网上银行 为虚拟机安装操作系统后,除了网上银行要求安装的浏览器插件以及各种网上银行的客户端软件以外,建议不要在虚拟系统中安装任何其他不必要的应用软件。在这样纯净的环境下使用和管理网上银行,我们可以相对更放心一些。当然,绝对的安全是不存在的,但是我们已经离它更近了一步。
克隆当前系统
许多使用虚拟机的用户都希望能够将当前的系统克隆到虚拟机中,实际上这非常容易实现。
1 克隆系统分区 复制当前系统分区的最佳方法是将其克隆为一个VHD文件,这样除了可以在虚拟机中直接加载启动以外,未来必要时也可以在Windows 7等系统中直接加载使用。要将系统分区克隆为一个VHD文件,无需使用任何第三方的工具软件,使用微软的磁盘工具disk2vhd即可。
2 加载VHD 在VirtualBox中单击“控制|新建”,然后键入自定义的虚拟机名称,并从下方的下拉菜单中选择准备加载的操作系统版本,单击“下一步”设置虚拟机可以使用的内存大小,再单击“下一步”选择“使用现有的虚拟磁盘”并完成接下来的创建步骤。创建虚拟机后,右击新建的虚拟机,选择“设置”,单击左侧导航栏中的“Storage”,根据我们电脑硬盘控制器的情况调整虚拟机磁盘控制器的设置,如果确实不了解自己电脑的硬件细节,那么可以直接将虚拟磁盘改到“IDE控制器”之下。也就是说如果原来虚拟磁盘在“SATA控制器”下,可以将其删除并选中“IDE控制器”,单击下方的“添加新盘”并选择我们克隆的VHD文件即可。
虚拟机安全 篇12
当前, 由于我国高校招生规模不断扩大, 高职院校的招生比例也成增长趋势, 而实验设备和实验场地不能及时得到补充, 实验教学资源非常紧张。另外, 实验设备的过度使用, 与此同时实验设备不能及时得到应有的维护, 更加重了这一恶性循环。如何有效的利用有限的实验设备来充分地保障高质量的实践教学, 就成了高职院校计算机教学环节中面临的重要课题。
根据国家的教育方针, 高职教育的人才培养模式应该是以适应生产、建设、管理、服务第一线需要的高等技术应用型专门人才为根本任务, 以适应社会需要为目标, 以培养技术应用能力为主线, 以突出职业性、实践性、适应性和地方性为特点。而教学实践恰恰就是将课堂上所讲的理论知识转化为实际的动手动口能力, 通过多方途径, 强化学生的专业技术水准和实践能力。这是实现我们教学培养目标的必经环节, 只有抓住了这一环节, 我们培养的人才才能适应市场需求, 我们的学校才能办出特色。因此, 教学实践是整个高职教育中最为重要的一个环节。实验教学质量的高低很大程度上取决于实验室建设的水平。计算机作为一门实践性很强的学科更是如此, 进一步加强计算机实验室建设显得尤为重要。
2 网络安全课程实践教学分析
网络安全课程所学习内容涉及系统安全设置, 系统漏洞分析与攻击, 系统病毒防范及黑客技术, 所以实践性环节中首先要求系统应为服务器配置, 并且在对系统进行漏洞攻击或木马病毒攻击的实践环节中, 无疑会毁坏正常的系统。大部分院校计算机实验室采用硬盘保护还原卡系统, 虽然可以有效防止由于学生误操作或计算机病毒引起的系统崩溃, 但是正因为此, 网络安全的实践教学无法在计算机实验室来完成。学生只能进行简单的系统配置实验, 这样很难确保教学质量, 为此我们可以在机房安装虚拟软件, 搭建一个虚拟的实验环境。
由虚拟机软件构建的虚拟实验系统可以在学校的公共计算机机房平台上无损开展网络安全实验。这样既节省了资金投入, 挖掘了设备潜力, 又可以缓解实验设备不足的问题, 也为学生课内外Á的自主学习提供可能。
3 虚拟机技术简介
3.1 虚拟机原理
所谓虚拟机是指运行于物理计算机上的由软件模拟出来的计算机, 或称逻辑上的计算机。虚拟机具有完整的PC机应用环境, 包括硬件层、驱动接口、操作系统及应用层, 每个虚拟机都有自己的应用独立虚拟硬设备如网卡、CPU、内存等, 每个虚拟机都可以拥有计算机系统的所有资源。
3.2 虚拟软件介绍
Vmware软件是VMware公司出品的一个多系统安装软件。它可以在一台计算机上将硬盘和内存的一部分拿出来虚拟出若干台机器, 每台机器可以运行单独的操作系统而互不干扰, 并且还可以将这几个虚拟机联成一个网络。
在虚拟环境中, 各虚拟机 (Virtual Machine, VM) 之间相互独立而又共享同一台物理机器。各VM之间以及VM和宿主服务器之间不够成任何威胁。每个VM系统仅为硬盘上的一个文件或一个分区, 如果VM系统受到入侵或病毒攻击导致系统崩溃, 可以简单地删除相应的文件, 重新启动系统的拷贝便可迅速恢复系统。
通过Vmware软件在一台机器上实现多台虚拟计算机同时工作, 同时可以在这些虚拟计算机之间进行虚拟网络的连接, 从而在一台计算机硬件上模拟出多台联网的计算机。为网络安全实验搭建好实验平台。
3.3 虚拟机应用软件VMware的特点
不需要对物理硬盘进行分区或重新开机就能够在一台PC上安装使用多种操作系统。各个虚拟机就如同一台独立的计算机。各个虚拟机与主机之间还可以进行对话, 共享文件, 应用网络资源。
完全隔离并且保护不同操作系统的操作环境以及所有安装在不同操作系统上面的各种应用软件和数据, 并且有“硬盘”还原功能 (Vmware可设置还原点, 可以很方便地将虚拟机还原到设置还原点时状态。
在虚拟机上安装的操作系统, 是把操作系统安装在主机硬盘中虚拟出来的一个特定区域中, 并不对物理硬盘进行分区操作, 对现有的硬盘和数据都不会造成任何破坏, 备份虚拟机也非常方便。
能够设定并且随时修改操作系统的操作环境, 例如:内存、硬盘、接口设备等。
4 用虚拟机软件构建网络安全实验平台
4.1 安装Vmware虚拟机
在宿主计算机上安装Windows 2000 Server, 并且打上相关的布丁, 根据校园内部局域网IP地址设置, 设置IP地址为192.168.10.198。
安装配置Vmware虚拟机。主机中安装虚拟机软件, 虚拟机软件安装十分简单, 同时我们选择在虚拟机中创建一个未打任何补丁的Windows 2000Advanced Server系统, 安装虚拟机时直接点击“Next”即可完成安装, 安装完成后, 计算机中多了两块虚拟网卡, 如图1所示:
在主机中安装完虚拟机后, 相当于组装了一台电脑, 需要对这台电脑安装操作系统。通过选择菜单栏“File”下的“New”菜单项, 再选择子菜单“New Virtual Machine”, 此时就会出现新建虚拟向导, 根据说明来进行一步步的配置。因为前面步骤都比较简单, 笔者这里不再赘述, 但是我们需要强调的是配置Vmware虚拟机和主机之间的网络连接配置。
VMWare的常用的是两种联网方式:
(1) Used Bridged networking
虚拟机操作系统的IP地址可设置成与主机操作系统在同一网段, 虚拟机操作系统相当于网络内的一台独立的机器, 网络内其他机器可访问虚拟机上的操作系统, 虚拟机的操作系统也可访问网络内其他机器。
(2) User network address translation (NAT)
实现主机的操作系统与虚拟机上的操作系统的双向访问。但网络内其他机器不能访问虚拟机上的操作系统, 虚拟机可通过主机操作系统的NAT协议访问网络内其他机器。
一般来说, Bridged方式最方便好用, 因为这种连接方式将使虚拟机就好像是一台独立的计算机一样。在这里, 笔者选择的是第一种联网方式。
在逐步用向导安装和配置完虚拟机后, 整个虚拟机上的操作系统的配置就以文件形式存在, 下面是笔者在虚拟机中安装了windows 2000 Advanced Server系统后的虚拟机配置文件图示。
虚拟操作系统是通过点击虚拟机工具栏上的按钮启动。在虚拟操作系统Windows 2000 Advanced Server中配置IP地址为192.168.10.188, 在宿主系统中可以用Ping 192.168.10.188命令来测试网络是否连通。
4.2 在虚拟机中网络安全实验举例
黑客攻击是和网络安全紧密结合在一起的, 漏洞扫描是黑客入侵的第一步。下面以在虚拟机中进行漏洞扫描为例进行演示。在宿主系统中安装X-Scan扫描工具, 对虚拟系统进行漏洞扫描。配置X-Scan扫面范围:192.168.10.188。启动扫描, 扫描如图所示:
可以看到, 虚拟系统上的漏洞很多, 为后续模拟服务器入侵、模拟木马程序、模拟漏洞入侵及保护等教学打下了基础。
总结
通过虚拟机所构建的网络安全的虚拟的实验平台提供的是一个近于真实的环境, 可充分保证实验质量不受影响, 完全符合教学要求。由于虚拟机系统与主机系统有良好的隔离性, 在虚拟环境下, 学生不用顾虑到对主系统的破坏, 可以放心进行各种实验操作, 带来更好的实验效果, 就算在当次实习课内完成不了所有操作也不会导致主系统崩溃, 而影响另外班级的上机实验课程, 从而极大地激发了学生学习兴趣。
另外一方面, 利用虚拟机搭建计算机实验教学平台, 可充分拓展一般计算机实验室的内涵和外延。它不仅充分利用高职院校当前的计算机资源, 同时也可以降低实验成本及实验过程中对硬件的损耗。如何更好的利用虚拟技术提高实验教学水平及效果, 充分利用实验教学资源, 是值得我们继续深入研究和探讨的课题。
参考文献
[1]王春海著.虚拟机技术与应用--配置、管理与实验.清华大学出版社, 2007-1.
[2]黄智:基于VMware实现多操作系统环境及虚拟网络.电脑知识与技术, 2008 (30) .
[3]秦光:利用虚拟机搭建安全的木马及病毒测试系统.西昌学院学报, 2007 (3) .
[4]任科:虚拟机技术在计算机实践教学中的应用探讨.今日科苑, 2008 (15) .