RIOT-POLICE: An implementation of spatial memory safety for the RIOT operating system

Sören Tempel,Tristan Bruns
DOI: https://doi.org/10.48550/arXiv.2005.09516
2020-05-19
Abstract:We present an integration of a safe C dialect, Checked C, for the Internet of Things operating system RIOT. We utilize this integration to convert parts of the RIOT network stack to Checked C, thereby achieving spatial memory safety in these code parts. Similar to prior research done on IoT operating systems and safe C dialects, our integration of Checked C remains entirely optional, i.e. compilation with a standard C compiler not supporting the Checked C language extension is still possible. We believe this to be the first proposed integration of a safe C dialect for the RIOT operating system. We present an incremental process for converting RIOT modules to Checked C, evaluate the overhead introduced by the conversions, and discuss our general experience with utilizing Checked C in the Internet of Things domain.
Programming Languages,Cryptography and Security
What problem does this paper attempt to address?