Abstract
This course has as goal to provide students with relevant information and practical techniques to perform iOS security research well as necessary foundation knowledge to understand the involved context.
Throughout this training we will review key topics such as macOS/iOS architecture, internals, memory management and security as well as learn about typical reversing operations to initiate the research. At the second part of training students will learn about exploit mitigations, vulnerability classes and discovery, kernel and userland exploit foundations, iOS debugging and a light fuzzing introduction. Finally, the course presents iOS Exploitation details.
This class will focus on iOS operating system (ARM).
Who Should Attend
This class should be attended by professionals interested in learning about iOS security research. Class attendees from different areas such as programming, exploit development, malware analysis, incident response, threat hunting, pentesting and cyber defense will enjoy and benefit from this training.
Key Learning Objectives
This class has the following goals:
- Explain iOS basic concepts.
- Explain iOS architecture foundations.
- Explain iOS security foundations.
- Explain typical reversing operations for research.
- Explain vulnerability classes and discovery.
- Explain details about kerneland and userland exploit foundations.
- Explain iOS debugging and fundamentals of fuzzing.
- Explain iOS exploitation.
Prerequisite Knowledge
Students should have:
- Previous experience in reverse engineering or malware analysis area.
- Previous knowledge on x64 and x86 Assembly.
- Daily experience on iOS and macOS devices.
- Basic experience with debuggers and disassemblers such as IDA Pro might be useful.
Lab Requirements
Students must prepare the following lab configuration:
- Having a Mac M series device (M2, M3, M4 or M5).
- IDA Pro for ARM binaries.
- iPhone device might help, but is not required.
Additional lab instructions will be sent to students prior the class.
Summary of Training Topics
- iOS research lab setup
- Foundations
- Architecture and internals
- Memory management
- Security
- Reversing operations.
- Exploit mitigations
- Vulnerability classes and discovery.
- Kernel exploit foundations.
- Userland exploit foundations.
- iOS debugging and fuzzing foundations.
- iOS exploitation.
Note: Topics can be added, merged or removed without prior notice!