SSTIC 2010 - Vendredi après-midi : 2ème conf

OssmocomBB

par Harald Welte.

Le principe, c’est de prendre le contrôle d’un téléphone mobile depuis un PC pour pouvoir ensuite utiliser le téléphone comme intermédiaire pour émettre des paquets sur le réseau GSM. S’en suit un listing technique des problèmes de sécurité sur GSM connus (MITM GSM, rogue network, chiffrement faible, pas d’authentification mutuelle, DoS…).

Dans le monde GSM le chiffrement est implémenté très bas dans le protocole, dès la première couche.

Dans un téléphone il y a deux processeurs, l’un qui s’occupe de la partie Smart et l’autre de la partie Phone :), le second processeur qui sert à téléphoner s’appelle le BP : Baseband Processor
Ce processeur est composé d’un ARM7 ou d’un ARM9 et d’un DSP spécialisé qui dépend du fabriquant. La pile logicielle est codée en C et ne dispose d’aucune protection.

S’en suit les détails techniques du chipset GSM avec un joli shema, puis Harald nous explique comment fabriquer son propre BP, en transformant un téléphone existant plutôt vieux 🙂 et sur lequel on peut avoir de l’information. Le choix s’est porté sur la puce Texas Instruments Calypso, relativement bien documentée sur les sites chinois, avec le code source de la stack GSM disponible, etc…

OsmocomBB = Open Source MObile COMmunication Base Band

Le minimum requis est utilisé sur le téléphone et le gros des traitements est déporté sur le PC, les deux composants communiquent au travers d’un port série présent sur le téléphone. La couche GSM 1 est gérée du coté du téléphone, et les couches 2 et 3 sont gérées coté PC.

On à le droit à une démo avec tout plein de logs qui défilent (on comprend pas ce qui défile, mais ça à l’air cool 😀 ). Heureusement on a les explications qui vont avec 😀 les paquets GSM interceptés via le telephone peuvent être envoyé sur une interface locale pour être analysé dans Wireshark (qui possède les dissecteurs appropriés).

Bref c’est la classe 😀