ARMmbed / ARMmbed/uvisor

All unprivileged memory accesses in uVisor should be centralized

Open
#186 1 comment 0 reactions 0 assignees View on GitHub
issue mirrored
Dominant language
C
Stars
135
Forks
72
PR merge metrics
No merged PRs in 30d

Description

Every time uVisor reads or writes a memory location belonging to a secure box, it should do so using unprivileged instructions, `ldrt`, `strt`.

We will change every occurrence of these memory accesses to use a `static inline` function, which in turn uses the CMSIS intrinsics for unprivileged access.

A single function helps with security verification and allows a consistent security model. In addition, if assumptions about a piece of code change, the security of the memory accesses is not compromised.

Contributor guide

Open the contributing guide

Research direction

No files, tests, or entry points are named. Locate every uVisor read or write to secure-box memory, inspect the CMSIS unprivileged-access intrinsics, and identify the common static inline function boundary. Done means all such accesses use the centralized helper with unprivileged instructions, with security assumptions remaining consistent.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
embedded-iot, security
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.