Comprehensive Kernel Instrumentation via Dynamic Binary Translation

被引:0
|
作者
Feiner, Peter [1 ]
Brown, Angela Demke [1 ]
Goel, Ashvin [1 ]
机构
[1] Univ Toronto, Toronto, ON M5S 1A1, Canada
基金
加拿大自然科学与工程研究理事会;
关键词
Design; Performance; Dynamic binary translation; operating system instrumentation; Linux; interrupts;
D O I
10.1145/2248487.2150992
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Dynamic binary translation (DBT) is a powerful technique that enables fine-grained monitoring and manipulation of an existing program binary. At the user level, it has been employed extensively to develop various analysis, bug-finding, and security tools. Such tools are currently not available for operating system (OS) binaries since no comprehensive DBT framework exists for the OS kernel. To address this problem, we have developed a DBT framework that runs as a Linux kernel module, based on the user-level DynamoRIO framework. Our approach is unique in that it controls all kernel execution, including interrupt and exception handlers and device drivers, enabling comprehensive instrumentation of the OS without imposing any overhead on user-level code. In this paper, we discuss the key challenges in designing and building an in-kernel DBT framework and how the design differs from user-space. We use our framework to build several sample instrumentations, including simple instruction counting as well as an implementation of shadow memory for the kernel. Using the shadow memory, we build a kernel stack overflow protection tool and a memory addressability checking tool. Qualitatively, the system is fast enough and stable enough to run the normal desktop workload of one of the authors for several weeks.
引用
收藏
页码:135 / 146
页数:12
相关论文
共 50 条
  • [31] Binary Mutation Testing Through Dynamic Translation
    Becker, Markus
    Kuznik, Christoph
    Joy, Mabel Mary
    Xie, Tao
    Mueller, Wolfgang
    2012 42ND ANNUAL IEEE/IFIP INTERNATIONAL CONFERENCE ON DEPENDABLE SYSTEMS AND NETWORKS (DSN), 2012,
  • [32] Optimizing dynamic binary translation for SIMD instructions
    Li, Jianhui
    Zhang, Qi
    Xu, Shu
    Huang, Bo
    CGO 2006: 4TH INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION, 2006, : 269 - +
  • [33] Hardware-Accelerated Dynamic Binary Translation
    Rokicki, Simon
    Rohou, Erven
    Derrien, Steven
    PROCEEDINGS OF THE 2017 DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION (DATE), 2017, : 1062 - 1067
  • [34] Machine-adaptable dynamic binary translation
    Ung, D
    Cifuentes, C
    ACM SIGPLAN NOTICES, 2000, 35 (07) : 41 - 51
  • [35] Dynamic binary translation delivers program portability
    Wong, W
    ELECTRONIC DESIGN, 2001, 49 (25) : 34 - +
  • [36] Exploiting Vector Processing in Dynamic Binary Translation
    Lin, Chih-Min
    Fu, Sheng-Yu
    Hong, Ding-Yong
    Liu, Yu-Ping
    Wu, Jan-Jan
    Hsu, Wei-Chung
    PROCEEDINGS OF THE 48TH INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING (ICPP 2019), 2019,
  • [37] Dynamic Binary Translation Specialized for Embedded Systems
    Kondoh, Goh
    Komatsu, Hideaki
    ACM SIGPLAN NOTICES, 2010, 45 (07) : 157 - 166
  • [38] Low Overhead Dynamic Binary Translation on ARM
    d'Antras, Amanieu
    Gorgovan, Cosmin
    Garside, Jim
    Lujan, Mikel
    ACM SIGPLAN NOTICES, 2017, 52 (06) : 333 - 346
  • [39] Scalable Support for Multithreaded Applications on Dynamic Binary Instrumentation Systems
    Hazelwood, Kim
    Lueck, Greg
    Cohn, Robert
    ISMM'09: PROCEEDINGS OF THE 2009 ACM SIGPLAN INTERNATIONAL SYMPOSIUM ON MEMORY MANAGEMENT, 2009, : 20 - 29
  • [40] Dynamic binary instrumentation and data aggregation on large scale systems
    Lee, Gregory L.
    Schulz, Martin
    Ahn, Dong H.
    Bernat, Andrew
    de Supinski, Bronis R.
    Ko, Steven Y.
    Rountree, Barry
    INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2007, 35 (03) : 207 - 232