XNU IOKit
CSE 598 – Applied Vulnerability Research
Fall 2024
Adam Doupé�Arizona State University
Talking to the Kernel
2
Adam Doupé, CSE 598 Applied Vulnerability Research
BSD Device Drivers
3
Adam Doupé, CSE 598 Applied Vulnerability Research
BSD Device Drivers
4
Adam Doupé, CSE 598 Applied Vulnerability Research
IOKit
5
Adam Doupé, CSE 598 Applied Vulnerability Research
IOKit.framework
6
Adam Doupé, CSE 598 Applied Vulnerability Research
IORegistry
7
Adam Doupé, CSE 598 Applied Vulnerability Research
IOKit and libkern
8
Adam Doupé, CSE 598 Applied Vulnerability Research
IOKit Classes
9
Adam Doupé, CSE 598 Applied Vulnerability Research
IOService Driver Lifecycle
10
Figure by Jonathan Levin, *OS Internals, Volume II, Kernel Mode
Adam Doupé, CSE 598 Applied Vulnerability Research
Talking to User Space: IOUserClient
11
Adam Doupé, CSE 598 Applied Vulnerability Research
IOUserClient Lifecycle
12
Adam Doupé, CSE 598 Applied Vulnerability Research
IOUserClient External Methods
13
Adam Doupé, CSE 598 Applied Vulnerability Research
IOUserClient External Methods
14
Adam Doupé, CSE 598 Applied Vulnerability Research
IOExternalMethodArguments
15
Adam Doupé, CSE 598 Applied Vulnerability Research