Verifying RISC-V Physical Memory Protection

11/03/2022
by   Kevin Cheang, et al.
0

We formally verify an open-source hardware implementation of physical memory protection (PMP) in RISC-V, which is a standard feature used for memory isolation in security critical systems such as the Keystone trusted execution environment. PMP provides per-hardware-thread machine-mode control registers that specify the access privileges for physical memory regions. We first formalize the functional property of the PMP rules based on the RISC-V ISA manual. Then, we use the LIME tool to translate an open-source implementation of the PMP hardware module written in Chisel to the UCLID5 formal verification language. We encode the formal specification in UCLID5 and verify the functional correctness of the hardware. This is an initial effort towards verifying the Keystone framework, where the trusted computing base (TCB) relies on PMP to provide security guarantees such as integrity and confidentiality.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/22/2023

FVCARE:Formal Verification of Security Primitives in Resilient Embedded SoCs

With the increased utilization, the small embedded and IoT devices have ...
research
04/08/2021

AutoSVA: Democratizing Formal Verification of RTL Module Interactions

Modern SoC design relies on the ability to separately verify IP blocks r...
research
09/30/2022

Cerberus: A Formal Approach to Secure and Efficient Enclave Memory Sharing

Hardware enclaves rely on a disjoint memory model, which maps each physi...
research
08/20/2023

Towards a Formally Verified Security Monitor for VM-based Confidential Computing

Confidential computing is a key technology for isolating high-assurance ...
research
01/06/2020

Runtime Verification of Linux Kernel Security Module

The Linux kernel is one of the most important Free/Libre Open Source Sof...
research
08/02/2022

A Turning Point for Verified Spectre Sandboxing

Spectre attacks enable an attacker to access restricted data in an appli...
research
07/31/2023

Towards Formal Verification of a TPM Software Stack

The Trusted Platform Module (TPM) is a cryptoprocessor designed to prote...

Please sign up or login with your details

Forgot password? Click here to reset