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



Documents pareils
Journées MATHRICE "Dijon-Besançon" DIJON mars Projet MySafeKey Authentification par clé USB

CRYPTOGRAPHIE. Chiffrement par flot. E. Bresson. SGDN/DCSSI Laboratoire de cryptographie

Chapitre 7. Sécurité des réseaux. Services, attaques et mécanismes cryptographiques. Hdhili M.H. Cours Administration et sécurité des réseaux

Le protocole sécurisé SSL

SRS Day. Attaque BitLocker par analyse de dump mémoire

Les Protocoles de sécurité dans les réseaux WiFi. Ihsane MOUTAIB & Lamia ELOFIR FM05

TECHNIQUES DE CRYPTOGRAPHIE

ÉPREUVE COMMUNE DE TIPE Partie D

La sécurité dans un réseau Wi-Fi

MATHÉMATIQUES DISCRÈTES (4) CRYPTOGRAPHIE CLASSIQUE

Les fonctions de hachage, un domaine à la mode

I.1. Chiffrement I.1.1 Chiffrement symétrique I.1.2 Chiffrement asymétrique I.2 La signature numérique I.2.1 Les fonctions de hachage I.2.

SSL ET IPSEC. Licence Pro ATC Amel Guetat

INF 4420: Sécurité Informatique Cryptographie II

Cours 14. Crypto. 2004, Marc-André Léger

Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN

DLTA Deploy. Une offre unique de gestion de flotte mobile pour iphone, ipad & ipod touch. La solution de gestion de flotte mobile pour ios

Sécurité de l'information

IV- Comment fonctionne un ordinateur?

Can we trust smartphones?

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Déploiement d iphone et d ipad Gestion des appareils mobiles (MDM)

Authentification à deux facteurs Cryptage portable gratuit des lecteurs USB Cryptage du disque dur

Travail d intérêt personnel encadré : La cryptographie

Sommaire Introduction Les bases de la cryptographie Introduction aux concepts d infrastructure à clés publiques Conclusions Références

Authentification de messages et mots de passe

Déploiement de l iphone et de l ipad Gestion des appareils mobiles (MDM)

L identité numérique. Risques, protection

BitLocker. Aurélien Bordes SSTIC juin 2011

La sécurité des ordiphones : mythe ou réalité?

Programmation C. Apprendre à développer des programmes simples dans le langage C

Sécurité des réseaux IPSec

Informatique. Les réponses doivent être données en cochant les cases sur la dernière feuille du sujet, intitulée feuille de réponse

0x700. Cryptologie Pearson France Techniques de hacking, 2e éd. Jon Erickson

La Technologie Carte à Puce EAP TLS v2.0

La prise de conscience de la Cyber Sécurité est en hausse

Aristote Groupe PIN. Utilisations pratiques de la cryptographie. Frédéric Pailler (CNES) 13 janvier 2009

Informatique Générale

Steganos présente Security Suite 2007, son incontournable suite de sécurité pour PC.

Livre blanc. Sécuriser les échanges

Le format OpenPGP. Traduit par : Sébastien Person. personseb@yahoo.fr. Matthieu Hautreux. matthieu.hautreux@insa-rouen.fr.

Fiche Technique. Cisco Security Agent

Cours Informatique 1. Monsieur SADOUNI Salheddine

WINDOWS Remote Desktop & Application publishing facile!

Fiche produit. Important: Disponible en mode SaaS et en mode dédié

DNSSEC. Introduction. les extensions de sécurité du DNS. Les dossiers thématiques de l AFNIC. 1 - Organisation et fonctionnement du DNS

Formation owncloud Thierry DOSTES - Octobre

Garantir la sécurité de vos solutions de BI mobile

Protocoles d authentification

Devoir Surveillé de Sécurité des Réseaux

Présentation. LogMeIn Rescue. Architecture de LogMeIn Rescue

Avant-propos Certificats et provisioning profiles

icloud Le cloud computing d Apple

SÉCURISATION DES CONNEXIONS À DISTANCE SUR LES RÉSEAUX DE CONTRÔLE

Sécurité des applications Retour d'expérience

Tests de performance du matériel

Expérience d un hébergeur public dans la sécurisation des sites Web, CCK. Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet

Cryptologie. Algorithmes à clé publique. Jean-Marc Robert. Génie logiciel et des TI

Guide de Démarrage. Introduction... 2 Scénarios pour l utilisation de votre procloud@ocim.ch... 2 Scénarios à venir :... 2

Mode d emploi pour lire des livres numériques

Sécurité des réseaux wifi. CREIX Kevin GIOVARESCO Julien

Richard MONTBEYRE Master 2 Professionnel Droit de l Internet Administration Entreprises. La banque en ligne et le protocole TLS : exemple

Informations de sécurité TeamViewer

Les Réseaux sans fils : IEEE F. Nolot

Cortado Corporate Server

Signatures électroniques dans les applications INTERNET

Rapport de certification ANSSI-CSPN-2010/07. KeePass Version 2.10 Portable

Trusteer Pour la prévention de la fraude bancaire en ligne

Cryptographie appliquée

Du 03 au 07 Février 2014 Tunis (Tunisie)

Projet tablettes numériques Document de référence

Rapport de certification

Panorama de la cryptographie des courbes elliptiques

Limitations of the Playstation 3 for High Performance Cluster Computing

le système d alarme sans fil avec caméra intégrée permettant la levée de doute évènementielle. Sans fil Fonctionne sur piles 128 Bit AES crypté

La sécurité des réseaux. 9e cours 2014 Louis Salvail

Signature électronique. Romain Kolb 31/10/2008

Fonction de hachage et signatures électroniques

Programme des Obligations d épargne du Canada. Guide d utilisation du serveur FTPS. Version 2.4

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

La sécurité dans les grilles

LES SECURITES DE LA CARTE BANCAIRE

Manuel des logiciels de transferts de fichiers File Delivery Services

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

1 Présentation de la solution client/serveur Mobilegov Digital DNA ID BOX

datatale Boîtier Crypté 2.5-pouces pour disque dur Manuel d utilisation USB 2.0 AES 256 bit Rev.01

Guide Wi-Fi Direct. Version 0 CAN-FRE

Introduction à l informatique en BCPST

FORMATION SUR «CRYPTOGRAPHIE APPLIQUEE

Oracles Cryptographiques. Trouver une joke de padding

Cahier des charges. driver WIFI pour chipset Ralink RT2571W. sur hardware ARM7

S8 - Sécurité IBM i : nouveautés 6.1 et 7.1

Le protocole RADIUS Remote Authentication Dial-In User Service

Chiffrement des terminaux : comment ça marche?

Vulnérabilités et sécurisation des applications Web

Transcription:

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; 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

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

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érifier l 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ôle essentiel est l initialisation des modules matériels de l appareil. Le LLB est modifiable par la mise à jour du Firmware. Le LLB contient une clé cryptographique qui sert à vérifier l authenticité du module suivant le iboot. c) Le iboot est un module firmware dont le rôle est de vérifier l authenticité du noyau ios et le charger en mémoire pour l exécution. 4

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érifier iboot; iboot possède la clé pour vérifier le noyau d ios. Nous verrons l action des clés cryptographiques plus loin dans cette présentation. 5

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 logiciels disponibles dans l appareil; Un nombre pseudo-aléatoire (*); ID de l appareil (**). (*) 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 l appareil par les serveurs et on ne peut plus initier une communication avec ce même nombre. D où son nom en anglais (number once nonce). (**) L ID de l appareil 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 6

La chaîne de confiance: cas des mises à jour Lors d une mise à jour L appareil transmet aux serveurs de mise à jour: Les modules logiciels disponibles dans l 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 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, l appareil déchiffre (decrypt) les fichiers reçus et lance chaîne de démarrage. 7

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.) 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 l appareil afin de pouvoir exécuter ces Apps. (*) Un certificat de sécurité est un fichier qui authentifie la source d une information, d une entreprise, etc. Dans ce cas, Apple transmet une clé de chiffrement (encryption) et un certificat qui authentifie la clé qui signe les Apps. 8

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 ses fichiers les fichiers systèmes sont accessibles seulement à travers ios; Chaque App possède sa partie de mémoire vive au démarrage d une App, sa partie de mémoire vive est réservée aléatoirement dans la mémoire vive de l appareil mobile; Les Apps ne peuvent communiquer directement entre elles; Le processeur participe dans le contrôle en refusant l accès des Apps à la mémoire marquée non exécutable, système ou utilisée par ios. C est pourquoi une App erratique ne cause, normalement, pas de problème aux autres Apps. 9

Sécurité par le chiffrement (encryption) 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 l appareil 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; D autres clés sont générées par un générateur de nombres pseudoalé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

Sécurité par le chiffrement (encryption) 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 l appareil 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; D autres clés sont générées par un générateur de nombres pseudoalé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

Sécurité par le chiffrement (encryption) Concept de base Chiffre de César ou chiffrement par décalage monoalphabétique Curiosité historique: Le Dictateur César utilisant un décalage de 3. C est une permutation circulaire d un 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

Sécurité par le chiffrement (encryption) 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 n est 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 (*). (*) Science qui consiste à déchiffrer un message chiffré sans la clé de déchiffrement. 13

Sécurité par le chiffrement (encryption) 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; Quel est le mot chiffré? Malheureusement, le chiffrement des francs-maçons (Pigpen Cipher) est aussi vulnérable que le chiffrement de César. 14

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; A D F G V X A 8 p 3 d 1 n D l t 4 o a h Le chiffrement s effectue en deux étapes: 1. Encoder le message par substitution des lettres; 2. Transposer le message chiffré par un mot clé. F 7 k b c 5 z G j u 6 w g m V x s v i r 2 Le tableau ADFGVX contient 36 éléments 26 lettres et 10 chiffres. X 9 e y 0 f q 15

Sécurité par le chiffrement (encryption) Concept de base Le chiffrement ADFGVX; Le chiffrement s effectue en deux étapes: A D F G V X A 8 p 3 d 1 n D l t 4 o a h F 7 k b c 5 z G j u 6 w g m 1. Encoder le message par substitution des lettres Chaque lettre du message à chiffrer est représenté par deux codes; Les colonnes donnent le premier code; Les lignes donnent le deuxième code. Par exemple: Lancer assault AV DG AX FD XF VA DG VG VG DG GV DA V x s v i r 2 X 9 e y 0 f q 16

Sécurité par le chiffrement (encryption) Concept de base Le chiffrement ADFGVX; Le chiffrement s effectue en deux étapes: c h a t A V D G A X F D X F V A D G V G 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é; 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 V G D G G V D A Mot clé: chat Écrire le message codé de gauche vers la droite et de haut vers le bas. 17

Sécurité par le chiffrement (encryption) Concept de base Le chiffrement ADFGVX; c h a t A V D G A X F D X F V A D G V G V G D G G V D A Le tableau à gauche est obtenu par permutation des colonnes selon l ordre alphabétique du mot clé. c h a t classé en ordre alphabétique devient a c h t a c h t D A V G F A X D V X F A V D G G D V G G D G V A 18

Sécurité par le chiffrement (encryption) Concept de base Le chiffrement ADFGVX; a c h t D A V G 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 F A X D V X F A Ainsi, Lancer assault Message original V D G G D V G G D G V A AV DG AX FD XF VA DG VG VG DG GV DA Chat Message codé Clé DF VV DD AA XD VG VX FG GV GD AG GA Message chiffré 19

Sécurité par le chiffrement (encryption) 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 d après une description de Blaise de Vigenère Principe: Pour chiffrer un message nous aurons besoin d une 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é. Super! On peut donc utiliser un roman, un poème comme clé de chiffrement! 20

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

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

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

Sécurité par le chiffrement (encryption) 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 l appareil 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; D autres clés sont générées par un générateur de nombres pseudoalé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

Sécurité par le chiffrement (encryption) 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 l acronyme indique le nombre de bits utilisés par la clé de chiffrement; Il existe une panoplie d implantation de ce standard évidemment, toujours utiliser une implantation de source sûre ;-)). http://en.wikipedia.org/wiki/aes_implementations 25

Sécurité par le chiffrement (encryption) AES 256 Crypto AES est bidirectionnel Chiffrement (cryptage) et déchiffrement (décryptage); Opère au niveau des bits Peut chiffrer n importe 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 l algorithme; Des attaques sur des systèmes d implantation ont été présentées; Selon toute vraisemblance, il n y aura pas de défaillance de sécurité pour les prochaines années. 26

Sécurité par le chiffrement (encryption) AES 256 Crypto La base de AES repose sur quatre opérations: Clé ou une partie de la clé de chiffrement AddRoundKey La clé de chiffrement ou une partie de cette clé est utilisée pour générer des nouveaux blocs de données. 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 à l aide de l opérateur Ou exclusif (XOR). 128 bits de données organisées en blocs de 4 x 4 octets 27

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

Sécurité par le chiffrement (encryption) AES 256 Crypto La base de AES repose sur quatre opérations: Blocs de données à transformer ShiftRows Décaler les bits des lignes Nouveaux blocs de données 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 d un 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. 29

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

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

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

Sécurité par le chiffrement (encryption) AES 256 Crypto Démo http://www.nakov.com/blog/2011/12/26/online-aes-encryptor-decryptorjavascript/ 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é 33

Sécurité par le chiffrement (encryption) AES 256 Crypto Déchiffrement par la force brute Essayer toutes les 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.; 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; Selon la théorie du Big Bang: l Univers date de 13.77 x 10 9 années; On estime qu il y a entre 10 22 à 10 24 étoiles dans l Univers observable. 34

Sécurité par la signature (électronique) 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 d un ensemble de données; L objectif consiste à générer une signature unique pour un ensemble de données il n existe pas deux ensembles de données produisant la même signature pas de collision; Puisqu il s agit d une fonction cryptographique, 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

Sécurité par la signature (électronique) 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

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 Texte provient de: http://www.lipsum.com/ 37

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

Sécurité trivia 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 d un iphone et l installer 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 l obtenir (emmagasiné dans le circuit intégré). 39

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é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 à l authentification 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

Sécurité trivia Accès à l Internet 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. Il s agit d un mode d opération du SSL (Secure Socket Layer) 41

Sécurité trivia Accès à l Internet via le fureteur Safari Bingo! 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 l 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ème informatique sur lequel le fureteur s opè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 qu il est en version mobile; Safari/525.20 indique qu il est Safari. 42

Sécurité trivia Qu est-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 l a 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 d exploitation ios! 43

Sécurité trivia Qu est-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 d accès suprêmes les privilèges du root (*) (*) Les privilèges d accès du root sont supérieurs à ceux de l administrateur! 44

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 noyau trafiqué; Noyau trafiqué arrête toutes les mesures de sécurité du ios; Comment ont-ils réussi? Boot ROM exploit 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 qu en 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. 45

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

Sécurité trivia Les «exploits» nécessaires Le Boot ROM trafiqué charge iboot ibss et ibec sont des modules de iboot. On les modifie pour permettre le chargement et l exécution du noyau trafiqué. Plus précisément, on enlève la partie vérification de signature électronique. C est nécessaire parce que le noyau trafiqué ne possède pas la bonne signature! 47

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

Sécurité trivia 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 d octects 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. L approche pour implanter cet exploit est le ROP; Return-Oriented Programming; Il n y a pas injection de code dans l espace mémoire; On récupère des bouts de code en mémoire 49

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 dans l espace mémoire; On récupère des bouts de code en mémoire utiles à l attaque et faire l exécution du processeur parmi ces bouts de code; Une analogie: 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 Gens, laisser votre pays. 50

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

Fin de la présentation