The lean MicroPython runtime is a widely adopted high-level programming framework for embedded microcontroller systems. However, the existing MicroPython codebase has limited security features, rendering it a fundamentally insecure runtime environment. This is a critical problem, given the growing deployment of highly interconnected IoT systems on which society depends. Malicious actors seek to compromise such embedded infrastructure, using sophisticated attack vectors. We have implemented a novel variant of MicroPython, adding support for runtime security features enabled by the CHERI RISC-V architecture as instantiated by the CHERIoT-RTOS system. Our new MicroPython port provides hardware-enabled spatial memory safety, mitigating a large set of common runtime memory attacks. We have also compartmentalized the MicroPython runtime, to prevent untrusted code from elevating its permissions and taking control of the entire system. We perform a multi-faceted evaluation of our work, involving a couple of qualitative case studies and a quantitative performance analysis. The first case study demonstrates that a reported MicroPython CVE featuring a heap buffer overflow is no longer possible. The second case study demonstrates that compartmentalized library code mitigates against software supply-chain attacks via untrusted third-party libraries. The performance analysis shows a geometric mean execution time overhead of 45% for secure execution across a set of Python benchmarks, although we argue this is indicative worst-case overhead on our prototype platform and a realistic deployment overhead would be significantly lower.
Sun 2 MarDisplayed time zone: Pacific Time (US & Canada) change
10:30 - 12:00 | Binary Analysis and Hardware IIMain Conference at Bristlecone_ Chair(s): Louis-Noël Pouchet Colorado State University, USA | ||
10:30 30mTalk | Compiler Support for Speculation in Decoupled Access/Execute Architectures Main Conference Robert Szafarczyk University of Glasgow, Syed Waqar Nabi University of Glasgow, Wim Vanderbauwhede University of Glasgow DOI Pre-print | ||
11:00 30mTalk | Secure Scripting with CHERIoT MicroPython Main Conference Duncan Lowther University of Glasgow, Dejice Jacob University of Glasgow, Jacob Trevor University of Glasgow, Jeremy Singer University of Glasgow DOI Pre-print | ||
11:30 30mTalk | Automatic Test Case Generation for Jasper App HDL Compiler: An Industry Experience Main Conference Mirlaine Crepalde Cadence Design Systems, Augusto Mafra Cadence Design Systems, Lucas Pereira Cavalini Cadence Design Systems, Lucas Martins Cadence Design Systems, Guilherme Amorim Cadence Design Systems, Pedro Henrique Santos Cadence Design Systems, Fabiano Peixoto Cadence Design Systems |