Morello MicroPython: A Python Interpreter for CHERI

Lowther, D. , Jacob, D. and Singer, J. (2023) Morello MicroPython: A Python Interpreter for CHERI. In: 20th International Conference on Managed Programming Languages and Runtimes (MPLR 2023), Cascais, Portugal, 22-27 Oct 2023, pp. 62-69. ISBN 9798400703805 (doi: 10.1145/3617651.3622991)

[img] Text
304475.pdf - Accepted Version
Available under License Creative Commons Attribution.

707kB

Abstract

Arm Morello is a prototype system that supports CHERI hardware capabilities for improving runtime security. As Morello becomes more widely available, there is a growing effort to port open source code projects to this novel platform. Although high-level applications generally need minimal code refactoring for CHERI compatibility, low-level systems code bases require significant modification to comply with the stringent memory safety constraints that are dynamically enforced by Morello. In this paper, we describe our work on porting the MicroPython interpreter to Morello with the CheriBSD OS. Our key contribution is to present a set of generic lessons for adapting managed runtime execution environments to CHERI, including (1) a characterization of necessary source code changes, (2) an evaluation of runtime performance of the interpreter on Morello, and (3) a demonstration of pragmatic memory safety bug detection. Although MicroPython is a lightweight interpreter, mostly written in C, we believe that the changes we have implemented and the lessons we have learned are more widely applicable. To the best of our knowledge, this is the first published description of meaningful experience for scripting language runtime engineering with CHERI and Morello.

Item Type:Conference Proceedings
Additional Information:This work was funded by the Digital Security by Design (DSbD) programme delivered by UKRI (including grants EP/V000349/1 and EP/X015831/1), also by the UK Defence and Security Accelerator contract ACC6037520.
Status:Published
Refereed:Yes
Glasgow Author(s) Enlighten ID:Singer, Dr Jeremy and Jacob, Dr Dejice and Lowther, Mr Duncan
Authors: Lowther, D., Jacob, D., and Singer, J.
College/School:College of Science and Engineering > School of Computing Science
ISBN:9798400703805
Copyright Holders:© 2023 Copyright held by the owner/author(s)
First Published:First published in MPLR 2023: Proceedings of the 20th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes
Publisher Policy:Reproduced in accordance with the publisher copyright policy
Related URLs:

University Staff: Request a correction | Enlighten Editors: Update this record

Project CodeAward NoProject NamePrincipal InvestigatorFunder's NameFunder RefLead Dept
310130Capable VMsJeremy SingerEngineering and Physical Sciences Research Council (EPSRC)EP/V000349/1Computing Science
316845Capabilities for CodersJeremy SingerEngineering and Physical Sciences Research Council (EPSRC)EP/X015831/1Computing Science