Presentation av examensarbete för högskoleingenjörsexamen

Titel: RISC-V Thread Isolation
Using Zephyr RTOS
Respondent: GUSTAV MIDÉUS och ANTONIO MORALES
Dag, Datum och Tid: Fredag 2020-06-05 kl 09.00
Plats: Webb-möte (online-möte) med uppkoppling via Zoom:  se denna länk
Opponenter: (max 3 st), kontakta respondenter för opponering på rapport.
Examinator: Anders Sjögren, handledare Johan Montelius
Språk: Muntligt på svenska, presentationsbilder på engelska/svenska (frågor kan ställas på engelska).
Anmälan: Anmälan för lyssnarnärvaro behövs ej för besökare.  "Aktiva lyssnare" anmäler sig till as@kth.se senast en dag i förväg.

Abstract

Many embedded systems lack a memory management unit (MMU) and thus often also lack protection of memory. This causes these systems to be less robust since the operating system, processes, and threads are no longer isolated from each other. This is also a potential security issue and with the number of embedded systems rapidly increasing as a result of the rise of Internet of Things (IoT), vulnerabilities like this could become a major problem. However, with a recent update to the RISC-V processor architecture, a possibility to isolate regions of memory without an MMU was introduced. This study aims to identify problems and possibilities of implementing such memory protection with RISC-V.

Based on a study of literature and documentation on memory protection and the RISC-V architecture, a prototype was designed and implemented to determine potential problems and evaluate performance in terms of execution time and memory cost. The developed prototype showed a working implementation of memory protection for the memory regions with RISC-V. The evaluation of the prototype demonstrated an increase in context switch execution time and memory usage. The results indicate that the implemented memory protection comes with an increased cost in performance with a constant factor and a small memory overhead. Therefore, it is recommended that implementations that wish to implement memory protection with RISC-V on smaller embedded systems where time and memory may be crucial takes the overhead in consideration. Further research and testing is needed to identify optimizations that could improve the performance as well as discover security flaws.​

Keywords

RISC-V, memory protection, embedded systems, thread isolation, RTOS, IoT