Code Injection Attacks on Harvard-Architecture Devices ABSTRACT

Saved in:
Bibliographic Details
Title: Code Injection Attacks on Harvard-Architecture Devices ABSTRACT
Authors: Aurélien Francillon, Claude Castelluccia
Contributors: The Pennsylvania State University CiteSeerX Archives
Source: http://planete.inrialpes.fr/~francill/Papers/Code_Injection_Harvard_francillon_ccs08.pdf.
Collection: CiteSeerX
Subject Terms: D.4.6 [Operating Systems, Security and Protection General Terms Experimentation, Security Keywords Harvard Architecture, Embedded Devices, Wireless Sensor Networks, Code Injection Attacks, Gadgets, Return Oriented Programming, Buffer Overflow, Computer Worms
Description: Harvard architecture CPU design is common in the embedded world. Examples of Harvard-based architecture devices are the Mica family of wireless sensors. Mica motes have limited memory and can process only very small packets. Stack-based buffer overflow techniques that inject code into the stack and then execute it are therefore not applicable. It has been a common belief that code injection is impossible on Harvard architectures. This paper presents a remote code injection attack for Mica sensors. We show how to exploit program vulnerabilities to permanently inject any piece of code into the program memory of an Atmel AVR-based sensor. To our knowledge, this is the first result that presents a code injection technique for such devices. Previous work only succeeded in injecting data or performing transient attacks. Injecting permanent code is more powerful since the attacker can gain full control of the target sensor. We also show that this attack can be used to inject a worm that can propagate through the wireless sensor network and possibly create a sensor botnet. Our attack combines different techniques such as return oriented programming and fake stack injection. We present implementation details and suggest some counter-measures.
Document Type: text
File Description: application/pdf
Language: English
Relation: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.140.5267; http://planete.inrialpes.fr/~francill/Papers/Code_Injection_Harvard_francillon_ccs08.pdf
Availability: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.140.5267
http://planete.inrialpes.fr/~francill/Papers/Code_Injection_Harvard_francillon_ccs08.pdf
Rights: Metadata may be used without restrictions as long as the oai identifier remains attached to it.
Accession Number: edsbas.6BC5DA12
Database: BASE
Description
Abstract:Harvard architecture CPU design is common in the embedded world. Examples of Harvard-based architecture devices are the Mica family of wireless sensors. Mica motes have limited memory and can process only very small packets. Stack-based buffer overflow techniques that inject code into the stack and then execute it are therefore not applicable. It has been a common belief that code injection is impossible on Harvard architectures. This paper presents a remote code injection attack for Mica sensors. We show how to exploit program vulnerabilities to permanently inject any piece of code into the program memory of an Atmel AVR-based sensor. To our knowledge, this is the first result that presents a code injection technique for such devices. Previous work only succeeded in injecting data or performing transient attacks. Injecting permanent code is more powerful since the attacker can gain full control of the target sensor. We also show that this attack can be used to inject a worm that can propagate through the wireless sensor network and possibly create a sensor botnet. Our attack combines different techniques such as return oriented programming and fake stack injection. We present implementation details and suggest some counter-measures.