• DocumentCode
    2045683
  • Title

    Harbor: Software-based Memory Protection For Sensor Nodes

  • Author

    Kumar, Ram ; Kohler, Eddie ; Srivastava, Mani

  • Author_Institution
    Univ.of California at Los Angeles, Los Angeles
  • fYear
    2007
  • fDate
    25-27 April 2007
  • Firstpage
    340
  • Lastpage
    349
  • Abstract
    Many sensor nodes contain resource constrained microcontrollers where user level applications, operating system components, and device drivers share a single address space with no form of hardware memory protection. Programming errors in one application can easily corrupt the state of the operating system or other applications. In this paper, we propose Harbor, a memory protection system that prevents many forms of memory corruption. We use software based fault isolation ("sandboxing") to restrict application memory accesses and control flow to protection domains within the address space. A flexible and efficient memory map data structure records ownership and layout information for memory regions; writes are validated using the memory map. Control flow integrity is preserved by maintaining a safe stack that stores return addresses in a protected memory region. Run-time checks validate computed control flow instructions. Cross domain calls perform low-overhead control transfers between domains. Checks are introduced by rewriting an application\´s compiled binary. The sand- boxed result is verified on the sensor node before it is admitted for execution. Harbor\´s fault isolation properties depend only on the correctness of this verifier and the Harbor runtime. We have implemented and tested Harbor on the SOS operating system. Harbor detected and prevented memory corruption caused by programming errors in application modules that had been in use for several months. Harbor\´s overhead, though high, is less than that of application-specific virtual machines, and reasonable for typical sensor workloads.
  • Keywords
    fault location; integrated memory circuits; microcontrollers; operating systems (computers); virtual machines; wireless sensor networks; Harbor; application-specific virtual machines; control flow integrity; cross domain calls; device drivers; fault isolation; hardware memory protection; memory corruption; memory map; programming errors; resource constrained microcontrollers operating system components; run-time checks; sandboxing; sensor nodes; software-based memory protection; Application software; Computer aided instruction; Data structures; Hardware; Microcontrollers; Operating systems; Protection; Runtime; Sensor systems and applications; System testing; Design; Memory Protection; Performance; Reliability; Software Fault Isolation;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Information Processing in Sensor Networks, 2007. IPSN 2007. 6th International Symposium on
  • Conference_Location
    Cambridge, MA
  • Print_ISBN
    978-1-59593-638-7
  • Type

    conf

  • DOI
    10.1109/IPSN.2007.4379694
  • Filename
    4379694