RIOT-POLICE: An implementation of spatial memory safety for the RIOT operating system
This addresses memory safety vulnerabilities in IoT systems, though it is incremental work building on prior research on safe C dialects for IoT operating systems.
The researchers integrated Checked C, a safe C dialect, into the RIOT IoT operating system to achieve spatial memory safety in parts of its network stack, reporting on the conversion process and evaluating the overhead introduced.
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.