Making small embedded systems secure and dependable

Placeholder Show Content

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...