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 条
  • [41] OS-less Dynamic Binary Instrumentation for Embedded Firmware
    Oh, JinSeok
    Kim, Sungyu
    Jeong, Eunji
    Moon, Soo-Mook
    2015 IEEE SYMPOSIUM ON LOW-POWER AND HIGH-SPEED CHIPS, 2015,
  • [42] Dynamic binary instrumentation-based framework for malware defense
    Aaraj, Najwa
    Raghunathan, Anand
    Jha, Niraj K.
    DETECTION OF INTRUSIONS AND MALWARE, AND VULNERABILITY ASSESSMENT, 2008, 5137 : 64 - +
  • [43] An Empirical Evaluation of an Unpacking Method Implemented with Dynamic Binary Instrumentation
    Kim, Hyung Chan
    Orii, Tatsunori
    Yoshioka, Katsunari
    Inoue, Daisuke
    Song, Jungsuk
    Eto, Masashi
    Shikata, Junji
    Matsumoto, Tsutomu
    Nakao, Koji
    IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2011, E94D (09): : 1778 - 1791
  • [44] Boosted Binary Quantum Classifier via Graphical Kernel
    Li, Yuan
    Huang, Duan
    ENTROPY, 2023, 25 (06)
  • [45] Using Reservoir Sampling and Parallelization to Improve Dynamic Binary Instrumentation
    Upp, Brandon
    Meruga, Sai Pavan Kumar
    Hill, James H.
    2022 IEEE 25TH INTERNATIONAL SYMPOSIUM ON REAL-TIME DISTRIBUTED COMPUTING (ISORC 2022), 2022, : 27 - 33
  • [46] Evasion and Countermeasures Techniques to Detect Dynamic Binary Instrumentation Frameworks
    Santos Filho, Ailton
    Rodriguez, Ricardo J.
    Feitosa, Eduardo L.
    DIGITAL THREATS: RESEARCH AND PRACTICE, 2022, 3 (02):
  • [47] Evaluating Dynamic Binary Instrumentation Systems for Conspicuous Features and Artifacts
    D'Elia, Daniele Cono
    Invidia, Lorenzo
    Palmaro, Federico
    Querzoni, Leonardo
    DIGITAL THREATS: RESEARCH AND PRACTICE, 2022, 3 (02):
  • [48] Dynamic Binary Instrumentation and Data Aggregation on Large Scale Systems
    Gregory L. Lee
    Martin Schulz
    Dong H. Ahn
    Andrew Bernat
    Bronis R. de Supinski
    Steven Y. Ko
    Barry Rountree
    International Journal of Parallel Programming, 2007, 35 : 207 - 232
  • [49] COMPROF and COMPLACE: Shared-Memory Communication Profiling and Automated Thread Placement via Dynamic Binary Instrumentation
    Kirkpatrick, Ryan
    Brown, Christopher
    Janjic, Vladimir
    2022 IEEE 29TH INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING, DATA, AND ANALYTICS, HIPC, 2022, : 236 - 245
  • [50] Static Thread Mapping for NoCs via Binary Instrumentation Traces
    Salvador, Giordano
    Nilakantan, Siddharth
    Taskin, Baris
    Hempstead, Mark
    More, Ankit
    2014 32ND IEEE INTERNATIONAL CONFERENCE ON COMPUTER DESIGN (ICCD), 2014, : 517 - 520