Retours sur le 28C3

Mon 09 January 2012 by cedric

Voilà un résumé des conférences auxquelles j'ai assisté. Les planches seront rendues disponibles au fur et à mesure. Les conférences sont réparties sur 3 salles en simultané, il a donc fallu faire des choix. Globalement, c'est une des meilleures conférences auxquelles j'ai pu assister, je ne peux donc que la recommander. Leur système de streaming vidéo en direct et la mise à disposition des vidéos juste quelques jours après l'évenement sont remarquables.

802.11 Packets in Packets (PIP)

Travis Goodspeed nous présente un nouveau type d'attaque exploitant le fonctionnement des couches physiques sans fil qui :

  • doivent gérer les phénomènes d'interférence : une onde dans les airs peut être brouillée (non détectable par le récepteur) lorsque plusieurs ondes se superposent
  • considèrent les données reçues comme "valides" dès lors qu'elles sont "cohérentes", c'est a dire qu'elles "ressemblent" à des données valides

En pratique, l'interférence crée plus souvent une série d'octets invalides consécutifs que des bits isolés invalides. Si le début du paquet est corrompu dans la couche 1, la machine à état (qui cherche le motif de synchronisation) cherchera à se synchroniser plus tard, éventuellement sur les données des couches supérieures, contrôlées par l'attaquant. Les données en couche 7 peuvent ainsi etre interprétées comme un paquet en couche 1 (d'où le terme Packet in Packet).

Ce type d'attaque est "standard compliant" car il n'y a aucun moyen de détecter si les données sont intègres. De plus, même si la vulnérabilité est au niveau de la couche 1, l'attaquant n'a pas besoin d'émetteur radio, l'attaquant peut etre physiquement distant (par Internet).

Notons tout de même que l'impact est limité :

  • fonctionne uniquement sur un accès Wifi non chiffré (WPA et WEP ne sont pas vulnérables)
  • fonctionne avec la technologie ZigBee (pour l'exemple, mais n'a pas de réelle application compte tenu des périphériques impliqués)

En tout cas, c'est une excellente présentation.

Data Mining, the Israeli Population Cencus

Yuval Adam nous présente son analyse des bases de données qui ont fuité en 1998, 2001, 2002, 2004 et 2006, permettant d'avoir les informations suivantes sur tous les citoyens israéliens entre 1948 et 2006 :

  • nom, prénom
  • date de naissance
  • statut marital
  • parents
  • adresse, n° de téléphone

D'autres informations peuvent être déduites en comparant les données des différentes années :

  • nouvel enregistrement : personne née ou immigrante (suivant la date de naissance)
  • mise à jour d'un enregistrement : changement de nom, n° de téléphone, adresse ou personne décédée
  • suppression d'un enregistrement : ??? L'auteur avoue ne pas avoir de réponse...Ceci sera laissé à l'interprétation du lecteur...

Les questions soulevées ensuite montrent la pertinence de sa présentation, et que l'interprétation des données récupérées n'est pas toujours facile... (base de données consistante, non modifiée ou sinon dans quelle intention ?, etc.)

Defending Mobile Phones

Karsten Nohl nous présente la suite (et fin dit-il) de 3 ans de travaux sur le sujet.

Il utilise pour cela les projets bien connus :

  • OpenBTS pour avoir une "fausse" antenne GSM
  • OsmocomBB pour installer un firmware customisé sur un téléphone à des fins de test

Trois types d'attaques sont développés:

  • imitation : sniffer ce qu'il faut pour être en mesure de se faire passer pour un téléphone cible
  • interception : sniffer une conversation et ce qu'il faut pour être en mesure de la déchiffrer
  • tracking : sniffer ce qu'il faut pour être en mesure de géolocaliser un téléphone cible

Voir GSM map pour les résultats obtenus, pour l'Europe seulement à l'heure actuelle.

Datamining for Hackers - Encrypted Traffic Mining (TM)

Stefan Burschka, très bon orateur, utilise une approche intéressante basée sur la physique et les maths pour tenter de récupérer des informations d'un flux chiffré, sans effectuer d'attaque sur le chiffrement à proprement parler. L'attaquant sniffe les paquets, puis les analyse et en déduit des caractéristiques sur le contenu.

Il prend l'exemple du flux de Skype (opaque) et développe sa présentation autour.

En prenant le slide 11 de sa présentation, correspondant à un graphe de tailles des paquets IP :

  • au début de la conversation, une charge plus importante de données transite, dû à un apprentissage afin d'optimiser la conversation
  • le flux est de type audio : il y a des pauses de discussions, mais en fait dans skype, il y a toujours du trafic, même lorsque personne ne parle
  • la taille minimale des paquets est 3 et correspond à un ping interne
  • la taille des paquets transitant dans un sens est plus grande que l'autre sens : le 1er interlocuteur parle plus que le 2nd

Il existe une fonction de transfert entre l'audio et le paquet IP.

Est-il possible de savoir si c'est un homme ou une femme qui parle ? Comment cela se voit sur un paquet ?

Est-il possible, considérant une phrase donnée dite par quelqu'un de reconnaitre la même phrase dite par quelqu'un d'autre ?

Deux personnes qui disent la même phrase ne feront pas varier la taille du signal ni la présence de signal / silence. Pour cela, l'auteur se base sur des modèles mathématiques (notamment le filtre Kalman). Ainsi, si on connait la phrase, on crée un modèle et on détectera cette phrase répétée dans 83% des cas sous certaines conditions...

Les moyens pour éviter cela serait d'ajouter du padding de taille aléatoire a tous les paquets.

Introducing OsmoCom GMR

Sylvain Munaut présente pour la 1ère fois le projet OsmoCom GMR dont le but est le développement d'une pile pour téléphone satellite (équivalent d'OsmoComBB pour le GSM). Il a commencé en juillet 2011 et actuellement il est capable de sniffer quelques trames de gestion (non chiffrées).

Il lui reste à :

  • comprendre l'algorithme de chiffrement A5/1 utilisé (différent de l'A5/1 du GSM)
  • comprendre le codec audio AMBE utilisé (propriétaire)
  • gérer la transmission
  • et plein d'autres choses...

Très prometteur.

Cellular protocols for mobile Internet

Harald Welte nous présente tous les acronymes utilisés dans les technologies GSM/GPRS/UMTS. Rentrer dans le sujet n'est pas simple, car de nombreux documents se référencent les uns les autres dans les standards 3GPP. Le but de cette présentation est justement de montrer cette diversité afin de ne pas se trouver bloqué lorsque l'on rentre sur le sujet.

L'auteur précise qu'il a laissé volontairement de côté la complexité de la couche 1 pour s'intéresser au reste. On retiendra les schémas contenant les piles réseaux des différentes couches utilisées pour le "control plan" (gestion du trafic) ou le "user plan" (les données à proprement parler) pour chacune des technologies GSM, GPRS, UMTS...

Reverse Engineering USB devices

Drew Fisher présente ici la méthode "classique" pour développer un driver pour un device USB. Que ce soit à l'aide d'un sniffeur USB matériel ou en utilisant les fonctionnalités de Windows/Linux ou d'un émulateur, l'auteur sniffe les communications du protocole propriétaire circulant au dessus de l'USB et détermine les champs du protocole qui sont souvent présents :

  • nombre magique : champ qui est répété régulièrement
  • champ "taille" : champ qui est suivi d'un nombre d'octets correspondant à sa valeur
  • numéro de séquence : champ qui est incrémenté
  • timestamp : champ qui est envoyé par un endpoint et qui "bizarrement" coïncide en différentiel avec l'évolution du temps

Il souligne que des outils de reverse engineering permettant de détecter ou d'aider l'homme dans cette tâche seraient utiles...

Au final, soit on arrive à comprendre le protocole en entier, soit on rejoue les bits non compris afin que cela "marche" !Enfin, il recommande d'utiliser la librairie libUSB pour accéder à l'USB depuis l'espace utilisateur pour prototyper le driver, ce qui évite de devoir le recharger après chaque recompilation.

Scada & PLC vulnerabilities

Tiffany Rad présente les résultats de 2 mois de recherche (dit-elle !) lui permettant à partir d'un accès au réseau de prisons de modifier le comportement du PLC afin :

  • de lui faire ouvrir les portes de prisons
  • et de faire en sorte qu'aucune alarme ne soit remontée

Le scénario envisagé est une clé USB branchée sur un ordinateur du réseau, déclenchant l'infection. La 1ère réaction des prisons fut de dire que ce n'était pas un problème car leur réseau n'est pas relié à Internet, même si en pratique il s'est avéré qu'une grande quantité l'était bel et bien...

Le coût pour réaliser une telle attaque est de $500 pour le matériel + $2000 pour le logiciel (également présent sur Internet...) et finalement le plus difficile fut la recherche de la bonne version du logiciel (parmi environ 80 versions différentes...)

Une excellente conférence !