Page 335 - 《软件学报》2021年第10期
P. 335
陈兴蜀 等:VMOffset:虚拟机自省中一种语义重构改进方法 3307
TVM 内核版本不敏感,但其重构进程链表需 1 分钟左右,且仅能重构进程号及进程名称.对比之下,VMOffset 具
有内核版本无关性,无需额外引入 SVM 或访问 TVM,其可重构的进程级语义较为丰富,且重构效率高、性能损
耗小;此外,VMOffset 所得进程偏移量可作为一个信息段随 TVM 的迁移而迁移,具有较强的通用性与可移植性.
Table 5 Comparison of VMOffset and other VMI methods
表 5 VMOffset 与其他 VMI 方法的对比
方法 内核源码 安全虚拟机 访问目标虚拟机 内核版本敏感 性能&效率
VMwatcher [20] 需要 不需要 不需要 敏感 一般
Virtuoso [14] 不需要 需要 不需要 敏感 较差
VMST [15] 不需要 需要 不需要 敏感 较差
[9]
Volatility 不需要 不需要 需要 敏感 较好
Libvmi [10] 不需要 不需要 需要 敏感 较好
[3]
vDetector 不需要 不需要 需要 敏感 较好
HyperLink [27] 不需要 不需要 不需要 不敏感 一般
ModSG [28] 不需要 不需要 不需要 敏感 一般
VMOffset 不需要 不需要 不需要 不敏感 较好
4 结 语
本文针对现有虚拟机自省方法中存在的实现过程与 TVM 内核版本相关、移植性差、系统执行效率不高
的问题,提出了一种虚拟机自省中的语义重构改进方法 VMOffset.VMOffset 基于 KVM-QEMU 虚拟化平台实
现,可在未知 TVM 内核版本的前提下,自动获取 TVM 中进程偏移量并提供给自研或开源 VMI 工具完成语义重
构,具有较好的可移植性与安全性.VMOffset 无需修改 TVM,在 TVM 启动阶段完成进程偏移量的获取,执行效
率较高,且引入的性能损耗在 0.05%以内.同时,VMOffset 也存在一些局限性,如要求硬件虚拟化技术为 Intel
VT-x,且目前仅支持 Linux 操作系统的 TVM.在下一步的工作中,将探索 VMOffset 对 Linux 以外操作系统的支
持,并丰富 VMOffset 在重构文件、网络连接等信息上的功能,实现更强的通用性及更细粒度的虚拟机自省.
References:
[1] Garfinkel T, Rosenblum M. A virtual machine introspection based architecture for intrusion detection. In: Neuman C, ed. Proc. of
the Network and Distributed Systems Security Symp. Washington: Internet Society, 2003. 191206.
[2] Li BH, Xu KF, Zhang P, Guo L, Hu Y, Fang BX. Research and application progress of virtual machine introspection technology.
Ruan Jian Xue Bao/Journal of Software, 2016,27(6):13841401 (in Chinese with English abstract). http://www.jos.org.cn/1000-
9825/5006.htm [doi: 10.13328/j.cnki.jos.005006]
[3] Li B, Wo TY, Hu CM, Li JX, Wang Y, Huai JP. Hidden OS objects correlated detection technology based on VMM. Ruan Jian Xue
Bao/Journal of Software, 2013,24(2):405420 (in Chinese with English abstract). http://www.jos.org.cn/1000-9825/24/405.htm
[doi: cnki:sun:rjxb.0.2013-02-017]
[4] Pfoh J, Schneider C, Eckert C. A formal model for virtual machine introspection. In: Nieh J, Stavrou A, eds. Proc. of the 1st ACM
Workshop on Virtual Machine Security. New York: ACM, 2009. 110. [doi: 10.1145/1655148.1655150]
[5] Dinaburg A, Royal P, Sharif M, Lee W. Ether: Malware analysis via hardware virtualization extensions. In: Ning P, ed. Proc. of the
15th ACM Conf. on Computer and Communications Security. New York: ACM, 2008. 5162. [doi: 10.1145/1455770.1455779]
[6] Xiong X, Tian D, Liu P. Practical protection of kernel integrity for commodity OS from untrusted extensions. In: Proc. of the 18th
Annual Network and Distributed System Security Symp. Washington: Internet Society, 2011. 117.
[7] Jain B, Baig MB, Zhang DL, Porter DE, Sion R. SOK: Introspections on trust and the semantic GAP. In: Proc. of the 2014 IEEE
Symp. on Security and Privacy (SP). Washington: IEEE Computer Society, 2014. 605620. [doi: 10.1109/SP.2014,45]
[8] Vogl S, Kilic F, Schneider C, Eckert C. X-TIER: Kernel module injection. In: Lopez J, Huang XY, Sandhu R, eds. Proc. of the
Network and System Security. LNCS 7873, 2013. 192205. [doi: 10.1007/978-3-642-38631-2_15]
[9] Volatility. Volatile memory analysis framework. https://github.com/volatilityfoundation/volatility