BootRom
Bootrom
[edit | edit source]Le BootROM (appelé "SecureROM" par Apple) est le premier code significatif exécuté sur un iDevice. Il s'agit d'un code en lecture seule, gravé directement dans la puce du matériel. Trouver des vulnérabilités au niveau du BootROM est une prouesse majeure, car Apple ne peut pas corriger ces failles sans une révision matérielle du dispositif. Cependant, la surface d'attaque du BootROM est extrêmement réduite, ce qui rend la découverte de telles vulnérabilités particulièrement difficile. En conséquence, seules deux vulnérabilités ont été rendues publiques au cours des 10 dernières années : alloc8 et checkm8, toutes deux découvertes par Axi0mX.
Ancien et nouveau BootROM
[edit | edit source]Certains modèles, comme l'iPod touch (2e génération) et l'iPhone 3GS, possèdent différentes versions du BootROM, souvent désignées par les termes "ancien BootROM" (old bootrom) et "nouveau BootROM" (new bootrom). Les appareils équipés du nouveau BootROM, sortis après le 9 septembre 2009, ont corrigé une vulnérabilité appelée 0x24000 Segment Overflow. Bien que les nouveaux BootROM aient été rapidement exploités par l'exploit limera1n (tethered), qui pouvait être combiné avec des exploits du firmware pour obtenir un jailbreak non-tethered, il a fallu plusieurs années pour découvrir l'exploit alloc8 non-tethered.
Pour identifier si un appareil possède l'ancien ou le nouveau BootROM, il est possible de vérifier la balise CPRV (Chip Revision), qui indique si l'appareil est une unité avec le BootROM corrigé ou non.
Vous pourriez également chercher des informations sur le chargeur de démarrage de deuxième étape d'Apple, également appelé iBoot.
Trouver la version du BootROM
[edit | edit source]À partir du numéro de modèle (iPod touch 2e génération)
[edit | edit source]Si le deuxième caractère du numéro de modèle est un "B" (par exemple, FB533, MB533, ou PB533), votre iPod possède l'ancien BootROM. Si le deuxième caractère est un "C" (par exemple, FC086, MC086 ou PC086), il s'agit du nouveau BootROM.
À partir du numéro de série (iPhone 3GS)
[edit | edit source]Le troisième chiffre du numéro de série indique l'année de fabrication (9 = 2009, 0 = 2010, 1 = 2011, 2 = 2012), tandis que les quatrième et cinquième chiffres indiquent la semaine de fabrication. Il existe une zone grise entre la semaine 40 de 2009 (??940??????) et la semaine 45 de 2009 (??945??????), où certains appareils ont le nouveau BootROM et d'autres l'ancien. Tout iPhone fabriqué après la semaine 45 de 2009 (??945?????? et au-delà, ou ??0????????) possède le nouveau BootROM.
À partir des descripteurs de périphérique DFU (tous les appareils sauf S5L8900)
[edit | edit source]Windows
[edit | edit source]- Connectez l'appareil et passez en mode DFU.
- Ouvrez le Gestionnaire de périphériques, trouvez le contrôleur USB, puis le sous-élément Apple Mobile Device USB Driver.
- Faites un clic droit et sélectionnez Propriétés.
- Allez à l'onglet Détails et sélectionnez Chemin d'instance de périphérique dans le menu déroulant.
- La version du BootROM sera indiquée à la fin de la chaîne d'information.
Mac OS X
[edit | edit source]- Connectez l'appareil et passez en mode DFU.
- Ouvrez System Profiler, sous la catégorie Matériel, allez à USB, et cliquez sur Apple Mobile Device (DFU Mode).
- La version du BootROM sera affichée à la fin de la chaîne du numéro de série (par exemple : [iBoot-574.4]).
Linux
[edit | edit source]- Assurez-vous que votre distribution a le paquet usbutils installé (présent par défaut dans la plupart des distributions).
- Connectez l'appareil et passez en mode DFU.
- Dans un terminal, exécutez la commande sudo lsusb -v.
- Trouvez la ligne contenant iSerial ; la version du BootROM sera indiquée à la fin de cette ligne.
Extraire le BootROM
[edit | edit source]Vous pouvez utiliser l'outil Bootrom Dumper Utility de pod2g pour extraire le BootROM sur les appareils vulnérables à l'exploit limera1n.
L'outil ipwndfu peut être utilisé pour extraire le BootROM sur les appareils vulnérables à l'exploit checkm8.
Révisions
[edit | edit source]S5L8900, utilisé dans l'iPhone, l'iPod touch et l'iPhone 3G
[edit | edit source]Consultez également VROM (S5L8900).
S5L8942, utilisé dans l'iPad 2 (iPad2,4), l'Apple TV (3e génération) (AppleTV3,1), l'iPod touch (5e génération) et l'iPad mini
[edit | edit source]- "rom"
Références
[edit | edit source]Pour plus d'informations, consultez les ressources disponibles sur The Apple Wiki.