Glossary
AMFI
Apple Mobile File Integrity — l'extension noyau qui applique le code signing sur macOS et iOS, et gardienne de la plupart des syscalls sensibles.
AMFI (« Apple Mobile File Integrity ») est l'extension noyau qui détient l'application du code signing sur les plateformes Apple. Son nom reflète ses origines iOS, mais elle est tout aussi centrale sur macOS — chargée comme kext intégré à chaque boot.
Les responsabilités d'AMFI incluent :
- Vérifier les signatures avant qu'un binaire Mach-O soit autorisé à s'exécuter. Signature invalide → AMFI veto.
- Appliquer le drapeau library-validation. Un processus avec library-validation rejette les dylibs non signés par le même Team ID — le mécanisme qui défait la plupart des injections
DYLD_INSERT_LIBRARIES. - Évaluer les entitlements. Quand du code demande au noyau une opération privilégiée —
task_for_pid,csops, debug ports — c'est AMFI qui vérifie « l'appelant a-t-il l'entitlement ? ». - Verrouiller le reslide du dyld shared cache et d'autres primitives de durcissement.
AMFI tourne comme module de politique MACF, donc se branche dans le même framework de hooks que TCC, le sandbox et Endpoint Security. Plusieurs modules votent sur chaque opération ; un seul refus bloque.
Pour la recherche en sécurité, AMFI est le mur que vous heurtez. La plupart des comportements « réservé aux binaires Apple » sont appliqués ici, en vérifiant le jeu d'entitlements de l'appelant contre un entitlement Apple-only comme com.apple.system-task-ports ou com.apple.private.tcc.allow.