Making small embedded systems secure and dependable
Abstract/Contents
- Abstract
- Low-power, low-cost embedded microcontrollers (MCUs) are frequently used in security-critical settings. Recent systems advances, such as type-safe languages and standardized protocols, improve security and dependability, but add additional software to a system. MCU-based embedded systems, however, have limited flash memory, so minimizing code size is extremely important. As a result, code size limits lead many embedded systems to use C code and custom protocols, with all of the security implications that brings. This dissertation shows that new techniques and principles allow embedded systems to have the security and dependability benefits of modern "big system" programming practices and protocols while keeping code size small. First, this dissertation focuses on the use of Rust --- a modern, memory-safe programming language --- in embedded systems. I present evidence that idiomatic Rust code generates binaries 50-100% larger than similar C code. I characterize and quantify several major sources of this increase. I describe a set of Rust programming principles that reduce the size of Rust binaries, and evaluate these on an industrial Rust firmware application. I also discuss a collection of compiler optimizations that could further reduce Rust binary sizes. Second, this dissertation examines 6LoWPAN, the standard IP protocol design for low-power devices. Despite 6LowPAN being an IETF standard, different 6LoWPAN implementations often fail to communicate with each other. Their failures stem from 6LoWPAN's design, particularly the implications code size limits have on implementations. I propose three design principles for Internet protocols on low-power networks that prevent such failures, and evaluate these by using them to design a modified 6LoWPAN specification. This modified 6LoWPAN enables interoperable implementations across a wide variety of code size budgets.
Description
Type of resource | text |
---|---|
Form | electronic resource; remote; computer; online resource |
Extent | 1 online resource. |
Place | California |
Place | [Stanford, California] |
Publisher | [Stanford University] |
Copyright date | 2023; ©2023 |
Publication date | 2023; 2023 |
Issuance | monographic |
Language | English |
Creators/Contributors
Author | Ayers, Hudson Randal |
---|---|
Degree supervisor | Levis, Philip |
Thesis advisor | Levis, Philip |
Thesis advisor | Engler, Dawson R |
Thesis advisor | Levy, Amit |
Degree committee member | Engler, Dawson R |
Degree committee member | Levy, Amit |
Associated with | Stanford University, School of Engineering |
Associated with | Stanford University, Department of Electrical Engineering |
Subjects
Genre | Theses |
---|---|
Genre | Text |
Bibliographic information
Statement of responsibility | Hudson Ayers. |
---|---|
Note | Submitted to the Department of Electrical Engineering. |
Thesis | Thesis Ph.D. Stanford University 2023. |
Location | https://purl.stanford.edu/ry134jk7323 |
Access conditions
- Copyright
- © 2023 by Hudson Randal Ayers
- License
- This work is licensed under a Creative Commons Attribution 3.0 Unported license (CC BY).
Also listed in
Loading usage metrics...