With over 1.4 billion active devices and in-depth security protections spanning every layer from silicon to software, Apple works to advance the state of the art in user security with every new product and software release. We will discuss three iOS and Mac security topics in unprecedented technical detail, offering the first public discussion of several key technologies new to iOS 13 and the Mac.
Code integrity enforcement has long been a critical part of the iOS security architecture. Starting with iPhone 7, we began to fortify core pieces of this security mechanism with new features built directly into Apple silicon. We will delve into the history of code and memory integrity technologies in the iOS kernel and userland, culminating in Pointer Authentication Codes (PAC) in the Apple A12 Bionic and S4 chips. PAC prohibits modification of function pointers, return addresses and certain data, preventing traditional exploitation of memory corruption bugs. We will take a close look at how PAC is implemented, including improvements in iOS 13. We will also discuss previously-undisclosed VM permission and page protection technologies that are part of our overall iOS code integrity architecture.
The T2 Security Chip brought powerful secure boot capabilities to the Mac. Comprehensively securing the boot process required protections against sophisticated direct memory access (DMA) attacks at every point, even in the presence of arbitrary Option ROM firmware. We will walk through the boot sequence of a Mac with the T2 Security Chip and explain key attacks and defenses at each step, including two industry-first firmware security technologies that have not been publicly discussed before.
The Find My feature in iOS 13 and macOS Catalina enables users to receive help from other nearby Apple devices in finding their lost Macs, while rigorously protecting the privacy of all participants. We will discuss our efficient elliptic curve key diversification system that derives short non-linkable public keys from a user’s keypair, and allows users to find their offline devices without divulging sensitive information to Apple.