Reverse-engineering iOS

Magazine
Marque
MISC
HS n°
Numéro
7
Mois de parution
mai 2013
Spécialité(s)


Résumé

La rétro-ingénierie sur terminal mobile est un sport à la mode, car il est devenu une alternative sérieuse à l'ordinateur. Les données personnelles, cibles des logiciels malveillants, sont d'ailleurs souvent encore plus sensibles sur ce support. C'est la raison qui pousse de nombreux chercheurs en sécurité à se pencher sur la question. Néanmoins, la documentation pour démarrer sur iOS est très éparse. L'objectif de cet article est donc de donner à nos compatriotes intéressés les armes nécessaires pour commencer efficacement les recherches.


1. Introduction

iOS est le système d’exploitation des terminaux mobiles Apple. Il peut être considéré comme la version mobile d’OS X, dont il reprend les principaux composants :

- le noyau XNU ;

- le démon launchd ;

- la plupart des frameworks userland (bibliothèques).

Son code source est fermé, contrairement à OS X, dont une grande partie est publique [XNU], et la sécurité est renforcée, de façon à ce que des applications tierces ne puissent altérer le système :

- démarrage sécurisé (SecureBoot) ;

- firmware chiffré avec une signature personnalisée en flash ;

- signature des binaires et des pages de code obligatoire ;

- applications tierces lancées dans un bac à sable (sandbox).

Ces différentes protections, en conjonction avec la validation opérée par Apple lors de la diffusion d’applications sur l’AppStore, permettent un blocage efficace des logiciels malveillants.

Toutefois, la fermeture du système et sa...

Cet article est réservé aux abonnés. Il vous reste 97% à découvrir.
S'abonner à Connect
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez chaque semaine un nouvel article premium
  • Consultez les nouveaux articles en avant-première
Je m'abonne


Article rédigé par

Par le(s) même(s) auteur(s)

Failles et iOS

Magazine
Marque
MISC
Numéro
53
Mois de parution
janvier 2011
Spécialité(s)
Résumé

Pour Apple, « iOS est le système d'exploitation mobile le plus avancé au monde ». Il y a les partisans et les réfractaires, mais quoi qu'il en soit, force est de constater que l'iPhone suscite un fort engouement mondial. Ce succès est dû au savoir faire technique et commercial d'Apple, qui a su imposer sa vision de la mobilité moderne tant aux utilisateurs qu'aux opérateurs. iOS est un OS fermé, sur lequel le propriétaire du terminal ne peut installer des applications sans que celles-ci n'aient préalablement été approuvées par Apple. Cette sécurité, pierre angulaire du business model de l'AppStore, garantit aussi les contrats d'exclusivité (SIM Lock) avec les opérateurs mobiles. Pourtant, des développeurs indépendants ont réalisé des outils de « jailbreak » permettant de passer outre ces limites, afin de permettre la réalisation libre d'applications. Nous allons voir comment ils ont réussi à mettre à mal la sécurité d'iOS et comment Apple est en passe de réaliser le système d'exploitation mobile le plus secure au monde.

L'iPhone OS et le jailbreak « Spirit »

Magazine
Marque
MISC
Numéro
51
Mois de parution
septembre 2010
Spécialité(s)
Résumé

L'iPhone remporte un grand succès, en partie grâce à l'AppStore et les nombreuses applications qui y sont proposées aux utilisateurs. Cependant, cette plate-forme est relativement fermée car chaque application doit être approuvée par Apple. Le jailbreak consiste à « déverrouiller » le système d'exploitation du téléphone (iOS) pour y exécuter n'importe quelle application. Alors qu'Apple déploie des mises à jour régulières afin de combler les vulnérabilités utilisées pour le jailbreak, de nouvelles failles sont continuellement découvertes par les différents acteurs de la « scène jailbreak » [WIKI]. Nous présentons ici les mécanismes de sécurité mis en place sur l'iPhone, ainsi que le détail des 3 vulnérabilités exploitées par l'outil de jailbreak Spirit, publié par Comex en mai 2010.

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.

Les derniers articles Premiums

Les derniers articles Premium

Du graphisme dans un terminal ? Oui, avec sixel

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

On le voit de plus en plus, les outils en ligne de commandes s'étoffent peu à peu d'éléments graphiques sous la forme d'émojis UTF8. Plus qu'une simple décoration, cette pointe de « graphisme » dans un monde de texte apporte réellement un plus en termes d'expérience utilisateur et véhicule, de façon condensée, des informations utiles. Pour autant, cette façon de sortir du cadre purement textuel d'un terminal n'est en rien une nouveauté. Pour preuve, fin des années 80 DEC introduisait le VT340 supportant des graphismes en couleurs, et cette compatibilité existe toujours...

Game & Watch : utilisons judicieusement la mémoire

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Au terme de l'article précédent [1] concernant la transformation de la console Nintendo Game & Watch en plateforme de développement, nous nous sommes heurtés à un problème : les 128 Ko de flash intégrés au microcontrôleur STM32 sont une ressource précieuse, car en quantité réduite. Mais heureusement pour nous, le STM32H7B0 dispose d'une mémoire vive de taille conséquente (~ 1,2 Mo) et se trouve être connecté à une flash externe QSPI offrant autant d'espace. Pour pouvoir développer des codes plus étoffés, nous devons apprendre à utiliser ces deux ressources.

Raspberry Pi Pico : PIO, DMA et mémoire flash

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Le microcontrôleur RP2040 équipant la Pico est une petite merveille et malgré l'absence de connectivité wifi ou Bluetooth, l'étendue des fonctionnalités intégrées reste très impressionnante. Nous avons abordé le sujet du sous-système PIO dans un précédent article [1], mais celui-ci n'était qu'une découverte de la fonctionnalité. Il est temps à présent de pousser plus loin nos expérimentations en mêlant plusieurs ressources à notre disposition : PIO, DMA et accès à la flash QSPI.

Les listes de lecture

9 article(s) - ajoutée le 01/07/2020
Vous désirez apprendre le langage Python, mais ne savez pas trop par où commencer ? Cette liste de lecture vous permettra de faire vos premiers pas en découvrant l'écosystème de Python et en écrivant de petits scripts.
11 article(s) - ajoutée le 01/07/2020
La base de tout programme effectuant une tâche un tant soit peu complexe est un algorithme, une méthode permettant de manipuler des données pour obtenir un résultat attendu. Dans cette liste, vous pourrez découvrir quelques spécimens d'algorithmes.
10 article(s) - ajoutée le 01/07/2020
À quoi bon se targuer de posséder des pétaoctets de données si l'on est incapable d'analyser ces dernières ? Cette liste vous aidera à "faire parler" vos données.
Voir les 108 listes de lecture

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous