La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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

Présentations similaires


Présentation au sujet: "GPA435 – SE et PS Sécurité Informatique Étude de cas: iOS Version 2013."— Transcription de la présentation:

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

2 Introduction Sécurité Informatique en pratique Sécurité Informatique en pratique Système dexploitation mobile iOS Système dexploitation mobile iOS Dérivé de OS X des ordinateurs dApple; Mise en distribution depuis 2007 pour iPhone et iPod Touch; Aujourdhui il est disponible sur iPad et AppleTV. Mesures de sécurité Mesures de sécurité Publiées publiquement au mois de mai 2012; http://images.apple.com/ipad/business/docs/iOS_Security_May12.pdf 2 Ne pas confondre linterface graphique avec le système dexploitation. iOS est un ensemble de programmes (code) permettant lopé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 dexploitation iOS.

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

4 Sécurité informatique: iOS La chaîne de démarrage du système La chaîne de démarrage du système 4 Au démarrage dun 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érifier lauthenticité 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 lappareil mobile (firmware) et dont le rôle essentiel est linitialisation des modules matériels de lappareil. Le LLB est modifiable par la mise à jour du Firmware. Le LLB contient une clé cryptographique qui sert à vérifier lauthenticité du module suivant le iBoot. c) Le iBoot est un module firmware dont le rôle est de vérifier lauthenticité du noyau iOS et le charger en mémoire pour lexécution.

5 Sécurité informatique: iOS La chaîne de démarrage La chaîne de démarrage Utilise des clés cryptographiques pour vérifier lauthenticité des modules logiciels avant: Utilise des clés cryptographiques pour vérifier lauthenticité des modules logiciels avant: Leur chargement en mémoire; Leur exécution par le processeur. La clé de base (Root Key) 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 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érifier iBoot; iBoot possède la clé pour vérifier le noyau diOS. 5 Nous verrons laction des clés cryptographiques plus loin dans cette présentation.

6 Sécurité informatique: iOS La chaîne de confiance: cas des mises à jour 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 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 dune mise à jour Lors dune mise à jour Lappareil transmet aux serveurs de mise à jour: Les modules logiciels disponibles dans lappareil; Un nombre pseudo-aléatoire (*); ID de lappareil (**). 6 (*) Ce nombre pseudo-aléatoire (en anglais anti-replay value ou nonce) sert à initier une communication avec les serveurs de mise à jour. À la fin de la communication, ce nombre est mémorisé avec le ID de lappareil par les serveurs et on ne peut plus initier une communication avec ce même nombre. Doù son nom en anglais (number once – nonce). (**) LID de lappareil est un numéro unique possiblement inscrit dans le circuit intégré du processeur. Pour obtenir ce numéro de votre appreil, voir: http://theiphonewiki.com/wiki/ECID

7 Sécurité informatique: iOS La chaîne de confiance: cas des mises à jour La chaîne de confiance: cas des mises à jour Lors dune mise à jour Lors dune mise à jour Lappareil transmet aux serveurs de mise à jour: Les modules logiciels disponibles dans lappareil; Un nombre pseudo-aléatoire (nonce); ID de lappareil (ECID). Les serveurs dressent une liste de mises à jour permises pour lappareil en fonction des données reçues; Les serveurs encodent les mises à jour en utilisant lID de lappareil et transmettent le tout; Les serveurs permettent les upgrades pas les downgrades pour contrer les attaques et le hacking par exploitation des vulnérabilités déclarées. Après la réception des mises à jour, lappareil déchiffre (decrypt) les fichiers reçus et lance chaîne de démarrage. 7

8 Sécurité informatique: iOS Sécurité des Apps Sécurité des Apps Contrôle lors de la création et distribution 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 dun certificat de sécurité dApple (*); Les Apps de base (Safari, Mail, Calendar, etc.) sont signées par Apple; Les Apps développées par des tierces parties doivent être validées et signées par Apple en suivant le processus de iOS Developper Program (iDEP); Les Apps développées par une entreprise pour des usages internes (in-house use) passent par le même processus iDEP. De plus, un profile spécial est téléchargé dans lappareil afin de pouvoir exécuter ces Apps. 8 (*) Un certificat de sécurité est un fichier qui authentifie la source dune information, dune entreprise, etc. Dans ce cas, Apple transmet une clé de chiffrement (encryption) et un certificat qui authentifie la clé qui signe les Apps.

9 Sécurité informatique: iOS Sécurité des Apps Sécurité des Apps Contrôle lors de lexécution Contrôle lors de lexécution Les Apps sont cadrées dans des carrés de sable (Sandbox) Il sagit de la sécurité par lisolement; Chaque App possède son propre dossier pour ses fichiers – les fichiers systèmes sont accessibles seulement à travers iOS; Chaque App possède sa partie de mémoire vive – au démarrage dune App, sa partie de mémoire vive est réservée aléatoirement dans la mémoire vive de lappareil mobile; Les Apps ne peuvent communiquer directement entre elles; Le processeur participe dans le contrôle en refusant laccès des Apps à la mémoire marquée non exécutable, système ou utilisée par iOS. 9 Cest pourquoi une App erratique ne cause, normalement, pas de problème aux autres Apps.

10 Sécurité informatique: iOS Sécurité par le chiffrement (encryption) Sécurité par le chiffrement (encryption) Chiffrement par le matériel Chiffrement par le matériel Le moteur de chiffrement est un co-processeur placé entre le module de transfert de données (Direct Memory Access – DMA) et la mémoire flash de lappareil Algorithmes utilisés: AES 256 Crypto et SHA-1; La clé de chiffrement est une combinaison de UID et GID inscrite dans le circuit intégré du moteur de chiffrement lors de sa fabrication UID: unique pour chaque processeur; GID: identifie la classe des processeurs (appareils mobiles). La clé de chiffrement est réputée dêtre inaccessible; Dautres clés sont générées par un générateur de nombres pseudo- aléatoires. Les clés générées sont effacées après usage par une technologie appelée Effaceable Storage Active directement les circuits électroniques qui emmagasine les données! Effaceable Storage est une toute petite zone de mémoire. 10

11 Sécurité informatique: iOS Sécurité par le chiffrement (encryption) Sécurité par le chiffrement (encryption) Chiffrement par le matériel Chiffrement par le matériel Le moteur de chiffrement est un co-processeur placé entre le module de transfert de données (Direct Memory Access – DMA) et la mémoire flash de lappareil Algorithmes utilisés: AES 256 Crypto et SHA-1; La clé de chiffrement est une combinaison de UID et GID inscrite dans le circuit intégré du moteur de chiffrement lors de sa fabrication UID: unique pour chaque processeur; GID: identifie la classe des processeurs (appareils mobiles). La clé de chiffrement est réputée dêtre inaccessible; Dautres clés sont générées par un générateur de nombres pseudo- aléatoires. Les clés générées sont effacées après usage par une technologie appelée Effaceable Storage Active directement les circuits électroniques qui emmagasine les données! Effaceable Storage est une toute petite zone de mémoire. 11 Faisons un petit détour… Petite histoire des techniques de chiffrement

12 Sécurité informatique: iOS Sécurité par le chiffrement (encryption) Sécurité par le chiffrement (encryption) Concept de base Concept de base Chiffre de César ou chiffrement par décalage monoalphabétique Cest une permutation circulaire dun même alphabet; La longueur du décalage est la clé du chiffrement; En voici un exemple tiré de Wikipedia: original : Wikipedia l'encyclopedie libre encodé : ZLNLSHGLD O'HQFBFORSHGLH OLEUH 12 Curiosité historique: Le Dictateur César utilisant un décalage de 3.

13 Sécurité informatique: iOS Sécurité par le chiffrement (encryption) Sécurité par le chiffrement (encryption) Concept de base Concept de base Le chiffrement de César est un cas particulier du chiffrement par substitution; Théoriquement 26! > 4 x 10 26 possibilités; Pour lépoque (~ 80 av. J.-C.), le déchiffrement par la force brute nest pas envisageable; Par contre, ce cryptage est faible puisque 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étique est vulné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) Sécurité par le chiffrement (encryption) Concept de base Concept de base Le chiffrement des Francs-maçons est un autre cas particulier du chiffrement par substitution; Théoriquement 26! > 4 x 10 26 possibilités; Un exemple de chiffrement par cette technique; 14 Quel est le mot chiffré? Malheureusement, le chiffrement des francs-maçons (Pigpen Cipher) est aussi vulnérable que le chiffrement de César.

15 Sécurité informatique: iOS Sécurité par le chiffrement (encryption) Sécurité par le chiffrement (encryption) Concept de base Concept de base Le chiffrement ADFGVX; Introduit par larmée allemande à la fin de la Première Guerre Mondiale; Cest un chiffrement fort; 15ADFGVXA8p3d1n Dlt4oah F7kbc5z Gju6wgm Vxsvir2 X9ey0fq Le chiffrement seffectue en deux étapes: 1.Encoder le message par substitution des lettres; 2.Transposer le message chiffré par un mot clé. Le tableau ADFGVX contient 36 éléments – 26 lettres et 10 chiffres.

16 Sécurité informatique: iOS Sécurité par le chiffrement (encryption) Sécurité par le chiffrement (encryption) Concept de base Concept de base Le chiffrement ADFGVX; 16 ADFGVX A8p3d1n Dlt4oah F7kbc5z Gju6wgm Vxsvir2 X9ey0fq Le chiffrement seffectue en deux étapes: 1.Encoder le message par substitution des lettres Chaque lettre du message à chiffrer est représenté par deux codes; Chaque lettre du message à chiffrer est représenté par deux codes; Les colonnes donnent le premier code; Les colonnes donnent le premier code; Les lignes donnent le deuxième code. Les lignes donnent le deuxième code. Par exemple: Lancer assault AV DG AX FD XF VA DG VG VG DG GV DA

17 Sécurité informatique: iOS Sécurité par le chiffrement (encryption) Sécurité par le chiffrement (encryption) Concept de base Concept de base Le chiffrement ADFGVX; 17chatAVDG AXFD XFVA DGVG VGDG GVDA Le chiffrement seffectue en deux étapes: 2.Transposition du message chiffré par une clé Le message codé est retranscrit dans un nouveau tableau dont la première ligne contient le mot clé; Le message codé est retranscrit dans un nouveau tableau dont la première ligne contient le mot clé; Puis échanger la position des colonnes jusquà ce que les lettres du mot clé soit classées en ordre alphabétique. Puis échanger la position des colonnes jusquà ce que les lettres du mot clé soit classées en ordre alphabé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.

18 Sécurité informatique: iOS Sécurité par le chiffrement (encryption) Sécurité par le chiffrement (encryption) Concept de base Concept de base Le chiffrement ADFGVX; 18chatAVDG AXFD XFVA DGVG VGDG GVDA achtDAVG FAXD VXFA VDGG DVGG DGVA Le tableau à gauche est obtenu par permutation des colonnes selon lordre alphabétique du mot clé. c h a t classé en ordre alphabétique devient a c h t

19 Sécurité informatique: iOS Sécurité par le chiffrement (encryption) Sécurité par le chiffrement (encryption) Concept de base Concept de base Le chiffrement ADFGVX; 19achtDAVG FAXD VXFA VDGG DVGG DGVA Finalement le message chiffré est obtenu 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é

20 Sécurité informatique: iOS Sécurité par le chiffrement (encryption) Sécurité par le chiffrement (encryption) Concept de base Concept de base Le chiffrement Vigenère est une technique substitution polyalphabétique; Un caractère peut-être substitué par différents caractères; Paru en 1568 daprès une description de Blaise de Vigenère Principe: Pour chiffrer un message nous aurons besoin dune table et une clé; Cette clé est un mot, une phrase ou un texte; Pour chaque caractère du message, une lettre de la clé est utilisée dans la substitution; Donc, plus la clé est longue, plus le message sera bien chiffré. 20 Super! On peut donc utiliser un roman, un poème comme clé de chiffrement!

21 Sécurité informatique: iOS 21 Voici la table de Vigenère: Pour chaque lettre du message à chiffrer: On identifie la colonne; On identifie la colonne; On prend une lettre de la clé pour identifier la ligne; On prend une lettre de la clé pour identifier la ligne; La lettre chiffrée est lintersection entre la colonne et la ligne. La lettre chiffrée est lintersection entre la colonne et la ligne. Les lettres de la clé sont à prendre dans lordre et on répète en boucle autant de fois que nécessaire. Exemple: jadore ecouter la radio toute la journee m usiqu emusiqu em usiqu emusi qu emusiqu VUVWHY IOIMBUL PM LSLYI XAOLM BU NAOJVUY La clé est le mot : musique

22 Sécurité informatique: iOS Sécurité par le chiffrement (encryption) Sécurité par le chiffrement (encryption) Messages non déchiffrés – énigmes de lhistoire Messages non déchiffrés – énigmes de lhistoire 22 Messages laissés par le tueur en série surnommé Zodiac Killer; Messages laissés par le tueur en série surnommé Zodiac Killer; Actif juillet 1966 – avril 1974; Actif juillet 1966 – avril 1974; Jamais retracé. Jamais retracé.

23 Sécurité informatique: iOS Sécurité par le chiffrement (encryption) Sécurité par le chiffrement (encryption) Messages non déchiffrés – énigmes de lhistoire Messages non déchiffrés – énigmes de lhistoire 23 Manuscrit de Voynich; Manuscrit de Voynich; Début 15e siècle; Début 15e siècle; Possiblement produit en Italie; Possiblement produit en Italie; Voynich est le nom dun de ses propriétaires (1912); Voynich est le nom dun de ses propriétaires (1912); Ressemble à une référence sur la médecine et les plantes médicinales. Ressemble à une référence sur la médecine et les plantes médicinales.

24 Sécurité informatique: iOS Sécurité par le chiffrement (encryption) Sécurité par le chiffrement (encryption) Chiffrement par le matériel Chiffrement par le matériel Le moteur de chiffrement est un co-processeur placé entre le module de transfert de données (Direct Memory Access – DMA) et la mémoire flash de lappareil Algorithmes utilisés: AES 256 Crypto et SHA-1; La clé de chiffrement est une combinaison de UID et GID inscrite dans le circuit intégré du moteur de chiffrement lors de sa fabrication UID: unique pour chaque processeur; GID: identifie la classe des processeurs (appareils mobiles). La clé de chiffrement est réputée dêtre inaccessible; Dautres clés sont générées par un générateur de nombres pseudo- aléatoires. Les clés générées sont effacées après usage par une technologie appelée Effaceable Storage Active directement les circuits électroniques qui emmagasine les données! Effaceable Storage est une toute petite zone de mémoire. 24 Le chiffrement moderne… Cest la faute à César, Francs-maçons, ADFGVX, Vigenère

25 Sécurité informatique: iOS Sécurité par le chiffrement (encryption) Sécurité par le chiffrement (encryption) AES 256 Crypto AES 256 Crypto Advanced Encryption Standard est un standard développé par les Belges Joan Daemen et 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 chiffre suivant lacronyme indique le nombre de bits utilisés par la clé de chiffrement; Il existe une panoplie dimplantation 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) Sécurité par le chiffrement (encryption) AES 256 Crypto AES 256 Crypto AES est bidirectionnel Chiffrement (cryptage) et déchiffrement (décryptage); Opère au niveau des bits Peut chiffrer nimporte quel type de fichiers et données; Une même clé pour le chiffrement et déchiffrement; Jusquà présents des attaques théoriques ont été présentées sur des modèles simplifiés de lalgorithme; Des attaques sur des systèmes dimplantation ont été présentées; Selon toute vraisemblance, il ny aura pas de défaillance de sécurité pour les prochaines années. 26

27 Sécurité informatique: iOS Sécurité par le chiffrement (encryption) Sécurité par le chiffrement (encryption) AES 256 Crypto AES 256 Crypto La base de AES repose sur quatre opérations: 27 AddRoundKey La clé de chiffrement ou une partie de cette clé est utilisée pour générer des nouveaux blocs de données. a)Générer une sous-clé par rotation, multiplication, des bits; b)Combiner cette sous-clé avec les données à laide de lopérateur Ou-exclusif (XOR). 128 bits de données organisées en blocs de 4 x 4 octets Clé ou une partie de la clé de chiffrement Nouveaux blocs de données

28 Sécurité informatique: iOS Sécurité par le chiffrement (encryption) Sécurité par le chiffrement (encryption) AES 256 Crypto AES 256 Crypto La base de AES repose sur quatre opérations: 28 SubBytes Substituer un octet par un autre octet a)Le S représente une transformation arithmétique qui consiste à trouver le réciproque du nombre dans le domaine binaire. Blocs de données à transformer Nouveaux blocs de données La branche des mathématiques impliquée est larithmétique des champs finis de la théorie des nombres.

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

30 Sécurité informatique: iOS Sécurité par le chiffrement (encryption) Sécurité par le chiffrement (encryption) AES 256 Crypto AES 256 Crypto La base de AES repose sur quatre opérations: 30 MixColumms Combiner quatre octets dune colonne a)Quatre octets dentrée génèrent quatre octets à la sortie; b)Ressemble à une multiplication polynomiale mais dans le domaine binaire. Blocs de données à transformer Nouveaux blocs de données

31 Sécurité informatique: iOS Sécurité par le chiffrement (encryption) Sécurité par le chiffrement (encryption) AES 256 Crypto AES 256 Crypto Algorithme KeyExpansioncréer des sous-clés selon un schéma préétabli. Initial Round 1.AddRoundKey. Rounds SubBytes ShiftRows MixColumns AddRoundKey Final Round SubBytes ShiftRows AddRoundKey 31 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 Sécurité informatique: iOS Sécurité par le chiffrement (encryption) Sécurité par le chiffrement (encryption) AES 256 Crypto AES 256 Crypto Algorithme KeyExpansioncréer des sous-clés selon un schéma préétabli. Initial Round 1.AddRoundKey. Rounds SubBytes ShiftRows MixColumns AddRoundKey Final Round SubBytes ShiftRows AddRoundKey 32 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.

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

34 Sécurité informatique: iOS Sécurité par le chiffrement (encryption) Sécurité par le chiffrement (encryption) AES 256 Crypto AES 256 Crypto Déchiffrement par la force brute Essayer toutes les combinaisons 34 Il y a croissance exponentielle dans le nombre de combinaisons; Il y a croissance exponentielle dans le nombre de combinaisons; Si nous pouvons essayer chacune des combinaisons en 1 pico-seconde (10 -12 sec): 1,1 x 10 65 secondes.; Si nous pouvons essayer chacune des combinaisons en 1 pico-seconde (10 -12 sec): 1,1 x 10 65 secondes.; 1 année possède 3.15569 x 10 7 secondes 1 année possède 3.15569 x 10 7 secondes Alors 1,1 x 10 65 secondes représentent 3.49 x 10 57 années; Alors 1,1 x 10 65 secondes représentent 3.49 x 10 57 années; Selon la théorie du Big Bang: lUnivers date de 13.77 x 10 9 années; Selon la théorie du Big Bang: lUnivers date de 13.77 x 10 9 années; On estime quil y a entre 10 22 à 10 24 étoiles dans lUnivers observable. On estime quil y a entre 10 22 à 10 24 étoiles dans lUnivers observable.

35 Sécurité informatique: iOS Sécurité par la signature (électronique) Sécurité par la signature (électronique) SHA-1 SHA-1 Secure Hash Algorithm est une fonction de hachage cryptographique publiée par le NSA (National Security Agency); Cette fonction sert à produire une signature de 160 bits à partir dun ensemble de données; Lobjectif consiste à générer une signature unique pour un ensemble de données – il nexiste pas deux ensembles de données produisant la même signature – pas de collision; Puisquil sagit dune fonction cryptographique, on ne peut pas retrouver les données à partir de sa signature; Donc, la signature permet la vérification du contenu dun document – détection de modification et assure lintégrité. 35

36 Sécurité informatique: iOS Sécurité par la signature (électronique) Sécurité par la signature (électronique) SHA-1 SHA-1 Quatre fonctions binaires: 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ère sur des blocs de 512 bits de données; La taille maximale des données 2 64 – 1 bits ~ 17592186044415 Mo; 2005: collision provoquée sur un modèle réduit de SHA-1; 2005: collision provoquée sur le modèle complet de SHA-1 en 2 69 opérations; 2006: collision provoquée sur un modèle réduit en 2 35 opérations; 2010 et 2012: des efforts utilisant le Cloud Computing pour provoquer des collisions sur le modèle complet – sans résultat. 36

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

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

39 Sécurité informatique: iOS Sécurité trivia Sécurité trivia Combien y-a-t-il de combinaisons sur le passcode des iPhones, iPad? Combien y-a-t-il de combinaisons sur le passcode des iPhones, iPad? 10 4 = 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 dun iPhone et linstaller sur un autre? Voler la mémoire flash dun iPhone et linstaller sur un autre? Pas utile car le contenu des fichiers est chiffré en utilisant comme clé de chiffrement le UID et le GID. Le UID est unique pour chacun des iPhones et on ne peut pas lobtenir (emmagasiné dans le circuit intégré). 39

40 Sécurité informatique: iOS Sécurité trivia Sécurité trivia La protection accordée aux fichiers La protection accordée aux fichiers Protection complète Accèes par passcode; Au verrouillage de lappareil, la clé de chiffrement/déchiffrement est effacée. Protection complète exceptée ouverte Même que Protection Complète; Ne pas appliquée aux fichiers ouverts. Protection complète jusquà lauthentification Même que Protection Complète; La clé de chiffrement/déchiffrement est ré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 Sécurité trivia Accès à lInternet via le fureteur Safari Accès à lInternet via le fureteur Safari Le fureteur demande une page sécurisée (Ex: https://); Le serveur WEB transmet une clé de chiffrement avec son certificat au fureteur; Le fureteur vérifie le certifcat (est-ce encore valide?); Le fureteur utilise la clé de chiffrement pour: Chiffrer une clé 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ées reçues et utilise la clé reçue pour déchiffrer la requête du fureteur; Le serveur WEB transmet la page demandée chiffrée par la clé aléatoire; Le fureteur utilise la clé aléatoire pour déchiffrer la page reçue. 41 Il sagit dun mode dopération du SSL (Secure Socket Layer)

42 Sécurité informatique: iOS Sécurité trivia Sécurité trivia Accès à lInternet via le fureteur Safari Accès à lInternet via le fureteur Safari Comment les serveurs WEB peuvent-ils reconnaître les appareils mobiles et transmettre leurs pages en format mobile? Les fureteurs transmettent leurs requêtes en fournissant len-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ème informatique sur lequel le fureteur sopère; ApleWebKit/531.21.10 indique la plateforme logicielle sur laquelle le fureteur fonctionne; KHTML, like Gecko indique que le layout engine du fureteur est celui du projet KDE (Linux); Mobile/7B405 indique quil est en version mobile; Safari/525.20 indique quil est Safari. 42 Bingo!

43 Sécurité trivia Sécurité trivia Quest-ce que le jailbreaking? Quest-ce que le jailbreaking? Briser la chaîne de confiance; Comment briser cette chaîne? Voler les clés de chiffrement – le UID est verrouillé à un et un seul appareil; Décrypter le chiffrement – on la vu précédemment pas du tout pratique; Voler la signature électronique – ça ne donne rien – de toute façon les signatures sont publiques; Que faire alors? Exploiter les bugs et vulnérabilités du système dexploitation iOS! Sécurité informatique: iOS 43

44 Sécurité trivia Sécurité trivia Quest-ce que le jailbreaking? Quest-ce que le jailbreaking? Le noyau du iOS est basé sur le noyau XNU et ce dernier est du domaine public; http://en.wikipedia.org/wiki/XNU On peut alors auditer le code source pour trouver les vulnérabilités intéressantes pour attaquer iOS(problèmes de design, erreurs de programmation, etc.) Problèmes de design; Erreurs de programmation; Etc. Les jailbreakers vont surtout intéressés par des vulnérabilités qui leur donneront les privilèges daccès suprêmes – les privilèges du root (*) Sécurité informatique: iOS 44 (*) Les privilèges daccès du root sont supérieurs à ceux de ladministrateur!

45 Sécurité trivia Sécurité trivia Quel est le scénario préféré pour les jailbreakers? 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 noyau trafiqué; Noyau trafiqué arrête toutes les mesures de sécurité du iOS; Comment ont-ils réussi? Comment ont-ils réussi? Ils obtiennent une image binaire du Boot ROM en testant des messages de contrôle du port USB de son iPod; Image binaire est ensuite convertie en langage assemblé du processeur ARM Une fois le programme Boot ROM en main, les jailbreakers peut désormais chercher des vulnérabilités; Ils découvrent quen mettant des zéros dans 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 peut alors briser la chaîne de confiance. Sécurité informatique: iOS 45 Boot ROM exploit

46 Sécurité trivia Sécurité trivia Ils utilisent le mode de mise à jour du firmware Ils utilisent le mode de mise à jour du firmware (DFU – Device Firmware Update) Le Boot ROM charge et exécute iBoot; LiBoot 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 … 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ôle dexécution. Sécurité informatique: iOS 46

47 Sécurité trivia Sécurité trivia Les « exploits » nécessaires … Les « exploits » nécessaires … Le Boot ROM trafiqué charge iBoot Sécurité informatique: iOS 47 iBSS et iBEC sont des modules de iBoot. On les modifie pour permettre le chargement et lexécution du noyau trafiqué. Plus précisément, on enlève la partie vérification de signature électronique. Cest nécessaire parce que le noyau trafiqué ne possède pas la bonne signature!

48 Sécurité trivia Sécurité trivia Les « exploits » nécessaires … Les « exploits » nécessaires … Une fois le noyau trafiqué est chargé en mémoire, on peut lexécuter mais en mode Debug Le debugger GDB est open-source et disponible; Sécurité informatique: iOS 48 En contrôlant le noyau trafiqué par le debugger, on peut maintenant lexécuter pas-à-pas, le faire sauter sur une autre ligne de code et même exécuter des fonctions!

49 Sécurité trivia Sécurité trivia Les « exploits » nécessaires … Les « exploits » nécessaires … Kernel Heap overflow force le noyau à nous retourner une adresse mémoire système pour écrire un petit programme sous forme doctects et exécuter le petit programme avec les privilèges du noyau; Le petit programme fait ensuite désactiver les mesures de sécurité du iOS; Les jailbreakers ont réussi à localiser le code qui valide la signature électronique: wm_page_validate_cs(); Les jailbreaker ont modifié le comportement de cette fonction en faisant exécuter le processeur des instructions autres que celles prévues; Autrement dit, le noyau iOS est mené à exécuter une mauvaise logique dans la validation de la signature des Apps. Lapproche pour implanter cet exploit est le ROP; Return-Oriented Programming; Il ny a pas injection de code dans lespace mémoire; On récupère des bouts de code en mémoire Sécurité informatique: iOS 49

50 Sécurité trivia Sécurité trivia Les « exploits » nécessaires … Les « exploits » nécessaires … Lapproche pour implanter cet exploit est le ROP (Return-Oriented Programming); Il ny a pas injection de code dans lespace mémoire; On récupère des bouts de code en mémoire utiles à lattaque et faire lexécution du processeur parmi ces bouts de code; Une analogie: Sécurité informatique: iOS 50 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. 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. Gens, laisser votre pays. ROP

51 Sécurité trivia Sécurité trivia Sécurité informatique: iOS 51 Enfin, Exploit des registres SHA-1: colmaté Exploit des registres SHA-1: colmaté Exploit du Boot Rom: colmaté; Exploit du Boot Rom: colmaté; Exploit du Kernel Debug: colmaté; Exploit du Kernel Debug: colmaté; Exploit du Kernel Heap Overflow: colmaté? Exploit du Kernel Heap Overflow: colmaté? ?? ??

52 Fin de la présentation


Télécharger ppt "GPA435 – SE et PS Sécurité Informatique Étude de cas: iOS Version 2013."

Présentations similaires


Annonces Google