HackerPapers

arXiv:0901.3482cs.CR

Code injection attacks on harvard-architecture devices

Aurélien Francillon, Claude Castelluccia

Early discovery. Linked by one identifiable commenter. This paper is outside the main ranking; a mention is not an endorsement.

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.

arXiv comments
Journal reference
CCS '08: Proceedings of the 15th ACM conference on Computer and communications security (2008) 15--26
DOI
Subjects
cs.CRCryptography and Security

On Hacker News

Linked by 1 identifiable commenter in 1 comment across 1 thread, from Apr 2010 to Apr 2010.

Comments linking this paper, per year.

Discussed in comments1 thread

    • The interesting thing about return oriented programming is that it can even work on devices with harvard architecture, where code and user data are stored in completely separate memory areas (which was seen a a guarantee against code injection until quite recently)…

      fharsView on HNParent context

Submitted to Hacker News

Connected through shared HN threads, not inferred similarity or a recommendation.