Title :
A System For Coarse Grained Memory Protection In Tiny Embedded Processors
Author :
Kumar, Ram ; Singhania, Akhilesh ; Castner, Andrew ; Kohler, Eddie ; Srivastava, Mani
Author_Institution :
Univ. of California at Los Angeles, Los Angeles
Abstract :
Many embedded systems contain resource constrained microcontrollers where applications, operating system components and device drivers reside within a single address space with no form of memory protection. Programming errors in one application can easily corrupt the state of the operating system and other applications on the microcontroller. In this paper we propose a system that provides memory protection in tiny embedded processors. . Our system consists of a software run-time working with minimal low-cost architectural extensions to the processor core that prevents corruption of state by buggy applications. We restrict memory accesses and control flow of applications to protection domains within the address space. The software run-time consists of a Memory map: a flexible and efficient data structure that records ownership and layout information of the entire address space. Memory map checks are done for store instructions by hardware accelerators that significantly improve the performance of our system. We preserve control flow integrity by maintaining a Safe stack that stores return addresses in a protected memory region. Cross domain function calls are redirected through a software based jump table. Enhancements to the microcontroller call and return instructions use the jump table to track the current active domain. We have implemented our scheme on a VHDL model of ATMEGA103 microcontroller. Our evaluations show that embedded applications can enjoy the benefits of memory protection with minimal impact on performance and a modest increase in the area of the microcontroller.
Keywords :
data structures; fault diagnosis; hardware-software codesign; microcontrollers; software fault tolerance; storage management; ATMEGA103 microcontroller; VHDL model; address space; application control flow; buggy applications; coarse grained memory protection; control flow integrity; cross domain function calls; data structure; device drivers; embedded processors; hardware accelerators; memory access; memory map; microcontroller call; operating system components; resource constrained microcontrollers; return instructions; software based jump table; state corruption; Application software; Computer architecture; Costs; Embedded software; Embedded system; Microcontrollers; Operating systems; Power system protection; Random access memory; Runtime; Design; Memory Protection; Performance; Reliability; Software Fault Isolation;
Conference_Titel :
Design Automation Conference, 2007. DAC '07. 44th ACM/IEEE
Conference_Location :
San Diego, CA
Print_ISBN :
978-1-59593-627-1