Skip to main content
Erschienen in: The Journal of Supercomputing 3/2013

01.12.2013

Light-weight kernel instrumentation framework using dynamic binary translation

verfasst von: Dongwoo Lee, Inhyuk Kim, Jeehong Kim, Hyung Kook Jun, Won Tae Kim, Sangwon Lee, Young Ik Eom

Erschienen in: The Journal of Supercomputing | Ausgabe 3/2013

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Mobile platforms such as Android and iOS, which are based on typical operating systems, have been widely adopted in various computing devices from smart phones even to smart TVs. Along with this, the necessity of kernel instrumentation framework has also grown up for efficient development and debugging of a kernel itself and its components. Although the existing approaches are providing some information about the kernel state including physical register value and primitive memory map, it is hard for the developers to understand and exploit the information. Moreover, the excessive analysis overhead in the existing approach makes them impractical to be used in real systems. Meanwhile, there have been a few studies on analyzing the user-level applications using dynamic binary translation and they are now widely used. In this paper, by extending this idea of dynamic binary translation for user-level applications to the kernel, we propose a new dynamic kernel instrumentation framework. Our framework focuses on the modules such as device drivers, rather than the kernel itself, since the modules comprise a large portion of OS development. Because of the frequent execution of kernel modules, the dynamic kernel instrumentation framework should guarantee the quality of the translated target code. However, costly optimizations to achieve high execution performance are rather harmful to the overall performance. Therefore, in order to improve performance of both translations, we suggest light-weight translator based on pseudo-machine instruction representation and tabular-base translation instead of typical intermediate representation. We implement our framework on Linux system, and our experimental evaluations show that it could quite effectively instrument the target with nominal overhead.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Literatur
1.
Zurück zum Zitat Ackerman W et al. (2005) The Strace homepage Ackerman W et al. (2005) The Strace homepage
2.
Zurück zum Zitat Bala V, Duesterwald E, Banerjia S (2000) Dynamo: a transparent dynamic optimization system. In: ACM SIGPLAN notices, vol 35. ACM, New York, pp 1–12 Bala V, Duesterwald E, Banerjia S (2000) Dynamo: a transparent dynamic optimization system. In: ACM SIGPLAN notices, vol 35. ACM, New York, pp 1–12
3.
Zurück zum Zitat Best S (2005) Linux debugging and performance tuning: tips and techniques. Prentice Hall, New York Best S (2005) Linux debugging and performance tuning: tips and techniques. Prentice Hall, New York
4.
Zurück zum Zitat Branco R (2007) Ltrace internals. In: Linux symposium, p 41 Branco R (2007) Ltrace internals. In: Linux symposium, p 41
5.
Zurück zum Zitat Bruening D (2004) Efficient, transparent, and comprehensive runtime code manipulation. PhD thesis, Massachusetts Institute of Technology Bruening D (2004) Efficient, transparent, and comprehensive runtime code manipulation. PhD thesis, Massachusetts Institute of Technology
6.
Zurück zum Zitat Bungale P, Pinos CL (2007) A programmable framework for whole-system dynamic instrumentation. In: Proceedings of the 3rd international conference on virtual execution environments. ACM, New York, pp 137–147 CrossRef Bungale P, Pinos CL (2007) A programmable framework for whole-system dynamic instrumentation. In: Proceedings of the 3rd international conference on virtual execution environments. ACM, New York, pp 137–147 CrossRef
7.
Zurück zum Zitat Dinaburg A, Royal P, Sharif M, Lee W (2008) Ether: malware analysis via hardware virtualization extensions. In: Proceedings of the 15th ACM conference on computer and communications security. ACM, New York, pp 51–62 CrossRef Dinaburg A, Royal P, Sharif M, Lee W (2008) Ether: malware analysis via hardware virtualization extensions. In: Proceedings of the 15th ACM conference on computer and communications security. ACM, New York, pp 51–62 CrossRef
8.
Zurück zum Zitat Feiner P, Brown A, Goel A (2012) Comprehensive kernel instrumentation via dynamic binary translation. In: Proceedings of the 17th international conference on architectural support for programming languages and operating systems. ACM, New York, pp 135–146 Feiner P, Brown A, Goel A (2012) Comprehensive kernel instrumentation via dynamic binary translation. In: Proceedings of the 17th international conference on architectural support for programming languages and operating systems. ACM, New York, pp 135–146
9.
Zurück zum Zitat Gereaux A (2005) Linux kernel debugging. Dr Dobb’s J 30(11):51 Gereaux A (2005) Linux kernel debugging. Dr Dobb’s J 30(11):51
10.
Zurück zum Zitat Graham S, Kessler P, Mckusick M (1982) Gprof: a call graph execution profiler. ACM SIGPLAN Not 17(6):120–126 CrossRef Graham S, Kessler P, Mckusick M (1982) Gprof: a call graph execution profiler. ACM SIGPLAN Not 17(6):120–126 CrossRef
11.
Zurück zum Zitat Grothe D (2001) Kgdb: Linux kernel source level debugger Grothe D (2001) Kgdb: Linux kernel source level debugger
12.
Zurück zum Zitat Haardt M, Coleman M (1999) Ptrace (2) Haardt M, Coleman M (1999) Ptrace (2)
13.
Zurück zum Zitat Kiriansky V, Bruening D, Amarasinghe S (2002) Secure execution via program shepherding. In: Proceedings of the 11th USENIX security symposium, pp 191–206 Kiriansky V, Bruening D, Amarasinghe S (2002) Secure execution via program shepherding. In: Proceedings of the 11th USENIX security symposium, pp 191–206
14.
15.
Zurück zum Zitat Luk C, Cohn R, Muth R, Patil H, Klauser A, Lowney G, Wallace S, Reddi V, Pin KH (2005) Building customized program analysis tools with dynamic instrumentation. In: ACM SIGPLAN notices, vol 40. ACM, New York, pp 190–200 Luk C, Cohn R, Muth R, Patil H, Klauser A, Lowney G, Wallace S, Reddi V, Pin KH (2005) Building customized program analysis tools with dynamic instrumentation. In: ACM SIGPLAN notices, vol 40. ACM, New York, pp 190–200
16.
Zurück zum Zitat Nethercote N, Seward J (2007) Valgrind: a framework for heavyweight dynamic binary instrumentation. ACM SIGPLAN Not 42(6):89–100 CrossRef Nethercote N, Seward J (2007) Valgrind: a framework for heavyweight dynamic binary instrumentation. ACM SIGPLAN Not 42(6):89–100 CrossRef
17.
Zurück zum Zitat Seward J, Nethercote N (2005) Using Valgrind to detect undefined value errors with bit-precision. In: USENIX annual technical conference, pp 17–30 Seward J, Nethercote N (2005) Using Valgrind to detect undefined value errors with bit-precision. In: USENIX annual technical conference, pp 17–30
18.
Zurück zum Zitat Song D, Brumley D, Yin H, Caballero J, Jager I, Kang M, Liang Z, Newsome J, Poosankam P, Saxena P (2008) Bitblaze: a new approach to computer security via binary analysis. In: Information systems security, pp 1–25 CrossRef Song D, Brumley D, Yin H, Caballero J, Jager I, Kang M, Liang Z, Newsome J, Poosankam P, Saxena P (2008) Bitblaze: a new approach to computer security via binary analysis. In: Information systems security, pp 1–25 CrossRef
19.
Zurück zum Zitat Sridhar S, Shapiro J, Northup E, Bungale P (2006) Hdtrans: an open source, low-level dynamic instrumentation system. In: Proceedings of the 2nd international conference on virtual execution environments. ACM, New York, pp 175–185 CrossRef Sridhar S, Shapiro J, Northup E, Bungale P (2006) Hdtrans: an open source, low-level dynamic instrumentation system. In: Proceedings of the 2nd international conference on virtual execution environments. ACM, New York, pp 175–185 CrossRef
20.
Zurück zum Zitat Wimmer C, Franz M (2010) Linear scan register allocation on SSA form. In: Proceedings of the 8th annual IEEE/ACM international symposium on code generation and optimization. ACM, New York, pp 170–179 CrossRef Wimmer C, Franz M (2010) Linear scan register allocation on SSA form. In: Proceedings of the 8th annual IEEE/ACM international symposium on code generation and optimization. ACM, New York, pp 170–179 CrossRef
21.
Zurück zum Zitat Yaghmour K, Dagenais M (2000) The Linux trace toolkit. Linux J 73:54–57 Yaghmour K, Dagenais M (2000) The Linux trace toolkit. Linux J 73:54–57
22.
Zurück zum Zitat Zhang L, Krintz C (2004) Adaptive code unloading for resource-constrained JVMs. ACM SIGPLAN Not 39(7):155–164 CrossRefMATH Zhang L, Krintz C (2004) Adaptive code unloading for resource-constrained JVMs. ACM SIGPLAN Not 39(7):155–164 CrossRefMATH
23.
Zurück zum Zitat Zhang L, Krintz C (2004) Profile-driven code unloading for resource-constrained JVMs. In: Proceedings of the 3rd international symposium on principles and practice of programming in Java. Trinity College, Dublin, pp 83–90 Zhang L, Krintz C (2004) Profile-driven code unloading for resource-constrained JVMs. In: Proceedings of the 3rd international symposium on principles and practice of programming in Java. Trinity College, Dublin, pp 83–90
Metadaten
Titel
Light-weight kernel instrumentation framework using dynamic binary translation
verfasst von
Dongwoo Lee
Inhyuk Kim
Jeehong Kim
Hyung Kook Jun
Won Tae Kim
Sangwon Lee
Young Ik Eom
Publikationsdatum
01.12.2013
Verlag
Springer US
Erschienen in
The Journal of Supercomputing / Ausgabe 3/2013
Print ISSN: 0920-8542
Elektronische ISSN: 1573-0484
DOI
https://doi.org/10.1007/s11227-013-0954-3

Weitere Artikel der Ausgabe 3/2013

The Journal of Supercomputing 3/2013 Zur Ausgabe

Premium Partner