experiments with isolation on blue pill
The narrator describes their project to create a supervisor for a Cortex-M3 system, using a blue pill microcontroller due to its low cost and availability. The CPU lacks TrustZone, memory management unit (MMU), and other features present in general-purpose operating systems, making isolation challenging. The narrator uses the Memory Protection Unit (MPU) and two execution modes, handler and thread, along with privileged and unprivileged execution levels.
This setup allows for hiding the vector table and MPU, preventing the application from accessing hardware directly. The application runs in its own flash and RAM regions, with the supervisor granting specific access permissions. The supervisor and application communicate through calls, and the bootloader initializes the system before handing control to the application.
The supervisor periodically checks the application's health using a watchdog timer, ensuring no malicious behavior. While this model provides isolation against certain issues, it doesn't address all security concerns such as DMA bypasses or physical attacks.
Written by urgent.news from Lobsters's reporting — not their text. Machine-written — it may contain errors, so check the original before relying on it.