iPhone OS Core Audio Buffer Overflow

Magazine
Marque
MISC
Numéro
49
Mois de parution
mai 2010
Domaines


Résumé

Le firmware iPhone 3.1.3 de février 2010 a permis à Apple de corriger plusieurs vulnérabilités. La plus notable affectait le chargeur de démarrage iBoot et permettait de jailbreaker les iPhones 3GS. Une autre faille intéressante découverte par Tobias Klein a également été patchée, il s'agissait d'un stack buffer overflow dans la gestion des fichiers audio au format MP4 [CVE]. L'exploitation des failles de sécurité sur l'iPhone est rendue compliquée par l'utilisation du bit XN (eXecute Never) du CPU ARM, empêchant l'exécution de code sur la pile et le tas. Nous présentons ici comment utiliser le « return oriented programming » pour exploiter cette faille.


1. Analyse de la vulnérabilité

1.1 Le format MP4 et le démon mediaserverd

Un fichier MP4 est un conteneur composé de plusieurs blocs appelés « atomes », identifiés par un tag ASCII de 4 octets précédé par la taille du bloc. Ces atomes peuvent être imbriqués et vont contenir des métadonnées ou des flux audio/vidéo. Un conteneur MP4 commence toujours par un atome « ftyp » qui indique le format des données contenues dans le fichier.

La gestion des fonctionnalités multimédias de l'iPhone est assurée par le démon mediaserverd, qui expose différentes méthodes via une interface IPC. Ce démon va donc gérer la lecture des flux audio et vidéo à la demande des différentes applications du téléphone, et en particulier décoder les différents formats de fichiers.

1.2 Description du bug

La vulnérabilité concerne la fonction MP4AudioStream::ParseHeader dans la bibliothèque AudioToolbox. Le prologue de la fonction est le suivant :

STMFD SP!,...

Cet article est réservé aux abonnés. Il vous reste 91% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Spectre, 3 ans après

Magazine
Marque
MISC
Numéro
114
Mois de parution
mars 2021
Domaines
Résumé

Spectre, et son pendant Meltdown, est une faille qui repose sur l’architecture moderne de nos processeurs. Dans cet article, nous verrons l’impact que cette vulnérabilité a eu sur le développement d’applications web.

Zerologon pour les (mots de passe) nuls

Magazine
Marque
MISC
Numéro
113
Mois de parution
janvier 2021
Domaines
Résumé

ZeroLogon est LA vulnérabilité de septembre 2020 qui expose de nombreux domaines Windows à une compromission totale via un scénario d’exploitation réaliste et fiable. Mais ce qui donne à Zerologon ses lettres de noblesse c’est qu’elle repose essentiellement sur la mauvaise utilisation d’un algorithme cryptographique permettant de réaliser une attaque à clair choisi particulièrement astucieuse. Zoom sur la vulnérabilité la plus passionnante de la rentrée 2020 !

CVE-2020-3433 : élévation de privilèges sur le client VPN Cisco AnyConnect

Magazine
Marque
MISC
Numéro
112
Mois de parution
novembre 2020
Domaines
Résumé

Cet article explique comment trois vulnérabilités supplémentaires ont été découvertes dans le client VPN Cisco AnyConnect pour Windows. Elles ont été trouvées suite au développement d’un exploit pour la CVE-2020-3153 (une élévation de privilèges, étudiée dans MISC n°111). Après un rappel du fonctionnement de ce logiciel, nous étudierons chacune de ces nouvelles vulnérabilités.

Return oriented programming 101

Magazine
Marque
MISC
HS n°
Numéro
22
Mois de parution
octobre 2020
Domaines
Résumé

Le Returned Oriented Programming (ou ROP) est une technique permettant d'exploiter des programmes disposant de la protection NX (No eXecute) ou DEP (Data Execution Prevention). L'objectif de cet article est de vous présenter les bases du ROP, ainsi que l’exploitation pas-à-pas d’un programme d’entraînement via l'utilisation de la bibliothèque python pwntools [1]. Dans un souci de simplicité, la démonstration sera réalisée sur un programme s'exécutant sur un système Linux 64 bits. Bien entendu, cette démonstration reste applicable sur d'autres architectures (ARM, MIPS, etc.).