iOS Security 101-ish

🇨🇿 mDevCamp on 31 May 2019
iOS security pentesting frida

As you probably know, iOS apps are isolated from each other via the Apple sandbox ("Seatbelt"). However, that doesn't mean developers shouldn't pay attention to their users safety.

In this talk we will briefly cover all layers of iOS security architecture, delve into secrets of Secure Enclave and discuss the most common mistakes and vulnerabilities to prevent them from happening in the future, as well as have a sneak peek into penetration testing done right.

I will share a few examples of security flaws I found during the last few years and show how to use various tools to spot and fix them.

About this talk

What does this talk cover?

The layers of the iOS security architecture, how the sandbox ('Seatbelt') isolates apps, what the Secure Enclave does, and the most common vulnerabilities in iOS apps - with examples of real security flaws found in production apps and the tools penetration testers use to spot them.

What kind of data is at risk in a typical iOS app?

The talk goes through the categories attackers go after - credentials, location data, facial and advertising data, address book entries, payment information - and which parts of the platform are supposed to protect each.

How does the iOS sandbox ('Seatbelt') work?

Its whole history is in the deck: it arrived on Mac OS X Leopard in 2007, became automatic with App Store signing, and now isolates every iOS app's containers. The talk covers where its protection ends.

Which tools does the talk use for security testing?

The testing environment is built around Frida, and the talk shows how to set it up - plus where the OWASP mobile guidelines fit when you decide what to test first.

Where can I watch the talk or get the slides?

The full recording is embedded on this page via SlidesLive, and the slide deck (PDF) is in the resources section below it.

Related consulting

I run audits like this against client apps: MASVS-aligned, with reproduction steps and code-level fixes.

iOS Security Audit