iPhone OS Core Audio Buffer Overflow

Magazine
Marque
MISC
Numéro
49
Mois de parution
mai 2010
Spécialité(s)


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

Cet article est réservé aux abonnés. Il vous reste 91% à découvrir.
S'abonner à Connect
  • 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
Je m'abonne


Article rédigé par

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous