~/talk

Apple's Predicament: NSPredicate Exploits on iOS and macOS

Talkat Black Hat USA 2023 · 2023-08-05..08-10· [ios, security]
links:none on file
slides:none on file

Claim: Apple limits on NSPredicate are fully bypassable on iOS 16.3 beta using serialization tricks and existing Foundation APIs to get arbitrary writes and call signed function pointers. Attack chain uses XPC predicates, a visitor bypass that sets expression types to zero, arbitrary write primitives via getValue / getCString to unset the predicate security flag, and a remaining dlsym-like gadget plus applyFunctionInfo to call exports. Exploits hit privileged daemons like springboard, os_logd and contextstored and a demo copies user notifications, and the techniques reliably work until Apple changes predicate typing.

AI-written summary · about

  1. 0:00Introduction
  2. 0:45Why Care About Predicates
  3. 1:17iOS Security Challenges
  4. 2:27Objective-C Background
  5. 3:38What Are NS Predicates
  6. 5:02Interprocess Communication
  7. 6:18Predicate Parsing
  8. 8:03Scripting Capabilities
  9. 9:22Apple's Predicate Security
  10. 11:24Bypassing Mitigations
  11. 13:33Forced Entry Analysis
  12. 15:20Exploiting the Denial Lists
  13. 17:25Arbitrary Memory Writes
  14. 18:53Modern Mitigations
  15. 20:11Type Restrictions Bypasses
  16. 22:21Function Call Bypass
  17. 24:22Predicate Visitor Vulnerability
  18. 25:54Vulnerable Processes
  19. 27:35Exploiting CoreDuet
  20. 29:40Springboard Attack Demo
  21. 31:27Live Technical Difficulties
  22. 33:37Conclusions and Future
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.