Software-Based Memory Protection In Sensor Nodes

Typical sensor nodes are resource constrained microcontrollers containing user level applications, operating system components, and device drivers in a single address space, with no form of memory protection. A programming error in an application can easily corrupt the state of the operating system and other software components on the node. In this paper, we propose a memory protection scheme that prevents the corruption of operating system state by buggy applications. We use sandboxing to restrict application memory accesses within the address space. Severe resource constraints on the sensor node present interesting challenges in designing a sandbox for user applications. We have implemented and tested our scheme on the SOS operating system. Our experiments were able to detect a memory corruption bug in an application module that had been in use for several months.

[1]  Robert Wahbe,et al.  Efficient software-based fault isolation , 1994, SOSP '93.

[2]  Krste Asanovic,et al.  Mondrian memory protection , 2002, ASPLOS X.

[3]  George C. Necula,et al.  CIL: Intermediate Language and Tools for Analysis and Transformation of C Programs , 2002, CC.

[4]  David E. Culler,et al.  Taming the underlying challenges of reliable multihop routing in sensor networks , 2003, SenSys '03.

[5]  Matt Welsh,et al.  Sensor networks for emergency response: challenges and opportunities , 2004, IEEE Pervasive Computing.

[6]  Deborah Estrin,et al.  A sensor network application construction kit (SNACK) , 2004, SenSys '04.

[7]  David E. Culler,et al.  Active sensor networks , 2005, NSDI.

[8]  Eddie Kohler,et al.  SOS: A Dynamic Operating System for Sensor Networks , 2005 .

[9]  Jonathan W. Hui,et al.  T 2 : A Second Generation OS For Embedded Sensor Networks , 2005 .

[10]  Jens Palsberg,et al.  Avrora: scalable sensor network simulation with precise timing , 2005, IPSN 2005. Fourth International Symposium on Information Processing in Sensor Networks, 2005..

[11]  Deborah Estrin,et al.  Sympathy for the sensor network debugger , 2005, SenSys '05.

[12]  David E. Culler,et al.  Design of a wireless sensor network platform for detecting rare, random, and ephemeral events , 2005, IPSN 2005. Fourth International Symposium on Information Processing in Sensor Networks, 2005..

[13]  Brian N. Bershad,et al.  Improving the reliability of commodity operating systems , 2005, TOCS.

[14]  Mark D. Yarvis,et al.  Design and deployment of industrial sensor networks: experiences from a semiconductor plant and the north sea , 2005, SenSys '05.