Overview
Explore the potential of Rust for developing secure Trusted Applications in this 47-minute Black Hat conference talk. Delve into the advantages of Rust's system-level programming capabilities, including memory safety, type safety, and robust error handling. Examine use cases, TrustZone TEE implementation, and practical TrustZone applications. Compare Rust to C programming, highlighting challenges in writing secure C code through examples like WideVine Trusted Application and Samsung OTP Buffer Overflow. Learn about Rust's features, its interoperability with C through FFI, and follow a step-by-step guide to create a Rust-based Trusted Application, from generating bindings to compiling and signing. Gain insights into enhancing security in trusted computing environments using Rust's powerful features.
Syllabus
Intro
Use Cases
The TrustZone TEE
TrustZone in Practice
TEE OS Protections
Writing (good) C is Hard
Example: WideVine Trusted Application
Example: Samsung OTP Buffer Overflow
What's Rust?
Why Rust?
Rust / CFFI
Learning Rust
Get an OS
Generate Rust Bindings
Write a Rust Library
Compile, Link, Sign
Conclusions
Taught by
Black Hat