加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.52wenzhou.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 空间 > 正文

【硬件虚拟化】远离kernel的理想乡

发布时间:2018-12-29 15:42:31 所属栏目:空间 来源:三寸法师
导读:简介 这个故事描述了如何使用硬件虚拟化(HVM)使得自己的一些hook代码远离内核不容易被其他内核hook所影响并且较难被检测。本文的思路来源于某学校的动态linux内核更新的玩意,代码大量抄自bluepill。 第一章 (Avalon) 阿瓦隆的黎明 由于驱动牛人越来越多系

部分代码:

  1. static BOOLEAN NTAPI VmxDispatchException ( 
  2.  PCPU Cpu, 
  3.  PGUEST_REGS GuestRegs, 
  4.  PNBP_TRAP Trap, 
  5.  BOOLEAN WillBeAlsoHandledByGuestHv 
  6.  
  7.  
  8. ... 
  9.  
  10.  //SETP 7. SET EIP 
  11.  
  12.  if((uIntrInfo & 0xff) == 1){ 
  13.   ComPrint("VmxDispatchException():#BD hit  /n"); 
  14.   VmxWrite(GUEST_RIP,Avlkrnlinfo->Fake_IDTMap[0]); 
  15.  } 
  16.  else if ((uIntrInfo & 0xff) == 3){ 
  17.   ComPrint("VmxDispatchException():#BP hit /n"); 
  18.   VmxWrite(GUEST_RIP,Avlkrnlinfo->Fake_IDTMap[1]);} 
  19.  
  20. ... 
  21.  

第三章 理想乡的黄昏

一、(Avalon)阿瓦隆的检测

对于基于硬件虚拟化(HVM)的程序,首先想到的方法必然就是直接检测和对抗硬件虚拟化。

对硬件虚拟化的检测主要有:efer的检测,vme的检测。

对于处理了中断的vmm还能通过计算中断前后的时间差来判断自身是否在虚拟机中。

当然针对Avalon还有其他的检测方法(此处省略xx字)

二、未来的更新

Avalon才刚刚开始功能并不完善,还有好多功能想加进去:

1、将内核移入EPT(NPT)让你完全看不到

2、 和ring3程序交互…

3、其他隐藏功能

总结

Avalon只是硬件虚拟化应用的冰山一角,还有更多的应用等待着我们去探索,小弟的水平有限以后还要向各位高手多多请教继续努力学习。

该bin测试环境如下:

bochs2.4.5

windows xp sp3

注意:这个bin只是个简单的样品,真机上运行必蓝,且只针对ring0的中断,ring3有3处bug未修复。

【编辑推荐】

  1. 云应用的左膀右臂:虚拟化和安全
  2. 桌面虚拟化中的3D虚拟化解决方案经验总结
  3. 各种虚拟化技术,你知道几个?
  4. 虚拟化核心网大区部署探讨
  5. 趋势 | 虚拟化败北,云、SDN、SD-WAN勇夺C位!
【责任编辑:武晓燕 TEL:(010)68476606】
点赞 0

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读