Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Formation Mobile Forensics - Part 1

Mehdi
March 26, 2021

Formation Mobile Forensics - Part 1

Mehdi

March 26, 2021
Tweet

More Decks by Mehdi

Other Decks in Technology

Transcript

  1. 26/03/2021 ERROUSSAFI ELMEHDI – Mars 2021 Formation Forensics Mobile Introduction

    et historique Sommaire Agenda de la journée 9h30-11h00 : Contexte et importance du Forensics Mobile Pause (30 minutes) 11h30-13h15 : Architecture Android Pause (1h) 14h15-15h45 : LAB : Emulation et Interaction avec Android
  2. 26/03/2021 Présentation Erroussafi Elmehdi  Fondateur PRISALYA Consulting  Cabinet

    de consulting en cybersécurité, transformation digitale et Management des opérations IT.  Consultant Expert Cybersécurité dans les Telecom, lutte contre la fraude, conformité et métiers du risque.  Doctorant Chercheur en Cybersécurité.  ISO27001 Lead Auditor | Dale Carnegie Certified Tutor  www.prisalya.com | [email protected] Introduction Contexte et nécessité de développement de la discipline des forensics mobile
  3. 26/03/2021 Introduction Sur les forensics mobiles • Les smartphones sont

    de moins en moins utilisés pour appeler • L’utilisation sociale a abouti à des smartphones contenant de nombreuses données sensibles. • Les appareils mobiles gardent la contacts provenant de diverses sources, des informations sur les appels téléphoniques, des SMS envoyés et reçus messages, e-mails et pièces jointes. • Il existe également des journaux de navigateur et une géolocalisation en cache informations; photos et vidéos prises avec l'appareil photo du téléphone; mots de passe vers le cloud services, forums, réseaux sociaux, portails en ligne et sites Web d'achat; paiement stocké Les données; et beaucoup d'autres informations qui peuvent être vitales pour une enquête. Introduction Sur les forensics mobiles • Les tablettes ne sont plus utilisées uniquement comme des appareils de divertissement. • Equipées de puissants processeurs et beaucoup de stockage, même les plus petites tablettes sont capables de fonctionner à plein Windows, complet avec la suite Office. • Bien qu'elles ne soient pas aussi populaires que les smartphones, les tablettes sont encore largement utilisé pour socialiser, communiquer, planifier des événements et réserver des voyages. • Certains smartphones sont équipés d'écrans aussi grands que 6,4 pouces, tandis que de nombreuses tablettes viennent avec la possibilité de passer des appels vocaux sur le réseau cellulaire. • Tout cela rend difficile de tracez une ligne entre un téléphone (ou phablet) et une tablette.
  4. 26/03/2021 Introduction Sur les forensics mobiles • Chaque smartphone sur

    le marché a un appareil photo qui, contrairement à un plus grand (et peut-être meilleur) caméra, est toujours accessible. • En conséquence, un smartphone moyen contient plus de photos et vidéos qu'une caméra dédiée, parfois, des giga-octets d'images et de clips vidéo. • Inutile de dire que cette information est très importante pour les entreprises et la criminalistique enquêtes. • Nous allons discuter non seulement de la façon d'accéder à toutes ces données, mais aussi quel type de données peut être disponible dans chaque cas particulier, Introduction Pourquoi avons-nous besoin de mobile forensics ? • L'importance de la criminalistique mobile est difficile à sous-estimer. • En 2012, plus de 70% du Web les demandes de page proviennent d'ordinateurs de bureau et d'ordinateurs portables (Windows 7 et Windows XP étant les systèmes les plus populaires). • En mai 2015, seulement 43% des demandes proviennent de postes de travail systèmes d'exploitation, tandis que 54% du trafic provient d'Android, d'iOS et de Windows Phone dispositifs.
  5. 26/03/2021 Données disponibles Sur les mobiles • Contrairement aux ordinateurs

    personnels qui présentent essentiellement une seule source d'informations (l'appareil elle-même composée de disques durs et de mémoire volatile), la criminalistique mobile traite plusieurs source d'information. • Selon les sources disponibles, les enquêteurs peuvent utiliser l'un ou le autre outil pour acquérir des informations. Données disponibles Diverses sources de données • Sur les ordinateurs personnels, une seule source d'informations et généralement à inspecter (l'appareil lui-même de disques durs et de mémoire volatile). • la criminalistique mobile traite plusieurs source d'information. • Selon les sources disponibles, les enquêteurs peuvent utiliser l'un ou le autre outil pour acquérir des informations.
  6. 26/03/2021 Données disponibles Sur le mobile • Si vous avez

    accès à l'appareil mobile, vous pouvez tenter une extraction de données. • En fonction de l'appareil lui-même (matériel) et du système d'exploitation, s’il est allumé ou non, si l’OS est en cours d’exécution, cela peut être possible ou non. • Cependant, l'acquisition physique compte toujours comme la méthode probante et la plus complète parmi toutes celles disponibles. Données disponibles Sur le mobile : Acquisition physique • De manière générale, l'acquisition physique est disponible pour la plupart des smartphones Android et tablettes, matériel Apple plus ancien (iPhones jusqu'à iPhone 4, iPad d'origine, iPad mini, etc. on) et du matériel Apple récent avec un mot de passe connu. • En règle générale, les appareils Apple ne peuvent être physiquement acquis si jailbreaké. • Puisqu'un jailbreak obtient les privilèges de superutilisateur en exploitant une vulnérabilité dans iOS, et Apple corrige activement ces vulnérabilités, physiques l'acquisition d'appareils iOS reste incertaine.
  7. 26/03/2021 Données disponibles Sur le mobile : Acquisition physique •

    Fait intéressant, selon Apple, même Apple lui-même ne peut pas extraire des informations provenant d'appareils iOS 64 bits exécutant iOS 8 et plus récent, même s'ils reçoivent un ordonnance du tribunal. • L'acquisition physique est disponible sur un nombre limité de smartphones BlackBerry en cours d'exécution BlackBerry OS 7 et versions antérieures. • Pour les smartphones BlackBerry, l'acquisition physique est disponible pour les appareils BlackBerry 7 et inférieurs déverrouillés, le cas échéant, à l'aide de Cellebrite UFED via la méthode du chargeur de démarrage. • Pour les terminaux BlackBerry 10 où le terminal le cryptage n'est pas activé, un chip-off peut acquérir avec succès la mémoire de l'appareil en analysant le vidage physique à l'aide de Cellebrite UFED. . Données disponibles Sur le PC • Notamment, l'ordinateur personnel de l'utilisateur peut aider à acquérir des preuves mobiles. • Le PC peut contiennent les sauvegardes de données hors ligne du téléphone (telles que celles produites par Apple iTunes) qui contiennent la plupart des informations stockées dans le téléphone et disponibles (ou indisponibles) pendant acquisition physique. • Les enregistrements de verrouillage sont créés lorsqu'un appareil iOS est physiquement connecté à l'ordinateur et autorisé via iTunes. • Les enregistrements de verrouillage peuvent être utilisés pour accéder à un iOS appareil sans entrer le mot de passe. • De plus, l'ordinateur peut contenir des fichiers binaires jetons d'authentification pouvant être utilisés pour accéder aux comptes cloud respectifs liés à un utilisateur appareils mobiles.
  8. 26/03/2021 Données disponibles Sur le cloud • De nombreux smartphones

    et tablettes, en particulier ceux produits par Apple, offrent la possibilité de sauvegarder des informations dans un cloud en ligne. • Apple par exemple à travers icloud et google à travers Google Mobile Service (GMS) permettent de synchroniser sur le cloud un nombre important d’informations (mots de passe, wifi, contacts ..) • Ces informations peuvent également être tiré du cloud. Étant donné que les sauvegardes dans le cloud sont transparentes, non intrusives et ne nécessitent aucune interaction de l'utilisateur, elles sont laissé activé par défaut par de nombreux utilisateurs de smartphone. • Il est possible d'accéder à iCloud en à l'aide de jetons d'authentification binaires extraits de l'ordinateur de l'utilisateur. • Avec les progrès rapides des fabricants dans leurs implémentations de sécurité, la Cloud Forensics gagne rapidement en importance et en reconnaissance parmi les spécialistes de la criminalistique numérique. Etapes du mobile forensics • Le processus de production des preuves médico-légales est divisé en cinq phases principales: la saisie, l'identification, l'acquisition et l'examen ou l'analyse. • Une fois les données extraites d'un appareil, différentes méthodes d'analyse sont utilisées en fonction du cas sous-jacent. Chaque enquête étant distincte, il n’est pas possible d’avoir une seule procédure définitive pour tous les cas. • Chacune de ces étapes a un rôle fondamental dans le processus de production de preuves numériques. • La norme internationale est alimentée par de nombreuses études et publications qui tentent de définir les meilleures pratiques et les lignes directrices pour les procédures et méthodes pour la criminalistique numérique, telles que de nombreuses publications et lignes directrices du NIST. • Bien qu’il existe une certification ISO 27037 «Lignes directrices pour l'identification, la collecte et / ou l'acquisition et la conservation des preuves numériques» publiée en 2012, elle n'est pas spécifique à la criminalistique mobile, elle concerne la norme ISO / CEI. • Cette norme définit principalement des méthodes et des techniques dans les enquêtes de criminalistique numériques, ce qui est accepté dans de nombreux tribunaux.
  9. 26/03/2021 Etapes du mobile forensics • Developing Process for Mobile

    Device Forensics (Cynthia A. Murphy): https://digital-forensics.sans.org/media/mobile-device-forensic-process-v3.pdf • Guidelines on Mobile Device Forensics – National Institute of Standards and Technology (NIST): http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.8-11r1.pdf • Mobile Device Forensics: A-Z (Sam Brothers): http://www.nist.gov/forensics/upload/2-Brothers-NIST-214_Slides-23-Pages-2.pdf • ACPO Good Practice Guide for Computer-Based Electronic Evidence, (pages 45-51): https://www.cps.gov.uk/legal/assets/uploads/files/ACPO_guidelines_computer_evidence[1 ].pdf Quelques ressources sur les standards Etape 1 : Saisie de l’appreil Saisie : Quoi et Comment ? Cette étape concerne la saisie physique de l'appareil pour qu'il passe sous contrôle et garde de l'enquêteur / examinateur. Il faut également tenir compte des aspects juridiques autorisation ou consentement écrit pour saisir, extraire et rechercher ces données. L'état physique de l'appareil au moment de la saisie doit être noté, idéalement par documentation photographique numérique et notes écrites, telles que: • L'appareil est-il endommagé? • Si oui, documentez le type de dommage. • L'appareil est-il allumé ou éteint? • Quelle est la date et l'heure de l'appareil si l'appareil est allumé? • Si l'appareil est allumé, quelles applications sont en cours d'exécution ou observables sur le bureau de l'appareil? • Si l'appareil est allumé, le bureau de l'appareil est-il accessible pour vérifier le code et les paramètres de sécurité? • Plusieurs autres aspects de la saisie de l'appareil sont décrits plus tard car ils affecteront analyse post-crise: isolation radio, mise hors tension de l'appareil s'il est allumé, effacement à distance et anti-criminalistique.
  10. 26/03/2021 Etape 1 : Saisie de l’appreil Saisie : Faraday

    Bags • Un aspect fondamental de la préservation des appareils sur les lieux du crime est la collecte de preuves sur place. • C'est-à-dire la préservation de l'appareil trouvé allumé, en le protégeant des signaux Wi-Fi, des systèmes de télécommunication, des signaux GPS et en gardant la batterie en charge. • Ceci est nécessaire pour éviter son arrêt et la perte d'informations importantes telles qu'un code PIN. • L'arrêt pourrait entraîner un contournement ultérieur du code PIN ou même une perte de données en raison de mots de passe ou de cryptographie. • Il est également fondamental de fournir immédiatement une isolation électromagnétique à l'aide de sacs de faraday; les appareils ou les étuis, qui permettent d'isoler l'appareil mobile, s'assombrissent des signaux radio. Etape 1 : Saisie de l’appreil Saisie : Alimentation • L'utilisation immédiate d'un sac Faraday est essentielle en cas de saisie d'un téléphone portable allumé. • Il est aussi important d'isoler le téléphone mobile en le gardant en charge avec une batterie de secours qui vous permettra d'arriver au laboratoire en toute sécurité. • Il est également important que le cordon d'alimentation soit isolé car cela peut permettre au mobile de recevoir des communications. • Il existe différents types de sacs Faraday en vente qui vont de simples sacs isolés des signaux radio, à de véritables boîtiers d'isolation qui permettent plus d'efficacité. • Ils sont composés d'argent / cuivre / nickel avec des conducteurs à double couche RoHS. Un sac de Faraday peut être une excellente solution pour isoler l'appareil mobile de saisie.
  11. 26/03/2021 Etape 1 : Saisie de l’appreil Saisie : Brouillage

    • Les brouilleurs (jammers) sont des appareils, également connus sous le nom de brouilleurs radio, utilisés pour bloquer l'utilisation des téléphones mobiles envoyant des ondes radio avec la même fréquence utilisée par les téléphones mobiles. • Cela provoque une interférence, qui inhibe la communication entre les mobiles et le BTS, paralysant chaque activité du téléphone dans sa plage d'action. • La plupart des téléphones mobiles rencontrent cette perturbation simplement comme un manque de connexion réseau. • Dans le cas de la collecte de preuves mobiles, des dispositifs de brouillage sont utilisés pour bloquer les communications radio de GSM / UMTS / LTE. • Evidemment, l'utilisation d'un brouilleur dans ces circonstances doit être limitée à une puissance inférieure (<1W), sinon il peut perturber tous les réseaux téléphoniques alentour. • L'utilisation est illégale dans certains pays et n'est souvent autorisée qu'aux seules forces de police. • Au Maroc l’utilisation d’un brouilleur est sujet à autorisation de l’ANRT et des autorités de police. Etape 1 : Saisie de l’appreil Saisie : Kill Switch • Sur les systèmes d'exploitation mobiles tels que Apple iOS, les versions récentes de Google Android, tous les versions de BlackBerry OS et de Microsoft Windows Phone 8 / 8.1 (Windows 10 mobile) une fonction de sécurité importante a été conçue pour empêcher les personnes non autorisées d'accéder les informations stockées dans l'appareil. • Le kill-switch permet au propriétaire de verrouiller ou d'effacer l'appareil si l'appareil est déclaré perdu ou volé. • Lorsqu'il est utilisé par des clients légitimes pour protéger leurs données, cette fonctionnalité est également utilisée par les suspects qui peuvent tenter de détruire les preuves si leur appareil mobile est saisi. • L'utilisation du sac Faraday est essentielle pour empêcher les suspects d'accéder au coupe-circuit. Cependant, même si l'appareil en question a déjà été effacé à distance, ceci ne signifie nécessairement pas que toutes les données sont complètement perdues.
  12. 26/03/2021 Etape 2 : Récupération de la DATA Cette étape

    fait référence à diverses méthodes d'extraction des données de l'appareil. Les méthodes de données l'extraction qui peut être utilisée est influencée par les éléments suivants: • Type d'appareil mobile: marque, modèle, matériel, logiciel et fournisseur configuration. • Disponibilité d'un ensemble diversifié d'outils d'extraction / d'analyse matériels et logiciels à la disposition de l'examinateur : Il n'y a pas d'outil qui fasse tout; un examinateur doit avoir accès à un certain nombre d'outils qui peuvent aider à l'extraction des données. • État physique de l'appareil: l'appareil a-t-il été exposé à des dommages, tels que fluides physiques, aquatiques ou biologiques tels que le sang? Souvent, le type de dommage peut dicter les mesures d'extraction de données utilisées sur l'appareil. Etape 2 : Récupération de la DATA Types d’acquisitions Il existe plusieurs types d'extraction de données qui déterminent la quantité de données obtenu à partir de l'appareil: Physique: l'image binaire de l'appareil a le plus grand potentiel de récupération des données et obtient la plus grande quantité de traces de l'appareil. Cela peut être le plus type d'extraction difficile à réaliser. Système de fichiers: il s'agit d'une représentation des fichiers et des dossiers de la zone utilisateur de l'appareil et peut contenir des données supprimées spécifiques aux bases de données. Cette méthode va contiennent moins de données qu'une extraction de données physiques. Logique: cela acquiert le moins de données de l'appareil. Exemples de cela sont l'historique des appels, les messages, les contacts, les images, les films, les fichiers audio, etc. Cette méthode est appelée (hanging fruits). Aucune donnée supprimée ou aucun fichier source n'est obtenu. Souvent, la sortie résultante sera une série de rapports produits par l’outil d’extraction. C'est souvent le type d'extraction le plus simple et le plus rapide. Documentation photographique: cette méthode est généralement utilisée lorsque toutes les autres données les voies d'extraction sont épuisées. Dans cette procédure, l'examinateur utilise un appareil photo pour documenter photographiquement le contenu affiché par l'appareil. Il s'agit d'une méthode qui prend du temps lorsqu'il y a une quantité importante d’information à photographier.
  13. 26/03/2021 Etape 2 : Récupération de la DATA Root ?

    Jailbreak ? Unlocked Bootloader ? • Le root ou le jailbreak des appareils mobiles en général les rend vulnérables à un large éventail de exploits. • Dans le contexte de la criminalistique mobile, les appareils rootés sont faciles à explorer car de nombreux les outils d'acquisition forensics s'appuient sur root / jailbreak pour effectuer l'acquisition physique. • Les appareils avec des chargeurs de démarrage déverrouillés (unlocked bootloader) permettent de démarrer du code non signé, permettant effectivement accéder à l'appareil même s'il est verrouillé avec un mot de passe. • Cependant, si l'appareil est chiffré et le mot de passe fait partie de la clé de cryptage, le contournement de la protection par mot de passe peut ne pas activer automatiquement l'accès aux données cryptées. • Le root ou le jailbreaking permet un accès illimité au système de fichiers, en contournant le les mesures de sécurité du système d'exploitation et permettant à l'outil d'acquisition de lire les informations des zones protégées. • C’est l’une des raisons majeures pour que, du point de vue sécurité défensive de l’entreprise, il est important d’interdire l’accès à des périphériques rooté/jailbreakés dans le périmètre de l’information sécurisée. Etape 2 : Récupération de la DATA ADB Debugging Android • Android a un menu d'options pour les développeurs caché. • L'accès à ce menu nécessite un effort de taper plusieurs fois sur le numéro de build du système d'exploitation. • Certains utilisateurs activent Developer Options par curiosité. • Une fois activé, le menu Options pour les développeurs peut ou non être possible de se cacher. • Entre autres choses, le menu Options du développeur répertorie une option appelée débogage USB ou Débogage ADB. • Si activée, cette option permet de contrôler l'appareil via l'ADB ligne de commande, qui à son tour permet aux experts utilisant les outils de débogage Android (adb.exe) de se connecter à l'appareil à partir d'un PC, même s'il est verrouillé avec un mot de passe. • Le Débogage USB activé expose de nombreuses possibilités et peut rendre l'acquisition possible même si le l'appareil est verrouillé avec un mot de passe.
  14. 26/03/2021 Etape 2 : Récupération de la DATA Clônage de

    la carte SIM • Dans certains cas, l'établissement d'une connexion entre le téléphone et l'outil d'extraction peut s’avérer impossible à moins que le téléphone ne comporte une carte SIM. • De plus, certains appareils peuvent être configuré pour invoquer la protection si une autre carte SIM est utilisée. • En de rares occasions, les appareils peuvent même être configurés pour effacer leur contenu si une carte SIM non originale est insérée ou si un La carte SIM est retirée. • En particulier, certains terminaux BlackBerry peuvent bloquer les tentatives d'extraction avec un message indiquant SIM non fournie ou SIM non autorisée. • Dans de tels cas, en utilisant un une carte SIM clonée peut permettre la communication et permettre l'extraction. • Cette procédure est illégale dans beaucoup de pays, et est réservée aux autorités avec les autorisations légales nécessaires. Etape 2 : Récupération de la DATA Mémoire de la carte SIM • La carte SIM contient les informations de l'opérateur du réseau et peut identifier un identifiant attribué à l'utilisateur (IMSI) par le réseau. • La saisie de l’opérateur mobile permet de faire correspondre au numéro mobile et, par les ordonnances légales nécessaires, récupérer l’historique des interactions de la SIM avec le réseau. • La carte SIM peut contenir l'historique des appels, et messages. Les informations stockées sur la carte SIM peuvent être obtenues par la plupart des outils de forensics mobile.
  15. 26/03/2021 Etape 2 : Récupération de la DATA Carte Mémoire

    • La plupart des smartphones et tablettesont la capacité d'augmenter leur capacité de stockage en utilisant une carte microSD. • Un examinateur enlèverait la carte mémoire de l'appareil mobile / tablette et utilise une méthode sécurisée pour créer une image forensic bit stream de la carte mémoire. • Cette image peut alors être analysés à l'aide d'outils logiciels forensics, tels que X-Ways, Autopsy Sleuth Kit, Forensic Explorer (GetData), EnCase ou FTK (AccessData). Etape 3 : Analyse de la donnée • Cette étape de la criminalistique des appareils mobiles implique l'analyse des données acquises à partir de l'appareil et ses composants (carte SIM et carte mémoire si présente). • Les outils de forensics peuvent également analyser les données et fournir des fonctionnalités d'examen dans l'outil pour effectuer l'analyse. • Cela implique examen de toutes les données non supprimées et supprimées. • Lors de l'examen des données non supprimées, il serait prudent d'effectuer également un examen manuel des l'appareil pour s'assurer que les données extraites et analysées correspondent à ce qui est affiché par le dispositif. • À mesure que les capacités de stockage des appareils mobiles ont augmenté, il est suggéré qu'un un sous-ensemble d'enregistrements de données des domaines concernés soit examiné.
  16. 26/03/2021 Etape 3 : Analyse de la donnée • Ainsi,

    par exemple, si un mobile l'appareil a plus de 200 enregistrements d'appels, Analyser en groupes plusieurs enregistrements d'appels (Appels manqués, Appels entrants et les appels sortants) et ils peuvent être vérifiés sur l'appareil par rapport aux enregistrements similaires dans les données extraites. • En faisant cette revue manuelle, il est alors possible de découvrir n'importe quel écarts dans les données extraites. • L'examen manuel de l'appareil ne peut être effectué que lorsque l'appareil est toujours sous la garde du examinateur. • Il y a des situations où, une fois l'extraction des données terminée, le l'appareil est remis à l'enquêteur ou au propriétaire. Dans de telles situations, l'examinateur devrait documenter qu'une vérification manuelle très limitée ou aucune vérification manuelle ne peut être effectuée en raison de ces conditions. • Enfin, on doit être parfaitement conscient que plusieurs outils d'analyse peuvent être utilisés pour analyser les données acquises. • Plusieurs outils d'analyse doivent être envisagés, en particulier lorsqu'une un type spécifique de données ne peut pas être analysé par un outil, mais peut être analysé par un autre. Résumé et Q&A
  17. 26/03/2021 Android Comprendre l’architecutre Introduction Android : Histoire • Android

    est un système d'exploitation mobile fondé sur le noyau Linux et développé par Google. • Lancé en juin 2007 à la suite du rachat par Google en 2005 de la startup du même nom, le système avait d'abord été conçu pour les smartphones et tablettes tactiles, puis s'est diversifié dans les objets connectés et ordinateurs comme les télévisions (Android TV), les voitures (Android Auto), les Chromebook (Chrome OS qui utilise les applications Android) et les smartwatch (Wear OS). • En 2015, Android est le système d'exploitation mobile le plus utilisé dans le monde, devant iOS d’Apple, avec plus de 80 % de parts de marché dans les smartphones pour l'ensemble de ses versions et adaptations. Android est en effet diffusé sous trois formes : • Il peut être modifié par les constructeurs qui y ajoutent leurs surcouches, apportant ainsi des fonctionnalités supplémentaires mais au détriment du délai d'obtention des nouvelles mises à jour qui est parfois important. • Il peut également être installé sans surcouche comme sur les smartphones Android One qui bénéficient de ce fait rapidement des nouvelles versions du système ou encore sur les smartphones Android Go, qui disposent quant à eux d'une version allégée capable de fonctionner de manière rapide sur du matériel d'entrée de gamme. • Android existe enfin aussi sous la forme de différentes versions alternatives également appelées ROM Custom (ou forks).
  18. 26/03/2021 Introduction Le modèle Android • Pour comprendre efficacement les

    concepts forensics d'Android, il serait utile d'avoir un compréhension de base de l'architecture Android. • Tout comme un ordinateur, n'importe quel ordinateur système qui interagit avec l'utilisateur et exécute des tâches complexes nécessite un fonctionnement système pour gérer efficacement les tâches. • Ce système d'exploitation (qu'il s'agisse d'un ordinateur de bureau système d'exploitation ou un système d'exploitation de téléphone mobile) prend la responsabilité de la gestion les ressources du système et de fournir un moyen pour les applications de communiquer avec le du matériel ou des composants physiques pour accomplir certaines tâches. Android est actuellement le système d'exploitation mobile le plus populaire conçu pour alimenter les appareils mobiles. • Android est open source et le code est publié sous la licence Apache. • Ceci signifie que tout le monde (en particulier les fabricants d'appareils) peut y accéder, le modifier librement et utiliser le logiciel selon les exigences de tout appareil. C'est l'une des principales raisons sa large acceptation. Les entreprises notables qui utilisent Android incluent Samsung, Huawei, Sony et LG. Introduction Qu’est ce qu’un système d’exploitation ? Un système d'exploitation est essentiellement un agent intermédiaire entre l'utilisateur et le matériel informatique : • Gère les ressources de l’ordinateur (matériel, ressources abstraites, logiciels) • C’est un répartiteur de ressources. • Il est également utilisé pour contrôler les programmes afin d'éviter les erreurs et l'utilisation incorrecte de l'ordinateur. • Simplifie le contrôle matériel pour les applications • Promoteur du partage, de l'équité et de la sécurité avec l'objectif d'une meilleure performance globale. • Compromis entre équité et performance. • Compromis entre les algorithmes optimaux et les algorithmes allégés • Fournit des ressources abstraites
  19. 26/03/2021 Introduction Architecture Comme pour toute autre plate-forme, Android se

    compose d'une pile de couches exécutant une au-dessus de la autre. Pour comprendre l'écosystème Android, il est essentiel d'avoir une compréhension de base de ce que sont ces couches et ce qu’elles font. La figure suivante résume les différentes couches impliqué dans la pile de logiciels Android, Architecture Noyau (kernel) • Android OS est construit sur le noyau Linux avec quelques modifications architecturales apportées par Google. • Il y a plusieurs raisons de choisir le noyau Linux. • Linux est une plate-forme portable qui peut être compilée facilement sur différents matériels. • Le noyau agit comme un couche d'abstraction entre le logiciel et le matériel présent sur l'appareil.
  20. 26/03/2021 Architecture Noyau (kernel) Android utilise le kernel Linux (alors

    que, iOS utilise le kernel XNU qui est développé par Apple) avec quelques modifications. • C’est le cas des Wakelocks qui est un des modules de gestion de l’alimentation. • Ces derniers permettent au téléphone de ne pas passer en sommeil profond pour, par exemple, synchroniser vos e-mails ou vos contacts, ils sont gérés par l’OS qui les active ou les désactive selon le besoin du système. • Ce n’est pas le simple changement, Google apporte de nombreuses modifications au kernel de Linux. Architecture Noyau (kernel) : Exemple • Par exemple : Un clic sur l’appareil photo. Que se passe-t-il lorsque vous prenez une photo à l'aide du bouton de l'appareil photo sur votre appareil? • À un moment donné, l'instruction matérielle (en appuyant sur un bouton) doit être converti en une instruction logicielle (pour prendre une photo et la stocker dans la galerie). Le noyau contient des pilotes pour faciliter ce processus. • Lorsque l'utilisateur appuie sur le bouton, l'instruction va au pilote de caméra correspondant dans le noyau, qui envoie le commandes nécessaires au matériel de la caméra, similaires à ce qui se produit lorsqu'une touche est enfoncée sur un clavier. • En termes simples, les pilotes de la commande contrôlent le sous-jacent Matériel. Comme le montre la figure à coté, le noyau contient des pilotes liés au Wi-Fi, Bluetooth, USB, audio, écran, etc. • Le noyau Linux est responsable de la gestion des fonctionnalités de base d'Android, telles que gestion des processus, gestion de la mémoire, sécurité et mise en réseau. • Linux est un plate-forme en matière de sécurité et de gestion des processus. Android a pris effet de levier du système d'exploitation open source Linux existant pour construire une base solide pour son écosystème.
  21. 26/03/2021 Architecture Librairies (libraries) La couche suivante de l'architecture Android

    est constituée des bibliothèques natives d'Android. les bibliothèques sont écrites en langage C ou C ++ et aident l'appareil à gérer différents types de données. Par exemple, les bibliothèques SQLite sont utiles pour stocker et récupérer les données depuis une base de données. Les autres bibliothèques incluent Media Framework, WebKit, Surface Manager et SSL. La bibliothèque Media Framework agit comme l'interface principale pour fournir un service à l'autre bibliothèques sous-jacentes. La bibliothèque WebKit fournit des pages Web dans les navigateurs Web et le Le gestionnaire de surface maintient les graphiques. Architecture Librairies (libraries) Dans la même couche, nous avons Android Runtime, qui se composait de la machine virtuelle Dalvik (DVM) et des bibliothèques principales. Le runtime Android (ART) est le runtime géré utilisé par les applications et certains services système sur Android. ART et son prédécesseur Dalvik ont été créés à l'origine spécifiquement pour le projet Android. ART, en tant que runtime, exécute le format Dalvik Executable et la spécification de bytecode Dex. L'Android runtime est responsable de l'exécution des applications sur les appareils Android. Le terme «runtime» fait référence au laps de temps entre le lancement d'une application et son arrêt.
  22. 26/03/2021 Architecture Virtual Machine Toutes les applications que vous installez

    sur l'appareil Android sont écrites en Java langage de programmation. Lorsqu'un programme Java est compilé, nous obtenons un bytecode. Un machine virtuelle est une application qui agit comme un système d'exploitation, c'est-à-dire qu'il est possible d'exécuter un Système d'exploitation Windows sur un Mac ou vice versa à l'aide d'une machine virtuelle. JVM est l’une de ces machines virtuelles qui peut exécuter le bytecode mentionné précédemment. Mais, les versions d'Android avant 5.0 utilisaient la machine virtuelle Dalvik (DVM) pour exécuter leurs applications. Architecture Android Runtime (ART) • À partir de la version Android 5.0 Lollipop, Dalvik a été remplacé par Android Runtime (ART). • En terme de compilation, les versions antérieures d'Android utilisaient la compilation juste-à-temps basé sur la trace (JIT) compilation avec Dalvik. • Dans le JIT basé sur la trace, les opérations fréquemment exécutées sont identifiées et compilé dynamiquement en code machine natif. Cette exécution native de ces bytecodes utilisés appelés traces fournissent des améliorations de performances significatives. • Contrairement à Dalvik, ART utilise la compilation à l'avance (AOT) qui compile des applications entières en code machine natif lors de leur installation. • Cela augmente automatiquement le temps d’installation pour une application, mais a un avantage majeur qui est d’éliminer l'interprétation de Dalvik, et augmente ainsi l'efficacité et réduit également la consommation d'énergie. • ART utilise un utilitaire appelé dex2oat qui accepte les fichiers DEX en entrée et génère un exécutable d'application compilé pour l'appareil cible.
  23. 26/03/2021 Architecture Application Framework Layer Le cadre d'application (Application Framework

    Layer) est la couche responsable de la gestion du fonctionnement de base d'un téléphone, comme la gestion des ressources, la gestion des appels, etc. C'est le bloc avec lequel les applications installées sur l'appareil vont communiquer. Voici quelques-uns des les blocs importants dans la couche du framework d'application: • Gestionnaire de téléphonie: ce bloc gère tous les appels vocaux • Fournisseur de contenu: ce bloc gère le partage des données entre différents applications • Gestionnaire de ressources: ce bloc permet de gérer diverses ressources utilisées dans applications Architecture Application Framework Layer L'ensemble des fonctionnalités du système d'exploitation Android est disponible pour les développeurs via des API écrites dans le langage Java. Ces API forment les blocs de construction dont le développeur a besoin pour créer des applications Android en simplifiant la réutilisation des composants et services système modulaires et principaux, qui incluent entre autres éléments suivants: • Un système d'affichage riche et extensible que vous pouvez utiliser pour créer l'interface utilisateur d'une application, y compris des listes, des grilles, des zones de texte, des boutons et même un navigateur Web intégrable • Un gestionnaire de ressources, donnant accès à des ressources non codées telles que des chaînes localisées, des graphiques et des fichiers de mise en page • Un gestionnaire de notifications qui permet à toutes les applications d'afficher des alertes personnalisées dans la barre d'état • Un gestionnaire d'activité qui gère le cycle de vie des applications et fournit une pile d'arrière-plan de navigation commune • Fournisseurs de contenu qui permettent aux applications d'accéder aux données d'autres applications, telles que l'application Contacts, ou de partager leurs propres données
  24. 26/03/2021 Architecture Applications • Android est livré avec un ensemble

    d'applications de base pour la messagerie électronique, la messagerie SMS, les calendriers, la navigation Internet, les contacts, etc. • Les applications incluses avec la plate-forme n'ont pas de statut particulier parmi les applications que l'utilisateur choisit d'installer. • Ainsi, une application tierce peut devenir le navigateur Web par défaut de l'utilisateur, la messagerie SMS ou même le clavier par défaut (certaines exceptions s'appliquent, comme l'application Paramètres du système). • Les applications système fonctionnent à la fois comme des applications pour les utilisateurs et pour fournir des fonctionnalités clés auxquelles les développeurs peuvent accéder à partir de leur propre application. • Par exemple, si une application souhaite envoyer un message SMS, le développeur n’a pas besoin de créer cette fonctionnalité vous-même. Il peut à la place appeler l'application SMS déjà installée pour remettre un message au destinataire. Architecture Applications • La couche d'application est la couche supérieure où l'utilisateur peut interagir directement avec le dispositif. • Il existe deux types d’applications: les applications préinstallées et les applications installées par l’utilisateur applications. • Applications préinstallées, telles que le numéroteur, le navigateur Web, les contacts, etc. venir avec l'appareil. • Les applications installées par l'utilisateur peuvent être téléchargées à partir de différents des lieux, tels que Google Play Store, Amazon Marketplace, etc. • Tout ce que nous constatons sur votre téléphone (contacts, courrier, appareil photo, etc.) est une application.
  25. 26/03/2021 Android Les mécanismes de sécurité Sécurité Sécurité du Noyau

    Android (Secure Kernel) • Linux a évolué en tant que plate-forme de confiance au fil des ans, et Android a tiré parti de ce fait en l'utilisant comme noyau. • Le modèle d'autorisation basé sur l'utilisateur de Linux a en fait bien fonctionné pour Android. • Comme mentionné précédemment, il y a beaucoup de code spécifique intégré au noyau Linux. • Avec chaque version d'Android, la version du noyau a également changé. • Le diagramme suivant montre le processus d’héritage de noyaux Android sur base des LTS Linux.
  26. 26/03/2021 Sécurité Le modèle de permissions • Les autorisations d'application

    aident à prendre en charge la confidentialité des utilisateurs en protégeant l'accès aux éléments suivants: • Données restreintes, telles que l'état du système et les informations de contact d'un utilisateur. • Actions restreintes, telles que la connexion à un appareil couplé en bluetooth ou l'enregistrement audio. • Ce modèle aide l'utilisateur à prévenir les attaques, mais si l'utilisateur n'est pas au courant et autorise beaucoup d'autorisations, cela l’expose. • rappelez-vous, quand il s'agit d'installer des logiciels malveillants sur n'importe quel appareil, le maillon le plus faible est toujours l'utilisateur. • Ci contre, un schéma à destination des développeurs pour gérer les demandes d’autorisations sur l’application. Sécurité Application Sandbox • Dans les systèmes Linux, chaque utilisateur se voit attribuer un ID utilisateur unique (UID) et les utilisateurs sont séparés de manière à qu'un utilisateur ne peut pas accéder aux données d'un autre utilisateur. • Cependant, toutes les applications sous un certains utilisateurs sont exécutés avec les mêmes privilèges. • De même, sous Android, chaque application s'exécute en tant qu'utilisateur unique. • En d'autres termes, un UID est attribué à chaque application et est exécuté en tant que processus séparé. Ce concept garantit un bac à sable (sandbox) d'application au niveau du noyau. • Le noyau gère les restrictions de sécurité entre les applications en utilisant les concepts Linux, tels que UID et GID. • Si une application tente de faire quelque chose de malveillant, dire de lire les données d'une autre application, cela n'est pas autorisé. • Par conséquent, le système d'exploitation empêche une application d'accéder les données d'une autre application.
  27. 26/03/2021 Sécurité Secure Inter-Process Communication • Android offre une communication

    inter- processus sécurisée grâce à laquelle son activité dans un l'application peut envoyer des messages à une autre activité de la même application ou à un autre application. • Pour y parvenir, Android fournit une communication inter-processus (IPC) mécanismes: intentions, services, fournisseurs de contenu, etc. Sécurité Signature des applications • Il est obligatoire que toutes les applications installées soient signées numériquement. • Les développeurs peuvent ne placez leurs applications dans le Play Store de Google qu'après avoir signé les applications. • La clé privée avec laquelle l'application est signée est détenue par le développeur. • En utilisant le même clé, un développeur peut fournir des mises à jour à son application, partager des données entre les applications, etc.
  28. 26/03/2021 Sécurité Améliorations de sécurité • Security-Enhanced Linux (SELinux) est

    une nouvelle fonctionnalité de sécurité introduite dans Android 4.3 et entièrement appliqué dans Android 5.0. • Jusqu'à cet ajout, la sécurité Android était basée sur le contrôle d'accès discrétionnaire (DAC), ce qui signifie que les applications peuvent demander autorisations, et les utilisateurs peuvent accorder ou refuser ces autorisations. • Ainsi, les logiciels malveillants peuvent créer ravages sur les téléphones en obtenant ces autorisations. • Mais SE Android utilise le contrôle d’accès obligatoire (MAC), qui garantit que les applications fonctionnent dans des environnements isolés. • D'où, même si un utilisateur installe une application malveillante, le logiciel malveillant ne peut pas accéder au système d'exploitation et corrompre le dispositif. • SELinux est utilisé pour appliquer MAC sur tous les processus, y compris ceux en cours d'exécution avec les privilèges root. • SELinux fonctionne sur le principe du déni par défaut (ou zero trust) - tout ce qui n'est pas explicitement autorisé est refusé. • SELinux peut opérer dans l'un des deux modes: mode permissif, dans lequel les refus d'autorisation sont consignés mais non appliqués, et le mode d'application, dans lequel les refus sont à la fois consignés et appliqués. Sécurité Cryptage du disque • Avec Android 6.0 Marshmallow, Google a introduit le cryptage complet du disque pour la plupart des périphériques, à condition que le matériel réponde à certaines normes minimales. • Le cryptage est le processus de conversion de données en texte chiffré à l'aide d'une clé secrète. • Sur les appareils Android, Le cryptage plein du disque fait référence au processus de cryptage de toutes les données utilisateur à l'aide d'une clé secrète. • Une fois un appareil est cryptée, toutes les données créées par l'utilisateur sont automatiquement cryptées avant de les écrire sur le disque et toutes les lectures déchiffrent automatiquement les données avant de les renvoyer au processus appelant. • Le cryptage plein du disque sous Android fonctionne uniquement avec une carte multimédia intégrée (eMMC) et un des périphériques flash similaires qui se présentent au noyau comme des périphériques blocs.
  29. 26/03/2021 Android Système de fichiers Organisation des fichiers sur Android

    Vue d’ensemble • Étant donné qu'Android est un système d'exploitation basé sur Linux, votre téléphone dispose d'une structure de système de fichiers Linux-esque. • Sous ce système, il y a six partitions principales sur chaque périphérique: démarrage, système, récupération, données, cache et divers. • Les cartes MicroSD comptent également comme leur propre partition de mémoire. • Les appareils livrés avec Android 7.0 Nougat et l'introduction de mises à jour transparentes s'ajoutent à une deuxième partition système, dont l'une est mise à jour en arrière-plan et peut être rapidement basculée au redémarrage, ce qui donne à la mise à jour une apparence transparente.
  30. 26/03/2021 Android File System Visualiser le système de fichiers sur

    un Device Android • Android utilise plusieurs partitions (comme boot, system, recovery , data etc.) pour organiser les fichiers et les dossiers sur l'appareil, tout comme le système d'exploitation Windows. • Chacune de ces partitions a sa propre fonctionnalité, mais la plupart d’entre nous ne connaissent pas la signification de chaque partition et de son contenu. Android file system Système de fichiers communs retrouvé sur android • Boot : Cette partition contient le noyau, le disque virtuel, etc. requis pour que le téléphone démarre lorsqu'il est allumé. • System : La partition système contient les fichiers du système d'exploitation (également appelés ROM), qui incluent l'interface utilisateur Android et les applications préinstallées. • Recovery : Une option alternative au démarrage dans le système d'exploitation, le logiciel de récupération peut permettre à l'utilisateur de sauvegarder et de restaurer d'autres partitions. • Data : La partition de données enregistre les données utilisateur allant des contacts et messages aux applications et à la musique, et est la partition à laquelle vous pouvez accéder via un navigateur de fichiers. Ce secteur est effacé lors d'une réinitialisation d'usine. • Cache : Android stocke les données et les composants d'applications fréquemment utilisés ici. Cela peut être effacé pour résoudre certains problèmes et est automatiquement reconstruit et mis à jour au fil du temps. • Misc : Cette partition contient d'autres informations importantes sur les paramètres du système, telles qu'une configuration USB, l'ID de l'opérateur et d'autres paramètres matériels, généralement enregistrés sous la forme d'interrupteurs marche / arrêt.
  31. 26/03/2021 Android File System Données utilisateurs (partition DATA) • Nous

    savons maintenant que nous n'avons accès à aucun des fichiers de démarrage, de récupération ou du système Android lorsque nous parcourons la partition de données, donc provoquer une panne système catastrophique serait assez difficile à faire sur un téléphone correctement protégé. • Ceci est cependant différent pour les utilisateurs root. Même dans ce cas, nous devons toujours faire attention à ce que nous faisons dans ce secteur, car certaines applications peuvent s'appuyer sur des données enregistrées ici et leur suppression ou leur déplacement peut entraîner une instabilité du système. • Avant d’aller plus loin, vous pouvez accéder à la partition de données de votre téléphone pour voir ce qu’il contient. Pour ce faire, les téléphones équipés d'Android Marshmallow ou Nougat sont livrés avec leur propre gestionnaire de fichiers qui peut accéder à cette partition complète. • Cette option est masquée sous Paramètres> Stockage> Autre. Certains téléphones sur les anciennes versions d'Android peuvent ou non inclure leur propre explorateur de fichiers, selon l'OEM. LAB Exploration Android – ADB À travers La VM PrisalyaBOX