Milestone 3
Milestone Status
This milestone is in progress.
Background
ASLR makes memory-corruption attacks more difficult by varying where executable code is loaded. Compiler-instrumented stack canaries place a runtime guard in selected stack frames and detect modification before a function returns.
Both ASLR and stack canaries are already supported upstream for OP-TEE core and trusted applications, however, there is a lack of RISC-V CI coverage proving that randomization and stack-smashing detection work at runtime.
Milestone Description
Milestone 3 adds automated validation for the RISC-V ASLR and compiler-instrumented stack-canary features that are already present in OP-TEE.
Milestone Update
This milestone is planned.
Requirements
- Add
optee_testcoverage that verifies ASLR randomization in RISC-V OP-TEE core. - Add
optee_testcoverage that verifies ASLR randomization for trusted applications. - Add
optee_testcoverage that verifies compiler-instrumented stack canaries in RISC-V OP-TEE core. - Add
optee_testcoverage that verifies compiler-instrumented stack canaries in trusted applications. - Ensure the tests can run in the QEMU RISC-V runtime-test infrastructure established by Milestone 2.
Deliverables
ASLR
- OP-TEE core ASLR tests.
- Trusted-application ASLR tests.
- CI integration for the new RISC-V ASLR validation coverage.
- Enable ASLR for OP-TEE core and Trusted Applications for LLVM/Clang
- Validate ASLR for OP-TEE core and trusted applications with both compiler families.
Stack Canaries
- OP-TEE core stack-canary tests.
- Trusted-application stack-canary tests.
- CI integration for the new RISC-V stack-canary validation coverage.
- Enable stack canaries for OP-TEE core and Trusted Applications for LLVM/Clang
- Validate stack canaries for OP-TEE core and trusted applications with both compiler families.