skip to main content
10.1145/2576195.2576213acmconferencesArticle/Chapter ViewAbstractPublication PagesveeConference Proceedingsconference-collections
research-article

DBILL: an efficient and retargetable dynamic binary instrumentation framework using llvm backend

Published:01 March 2014Publication History

ABSTRACT

Dynamic Binary Instrumentation (DBI) is a core technology for building debugging and profiling tools for application executables. Most state-of-the-art DBI systems have focused on the same instruction set architecture (ISA) where the guest binary and the host binary have the same ISA. It is uncommon to have a cross-ISA DBI system, such as a system that instruments ARM executables to run on x86 machines. We believe cross-ISA DBI systems are increasingly more important, since ARM executables could be more productively analyzed on x86 based machines such as commonly available PCs and servers. In this paper, we present DBILL, a cross-ISA and re- targetable dynamic binary instrumentation framework that builds on both QEMU and LLVM. The DBILL framework enables LLVM-based static instrumentation tools to become DBI ready, and deployable to different target architectures. Using address sanitizer and memory sanitizer as implementation examples, we show DBILL is an efficient, versatile and easy to use cross-ISA retargetable DBI framework.

References

  1. Address sanitizer algorithm. https://code.google.com/p/address-sanitizer/wiki/AddressSanitizerAlgorithm.Google ScholarGoogle Scholar
  2. Dataflow sanitizer. http://clang.llvm.org/docs/DataFlowSanitizer.html.Google ScholarGoogle Scholar
  3. Memory sanitizer. https://code.google.com/p/memory-sanitizer/.Google ScholarGoogle Scholar
  4. Dynamically translating x86 to llvm using qemu. http://infoscience.epfl.ch/record/149975/files/x86-llvm-translator-chipounov2.pdf.Google ScholarGoogle Scholar
  5. Thread sanitizer. https://code.google.com/p/thread-sanitizer/.Google ScholarGoogle Scholar
  6. F. Bellard. QEMU, a fast and portable dynamic translator. USENIX ATC'05. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. D. Bruening and Q. Zhao. Practical memory checking with dr. memory. CGO '11. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. D. Bruening, T. Garnett, and S. Amarasinghe. An infrastructure for adaptive dynamic optimization. CGO '03. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. V. Chipounov and G. Candea. Enabling sophisticated analyses of x86 binaries with revgen. DSNW '11. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. D.-Y. Hong, C.-C. Hsu, P.-C. Yew, J.-J. Wu, W.-C. Hsu, P. Liu, C.-M. Wang, and Y.-C. Chung. HQEMU: A multi- threaded and retargetable dynamic binary translator on multi-cores. CGO '12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. C.-C. Hsu, P. Liu, C.-M. Wang, J.-J. Wu, D.-Y. Hong, P.-C. Yew, and W.-C. Hsu. LnQ: Building high performance dynamic binary translators with existing compiler backends. ICPP '11. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. C. Lattner and V. Adve. LLVM: A compilation framework for lifelong program analysis & transformation. CGO '04. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. C.-K. Luk, R. Cohn, R. Muth, H. Patil, A. Klauser, G. Lowney, S. Wallace, V. J. Reddi, and K. Hazelwood. Pin: Building customized program analysis tools with dynamic instrumentation. PLDI '05. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. N. Nethercote and J. Seward. Valgrind: A framework for heavyweight dynamic binary instrumentation. PLDI '07. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. M. Payer and T. R. Gross. Fine-grained user-space security through virtualization. VEE '11. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. M. Payer, E. Kravina, and T. R. Gross. Lightweight memory tracing. USENIX ATC'13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. F. Qin, C. Wang, Z. Li, H.-s. Kim, Y. Zhou, and Y. Wu. LIFT: A low-overhead practical information flow tracking system for detecting security attacks. MICRO '06. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. K. Serebryany, D. Bruening, A. Potapenko, and D. Vyukov. AddressSanitizer: A fast address sanity checker. USENIX ATC'12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. C. Wang, S. Hu, H.-s. Kim, S. R. Nair, M. Breternitz, Z. Ying, and Y. Wu. StarDBT: An efficient multi-platform dynamic binary translation system. ACSAC '07. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. R. Whelan, T. Leek, and D. Kaeli. Architecture-independent dynamic information flow tracking. CC '13. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. DBILL: an efficient and retargetable dynamic binary instrumentation framework using llvm backend

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      VEE '14: Proceedings of the 10th ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
      March 2014
      236 pages
      ISBN:9781450327640
      DOI:10.1145/2576195

      Copyright © 2014 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 1 March 2014

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      VEE '14 Paper Acceptance Rate18of56submissions,32%Overall Acceptance Rate80of235submissions,34%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader