Sécurité sous Android (Partie 2) PDF
Document Details
Uploaded by SimplerStream
Université Djillali Liabès de Sidi Bel-Abbès
Tags
Related
- Mobile Security PDF
- Chapter 12 - 06 - Discuss and Implement General Security Guidelines on Mobile - 02_ocred.pdf
- Chapter 12 - 06 - Discuss and Implement General Security Guidelines and Best Practices on Mobile - 02_ocred_fax_ocred.pdf
- MOBILE ARCHITECTURE AND SECURITY UNIT 1.pdf
- Mobile Application Security Questions Solved PDF
- Mobile Computing and Android Development PDF
Summary
This document discusses different security aspects of Android devices, including Google Play Protect, biometrics, and security protocols. It details various methods of authentication including different types of biometrics. It also provides details on the different protocols and standards used for security in Android.
Full Transcript
3. Google Play Protect Google Play Protect est une suite complète de services de sécurité fournie par Google pour les appareils Android. Vise à protéger les utilisateurs contre les malwares, les applications potentiellement indésirables et d'autres menaces potentielles Séc...
3. Google Play Protect Google Play Protect est une suite complète de services de sécurité fournie par Google pour les appareils Android. Vise à protéger les utilisateurs contre les malwares, les applications potentiellement indésirables et d'autres menaces potentielles Sécurité des Applications Mobiles 1 Google Play Protect « Effectue un contrôle de sécurité sur les applications du Google Play Store avant leur téléchargement. Détecte (sur l’appareil) les applications potentiellement dangereuses issues d'autres sources. Avertit lorsqu'il détecte des applications potentiellement dangereuses. Il peut désactiver les applications dangereuses ou les supprimer de votre appareil. » https://support.google.com/googleplay/answer/2812853?hl=fr Sécurité des Applications Mobiles 2 Google Play Protect « Il vous avertit s'il détecte des applications qui ne respectent pas notre Règlement relatif aux logiciels indésirables en masquant ou en présentant de manière trompeuse des informations importantes. Il vous envoie des alertes de confidentialité concernant les applications susceptibles d'essayer d'obtenir frauduleusement les autorisations des utilisateurs pour accéder à leurs informations personnelles, ce qui est contraire à nos Règles pour les développeurs. Sur certaines versions d'Android, il peut réinitialiser les autorisations des applications afin de protéger votre confidentialité. » https://support.google.com/googleplay/answer/2812853?hl=fr Sécurité des Applications Mobiles 3 Google Play Protect (autres fonctionamité) Navigation Sécurisée avec Safe Browsing Intégration dans Chrome : Safe Browsing protège les utilisateurs contre les sites web malveillants et les tentatives de phishing lors de la navigation sur Chrome. Localiser Mon Appareil Localiser Mon Appareil permet aux utilisateurs de localiser, verrouiller ou effacer à distance leur appareil en cas de perte ou de vol. Sécurité des Applications Mobiles 4 4. Sécurité biométrique et verrouillage d‘écran Les méthodes non-biométriques pour verrouiller un smartphone (authentification): « Code PIN », « mot de passe » et « motif » sont trois façons de verrouiller son téléphone utilisées depuis de nombreuses années. Ces techniques traditionnelles sont encore à ce jour les plus utilisées. Toutefois, de nombreux experts considèrent que ces méthodes ne sont pas suffisamment sécurisées. Sécurité des Applications Mobiles 5 Biométrie Biométrie : “ce que vous êtes” Les caractéristiques utilisées: Biométrie physiologique Comportementale Empreinte digitale (Fingerprint) Signature Main (Hand scan) Voix (Voice) Iris (Iris) Frapes de clavier Rétine (Retina) (Keystroke) Visage (Facial scan) Marche(Walk) Sécurité des Applications Mobiles 6 Biométrie: Exemples Sécurité des Applications Mobiles 7 Autres exemples de caractéristiques Physiologiques Comportementale Motif veineux Mouvements de la souris ADN Mouvement des lèvres Géométrie de la main Motif des ondes du cerveau Spectrographie de la peau Forme de l’oreille Sécurité des Applications Mobiles 8 Système biométrique Un système biométrique comporte les deux phases suivantes : Enrôlement de l’utilisateur: enregistrer les caractéristiques discriminantes de chaque utilisateur. Vérification de l’identité: ce fait aux points de contrôle du système. Le sujet se présente, ses caractéristiques sont recueillies puis comparées avec celle de la base de référence. À partir des données collectées, il y a identification du sujet. i.e. : recherche dans la base par égalité et/ou similitude si le système reconnaît ou pas le sujet ! Sécurité des Applications Mobiles 9 Scanner d'empreintes digitales Introduit en 2011 par le Motorola Atrix, le scanner d'empreintes fut réellement démocratisé dans l'industrie par l'iPhone 5s 2013 et sa technologie Touch ID. De nos jours, même les smartphones d'entrée de gamme embarquent cette technologie. La plupart des scanners d'empreintes de smartphones sont des scanners capacitifs, mais il existe également des capteurs à ultrasons considérés par les experts comme plus sécurisés. Malheureusement, les scanners d'empreintes digitales ne sont pas infaillibles. Sécurité des Applications Mobiles 10 La reconnaissance faciale Nettement moins répandue que le scanner d'empreintes sur les smartphones Android Samsung l'intègre à ses Smartphones haut de gamme depuis le Galaxy Note 7. Très pratique et rapide à utiliser, cette méthode présente malheureusement l'inconvénient d'être très facile à contourner à l'heure actuelle. Une simple photo suffit à contourner la reconnaissance faciale du Galaxy S8. Sécurité des Applications Mobiles 11 La reconnaissance vocale La reconnaissance vocale est une méthode d'authentification biométrique de plus en plus utilisée. Exemple: la fonctionnalité Trusted Voice de Google sur Android Il suffit ainsi de prononcer les mots « OK Google » pour déverrouiller le smartphone. Malheureusement, un enregistrement vocal suffit largement à contourner cette sécurité. Sécurité des Applications Mobiles 12 Le scanner d'iris Introduit par Samsung avec le Galaxy Note 7 de 2016. D'autres constructeurs comme Nokia, Vivo, UMI et ZTE intègrent également cette technologie à leurs derniers smartphones. De nombreux experts considèrent que le scanner d'iris est actuellement la meilleure méthode de verrouillage de smartphone. Mais: moins d'un mois après le lancement du Galaxy S8, son scanner d'iris a été trompé par des hackers allemands! Sécurité des Applications Mobiles 13 5. Sécurisation des données et de la communication Sécurité des Applications Mobiles 14 Principes de base de la sécurisation des données Confidentialité : Protéger les données sensibles Intégrité : Assurer l'absence de modifications non autorisées Disponibilité : Maintenir l'accès aux services et données Authenticité : Vérifier l'identité des utilisateurs et des appareils Sécurité des Applications Mobiles 15 Sécurisation des communications (Data in Transit) Utilisation de SSL/TLS pour sécuriser les communications réseau Validation des certificats SSL (SSL Pinning) Protection contre les attaques Man-in-the- Middle (MiTM) Recommandations sur l'usage des réseaux publics (Wi-Fi) Sécurité des communications Bluetooth Sécurité des Applications Mobiles 16 Sécurisation des API et des services web Utilisation de jetons d'authentification (JWT, OAuth) Chiffrement des données lors de la communication avec l'API Validation et filtrage des données côté serveur Mise en œuvre d'authentification à deux facteurs (2FA) Sécurité des Applications Mobiles 17 Sécurisation des données stockées (Data at Rest) Chiffrement des fichiers sensibles (API de chiffrement) Utilisation du Keystore Android pour protéger les clés de chiffrement Protection contre l'ingénierie inverse (obfuscation du code, ProGuard) Réduire l'usage des Stockages non sécurisés (SD card, etc.) Sécurité des Applications Mobiles 18 Certificats numériques et PKI Sécurité des Applications Mobiles 19 Authenticité des clés Publiques Comment s’assuré que la clé publique de Alice est vraiment celle de Alice ? Comment l’obtenir ? Oscar Clé publique Clé privée Génération de la signature Clé publique Remplacement Clé privée Bob Alice Génération de Vérification la signature Canal publique Non Oui Égalité ? Man-In-The-Middle Attack Sécurité des Applications Mobiles Signature Signature 20 Invalide Valide Authenticité des clés Publiques Il est nécessaire d’avoir un mécanisme de gestion et d’authentification des clés publiques : C’est le rôle des Structures PKI et des Autorités de certification. La limite de la cryptographie à clé publique réside dans la confiance que l'on donne aux informations échangées (clés publiques). Il faut définir une Identité numérique pour les utilisateurs et les éléments du monde numérique, permettant une communication sécurisée, authentique et de confiance. Sécurité des Applications Mobiles 21 Identité et Certificat numérique Cette identité numérique doit permettre à chaque utilisateur de : Signé numériquement des documents (avec une possibilité sécurisé de vérification par tout ces partenaires); Communiqué (envoyer et recevoir des données) en sécurité :préservation de confidentialité S’authentifié aux prés de fournisseurs de services publique/privée: pouvoir prouvée son identité d’une manière sûre et sécurisé, afin d’être autorisé à effectuer une action ou obtenir un service. Comment définir une Identité dans le monde numérique ? Sécurité des Applications Mobiles 22 Identité et Certificat numérique Une identité numérique est tout simplement une association entre l’identité physique d’un individu et sa paire de clés publique/privée; Trust ? Clé publique Clé privée Cette association doit garantir d’une manière irréfutable, que les clés appartiennes vraiment à l’individu. La validité de cette association, ainsi que sa sécurité, reposent sur une condition nécessaire et primordial : « Un individu est le seul à avoir accès à la clé privé !, sinon aucune fiabilité ni sécurité ne peut être accordé à un tel système ». Sécurité des Applications Mobiles 23 Qui va faire cette association est comment ? Une autorité de confiance établit un document attestant que la paire des clés appartient à l’individu et signe ce document numériquement (en utilisant sa clé privé); Cette référence donc possède aussi une identité numérique en laquelle on peut faire confiance; Le document établit par cette référence est donc un: « Certificat numérique » Clé publique Clé privée Sécurité des Applications Mobiles 24 Que contient un Certificat numérique ? Autorité Version Numéro de Série Clé publique Algorithme de signature Clé privée Nom de l’émetteur Génération de Période de Validité la signature Informations personnelles de l’utilisateurs Clé publique Extensions Signature Sécurité des Applications Mobiles 25 Que contient un Certificat numérique ? Le certificat atteste que la « clé publique » correspond vraiment à l’individu (selon l’autorité); Le Certificat est Auto-protéger : ne peut être modifier; Vérifiable en utilisant la clé publique de l’autorité; Sécurité des Applications Mobiles 26 Types de Certificat numérique Certificat Personnel Hébergé sur un PC, carte à puce, jeton USB… Usage privé: Messagerie, chiffrement, achat en ligne … Certificat de Serveur Hébergé sur un serveur Web Lié à une adresse de type Internet (http://… ) Sécuriser les échanges électroniques (SSL) Sécurité des Applications Mobiles 27 Types de Certificat numérique Certificat Développeur Intégré à certains browser (IE, ….) Donne le droit à certaines applications de se lancer Applets, scripts, DLLs, Exe…. Certificat IPSec Hébergé sur des routeurs Chiffre les flux transitant entre lui et un autre équipement réseau VPN, Tunnel IPSec Sécurité des Applications Mobiles 28 Cycle de vie des clés et certificats Un certificat établit n’est pas valide indéfiniment, il possède un cycle de vie et une période de validité: 1. Un certificat est crée (avec la paire des clés correspondante); 2. Il est délivré à l’utilisateur (publié sur un serveur); 3. Après une certaine période il expire : 1. Il peut être renouvelé; 2. Il peur être régénéré (la paire des clés est recrée); 4. Il peut être révoqué (ex. suite à une perte de la clé privé) : La révocation doit être validée et publiée. Sécurité des Applications Mobiles 29 Autorités de Certification Qui va faire l’association clés-identités : qui fait l’établissement des certificat, et en laquelle on peut (on doit) faire confiance ! Deux modèles existent : – Autorités de Certifications Hiérarchique (avec PKI) : Modèle centralisé, se charge de : L’établissement des Certificats, La validation des Certificats; La livraison des certificat; La révocation des Certificats; La sauvegarde et la mise à jour des Certificats – Web of Trust (Réseaux de confiance): Modèle distribué; C’est un modèle qui responsabilise tout un réseaux d’individus (utilisateurs), Utilisé par le standard PGP. Sécurité des Applications Mobiles 30 Web of Trust La clé publique d’un individu est signé par ceux qui lui font confiance (la confiance est une Relation transitive); Un Certificat contient plusieurs signatures ! La vérification implique plusieurs « individus » de confiance : plusieurs clé publiques… Sécurité des Applications Mobiles 31 Web of trust Sécurité des Applications Mobiles 32 Autorités de Certification C’est une autorité (Gouvernementale/Privée) qui gère l’établissement des certificats numériques, ainsi que leurs validation par signature numérique (certifier leur appartenance au clients); Sécurité des Applications Mobiles 33 Autorités de Certification Une AC à généralement une structure hiérarchique (c’est indispensable pour l’organisation et surtout pour la sécurité ): Hiérarchie à un seul niveau Hiérarchie à deux niveaux Hiérarchie à trois niveaux Sécurité des Applications Mobiles 34 Structure d’un certificat X.509 Sécurité des Applications Mobiles 35 Structures PKI (Public Key Infrastructure) Une autorité de certification est responsable seulement de l’établissement et la signature des certificats. Elle nécessite toute une structure PKI pour géré la distribution, la validation, le maintient et le suivie d’un système de certification numérique. Sécurité des Applications Mobiles 36 Structures PKI (Public Key Infrastructure) Une structure PKI offre plusieurs services, et donc assure différents tâches : Enregistrement; Certification; Stockage et Récupération de clés; Mise à jour des clés; Révocation; Notification publique de la révocation ; Gestion de la production des cartes à puce / Tokens Sécurité des Applications Mobiles 37 Composantes d’une PKI Une autorité de certification Une autorité d’enregistrement Une autorité de validation Un annuaire qui contient: Les clés publiques Les certificats distribués La liste des certificats révoqués. Sécurité des Applications Mobiles 38 Protocoles de sécurité Les protocoles de sécurité constituent la base de la sécurité réseau. Ces protocoles peuvent intervenir à plusieurs niveaux: Au niveau applicatif : PGP, SSH (secure shell), … Au niveau session: SSL/TLS (Secure Sockets Layer). Au niveau réseau : IPSec. Sécurité des Applications Mobiles 39 Pourquoi les protocoles de sécurité ? Alice et Bob veulent communiquer en toute sécurité sur un réseau. Ils doivent: Authentifier l’un l’autre (Mutuellement). Établir et échanger des clés. Se mettre d’accord sur les opérations et algorithmes cryptographiques. Blocs de construction: Algorithmes à clé publique (asymétrique) et à clé secrète (symétrique), fonctions de hachage, certificats numériques, … Sécurité des Applications Mobiles 40 Le protocole SSL/TLS (Secure Sockets Layer/Transport Layer Security) Sécurité des Applications Mobiles 41 Historique 1994 : SSL v1.0 testé en interne (Netscape) Protocole de sécurisation développé par Netscape pour son navigateur (HTTPS, FTPS, …) 1994 : publication SSL v2.0 1995 : SSL v3.0 1996 : standardisation de SSL v3.0 par IETF 1996 : TLS v1.0 Renommé en TLS suite au rachat du brevet Sécurité des Applications Mobiles 42 Historique 2006 : TLS 1.1 2008 : TLS 1.2 2018 : TLS 1.3 Sécurité des Applications Mobiles 43 Les principes SSL/TLS s’insère entre la couche application et TCP (la couche session). Objectifs Authentification du serveur Confidentialité des données échangées Intégrité des données échangées Optionnellement authentification du client Sécurité des Applications Mobiles 45 Les principes Sécurité des Applications Mobiles 46 Le protocole Record Format des paquets pour les autres sous-protocoles Sécurité des Applications Mobiles 47 Le protocole handshake (TLS 1.2) Exemple de CipherSuite: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 Sécurité des Applications Mobiles 49 Le protocole handshake (TLS 1.3) Sécurité des Applications Mobiles 50 Le protocole handshake (TLS 1.3) Avec TLSv1.3 , l’échange de clé se fait avec Ephemeral Diffie-Hellman (DHE) au lieu de RSA. – RSA et Static Diffie-Hellman (DH) ne préservent pas le «Forward Secrecy » – Généralement c’est la variante ECDHE (Elliptic Curve Ephemeral Diffie-Hellman) qui est utilisée. – RSA est toujours utilisé pour l’authentification. Sécurité des Applications Mobiles 51 Les principes SSL/TLS est composé: d’un générateur de clés de fonctions de hachage D’algorithmes de chiffrement de protocoles de négociation et de gestion de session De certificats X.509 par ex. Algorithmes utilisé: Salsa20, AES,RSA, ECDHE, SHA3… Sécurité des Applications Mobiles 52 Utilisation Sécurité des Applications Mobiles 53 OpenSSL SSL/TLS s’appuie sur OpenSSL OpenSSL est une boîte à outil de chiffrement comportant : libcrypto Libssl et une interface en ligne d’un ensemble d’exécutables en commande permettant: La forge de clefs RSA La création de certificat X509 Le calcul d’empreinte Le chiffrement et le déchiffrement La réalisation de tests de clients et serveur SSL/TLS La signature et le chiffrement de courriers Sécurité des Applications Mobiles 54