Reference Hub5
Katana: Towards Patching as a Runtime Part of the Compiler-Linker-Loader Toolchain

Katana: Towards Patching as a Runtime Part of the Compiler-Linker-Loader Toolchain

Sergey Bratus, James Oakley, Ashwin Ramaswamy, Sean W. Smith, Michael E. Locasto
Copyright: © 2010 |Volume: 1 |Issue: 3 |Pages: 17
ISSN: 1947-3036|EISSN: 1947-3044|EISBN13: 9781609608958|DOI: 10.4018/jsse.2010070101
Cite Article Cite Article

MLA

Bratus, Sergey, et al. "Katana: Towards Patching as a Runtime Part of the Compiler-Linker-Loader Toolchain." IJSSE vol.1, no.3 2010: pp.1-17. http://doi.org/10.4018/jsse.2010070101

APA

Bratus, S., Oakley, J., Ramaswamy, A., Smith, S. W., & Locasto, M. E. (2010). Katana: Towards Patching as a Runtime Part of the Compiler-Linker-Loader Toolchain. International Journal of Secure Software Engineering (IJSSE), 1(3), 1-17. http://doi.org/10.4018/jsse.2010070101

Chicago

Bratus, Sergey, et al. "Katana: Towards Patching as a Runtime Part of the Compiler-Linker-Loader Toolchain," International Journal of Secure Software Engineering (IJSSE) 1, no.3: 1-17. http://doi.org/10.4018/jsse.2010070101

Export Reference

Mendeley
Favorite Full-Issue Download

Abstract

The mechanics of hot patching (the process of upgrading a program while it executes) remain understudied, even though it offers capabilities that act as practical benefits for both consumer and mission-critical systems. A reliable hot patching procedure would serve particularly well by reducing the downtime necessary for critical functionality or security upgrades. However, hot patching also carries the risk—real or perceived—of leaving the system in an inconsistent state, which leads many owners to forgo its benefits as too risky; for systems where availability is critical, this decision may result in leaving systems un-patched and vulnerable. In this paper, the authors present a novel method for hot patching ELF binaries that supports synchronized global data and code updates, and reasoning about the results of applying the hot patch. In this regard, the Patch Object format was developed to encode patches as a special type of ELF re-locatable object file. The authors then built a tool, Katana, which automatically creates these patch objects as a by-product of the standard source build process. Katana also allows an end-user to apply the Patch Objects to a running process.

Request Access

You do not own this content. Please login to recommend this title to your institution's librarian or purchase it from the IGI Global bookstore.