Benoit MICHAU, ANSSI
benoit.michau[at]ssi.gouv.fr
31 mai 2018
De nombreuses technologies de communications mobiles coexistent : 2G, 3G, 4G... 5G !
En France:
La prise en charge des connexions cellulaires est complexe :
Processeur dédié (modem) : environnements matériel et logiciel fermés, indépendant ou intégré dans un SoC
services traités en clair dans le modem et le réseau opérateur :
Egalement, configuration du terminal (OS applicatif, modem, carte SIM) par le réseau : heure, nom du réseau, paramètres de connexions de données, serveurs SMS, MMS...
Les firmwares des modems sont des exécutables complexes
Les modems cellulaires sont partout : téléphones, smartphones, voitures, drônes, automates commerciaux ou industriels, équipements connectés...
Ils présentent une surface d'exposition importante : actifs en permanence, décodage opportuniste de signaux radio complexes, interactions importantes avec les applicatifs...
Ils traitent une grande partie des communications entrantes et sortantes, en partie en clair.
Leur fonctionnement est totalement opaque vis-à-vis de l'utilisateur.
Leur évaluation en «boîte noire» est délicate.
Peu de contre-mesures modernes aux corruptions mémoire y sont intégrées.
Utiliser des simulateurs de réseaux open-source
(OpenBTS /
YateBTS,
osmocom,
srs-lte,
OAI,
corenet,
NextEPC)
ou commerciaux
(amarisoft,
corenet dynamics)
pour créer et tester des situations extrêmes ou hors-normes (prévoir une isolation RF).
Analyser le fonctionnement des modems et terminaux mobiles
(adb, systèmes de diagnostic des modems, analyse statique des firmwares, ram-dumps, crash-dumps).
Les grands fabricants ont des équipes dédiées :
Qualcomm,
Samsung,
Huawei,
Google,
Apple...
Les plus petits sont généralement plus difficiles à contacter, ou sensibiliser.
Distribution des mises à jour et maintenance des firmwares rarement parfaites.
Introduction d'A5/3 (chiffrement GSM).
Abandon des réseaux 2G (exemple d'AT&T).
Surveillance des interfaces de roaming inter-opérateurs.
Maintenir ses terminaux à jour, autant que possible.
Les grands fabricants et éditeurs améliorent sans cesse la sécurité de leurs produits.
Malheureusement, la sécurité des modems reste généralement en-deçà de l'état de l'art,
et les technologies cellulaires évoluent sans cesse.
C'est un domaine de recherche en sécurité informatique à part entière.
N'hésitez pas à vous y interesser !
SoC Qualcomm:
- RAM partagée pour l'ensemble des modules du SoC (isolation via MPU)
- émulation de liaisons série entre le modem et le processeur applicatif via une zone mémoire partagée
- modem entièrement exécuté sur DSP Hexagon
- basé sur un OS temps réel propriétaire Qualcomm
iPhone avec modem Qualcomm:
- puce indépendante (RAM, coeur ARM et DSP Hexagon) interconnectée avec le processeur applicatif en PCIe
- modem entièrement exécuté sur DSP Hexagon (idem SoC Qualcomm)
iPhone avec modem Intel:
- puce indédendante (RAM, coeur ARM et DSP) interconnectée avec le processeur applicatif en SSIC (USB3 sur PCB)
- modem essentiellement exécuté sur le coeur ARM
- basé sur un OS temps réel ThreadX
présentation du Samsung Galaxy S9+ (QC et SS)
présentation de l'iPhone 8 (QC et Intel)
démontage d'un iPhone 8 (Intel)
démontagd d'un iPhone 8 (QC)
présentation du SoC Qualcomm Snapdragon 845
réference technique du SoC applicatif Snapdragon 820e (sans modem)
réference technique du SoC applicatif Snapdragon 410e (sans modem)