Les appareils mobiles : failles et investigations

Généralités

Les objets connectés sont de plus en plus nombreux. À l’heure actuelle, on en dénombre trente milliards. Ceux-ci sont de natures diverses, présents dans de multiples domaines, qu’il s’agisse d’objets du quotidien proposant davantage de fonctionnalités, ou d’autres conçus de toutes pièces, créant ainsi l’offre et la demande. Parmi cet ensemble, on retrouve les terminaux mobiles.

Les précurseurs des smartphones sont apparus à la fin des années 1990, mais il faut attendre 2007, année de commercialisation de l’iPhone, pour que ce marché s’étende considérablement.

Le smartphone est un téléphone multifonction composé d’une multitude de capteurs, de l’appareil photo au gyroscope. Ses usages sont variés et il en est de même, si ce n’est plus, sur la partie logicielle.

En effet, c’est également un véritable ordinateur de poche, doté d’un système d’exploitation spécialement conçu permettant d’exécuter des applications. On y retrouve les classiques pour passer des appels ou envoyer des SMS, mais également beaucoup d’autres disponibles depuis les magasins d’applications pour réaliser des actions qu’on qualifierait d’indispensables aujourd’hui...

Les vecteurs d’attaque

1. Introduction

Les attaques ciblant les smartphones sont semblables à celles abordées précédemment dans ce livre, notamment celles exploitant les vulnérabilités des systèmes d’exploitation (CVE). On retrouve également la plupart des attaques web, qui peuvent viser les applications mobiles, ainsi que des attaques portant sur les protocoles de communication réseau tels que le Wi-Fi ou le Bluetooth…

2. Anatomie des attaques mobiles

Comme illustré ci-dessous, une attaque mobile peut impliquer la couche périphérique, la couche réseau, le centre de données ou une combinaison de ces éléments.

images/p704.png

Anatomie des attaques mobiles

Dans cette section, nous présentons les principales techniques utilisées par les cyberattaquants pour accéder, exploiter ou compromettre des données sensibles. Ces méthodes incluent notamment l’ingénierie sociale, les malwares, l’exploitation de vulnérabilités applicatives et les attaques sur les réseaux. Un aperçu du Top 10 OWASP Mobile permettra également d’identifier les vulnérabilités les plus critiques propres aux applications mobiles et les risques de sécurité qui en découlent.

3. Les données ciblées

Les smartphones constituent aujourd’hui de véritables...

Top 10 des vulnérabilités des mobiles

L’OWASP (Open Web Application Security Project) est une nouvelle fois à l’honneur dans ce livre. Il vise à sensibiliser les développeurs à la sécurité des applications mobiles en présentant les vulnérabilités les plus fréquentes. Les points du Top 10 sont brièvement introduits ici, et détaillés plus loin dans le chapitre.

1. Utilisation incorrecte des identifiants

C’est une vulnérabilité courante dans les applications mobiles où les identifiants sont mal gérés, par exemple en étant codés en dur dans le code source ou transmis de manière non sécurisée, ou stockés de manière inappropriée sur l’appareil. Cette mauvaise gestion des identifiants peut être facilement exploitée par des attaquants pour obtenir un accès non autorisé à des fonctionnalités sensibles, entraînant des violations de données, une perte de confidentialité des utilisateurs, des activités frauduleuses et un accès potentiel aux fonctionnalités administratives.

2. Sécurité inadéquate de la chaîne d’approvisionnement

Cela fait référence aux vulnérabilités présentes dans le processus de développement et de distribution des applications mobiles, qui peuvent être exploitées par des attaquants.

Ces failles incluent l’insertion de code malveillant, la compromission des clés ou des certificats de signature de l’application pour signer du code malveillant afin qu’il soit reconnu comme fiable. De plus, un attaquant peut exploiter des bibliothèques tierces...

Réseau cellulaire

Depuis les années 1980, le réseau cellulaire a connu son lot de vulnérabilités. De l’exploitation de la carte SIM à l’aide des commandes AT, aux attaques sur le protocole de signalisation SS7 et Diameter, ou encore sur le réseau LTE lui-même avec les attaques aLTEr et reVoLTE, tout y est passé. L’apparition de la 5G nous fait entrer dans une nouvelle ère, avec une bande passante semblable à celle de la fibre, qui est aussi censée venir balayer les erreurs du passé en termes de sécurité.

1. Définitions

images/12EP02Nv7.png

Réseau cellulaire

Comme vous pouvez le constater, il est très compliqué de faire un schéma clair de l’ensemble du réseau de télécommunications. Pour synthétiser, nous allons nous appuyer sur le réseau BSS (2G), qui nous servira par la suite pour notre démonstration.

Un BSC (Base Station Controller) est un élément qui contrôle les transmissions radio des stations de base BTS (Base Transceiver Station). Il est également en charge du transfert des données avant l’envoi au téléphone mobile (ME) identifié par la carte SIM (MS). Pour ce faire, il s’interface avec le cœur du réseau (CN) de l’opérateur mobile : d’une part, avec le SGSN (Serving GPRS Support Node) pour la transmission des services multimédias proposés par le réseau IMS (IP Multimedia Subsystem) ; d’autre part, avec le MSC (Mobile service Switching Center) pour le transfert de la voix et de la signalisation reçues par le réseau SS7 en charge du traitement des appels, ou le SMSC (Short Message Service Center) pour le traitement des SMS.

Tout cela après vérification de l’identité du terminal d’après les informations contenues dans les différentes bases de données (AUC, HLR, EIR).

2. IMSI-catcher

Bon nombre d’attaques sur ce réseau...

Android

Android est un système d’exploitation open source basé sur le noyau Linux. Il est conçu en 2003 par Andy Rubin, Chris White, Nick Sears et Rich Miner. Le projet est racheté en 2005 par Google, qui commercialise la première version publique du système d’exploitation préinstallé sur le HTC Dream en septembre 2008.

1. Introduction

En 2010, comme le souligne le graphique suivant, le système d’exploitation de Google commence déjà à prendre ses marques, avec 23,3 % des parts de marché de la téléphonie mobile en sa possession.

images/13EP07.png

Part de marché d’Android en 2010

Lors de la conférence annuelle « Google I/O » de 2019, qui vise à présenter les nouveautés du système d’exploitation, il a été annoncé que le nombre de terminaux Android actifs a atteint 2,5 milliards, faisant de ce système d’exploitation le plus utilisé au monde. Aujourd’hui, ce nombre aurait atteint 3 milliards. Android détient notamment 75 % des parts de marché sur le segment mobile.

images/12EP01Nv7.png

Part de marché d’Android en 2025 (https://gs.statcounter.com/os-market-share/mobile/worldwide/

2. Les différentes versions

a. Introduction

Depuis 2008, Android a fortement évolué, notamment afin de répondre à une communauté de plus en plus importante. Ces évolutions portent tant en termes d’apparence que de fonctionnalités. En effet, chaque mise à jour introduit généralement quatre ou cinq améliorations supplémentaires, tant sur le plan logiciel que matériel. On observe notamment l’apparition de nouvelles fonctionnalités apportées par les différents fabricants qui adoptent cette technologie, telles que la caméra rétractable ou la compatibilité avec des formats d’écrans variés.

images/12EP03Nv7.png

Versions d’Android

b. Problématique

Cette diversité de matériels et de versions fait peser une forte contrainte sur Google :

  • Google doit s’efforcer de maintenir un système le plus homogène possible pour répondre au besoin de chacun.

  • Le suivi des mises à jour devient complexe et coûteux pour les constructeurs....

Vulnérabilités des applications

De par la structure des applications et leur fonctionnement, on peut en déduire que celles-ci sont similaires aux applications web. Des millions d’applications sont disponibles sur le marché ; parmi elles, il en existe des vulnérables. En effet, il est difficile de concevoir une application sans vulnérabilités, d’autant plus quand le développeur n’a pas de formation en sécurité. Dans cette partie, nous allons voir comment exploiter les vulnérabilités de ces applications.

Pour ce faire, nous adopterons les mêmes raisonnements que lors d’un audit web (vu dans les chapitres précédents). Nous pouvons également utiliser les méthodologies de l’OWASP. Nous aurons également besoin d’outils, et pour cela plusieurs distributions sont disponibles.

1. Distribution

En tant que pentester, la phase d’armement est importante, il ne faut pas perdre de temps en audit à découvrir, mettre à jour, déboguer ces outils. La distribution Kali Linux, qu’on ne présente plus, est assez fiable en la matière mais ne possède que quelques outils pour l’audit d’applications mobiles. Il existait des distributions dédiées telles que Santoku Linux et Android Tamer, mais celles-ci ne sont plus trop disponibles. J’ai donc entrepris de créer ma propre image Docker. Cependant, en raison de certaines limitations et de la lourdeur du suivi des mises à jour des outils, j’ai décidé de me tourner vers la distribution Mobexler (https://www.mobexler.com/). Cette dernière est dédiée à l’audit d’applications mobiles et a le mérite d’être connue. La dernière mise à jour date d’août 2024, la distribution est basée sur Ubuntu et possède un grand nombre d’outils, dont l’indispensable Android Debug Bridge.

2. ADB

L’Android Debug Bridge reste utile dans cette section grâce à ses diverses fonctionnalités supplémentaires.

La commande install sert à installer une application au format APK, comme mentionné précédemment, sur un appareil connecté.

Autre commande : pm, soit package...

Conclusion du chapitre

Ce chapitre avait pour but de vous présenter les principales vulnérabilités des réseaux de télécommunications. Nous avons volontairement abordé le sujet de manière générale, afin de vous encourager à approfondir ce domaine par vous-même, tout en respectant le cadre légal.

Concernant Android, les fonctionnalités ainsi que sa sécurité n’ont cessé de croître ces dernières années. En analysant les résultats du site StatCounter sur la répartition des versions, on observe une tendance claire : Android 14 et 15 gagnent progressivement du terrain, tandis qu’Android 12 et 13 déclinent lentement. Bien que l’uniformisation du parc Android soit plus complexe que celle d’iOS, grâce à la diversité de matériel, les évolutions récentes montrent que cet écart se réduit, ouvrant la voie à une meilleure harmonisation dans un futur proche. Cependant, des vulnérabilités persistent. La sensibilisation et l’utilisation de guides tels que le MASVS de l’OWASP peuvent contribuer à réduire la surface d’attaque des applications et à minimiser les impacts sur la confidentialité, l’intégrité et la disponibilité. Cela est d’autant plus crucial...