Skip to content

erhade/MaTEE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 

Repository files navigation

MaTEE

MaTEE


This project efficiently defends against semantic gap vulnerabilities in TrustZone using ARM Pointer Authentication.


📦 1 Prerequisites

Install the dependencies in the list. In addition, you need to install python2. Since we are using Ubuntu 22.04, it is recommended that you choose the same operating system.

👷‍♂️ 2 Setup

2.1 build

cd src/build
make PAUTH=y all -j `nproc`

2.2 run

make run-only

There will be two separate consoles, one for the non-secure world and another for the secure world.

run

2.3 login

Enter root in the console of the non-secure world.

📝 3 Performance Evaluation

It should be noted that the project runs on the FVP simulator, and the results may differ from testing on a real development board.

3.1 TEE Client APIs.

optee_example_hello_world

3.2 xtest regressions

xtest

3.3 xtest benchmarks

xtest -t benchmark

3.4 Android Verified Boot (AVB)

avb

3.5 trusted keys

trusted_keys

3.6 DarkneTZ

cd /mnt/host/scripts/darknet
sh run_darknet.sh

🔒 4 Security Evaluation

  • Recompile the project.
cd src/build
make PAUTH=y SECURE_EVALUATION=y all -j `nproc`
  • Repeat steps 2.2 and 2.3.
  • Execute the victim CA, and then launch the malicious CA.
semantic_victim &
semantic_attack

security

About

Defense against Semantic Gap Vulnerabilities in TrustZone using ARM PAC.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors