AIT: A method for operating system kernel function call graph generation with a virtualization technique

Longlong Jiao, Senlin Luo, Wangtong Liu, Limin Pan*

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

Abstract

Operating system (OS) kernel function call graphs have been widely used in OS analysis and defense. However, most existing methods and tools for generating function call graphs are designed for application programs, and cannot be used for generating OS kernel function call graphs. This paper proposes a virtualization-based call graph generation method called Acquire in Trap (AIT). When target kernel functions are called, AIT dynamically initiates a system trap with the help of a virtualization technique. It then analyzes and records the calling relationships for trap handling by traversing the kernel stacks and the code space. Our experimental results show that the proposed method is feasible for both Linux and Windows OSs, including 32 and 64-bit versions, with high recall and precision rates. AIT is independent of the source code, compiler and OS kernel architecture, and is a universal method for generating OS kernel function call graphs.

Original languageEnglish
Pages (from-to)2084-2100
Number of pages17
JournalKSII Transactions on Internet and Information Systems
Volume14
Issue number5
DOIs
Publication statusPublished - 31 May 2020

Keywords

  • Function call graph
  • Operating system kernel
  • System trap
  • Virtualization

Fingerprint

Dive into the research topics of 'AIT: A method for operating system kernel function call graph generation with a virtualization technique'. Together they form a unique fingerprint.

Cite this