Toggle navigation
Home
People
Projects
Documents
Products
Courses
Login
Editing document
Tryear
Trmonth
Trnumber
Title
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 sandboxed 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.
Filename
File
Urlpdfpaper
Urlsrcpaper
Urlpdfpresentation
Urlsrcpresentation
Urlavmedia
Urldoi
Urlpublisher
Urlgooglescholar
Urlciteseer
Pubin
Pubvol
Pubnum
Pubnum end
Pubpagefirst
Pubpagelast
Pubpagecount
Pubdate
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
January
February
March
April
May
June
July
August
September
October
November
December
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Pubdate end
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
January
February
March
April
May
June
July
August
September
October
November
December
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Pubplace
Publisher
Ispublic
Islabdocument
Miscattributes
Document category
Main research area
Show
|
Back