Archive for the ‘vmi’ tag
特权高就是好
Virtual Machine Introspection就是说只看不改。要是改一下数据会怎么样?
今天就干了这事,在Xen的层面把程序的代码内容给改掉了。简单点说,这就是一种代码注入。
有趣的地方是,改了的机器码最后反映到程序映像之中了。想了一下,大概是因为代码段是以文件映射的方式映射到内存之中的,程序退出的时候会让磁盘上的文件和内存中的内容同步。
往好的方面想,这样的功能是目前最强的hot patch方式。一方面可以on the fly地改进程,另一方面顺带把映像也改了。
往不好的方面想,这样的功能就太可怕了,自己的程序被改了也不知道,重新启动也不成。
不过我原来没有料到会有映像的同步。我一向的理解是这样的只读映射最后只需要把内容丢弃就可以了,代码以后有机会再看吧。