Ten Years

十年一剑!
-------------------------------------------------
Operating System Research / Technique

Sunday, October 08, 2006

(OSDI'02 Note)ReVirt: Enabling Intrusion Analysis through Virtual-Machine Logging and Replay


ReVirt: Enabling Intrusion Analysis through Virtual-Machine Logging and Replay
George W. Dunlap et al.
OSDI 2002


本文讨论了在VMM基础上利用Log机制实现攻击分析。又是一篇讨论攻击(Intrusion)分析的论文,而且包含热门关键词(VMM)。其中为了Logging/Replay,又牵涉到了Fault-Tolerance的一些技术。


本文提出了目前的log机制无法满足以下两点:


Integrity: 对kernel过于信任,攻击者可以对Log文件进行任意的改动,或者制造很多无用Log信息混淆视听。本文的解决方法是把整个系统放在VM中运行,将Log的层次放在VM之下。由于VM的接口相对于OS来说要窄得多,所以记录下的事件也就相对来说少了很多个数量级。


Completeness: 没有记录下重现攻击所必需的信息,导致最后对攻击的很多判断不得不靠猜测。本文的解决方法是使用fault-tolerance的技术,如checkpointing, logging, roll-forward recovery等。


本文的实现以UMLinux为基础(UMLinux,即User Mode Linux,与User-Mode Linux是两个不同的虚拟机。前者将虚拟机和虚拟机上运行的所有的应用程序作为一个进程,而后者则为虚拟机上的每一个应用程序单独开一个进程)。ReVirt是在UMLinux之下的Logger,它会记录下所有的确定性和非确定性事件,从而能做到完全回放。产生的Log大小可以接受,能够长时间(几个月)的在一块本地硬盘上记录Log。


PS: 再想一下,这样做会有什么不足呢?我能想到的只有:



  1. 引入虚拟机后带来的性能下降,导致与真实情况存在差异

  2. 无法证明记录虚拟机产生的时间与记录OS产生的事件等价

  • At 2:53 PM, Blogger Andy Yang said…

    我没注意UML和UMLinux是两个不同的VMM,怎么回事?
     

  • At 10:07 PM, Blogger water said…

    两个vmm的描述看不懂哦!
     

Post a Comment

2 Comments:

  • At 2:53 PM, Blogger Andy Yang said…

    我没注意UML和UMLinux是两个不同的VMM,怎么回事?

     
  • At 10:07 PM, Blogger water said…

    两个vmm的描述看不懂哦!

     

Post a Comment

<< Home