TEEPwn: Breaking TEE By Experience

Cristofaro Mune
Virtual Training | July 22 - 26 | 32 hours

BOOK NOW

TEEPwn: Breaking TEE By Experience

Cristofaro Mune

Book Now

Trusted Execution Environments (TEEs) are notoriously hard to secure due to the interaction between complex hardware and a large trusted code bases (TCBs). The security provided by TEEs has been broken on a wide variety of devices, including mobile phones, smart TVs and even vehicles. Publicly disclosed TEE vulnerabilities were often exploited directly from the less-trusted Rich Execution Environment (REE). Many of these vulnerabilities were specific for TEEs and required novel exploitation techniques. The TEEPwn experience provides an offensive system-level perspective and dives into the darker corners of TEE Security. It is designed with a system-level approach, where you will experience powerful exploitation of TEE vulnerabilities. The TEEPwn experience is hands-on, gamified and driven by an exciting jeopardy-style Capture the Flag (CTF).

ABSTRACT

Trusted Execution Environments (TEEs) are notoriously hard to secure due to the interaction between complex hardware and a large trusted code bases (TCBs). The security provided by TEEs has been broken on a wide variety of devices, including mobile phones, smart TVs and even vehicles. Publicly disclosed TEE vulnerabilities were often exploited directly from the less-trusted Rich Execution Environment (REE). Many of these vulnerabilities were specific for TEEs and required novel exploitation techniques.

The TEEPwn experience provides an offensive system-level perspective and dives into the darker corners of TEE Security. It is designed with a system-level approach, where you will experience powerful exploitation of TEE vulnerabilities. The TEEPwn experience is hands-on, gamified and driven by an exciting jeopardy-style Capture the Flag (CTF).

Your journey starts by achieving a comprehensive understanding of TEEs, where you will learn how hardware and software concur to enforce effective security boundaries. You will then use this understanding for identifying interesting vulnerabilities across the entire TEE attack surface. You will then be challenged along the path to exploit them in multiple scenarios.

All vulnerabilities are identified and exploited on our emulated attack platform, implementing a 64- bit TEEs based on ARM TrustZone.

You will take on different roles, as an attacker in control of:

  • the REE, attempting to achieve privileged code execution in the TEE.
  • the REE, trying to access assess protected by a Trusted Application (TA).
  • a TA, aiming to escalate privileges to TEE OS.
  • a TA, accessing the protected assets of other TAs.

TEEPwn will guide you into an unexpected range of attack vectors and TEE-specific exploitation techniques, which may be leveraged for novel and creative software exploits, refining your skills to a new level.

INTENDED AUDIENCE

💡
- Security Analysts and Researchers, interested in new techniques
- Software Security Developers/Architects interested in TEE software attack techniques.

KEY LEARNING OBJECTIVES

  • Explore TEE security at the system level
  • Gain strong understanding of TrustZone-based TEEs
  • Identify vulnerabilities across the entire TEE attack surface
  • Experience TEE-specific exploitation techniques

COURSE DETAILS

AGENDA

  • TEE Fundamentals
    • TEE overview
    • Security model
  • ARM TrustZone-based TEEs
    • TEE SW components
    • TEE attacker model
    • TEE attack surface
  • REE -> TEE attacks
    • Secure Monitor
    • TEE OS (SMC interface)
    • Exploitation:
      • Vulnerable SMC handlers
      • Broken design
      • Unchecked Pointers
      • Restricted writes
      • Range checks
  • REE -> TA attacks
    • Communicating with TAs
    • Global Platform APIs
    • Exploitation:
      • Type confusion
      • TOCTOU (Double fetch)
  • TA -> TEE attacks
    • TEE OS (Syscall interface)
    • Drivers
    • Exploitation:
      • Unchecked pointers from TA
      • Vulnerable crypto primitives
  • TA -> TA attacks
    • State confusion

KNOWLEDGE PREREQUISITES

  • Experience with C/C++ programming
  • Experience with the ARM architecture (AArch64)
  • Understanding of typical software vulnerabilities
  • Familiarity with reverse engineering and typical exploitation techniques
  • Familiarity with modern OS security concepts

REQUIREMENTS

  • Any modern computer system with sufficient memory
  • We advise to install and use the Chrome browser
  • A stable Internet connection with sufficient bandwidth

STUDENT DELIVERABLES

During the training you will get access to:

  • a personal cloud based VM
  • the exercise registry
  • the exercise instructions
  • the CTF server

To continue practicing after the training is completed:

  • a personal offline VM
  • a temporary token to access the exercise registry
    • for downloading all training exercises in the offline VM
  • a copy of the exercise instructions

ABOUT THE TRAINER

Cristofaro Mune @pulsoid has been in the security field for 15+ years. He has 10 years of experience with evaluating SW and HW security of secure products, as well as more than 5 years of experience in testing and assessing the security of TEEs.

He is a security researcher at Raelize providing support for developing, analyzing and testing the security of embedded devices. He has contributed to development of TEE security evaluation methodologies and has been member of TEE security industry groups.

His research on Fault Injection, TEEs, White-Box cryptography, IoT exploitation and Mobile Security has been presented at renowned international conferences and in academic papers.

https://twitter.com/pulsoid
https://www.linkedin.com/in/cristofaromune/
https://raelize.com/publications/

Ringzer0’s Virtual Training Experience
What can I expect from a virtual training delivered by Ringzer0, and answers to frequently asked questions.