iOS for Security Engineers Intermédiaire - 5 jours
Description
iOS est un des systèmes d’exploitation les plus répandus sur le marché, offrant un modèle de sécurité à l’état de l’art.
Au cours de cette formation, les participants aborderont l’écosystème et les briques fondamentales du système d’exploitation iOS. Ils découvriront l’utilisation de la chaîne de compilation macOS afin de déployer un programme, puis les outils de débogage et de diagnostic.
Les fondamentaux du reverse-engineering d’applications et des services systèmes seront abordés dans un second temps : le fonctionnement d’Objective-C, les mécanismes d’IPC ( mach, XPC, NSXPC ) et les API du noyau. Des exemples pratiques et des exercices guideront les participants tout au long du training. Enfin, les mesures de sécurités logicielles et matérielles propres à iOS seront couvertes, tant dans l’espace noyau qu’utilisateur.
-
5 jours ( 35 heures )
-
18h théorie / 17h pratique
Public et prérequis
iOS for Security Engineers est une formation de niveau intermédiaire, conçue pour les ingénieurs sécurité souhaitant mener des travaux de recherche sur ce système.
-
Pentesteurs
-
Développeurs iOS
-
Ingénieurs sécurité
De bonnes connaissances en développement C et des bases en rétro-ingénierie sont recommandées. Une licence IDA Pro avec le décompilateur Hex-Rays pour ARM64 est un plus.
Contenu
Jour 1
Introduction : présentation de l'environnement de travail, développement sur les plateformes Apple ( iOS et macOS ), utilisation des outils de diagnostic, introduction à l’écosystème Apple.
Jour 2
Introduction au reverse-engineering sur les plateformes Apple : extraction de mise à jour, formats de fichiers importants et outils, découverte et expérimentation du fonctionnement interne d’Objective-C, introduction au kernel XNU.
Jour 3
Mécanismes Mach : explications et exercices autour de l’API IPC de XNU, présentation et exercices sur l’implémentation de l’API Mach pour l’interaction avec les objets noyau, utilisation de Frida pour instrumenter des services.
Jour 4
Reverse-engineering de services Mach : théorie et exercices pratiques autour de XPC et NSXPC, les abstractions utilisées pour les communications inter-processus. Panorama de l’utilisation des pointeurs signés sur les plateformes Apple.
Jour 5
Sécurité de XNU : présentation du framework MACF, explications du fonctionnement d’AMFI et des politiques d’isolation ( sandbox ), description des mécanismes de défense en profondeur de XNU, contre-mesures matérielles de sécurité dans le noyau, mitigations des vulnérabilités noyau. Cas d’étude sur l’envoi de données de diagnostiques.