Article
OFTW
Conference - OFTW v4.0
Introduction
This year saw the fourth edition of the Objective for the We conference, a student-based conference which focuses on Apple security and we were allowed to participate! You can find a review of our favorite talks below.
Skip the Mac, Hit the iPhone: Evasive iMessage Attacks (Swantje Lange)
In this talk, Swantje presented the research done with her team on iMessage fingerprinting. Like we've seen with Operation Triangulation, the iMessage protocol provides information regarding the recipient's devices, which allows to check whether a device is vulnerable or not.
On the first contact with the receiver, the iMessage client contacts the Apple server with the receiver's ID before using the public key to use for the encryption. A check is then done to see if the client can receive emojis, animojis...
Below is an example.
An important thing to keep in mind is that when an iMessage is sent, it needs to be received by all the receiver's devices. This effectively allows to qualify what iOS version runs on the target by checking the corresponding firmware for capabilities.
A way to solve this fingerprinting issue would be to have separate encrypted channels per device to ensure they can handle the messages. Swantje also mentionned that other privacy concerns regarding iMessage have been disclosed to Apple.
Here is the recording of Swantje's talk.
Venturing beyond iOS: Exploring Co-Processor Firmware (Lukas Arnold)
Lukas presented the inner workings of Apple's coprocessors.
Coprocessors allow features such as Airdrop, Always on, or the satellite communication. Those handle critical tasks and are often complex legacy systems meaning they are good material for vulnerability research.
A baseband is also a coprocessor. It gets more complex every year with the addition of features such as satellite communication for example (emergency features...). Apple has its baseband components manufactured from multiple companies (themselves, Qualcomm...). Exploiting the baseband is appealing; it has a weaker security, critical data passes through it, persistence is unnoticed, exploits are cheap but development isn't.
Lukas then dove into the C1 chip internals (Apple's baseband), presenting its hardware, the iOS integration and how he managed to analyse its firmware.
Application processor and baseband exchanges can be observed through PCiE.
Extracting the C1's firmware reveals multiple interesting binaries such as rkos which is the Operating System Compartment Kit.
Lukas also noticed that a lot of code from the C1 looks like former Intel code. It led him to talk about the different exploitation security mitigations between Apple and Intel.
Here is a table showcasing the main differences:
Intel ICE19 | Apple | Apple | Apple rkos | |
|---|---|---|---|---|
x | cL4 Microkernel (+CTRR) Compartimentalization | |||
x | x | Branch Target Identification | ||
x | x | x | Assertions | |
x | x | x | x | Address Space Layout Randomization |
You can refers to Lukas' talk recording for a better overview of the security features.
Trust me, I'm an Apple Watch — Fun & Games with the Apple Watch Protocol Stack (Nils Rollshausen)
In this talk, Nils introduced us to how an iPhone and an Apple watch communicate together. The communications can be inspected with Frida hooks, allowing to analyse the protocol stack which is quite complex (AARS, IKEv2, L2CAP...). With enough work, it is possible emulating an Apple watch via an android setup; making changes possible such as altering the terms and conditions when pairing with the fake Apple watch. Nils also showed us you could take pictures, send them, get the user's location...
The project is open-source and accessible here.
Here is the recording of Nils' talk.
A closer look at Quick Start - Emulating a new iPhone (Sebastian Schnorbus)
Quick Start is a feature allowing us to (quickly) transfer your data (wifi credentials, passcode...) from an old iPhone to another one. In this talk Sebastian presents us how he managed to reverse-engineer it to understand its inner workings.
Quick Start relies on BLE (Bluetooth low energy) to work. The reversing process reveals:
BLE payloads
Discovery and connection: starts with an advertisement, followed up by the connection initiation and a magnet handshake.
Pair-Setup: secure remote password procotol using Diffie Helmann key exchange and ChaCha20-Poly1305.
Proximity session messages: sends wifi credentials, device information, Apple ID...).
AWDL Switch and Pairing (Apple's wireless peer-to-peer protocol)
Pair-verify (ECDH) protocol for pairing.
Backup transfer
Transmits iOS backup over the established communication tunnel. The backup contains pictures, videos, apps data, keychain...).
A reimplementation of Quick Start made by Sebastian is available here.
Here is the recording of Sebastian's talk.
