iOS Kernel Exploitation Training
SektionEins organisiert im September ein iOS Kernel Exploitation Training in Frankfurt.
After having received numerous requests to organize an iOS Security and Exploitation Workshop in Europe, we have created this brand new iOS security course that is entirely focused on the iOS kernel and its exploitation. It will take place in Frankfurt (Germany) in September, is a full 5-day course and is targeted at exploit developers that want to switch over to iOS.
We will cover the latest iOS 6 (and maybe iOS 7) kernel security features, discuss their weaknesses and you will learn how to circumvent them. Every part of the course will start with a lecture introducing you to the topic and end with hands-on exercises, where you use your newly gained knowledge to implement an attack against a real device.
Throughout the training we will work on old A4 iOS devices that allow for easier debugging and then learn how to port our attacks to new devices.
At the end of the training you should be able to exploit new vulnerabilities in iOS 6 or 7 that you discover in kernel land on your own.
Topics
-
Introduction
How to handle a new Firmware
How to set up your Mac and Device for Vuln Research/Exploit Development
How to boot own Kernels
How to patch own Code into the Kernel
How to write Code for your iDevice
-
Low Level ARM
Exception Handling
Hardware Page Tables
Special Registers used by iOS
...
-
iOS Kernel Source Code
Structure of the Kernel Source Code
Where to look for Vulnerabilities
Implementation of Mitigations
MAC Policy Hooks, Sandbox, Entitlements, Code Signing
...
-
iOS Kernel Reversing
Structure of the Kernel Binary
Finding Important Structures
Porting Symbols
Closed Source Kernel Parts and How to analyze them
...
-
iOS Kernel Debugging
Panic Dumps
Using the KDP Kernel Debugger
Extending the Kernel Debugger (KDP++)
Debugging with own Patches
Kernel Heap Debugging/Visualization
-
iOS Kernel Heap
In-Depth Explanation of How the Kernel Heap works
Different techniques to control the kernel heap layout
-
iOS Kernel Exploit Mitigations
Discussion of all the iOS Kernel Exploit Mitigations introduced
Discussion of various weaknesses in these protections
-
iOS Kernel Vulnerabilities and their Exploitation
Discussion of previous kernel vulnerabilities used in public jailbreaks
Introduction to kernel exploitation with a DEMO vulnerability
Exploitation of a real kernel vulnerability at iOS 6.1.3
-
iOS Kernel Jailbreaking
Discussion of all the Kernel Patches applied by iOS Jailbreaks
-
Handling of New Devices
Discussion of necessary steps to port exploits from old to new devices
-
iOS 7?
While we concentrate on iOS 6.1.3 we will discuss changes that are already known about the iOS 7 kernel throughout the training
-
Persistence
The topic of persistence or untethering will be discussed although the kernel land is only partially involved.
Training Requirements
-
Student Requirements
This course will not give an introduction to ARM basics. The trainee is required to understand ARM assembly. Low level ARM CPU knowledge will be helpful, but is not required for this course.
This course will not give basic introduction to exploitation or ROP. Trainees are required to know concepts like ROP or buffer overflows, integer overflows, etc...
Trainees will receive about 2 weeks before the training a paper that covers introductionary information. Trainees are required to read and work through this document in order to ensure that all software is correctly installed and the basics are understood.
-
Hardware Requirements
An Apple Mac Notebook is required in order to run Mountain Lion and XCode.
Training hands-on exercises will be performed on iPod 4G devices running at iOS 6.1.3 that are provided by SektionEins to all students during the training.
Students can optionally bring their own newer iOS device for experiments towards the end of the training. But these devices must run an iOS 6 firmware prior to (including) iOS 6.1.4.
Students are not required to bring iOS serial cables to the training, because these will be provided as take aways from SektionEins.
-
Software Requirements - Legal IDA Pro 6.x license (latest version recommended)
Hexrays for ARM helpful, but not required
BinDiff for IDA helpful, but not required
Mac OS X Mountain Lion 10.8 , with XCode 4.6 and iOS 6.1 SDK
Additional Software will be made available during the training
Venue
The training will be held at the InterContinental Hotel in Frankfurt (Germany). The hotel is located near the main train station of Frankfurt, which is an ICE train ride of about 20 minutes away from the airport of Frankfurt (FRA).
View Larger Map
Attention: Please contact us before booking a room, because the hotel offers a special rate to attendes of the training.
Pricing
Early Bird (before 5th August) |
4000,- EUR |
Regular (after 5th August) |
4500,- EUR |
Late (after 18th August) |
5000,- EUR |
Register
If you want to register for this training please contact us by e-mail training@sektioneins.de.