RUS  ENG
Full version
JOURNALS // Proceedings of the Institute for System Programming of the RAS // Archive

Proceedings of ISP RAS, 2024, Volume 36, Issue 3, Pages 123–138 (Mi tisp892)

Declarative Approach to Virtual Machine Introspection

V. M. Stepanova, P. M. Dovgalyukab, N. I. Fursovaa

a Ivannikov Institute for System Programming of the RAS
b Yaroslav-the-Wise Novgorod State University

Abstract: The prominent problem in memory dump analysis and virtual machine introspection approaches is a semantic gap. Availability of debug symbols or knowledge about kernel data structures offsets is very important for retrieving high-level information from binary code. A set of information about kernel data structures field offsets is called an OS profile. Methods of generating such profiles are based on guest agents, debug symbols, source code compilation or binary analysis. Using only binary analysis makes it possible to do research with a minimal knowledge about analyzed guest OS. In this paper we present a novel approach for OS profile generating. It is based on system call tracing and comparison between data obtained from application binary interface and data extracted from expected locations of kernel structures. The advantage of this solution is scalability for supporting different guest systems. While other existing approaches use heuristics based on handling Linux kernel functions that access the fields, the current approach suggests using heuristics that are similar across different OS families. We also suggest a method of describing heuristic algorithms for profile generation that simplifies understanding of them and makes them more resistant to changes between OS versions.

Keywords: virtual machines, monitoring, QEMU, introspection

DOI: 10.15514/ISPRAS-2024-36(3)-9



© Steklov Math. Inst. of RAS, 2024