Depuis RSPlug, le DNSChanger Mac, et Flashback, le paysage des logiciels malveillants OS X s’est majoritairement construit autour d’attaques ciblées. Les menaces Imuler, Olyx, Revir, Tibet, MacKontrol, Sabpab, Dockster et CallMe exploitent diverses failles corrigées (PDF, Office, Java, Flash) puis déposent des portes dérobées. Ces attaques visaient le plus souvent des activistes tibétains. Plus récemment, des gouvernements peu scrupuleux espionnent et s’accusent. Après un rappel des technologies nécessaires à la compréhension de l’article, nous analyserons en profondeur Pintsized et Crisis, une porte dérobée et un rootkit, afin de mieux apprécier la sophistication des malwares sur OS X.
1. Lexique corporate
1.1 Mach-O
Les binaires Apple sont des fichiers au format Mach-O [LEX1]. Les binaires universels (FAT) regroupent plusieurs fichiers Mach-O, un par architecture, dans un conteneur, par exemple lsock pour OS X et iOS [LEX2] :
$ file lsock
lsock: Mach-O universal binary with 2 architectures
lsock (for architecture x86_64): Mach-O 64-bit executable x86_64
lsock (for architecture armv7): Mach-O executable arm
L’en-tête du fichier définit l’architecture, le type (application, extension, objet), le nombre et la taille des commandes de chargement (Load Commands). Ces commandes définissent les emplacements et les tailles, brutes et relatives, et le niveau de protection en mémoire (lecture, écriture, exécution) des segments. Elles indiquent également les symboles, les bibliothèques chargées dynamiquement, ou encore le point d’entrée du binaire (EIP dans LC_UNIXTHREAD). La partie des données contient les segments et...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première