Skip to content

DEF CON 34 talks are here: 354 talks, summarized and searchable.

Browse DEF CON 34

Unpacking the iOS Sandbox

Yarden Hamami

MobileTalks21 minAdvancedOpen on YouTube ↗

Where

Talks
Objective by the Sea v8.0

Duration

21 min

Shows how an old sandbox decompiler was revived to read modern iOS sandbox profiles and present their rules readably.

Summary

The talk introduces the iOS sandbox, a kernel-enforced mechanism that restricts access to the file system, XPC services and system calls. Each profile is a set of rules describing what a process may or may not do. Knowing those rules early lets a researcher judge whether an exploit idea is viable before investing weeks of work in it.

The speaker started from Sand Blaster, an older open-source decompiler for sandbox profiles that stopped supporting releases after iOS 11. Extending it meant locating the profile data through the kernel's sandbox initialization routine and recovering the operation name list from the sandbox text section. The binary format had changed heavily since then, so the parser needed reworking. Small profiles compiled on purpose helped map the header, operation table and decision nodes. The raw output was also hard to read, so rules were emitted as C-style if-else functions that a regular decompiler could process. A fork of the tool also automates fetching the kernel and extracting the profile blob.

The iOS 18 changes added a new collection type, extra actions beyond allow and deny, bit mask data types, and base profiles that must be checked alongside the ones being analysed. The talk closes by presenting the fork as a work in progress and inviting others to test it and contribute.

Materials

Related talks

Talks·27 min

  • Objective by the Sea
  • Red Team
  • Date: Dec 2024
  • Location: Maui

John McIntosh

Walks through patch diffing Apple OS updates with IPSW files, Ghidra and open-source tools, tying binary changes to CVEs.

vulnerability-researchreverse-engineeringopen-source+3