1 / 52

GPA435 – SE et PS Sécurité Informatique Étude de cas: iOS Version 2013

GPA435 – SE et PS Sécurité Informatique Étude de cas: iOS Version 2013. Introduction. Sécurité Informatique en pratique Système d’exploitation mobile iOS Dérivé de OS X des ordinateurs d’Apple ; Mise en distribution depuis 2007 pour iPhone et iPod Touch ;

vinson
Download Presentation

GPA435 – SE et PS Sécurité Informatique Étude de cas: iOS Version 2013

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. GPA435 – SE et PS Sécurité Informatique Étude de cas: iOS Version 2013

  2. Introduction • Sécurité Informatique en pratique • Système d’exploitation mobile iOS • Dérivé de OS X des ordinateursd’Apple; • Mise en distribution depuis 2007 pour iPhone et iPod Touch; • Aujourd’hui il est disponible sur iPad et AppleTV. • Mesures de sécurité • Publiées publiquement au mois de mai 2012; • http://images.apple.com/ipad/business/docs/iOS_Security_May12.pdf Ne pas confondre l’interface graphique avec le système d’exploitation. iOS est un ensemble de programmes (code) permettant l’opération des appareils mobiles de la multinationale Apple. Cet étude de cas analyse les mesures de sécurité de intégrées dans le système d’exploitation iOS. 2

  3. Sécurité informatique: iOS • Anneaux de protection • Modèle simplifié Deux éléments remarquables: a) Le chiffrement (cryptographie) est au cœur de la protection; b) L’isolement des applications (App Sandbox) pour éliminer les contaminations. Matériel Logiciel 3

  4. Sécurité informatique: iOS • La chaîne de démarrage du système Au démarrage d’un appareil iOS: a) Le processeur exécute le Boot ROM – un micro-programme résidant dans le circuit intégré du processeur au moment de sa fabrication. Le Boot ROM contient une clé cryptographique (Root key) qui sert à vérifierl’authenticité du module LLB. b) Vérification et exécution du module LLB. Ce Bootloader est un programme qui réside dans la mémoire ROM de l’appareil mobile (firmware) et dont le rôleessentielestl’initialisation des modules matériels de l’appareil. Le LLB est modifiable par la mise à jour du Firmware. Le LLB contientuneclécryptographique qui sert à vérifierl’authenticité du module suivant le iBoot. c) Le iBootest un module firmware dont le rôleest de vérifierl’authenticité du noyauiOS et le charger en mémoire pour l’exécution. 4

  5. Sécurité informatique: iOS • La chaîne de démarrage • Utilise des clés cryptographiques pour vérifier l’authenticité des modules logiciels avant: • Leur chargement en mémoire; • Leur exécution par le processeur. • La clé de base (Root Key) • Est inscrite dans le circuit intégré du processeur au moment de sa fabrication! • La chaîne de confiance • Boot ROM possède la clé de base pour vérifier le LLB; • LLB possède la clé pour vérifieriBoot; • iBootpossède la clé pour vérifier le noyaud’iOS. Nous verronsl’action des cléscryptographiques plus loin danscetteprésentation. 5

  6. Sécurité informatique: iOS • La chaîne de confiance: cas des mises à jour • Il est nécessaire de maintenir la chaîne de confiance tout en permettant les mise à jour • Les mises à jour rehaussent la fonctionnalité des appreils; • Les mises à jour permettent de contrer les attaques ou palier aux défaillances de sécurité. • Lors d’une mise à jour • L’appareil transmet aux serveurs de mise à jour: • Les modules logicielsdisponiblesdansl’appareil; • Un nombre pseudo-aléatoire (*); • ID de l’appareil (**). (*) Cenombre pseudo-aléatoire (en anglais anti-replay value ounonce) sert à initierune communication avec les serveurs de mise à jour. À la fin de la communication, cenombreestmémorisé avec le ID de l’appareil par les serveurs et on ne peut plus initierune communication avec cemêmenombre. D’où son nom en anglais (number once – nonce). (**) L’ID de l’appareilest un numéro unique possiblementinscritdans le circuit intégré du processeur. Pour obtenircenuméro de votreappreil, voir: http://theiphonewiki.com/wiki/ECID 6

  7. Sécurité informatique: iOS • La chaîne de confiance: cas des mises à jour • Lors d’une mise à jour • L’appareil transmet aux serveurs de mise à jour: • Les modules logicielsdisponiblesdansl’appareil; • Un nombre pseudo-aléatoire (nonce); • ID de l’appareil (ECID). • Les serveurs dressent une liste de mises à jour permises pour l’appareil en fonction des données reçues; • Les serveurs encodent les mises à jour en utilisant l’ID de l’appareil et transmettent le tout; • Les serveurspermettent les “upgrades” pas les “downgrades” pour contrer les attaques et le hacking par exploitation des vulnérabilitésdéclarées. • Après la réception des mises à jour, l’appareildéchiffre (decrypt) les fichiersreçus et lance chaîne de démarrage. 7

  8. Sécurité informatique: iOS • Sécurité des Apps • Contrôle lors de la création et distribution • Élimination des Apps malicieuses par la gestion de la distribution (AppStore); • Élimination des Apps malicieuses par la signature électronique • Utilisation d’un certificat de sécurité d’Apple (*); • Les Apps de base (Safari, Mail, Calendar, etc.) sontsignées par Apple; • Les Apps développées par des tierces parties doiventêtrevalidées et signées par Apple en suivant le processus de “iOSDevelopper Program” (iDEP); • Les Apps développées par uneentreprise pour des usages internes (in-house use) passent par le mêmeprocessusiDEP. De plus, un profile spécialesttéléchargédansl’appareilafin de pouvoirexécuterces Apps. (*) Un certificat de sécuritéest un fichier qui authentifie la source d’une information, d’uneentreprise, etc. Danscecas, Apple transmetuneclé de chiffrement (encryption) et un certificat qui authentifie la clé qui signe les Apps. 8

  9. Sécurité informatique: iOS • Sécurité des Apps • Contrôle lors de l’exécution • Les Apps sont cadrées dans des carrés de sable (Sandbox) • Il s’agit de la sécurité par l’isolement; • Chaque App possède son propre dossier pour sesfichiers– les fichierssystèmessontaccessiblesseulement à travers iOS; • Chaque App possèdesapartie de mémoire vive – au démarraged’une App, sapartie de mémoire vive estréservéealéatoirementdans la mémoire vive de l’appareil mobile; • Les Apps ne peuventcommuniquerdirectement entre elles; • Le processeurparticipedans le contrôle en refusantl’accès des Apps à la mémoiremarquée “non exécutable”, “système” ouutilisée par iOS. C’estpourquoiune App erratique ne cause, normalement, pas de problème aux autres Apps. 9

  10. Sécurité informatique: iOS • Sécurité par le chiffrement (encryption) • Chiffrement par le matériel • Le moteur de chiffrementest un co-processeurplacé entre le module de transfert de données (Direct Memory Access – DMA) et la mémoire flash de l’appareil • Algorithmes utilisés: AES 256 Crypto et SHA-1; • La clé de chiffrementestunecombinaison de UID et GID inscritedans le circuit intégré du moteur de chiffrementlors de sa fabrication • UID: unique pour chaqueprocesseur; • GID: identifie la classe des processeurs (appareils mobiles). • La clé de chiffrementestréputée d’être inaccessible; • D’autrescléssontgénérées par un générateur de nombres pseudo-aléatoires. • Les clésgénéréessonteffacées après usage par unetechnologieappelée “Effaceable Storage” • Active directement les circuits électroniques qui emmagasine les données! • Effaceable Storage estunetoute petite zone de mémoire. 10

  11. Sécurité informatique: iOS • Sécurité par le chiffrement (encryption) • Chiffrement par le matériel • Le moteur de chiffrementest un co-processeurplacé entre le module de transfert de données (Direct Memory Access – DMA) et la mémoire flash de l’appareil • Algorithmes utilisés: AES 256 Crypto et SHA-1; • La clé de chiffrementestunecombinaison de UID et GID inscritedans le circuit intégré du moteur de chiffrementlors de sa fabrication • UID: unique pour chaqueprocesseur; • GID: identifie la classe des processeurs (appareils mobiles). • La clé de chiffrementestréputée d’être inaccessible; • D’autrescléssontgénérées par un générateur de nombres pseudo-aléatoires. • Les clésgénéréessonteffacées après usage par unetechnologieappelée “Effaceable Storage” • Active directement les circuits électroniques qui emmagasine les données! • Effaceable Storage estunetoute petite zone de mémoire. Faisons un petit détour… Petite histoire des techniques de chiffrement 11

  12. Sécurité informatique: iOS • Sécurité par le chiffrement (encryption) • Concept de base • Chiffre de César ouchiffrement par décalagemonoalphabétique • C’estune permutation circulaire d’un même alphabet; • La longueur du décalageest la clé du chiffrement; • En voici un exempletiré de Wikipedia: • original : Wikipedia l'encyclopedie libre • encodé : ZLNLSHGLD O'HQFBFORSHGLH OLEUH Curiositéhistorique: Le Dictateur César utilisant un décalage de 3 . 12

  13. Sécurité informatique: iOS • Sécurité par le chiffrement (encryption) • Concept de base • Le chiffrement de César est un casparticulier du chiffrement par substitution; • Théoriquement 26! > 4 x 1026possibilités; • Pour l’époque (~ 80 av. J.-C.), le déchiffrement par la force brute n’est pas envisageable; • Par contre, cecryptageestfaiblepuisque nous pouvons discerner facilement les répétitions: • original : Wikipedia l'encyclopedie libre • encodé : ZLNLSHGLD O'HQFBFORSHGLH OLEUH • En général, ce genre de chiffrement par substitution monoalphabétiqueestvulnérable à la cryptanalyse (*). 13 (*) Science qui consiste à déchiffrer un message chiffré sans la clé de déchiffrement.

  14. Sécurité informatique: iOS • Sécurité par le chiffrement (encryption) • Concept de base • Le chiffrement des Francs-maçonsest un autrecasparticulier du chiffrement par substitution; • Théoriquement 26! > 4 x 1026possibilités; • Un exemple de chiffrement par cette technique; Quelest le mot chiffré? Malheureusement, le chiffrement des francs-maçons (Pigpen Cipher) estaussivulnérableque le chiffrement de César. 14

  15. Sécurité informatique: iOS • Sécurité par le chiffrement (encryption) • Concept de base • Le chiffrement ADFGVX; • Introduit par l’armée allemande à la fin de la Première Guerre Mondiale; • C’est un chiffrement fort; Le chiffrements’effectue en deuxétapes: Encoder le message par substitution des lettres; Transposer le message chiffré par un mot clé. Le tableau ADFGVX contient 36 éléments – 26 lettres et 10 chiffres. 15

  16. Sécurité informatique: iOS • Sécurité par le chiffrement (encryption) • Concept de base • Le chiffrement ADFGVX; • Le chiffrements’effectue en deuxétapes: • Encoder le message par substitution des lettres • Chaquelettre du message à chiffrerestreprésenté par deux codes; • Les colonnesdonnent le premier code; • Les lignesdonnent le deuxième code. • Par exemple: • Lancer assault • AV DG AX FD XF VA DG VG VG DG GV DA 16

  17. Sécurité informatique: iOS • Sécurité par le chiffrement (encryption) • Concept de base • Le chiffrement ADFGVX; • Le chiffrements’effectue en deuxétapes: • Transposition du message chiffré par uneclé • Le message codéestretranscritdans un nouveau tableau dont la première lignecontient le mot clé; • Puiséchanger la position des colonnesjusqu’àceque les lettres du mot clésoitclassées en ordrealphabétique. • Par exemple: • Lancer assault • AV DG AX FD XF VA DG VG VG DG GV DA • Mot clé: chat Écrire le message codé de gauche vers la droite et de haut vers le bas. 17

  18. Sécurité informatique: iOS • Sécurité par le chiffrement (encryption) • Concept de base • Le chiffrement ADFGVX; Le tableau à gauche estobtenu par permutation des colonnesselonl’ordrealphabétique du mot clé. c h a t classé en ordrealphabétiquedevient a c h t 18

  19. Sécurité informatique: iOS • Sécurité par le chiffrement (encryption) • Concept de base • Le chiffrement ADFGVX; • Finalement le message chiffréestobtenu en prenant la lecture des colonnes de gauche à droite et de haut vers le bas: • DF VV DD AA XD VG VX FG GV GD AG GA • Ainsi, • Lancer assault • AV DG AX FD XF VA DG VG VG DG GV DA • Chat • DF VV DD AA XD VG VX FG GV GD AG GA Message original Message codé Clé Message chiffré 19

  20. Sécurité informatique: iOS • Sécurité par le chiffrement (encryption) • Concept de base • Le chiffrementVigenèreestune technique substitution polyalphabétique; • Un caractèrepeut-êtresubstitué par différentscaractères; • Paru en 1568 d’aprèsune description de Blaise de Vigenère • Principe: • Pour chiffrer un message nous auronsbesoind’une table et uneclé; • Cettecléest un mot, une phrase ou un texte; • Pour chaquecaractère du message, unelettre de la cléestutiliséedans la substitution; • Donc, plus la cléest longue, plus le message sera bienchiffré. Super! On peutdonc utiliser un roman, un poèmecommeclé de chiffrement! 20

  21. Sécurité informatique: iOS • Voici la table de Vigenère: • Pour chaquelettre du message à chiffrer: • On identifie la colonne; • On prendunelettre de la clé pour identifier la ligne; • La lettrechiffréeestl’intersection entre la colonne et la ligne. • Les lettres de la clésont à prendredansl’ordre et on répète en boucle autant de foisquenécessaire. • Exemple: • j’adoreecouter la radio toute la journee • m usiquemusiquemusiquemusiquemusiqu • V’UVWHY IOIMBUL PM LSLYI XAOLM BU NAOJVUY La cléest le mot : musique 21

  22. Sécurité informatique: iOS • Sécurité par le chiffrement (encryption) • Messages non déchiffrés – énigmes de l’histoire • Messages laissés par le tueur en sériesurnommé Zodiac Killer; • Actifjuillet 1966 – avril 1974; • Jamaisretracé. 22

  23. Sécurité informatique: iOS • Sécurité par le chiffrement (encryption) • Messages non déchiffrés – énigmes de l’histoire • Manuscrit de Voynich; • Début 15e siècle; • Possiblementproduit en Italie; • Voynichest le nom d’un de sespropriétaires (1912); • Ressemble à uneréférencesur la médecine et les plantesmédicinales. 23

  24. Sécurité informatique: iOS • Sécurité par le chiffrement (encryption) • Chiffrement par le matériel • Le moteur de chiffrementest un co-processeurplacé entre le module de transfert de données (Direct Memory Access – DMA) et la mémoire flash de l’appareil • Algorithmes utilisés: AES 256 Crypto et SHA-1; • La clé de chiffrementestunecombinaison de UID et GID inscritedans le circuit intégré du moteur de chiffrementlors de sa fabrication • UID: unique pour chaqueprocesseur; • GID: identifie la classe des processeurs (appareils mobiles). • La clé de chiffrementestréputée d’être inaccessible; • D’autrescléssontgénérées par un générateur de nombres pseudo-aléatoires. • Les clésgénéréessonteffacées après usage par unetechnologieappelée “Effaceable Storage” • Active directement les circuits électroniques qui emmagasine les données! • Effaceable Storage estunetoute petite zone de mémoire. Le chiffrement moderne… C’est la faute à César, Francs-maçons, ADFGVX, Vigenère 24

  25. Sécurité informatique: iOS • Sécurité par le chiffrement (encryption) • AES 256 Crypto • Advanced Encryption Standard est un standard développé par les Belges Joan Daemenet Vincent Rijmen; • Adopté par le NIST (National Institute of Standards and Technology) en 2001; • Devenu le standard de facto du commerce américain en 2002; • Recommandé par le NSA (National Security Agency) pour le cryptage des document “Top Secret”; • Le chiffresuivantl’acronymeindique le nombre de bits utilisés par la clé de chiffrement; • Il existeunepanoplied’implantation de ce standard – évidemment, toujours utiliser une implantation de source sûre ;-)). • http://en.wikipedia.org/wiki/AES_implementations 25

  26. Sécurité informatique: iOS • Sécurité par le chiffrement (encryption) • AES 256 Crypto • AES estbidirectionnel • Chiffrement (cryptage) et déchiffrement (décryptage); • Opère au niveau des bits • Peutchiffrern’importequel type de fichierset données; • Unemêmeclé pour le chiffrement et déchiffrement; • Jusqu’àprésents des attaquesthéoriquesontétéprésentéessur des modèlessimplifiés de l’algorithme; • Des attaquessur des systèmesd’implantationontétéprésentées; • Selontoutevraisemblance, iln’y aura pas de défaillance de sécurité pour les prochainesannées. 26

  27. Sécurité informatique: iOS • Sécurité par le chiffrement (encryption) • AES 256 Crypto • La base de AES repose surquatreopérations: Cléouunepartie de la clé de chiffrement AddRoundKey La clé de chiffrementouunepartie de cettecléestutilisée pour générer des nouveaux blocs de données. Générerune sous-clé par rotation, multiplication, des bits; Combiner cette sous-clé avec les données à l’aide de l’opérateurOu-exclusif (XOR). Nouveaux blocs de données 128 bits de donnéesorganisées en blocs de 4 x 4 octets 27

  28. Sécurité informatique: iOS • Sécurité par le chiffrement (encryption) • AES 256 Crypto • La base de AES repose surquatreopérations: • SubBytes • Substituer un octet par un autre octet • Le S représenteune transformation arithmétique qui consiste à trouver le réciproque du nombredans le domainebinaire. Blocs de données à transformer Nouveaux blocs de données La branche des mathématiquesimpliquéeestl’arithmétique des champs finis de la théorie des nombres. 28

  29. Sécurité informatique: iOS • Sécurité par le chiffrement (encryption) • AES 256 Crypto • La base de AES repose surquatreopérations: • ShiftRows • Décaler les bits des lignes • Les bits de la première ligne ne sont pas décalés; • Les bits de la 2e lignesontdécalésvers la gauche d’un octet; • Les bits de la 3e lignesontdécalésvers la gauche de deux octets; • Les bits de la 4e lignesontdécalésvers la gauche de trois octets. Blocs de données à transformer Nouveaux blocs de données 29

  30. Sécurité informatique: iOS • Sécurité par le chiffrement (encryption) • AES 256 Crypto • La base de AES repose surquatreopérations: • MixColumms • Combiner quatre octets d’unecolonne • Quatre octets d’entréegénèrentquatre octets à la sortie; • Ressemble à une multiplication polynomialemaisdans le domainebinaire. Blocs de données à transformer Nouveaux blocs de données 30

  31. Sécurité informatique: iOS • Sécurité par le chiffrement (encryption) • AES 256 Crypto • Algorithme • KeyExpansion—créer des sous-clésselon un schémapréétabli. • Initial Round • 1.AddRoundKey. • Rounds • SubBytes • ShiftRows • MixColumns • AddRoundKey • Final Round • SubBytes • ShiftRows • AddRoundKey 10 répétition pour des clés de 128 bits 12 répétition pour des clés de 192-bits. 14 répétition pour des clés de 256 bits. 31

  32. Sécurité informatique: iOS • Sécurité par le chiffrement (encryption) • AES 256 Crypto • Algorithme • KeyExpansion—créer des sous-clésselon un schémapréétabli. • Initial Round • 1.AddRoundKey. • Rounds • SubBytes • ShiftRows • MixColumns • AddRoundKey • Final Round • SubBytes • ShiftRows • AddRoundKey 10 répétition pour des clés de 128 bits 12 répétition pour des clés de 192-bits. 14 répétition pour des clés de 256 bits. 32

  33. Sécurité informatique: iOS • Sécurité par le chiffrement (encryption) • AES 256 Crypto • Démo • http://www.nakov.com/blog/2011/12/26/online-aes-encryptor-decryptor-javascript/ Prendre les octets Le mot de passeest la clé du cryptage Afficher le résultat du cryptage en ASCII Exécuter le cryptage avec le résulat et la mêmeclé 33

  34. Sécurité informatique: iOS • Sécurité par le chiffrement (encryption) • AES 256 Crypto • Déchiffrement par la force brute • Essayer toutes les combinaisons • Il y a croissanceexponentielledans le nombre de combinaisons; • Si nous pouvons essayer chacune des combinaisons en 1 pico-seconde (10-12 sec): 1,1 x 1065secondes.; • 1 annéepossède3.15569 x 107 secondes • Alors1,1 x 1065secondesreprésentent 3.49 x 1057années; • Selon la théorie du Big Bang: l’Univers date de 13.77 x 109années; • On estimequ’il y a entre 1022 à 1024étoilesdansl’Univers observable. 34

  35. Sécurité informatique: iOS • Sécurité par la signature (électronique) • SHA-1 • Secure Hash Algorithm estunefonction de hachagecryptographiquepubliée par le NSA (National Security Agency); • Cettefonctionsert à produireune signature de 160 bits à partir d’un ensemble de données; • L’objectifconsiste à générerune signature unique pour un ensemble de données – iln’existe pas deux ensembles de donnéesproduisant la même signature – pas de collision; • Puisqu’ils’agitd’unefonctioncryptographique, on ne peut pas retrouver les données à partir de sa signature; • Donc, la signature permet la vérification du contenu d’un document –détection de modification et assure l’intégrité. 35

  36. Sécurité informatique: iOS • Sécurité par la signature (électronique) • SHA-1 • Quatrefonctionsbinaires: • X, Y et Z sont des bits de données • (X AND Y) OR (NOT X AND Z) • (X AND Z) OR (Y AND NOT Z) • (X EXOR Y EXOR Z) • Y EXOR (X AND NOT Z) • Opèresur des blocs de 512 bits de données; • La taillemaximale des données 264 – 1 bits ~ 17592186044415 Mo; • 2005: collision provoquéesur un modèleréduit de SHA-1; • 2005: collision provoquéesur le modèlecomplet de SHA-1 en 269opérations; • 2006: collision provoquéesur un modèleréduit en 235opérations; • 2010 et 2012: des efforts utilisant le Cloud Computing pour provoquer des collisions sur le modèlecomplet– sans résultat. 36

  37. Sécurité informatique: iOS • Sécurité par la signature (électronique) • SHA-1 • Démo: https://www.pidder.com/pidcrypt/?page=sha1 Données à signer Signature électronique 40 caractères hex = 160 bits 37 Texteprovient de: http://www.lipsum.com/

  38. Sécurité informatique: iOS • Sécurité par la signature (électronique) • SHA-1 • Démo: https://www.pidder.com/pidcrypt/?page=sha1 Modification d’un caractère Signature électroniquedifférente 38

  39. Sécurité informatique: iOS • Sécurité trivia • Combien y-a-t-il de combinaisonssur le passcode des iPhones, iPad? • 104 = 100 000; • Facile à trouver par la force brute. Par contre, • Après 6 essais : attendre 1 minute; • Après 7 essais: attendre 15 minutes; • Après 9 essais: attendre 60 minutes; • Après 10 essais: ?? • Voler la mémoire flash d’un iPhone et l’installersur un autre? • Pas utile car le contenu des fichiersestchiffré en utilisantcommeclé de chiffrement le UID et le GID. Le UID est unique pour chacun des iPhones et on ne peut pas l’obtenir (emmagasinédans le circuit intégré). 39

  40. Sécurité informatique: iOS • Sécurité trivia • La protection accordée aux fichiers • Protection complète • Accèes par passcode; • Au verrouillage de l’appareil, la clé de chiffrement/déchiffrementesteffacée. • Protection complèteexceptéeouverte • Mêmeque Protection Complète; • Ne pas appliquée aux fichiersouverts. • Protection complètejusqu’àl’authentification • Mêmeque Protection Complète; • La clé de chiffrement/déchiffrementestréutilisée. • Sans protection • Sans protection supplémentaire; • Utilise le chiffrement du système des fichiers. 40

  41. Sécurité informatique: iOS • Sécurité trivia • Accès à l’Internet via le fureteur Safari • Le fureteurdemandeune page sécurisée (Ex: https://); • Le serveur WEB transmetuneclé de chiffrement avec son certificat au fureteur; • Le fureteurvérifie le certifcat (est-ce encore valide?); • Le fureteur utilise la clé de chiffrement pour: • Chiffrerunecléaléatoire; • Utiliser la cléaléatoire pour chiffrer la requête; • Transmet le tout au serveur WEB. • Le serveur WEB déchiffrement les donnéesreçueset utilise la cléreçue pour déchiffrer la requête du fureteur; • Le serveur WEB transmet la page demandéechiffrée par la cléaléatoire; • Le fureteur utilise la cléaléatoire pour déchiffrer la page reçue. Il s’agit d’un mode d’opération du SSL (Secure Socket Layer) 41

  42. Sécurité informatique: iOS • Sécurité trivia • Accès à l’Internet via le fureteur Safari • Comment les serveurs WEB peuvent-ilsreconnaître les appareils mobiles et transmettreleurs pages en format mobile? • Les fureteurstransmettentleursrequêtes en fournissantl’en-tête “User-Agent” • Mozilla/[version] ([system and browser information]) [platform] ([platform details]) [extensions]. • Par exemple: • Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405 Safari/525.20 • iPad; U; CPU OS 3_2_1 like Mac OS X; en-us donne le systèmeinformatiquesurlequel le fureteurs’opère; • ApleWebKit/531.21.10 indique la plateformelogiciellesurlaquelle le fureteurfonctionne; • KHTML, like Gecko indiqueque le “layout engine” du fureteurestcelui du projet KDE (Linux); • Mobile/7B405 indiquequ’ilest en version mobile; • Safari/525.20 indiquequ’ilest Safari. Bingo! 42

  43. Sécurité informatique: iOS • Sécurité trivia • Qu’est-ceque le jailbreaking? • Briser la chaîne de confiance; • Comment brisercettechaîne? • Voler les clés de chiffrement – le UID estverrouillé à un et un seulappareil; • Décrypter le chiffrement – on l’a vu précédemment pas du tout pratique; • Voler la signature électronique – ça ne donnerien – de toutefaçon les signatures sontpubliques; • Que faire alors? • Exploiter les “bugs” et vulnérabilités du systèmed’exploitationiOS! 43

  44. Sécurité informatique: iOS • Sécurité trivia • Qu’est-ceque le jailbreaking? • Le noyau du iOSestbasésur le noyau XNU et cedernierest du domaine public; • http://en.wikipedia.org/wiki/XNU • On peutalorsauditer le code source pour trouver les vulnérabilitésintéressantes pour attaqueriOS(problèmes de design, erreurs de programmation, etc.) • Problèmes de design; • Erreurs de programmation; • Etc. • Les jailbreakersvontsurtoutintéressés par des vulnérabilitésqui leurdonneront les privilègesd’accèssuprêmes – les privilèges du “root” (*) (*) Les privilègesd’accès du root sontsupérieurs à ceux de l’administrateur! 44

  45. Sécurité informatique: iOS • Sécurité trivia • Quel est le scénario préféré pour les jailbreakers? • Devenir root lors de la séquence de démarrage; • Charger et exécuter un noyautrafiqué; • Noyautrafiquéarrêtetoutes les mesures de sécurité du iOS; • Comment ont-ils réussi? • Ilsobtiennentune image binaire du Boot ROM en testant des messages de contrôle du port USB de son iPod; • Image binaireestensuiteconvertie en langageassemblé du processeur ARM • Unefois le programme Boot ROM en main, les jailbreakerspeutdésormaischercher des vulnérabilités; • Ilsdécouvrentqu’enmettant des zérosdans les registres SHA-1, le Boot ROM peut charger un petit programme au début du Boot ROM lui-même; • Le code de ce petit programme peutalorsbriser la chaîne de confiance. Boot ROM exploit 45

  46. Sécurité informatique: iOS • Sécurité trivia • Ils utilisent le mode de mise à jour du firmware • (DFU – DeviceFirmware Update) • Le Boot ROM charge et exécuteiBoot; • L’iBoot charge et exécute le noyau; • Le noyau charge et exécute les services nécessaires pour la mise à jour du firmware. • Les « exploits » nécessaires … • Remplacer le Boot ROM par un programme trafiqué • Mettre à zéro les registres SHA-1; • Le Boot ROM original charge le programme traffiqué et par le fait mêmeécrase le Boot ROM original; • Le programme trafiquéprend le contrôled’exécution. 46

  47. Sécurité informatique: iOS • Sécurité trivia • Les « exploits » nécessaires … • Le Boot ROM trafiqué charge iBoot iBSS et iBECsont des modules de iBoot. On les modifie pour permettre le chargement et l’exécution du noyautrafiqué. Plus précisément, on enlève la partievérification de signature électronique. C’estnécessaireparceque le noyautrafiqué ne possède pas la bonne signature! 47

  48. Sécurité informatique: iOS • Sécurité trivia • Les « exploits » nécessaires … • Unefois le noyautrafiquéest chargé en mémoire, on peutl’exécutermais en mode “Debug” • Le “debugger” GDB est open-source et disponible; En contrôlant le noyautrafiqué par le debugger, on peutmaintenantl’exécuter pas-à-pas, le faire sautersuruneautreligne de code et mêmeexécuter des fonctions! 48

  49. Sécurité informatique: iOS • Sécurité trivia • Les « exploits » nécessaires … • “Kernel Heap overflow” force le noyau à nous retourneruneadressemémoiresystème pour écrire un petit programme sous formed’octects et exécuter le petit programme avec les privilèges du noyau; • Le petit programme fait ensuitedésactiver les mesures de sécurité du iOS; • Les jailbreakersontréussi à localiser le code qui valide la signature électronique: wm_page_validate_cs(); • Les jailbreakerontmodifié le comportement de cettefonction en faisantexécuter le processeur des instructions autresquecellesprévues; • Autrementdit, le noyauiOSestmené à exécuterunemauvaiselogiquedans la validation de la signature des Apps. • L’approche pour implanter cet exploit est le ROP; • Return-Oriented Programming; • Il n’y a pas injection de code dansl’espacemémoire; • On récupère des bouts de code en mémoire 49

  50. Sécurité informatique: iOS • Sécurité trivia • Les « exploits » nécessaires … • L’approche pour implanter cet exploit est le ROP (Return-Oriented Programming); • Il n’y a pas injection de code dansl’espacemémoire; • On récupère des bouts de code en mémoireutiles à l’attaque et faire l’exécution du processeurparmices bouts de code; • Uneanalogie: Gens, laisser votre pays. Gens du pays, c'est votre tour De vous laisser parler d'amour Gens du pays, c'est votre tour De vous laisser parler d'amour. ROP 50

More Related