百度空间 | 百度首页 
 
查看文章
 
关于虚拟机从Host OS注入到Guest OS的猜想
2009-07-01 16:03

     这些天注意到blackhat 2009一个关于虚拟机agent端注入在Guest OS里面执行代码的议题,演讲者是

symantec的matt conover,大体思想是讲从host os注入到代码到VM的agent里面,然后在guest os里面执行

代码的这么一个过程,现在我也不知道他是怎么实现的,但是我把我自已的猜想和大家分享一下,看看

是否行得通,去年在安全软件峰会上听过孙冰讲的虚拟机技术,他算得上是虚拟机大拿了,所以关于这个

黑帽子上面的这个议题想必也有研究了,废话不说了,切入正题。

      
     我如下讲的VM是指VMware这个软件,VM软件其实没有完全虚拟化所用的CPU指令,因为它要考虑到

虚拟机里面操作系统的运行速度和效率,也就是说,Guest OS有时是可以直接访问硬件系统的,而不通过

Host OS进行指令虚拟化,这样就大大提高了Guest OS运行的速度,当然我也并不知道到底哪些CPU指令,

或者中断调用没有进行虚拟化,暂且我们认为存在这样的CPU指令或者中断调用或者系统调用之类的东西,

所以当虚拟机里面的Guest OS直接执行这些指令或者中断调用或者系统调用之类的东西时,我们可以截获

到这种动作,怎么讲呢? 我们可以通过在Host OS里面编写驱动截获到这些指令或者中断,或者系统调用

之类的动作,hook这些指令,在我们的hook例程里面注入shellcode, 这样可以让Guest OS执行你的

shellcode了,虽然这个注入shellcode注入执行说起来简单,但做起来的时候,还得考虑很多问题,当然

这已经不在这里的讨论范围了, 我简单的画了一个草图关于虚拟机Host OS注入到Guest OS的过程。

简单描述就是截持Guest OS直接访问硬件的行为,hook注入shellcode。不知道大家是怎么想的,可以

邮件交流讨论下:)



类别:调试技术 | 添加到搜藏 | 浏览() | 评论 (9)
 
最近读者:
 
网友评论:
1
2009-07-01 17:50 | 回复
你想得太简单了。。。还HOOK指令。。

另外孙冰同学去年没参加XCON的演讲~
 
2
2009-07-01 21:57 | 回复
虚拟化的东东没仔细研究过,不过模拟器的并不难。不过觉得考虑如何从guest os执行到host os更有意义些
 
3
2009-07-01 22:45 | 回复
回复mj0011:我没有说是在XCON上面。
 
4
2009-07-02 10:49 | 回复
回复mj0011:是看雪的软件安全峰会
 
5
2009-07-02 13:33 | 回复
回复hi_earth:从guest os到host os以前已经出现过了,但从host os到guest os尚且是第一次了吧。
 
6
2009-07-02 15:25 | 回复
孙冰是x功夫的第一个议题.
 
7
2009-07-08 11:10 | 回复
MJJ你他妈的什么东西啊,以后低调点不要到处装逼。
 
8
2009-07-08 11:11 | 回复
MJJ很能到处装B啊,不就360的技术嘛。不要太狂啊。低调!
 
9
2009-07-14 01:27 | 回复
楼上不装,不低调....
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu