svc · mach trap -100
iokit_user_client_trap
Piège à chemin rapide pour invoquer des sélecteurs sur un IOUserClient sans passer par MIG.
Prototype
kern_return_t iokit_user_client_trap(/* 8 args */);Retour: kern_return_t
Historique des versions
| XNU tag | macOS | # |
|---|---|---|
| xnu-792 | macOS 10.4 Tiger | -100 |
| xnu-1228 | macOS 10.5 Leopard | -100 |
| xnu-1456.1.26 | macOS 10.6 Snow Leopard | -100 |
| xnu-1699.24.8 | macOS 10.7 Lion | -100 |
| xnu-2050.18.24 | macOS 10.8 Mountain Lion | -100 |
| xnu-2422.115.4 | macOS 10.9 Mavericks | -100 |
| xnu-2782.40.9 | macOS 10.10 Yosemite | -100 |
| xnu-3247.1.106 | macOS 10.11 El Capitan | -100 |
| xnu-3789.1.32 | macOS 10.12 Sierra | -100 |
| xnu-4570.1.46 | macOS 10.13 High Sierra | -100 |
| xnu-4903.221.2 | macOS 10.14 Mojave | -100 |
| xnu-6153.11.26 | macOS 10.15 Catalina | -100 |
| xnu-7195.50.7.100.1 | macOS 11.0 Big Sur | -100 |
| xnu-8019.41.5 | macOS 12.0 Monterey | -100 |
| xnu-8792.41.9 | macOS 13.0 Ventura | -100 |
| xnu-10002.1.13 | macOS 14.0 Sonoma | -100 |
| xnu-11215.1.10 | macOS 15.0 Sequoia | -100 |
| xnu-11417.101.15 | macOS 15.4 Sequoia | -100 |
| xnu-12377.1.9 | macOS 26.0 Tahoe | -100 |
| xnu-10002.41.9 | — | -100 |
| xnu-10002.61.3 | — | -100 |
| xnu-10002.81.5 | — | -100 |
| xnu-10063.101.15 | — | -100 |
| xnu-10063.121.3 | — | -100 |
| xnu-10063.141.1 | — | -100 |
| xnu-11215.41.3 | — | -100 |
| xnu-11215.61.5 | — | -100 |
| xnu-11215.81.4 | — | -100 |
| xnu-11417.121.6 | — | -100 |
| xnu-11417.140.69 | — | -100 |
| xnu-1228.0.2 | — | -100 |
| xnu-1228.12.14 | — | -100 |
| xnu-1228.15.4 | — | -100 |
| xnu-1228.3.13 | — | -100 |
| xnu-1228.5.18 | — | -100 |
| xnu-1228.5.20 | — | -100 |
| xnu-1228.7.58 | — | -100 |
| xnu-1228.9.59 | — | -100 |
| xnu-12377.101.15 | — | -100 |
| xnu-12377.41.6 | — | -100 |
| xnu-12377.61.12 | — | -100 |
| xnu-12377.81.4 | — | -100 |
| xnu-1486.2.11 | — | -100 |
| xnu-1504.15.3 | — | -100 |
| xnu-1504.3.12 | — | -100 |
| xnu-1504.7.4 | — | -100 |
| xnu-1504.9.17 | — | -100 |
| xnu-1504.9.26 | — | -100 |
| xnu-1504.9.37 | — | -100 |
| xnu-1699.22.73 | — | -100 |
| xnu-1699.22.81 | — | -100 |
| xnu-1699.24.23 | — | -100 |
| xnu-1699.26.8 | — | -100 |
| xnu-1699.32.7 | — | -100 |
| xnu-2050.22.13 | — | -100 |
| xnu-2050.24.15 | — | -100 |
| xnu-2050.48.11 | — | -100 |
| xnu-2050.7.9 | — | -100 |
| xnu-2050.9.2 | — | -100 |
| xnu-2422.1.72 | — | -100 |
| xnu-2422.100.13 | — | -100 |
| xnu-2422.110.17 | — | -100 |
| xnu-2422.90.20 | — | -100 |
| xnu-2782.1.97 | — | -100 |
| xnu-2782.10.72 | — | -100 |
| xnu-2782.20.48 | — | -100 |
| xnu-2782.30.5 | — | -100 |
| xnu-3247.10.11 | — | -100 |
| xnu-3248.20.55 | — | -100 |
| xnu-3248.30.4 | — | -100 |
| xnu-3248.40.184 | — | -100 |
| xnu-3248.50.21 | — | -100 |
| xnu-3248.60.10 | — | -100 |
| xnu-3789.21.4 | — | -100 |
| xnu-3789.31.2 | — | -100 |
| xnu-3789.41.3 | — | -100 |
| xnu-3789.51.2 | — | -100 |
| xnu-3789.60.24 | — | -100 |
| xnu-3789.70.16 | — | -100 |
| xnu-4570.20.62 | — | -100 |
| xnu-4570.31.3 | — | -100 |
| xnu-4570.41.2 | — | -100 |
| xnu-4570.51.1 | — | -100 |
| xnu-4570.61.1 | — | -100 |
| xnu-4570.71.2 | — | -100 |
| xnu-4903.231.4 | — | -100 |
| xnu-4903.241.1 | — | -100 |
| xnu-4903.270.47 | — | -100 |
| xnu-6153.101.6 | — | -100 |
| xnu-6153.121.1 | — | -100 |
| xnu-6153.141.1 | — | -100 |
| xnu-6153.41.3 | — | -100 |
| xnu-6153.61.1 | — | -100 |
| xnu-6153.81.5 | — | -100 |
| xnu-7195.101.1 | — | -100 |
| xnu-7195.121.3 | — | -100 |
| xnu-7195.141.2 | — | -100 |
| xnu-7195.60.75 | — | -100 |
| xnu-7195.81.3 | — | -100 |
| xnu-792.1.5 | — | -100 |
| xnu-792.10.96 | — | -100 |
| xnu-792.12.6 | — | -100 |
| xnu-792.13.8 | — | -100 |
| xnu-792.17.14 | — | -100 |
| xnu-792.18.15 | — | -100 |
| xnu-792.2.4 | — | -100 |
| xnu-792.21.3 | — | -100 |
| xnu-792.22.5 | — | -100 |
| xnu-792.24.17 | — | -100 |
| xnu-792.25.20 | — | -100 |
| xnu-792.6.22 | — | -100 |
| xnu-792.6.56 | — | -100 |
| xnu-792.6.61 | — | -100 |
| xnu-792.6.70 | — | -100 |
| xnu-792.6.76 | — | -100 |
| xnu-8019.61.5 | — | -100 |
| xnu-8019.80.24 | — | -100 |
| xnu-8020.101.4 | — | -100 |
| xnu-8020.121.3 | — | -100 |
| xnu-8020.140.41 | — | -100 |
| xnu-8792.61.2 | — | -100 |
| xnu-8792.81.2 | — | -100 |
| xnu-8796.101.5 | — | -100 |
| xnu-8796.121.2 | — | -100 |
| xnu-8796.141.3 | — | -100 |
Notes
Les pilotes exposent des sélecteurs externalMethod à l'espace utilisateur via IOConnectCallMethod ; pour les sélecteurs prenant de petits arguments scalaires et aucune structure, le chemin de libIOKit se réduit à iokit_user_client_trap, qui se dispatche directement dans IOUserClient::getTargetAndTrapForIndex du pilote. Ce piège est massivement utilisé par les pilotes GPU, le HAL audio et HID. Les sélecteurs et arguments sont entièrement définis par le pilote, donc c'est une surface d'attaque courante pour les exploits noyau — les pilotes doivent valider agressivement les entrées.
Détection
DTrace mach_trap:::entry avec probefunc == "iokit_user_client_trap" expose le port de connexion et l'index de sélecteur ; ioreg(8) et ioclasscount donnent le contexte du pilote appelé. Endpoint Security n'expose pas le trafic IOKit.