SSTIC 2012 - Analyse forensique de terminaux iOS
Comment obtenir une image disque iOS ? comment les déchiffrer ? comment l’analyser ?
Deux méthodes : extraction logique & extraction physique.
L’extraction logique se fait via le mécanisme de backup itunes. Ce qui nécessite le code pin téléphone défini au niveau de l’iOS (différent du pin de la sim). La sauvegarde avec itunes passe par un mécanisme d’appairage avec un iphone qui doit être déverrouillé.
Pour l’extraction physique, il faut un accès root… donc au préalable il faut jaillbreaker le terminal, ce qui implique d’interragir avec le terminal, d’y écrire des choses etc…
L’auteur nous explique ensuite comment se déroule un jailbreak et comment s’effectue le boot sécurisé sous iOS. En gros l’extraction physique consiste à générer une image disque à partir d’un jailbreak DFU. A partir d’iOS4, certains fichiers ne peuvent pas être lu sur le ramdisk en utilisant cette méthode. Ou alors les fichiers étaient illisibles suite à un dd à cause du chiffrement.
Sous iOS3 le chiffrement était à partir d’une clef matérielle contenu dans le device. Sachant ça, et connaissant le mécanisme de chiffrement, il est possible de déchiffrer l’ensemble des données a partir de la récupération de la clef matérielle.
Le chiffrement par partition à été remplacé par un chiffrement de fichiers à partir d’iOS 4. Donc les developpeurs ont le choix de chiffrer ou non tel ou tel fichier. Le keybag system est un énorme conteneur de clefs sous iOS. Le code PIN du téléphone est utilisé pour protéger certaines clefs maitres qui servent au chiffrement du keybag.
En gros pour être plus résistant aux attaques par bruteforce il faut un code pin de taille N et pas seulement un code à 4 chiffres :).
Pour iOS4, si l’on dispose du téléphone et du PC avec lequel il est appairé, il est alors possible de déchiffer l’intégralité du téléphone sans avoir besoin du code PIN.
(ndlr: la présentation est truffée de détails techniques, je vous invite fortement à consulter les actes dès leur mise en ligne !!!!)