CCCamp 2015

Cette année se déroulait à Mildenberg en Allemagne le troisième "Chaos Communication Camp" organisé par le Chaos Computer Club de Berlin (CCC). Il s'agit d'un des plus grands rassemblements en Europe de hackers et bidouilleurs qui campent sur le terrain d'une ancienne usine de briques, auquel certains membres de Sysdream ont participé (moi-même, et Julien).

Jour 0

Le jour zéro est dans le langage du CCC le jour où l'on se doit d'arriver pour pouvoir profiter pleinement de l'évènement. Après deux heures de vol, je retrouve Julien à Berlin afin de nous rendre en voiture au Ziegeleipark de Mildenberg, à 80 kilomètres au nord de Berlin, pas loin de la frontière polonaise.

Après une heure de route, nous arrivons sur place. L'endroit fourmille déjà de monde, tandis que des navettes déversent des flots de bidouilleurs venus en train. L'endroit est tout simplement immense, et les installations industrielles lui confèrent un charme particulier, proche de la mouvance Steampunk. Cependant, trouver une place pour poser nos tentes n'a pas été simple: il y a de nombreux "villages" installés mais l'espace restant peut être réservé à des villages qui ne sont pas encore arrivés, ou à des groupes de personnes affiliés à ces villages. La recherche d'un espace libre se résume à cette phrase d'un Angel (bénévole): "Si vous trouvez un grand espace, il est certainement réservé par un village; cherchez un espace convenant exactement aux dimensions des tentes et demandez à vos voisins si vous pouvez l'occuper".

Notre spot à côté de Milliways

Les villages sont généralement composés d'une ou de plusieurs grands chapiteaux, entourés de tentes et généralement annoncé par de grands panneaux. On retrouve ainsi des "ambassades" de différents pays, comme la "French Embassy" où l'Electrolab de Nanterre a placé ses tentes et son chapiteau, mais aussi des groupes renommés: le CCC München, Milliways, ou encore La Quadrature du Net. Le tout éclairé, animé, et très vivant, ouvert aux questions et au partage.

Village au CCCamp

Nous trouvons un espace pour poser nos tentes à côté de Milliways, le dernier restaurant au fin fond de l'Univers, qui nous a par ailleurs bien restauré durant ces quelques jours. Nous sommes dans la place.

Nous récupérons vers 22h00 notre badge électronique, qui se révèle être une adaptation du HackRF par le CCC München, originellement créé par Michael Ossmann. Le HackRF est un matériel permettant de faire du Software Defined Radio (SDR), c'est à dire d'émettre et de recevoir sur des ondes à partir d'un ordinateur possédant un logiciel compatible.

Jour 1

C'est le grand jour, l'ouverture du 3ème Chaos Communication Camp. Nous prenons une douche tiède et un rapide petit déjeuner, et partons en exploration. Le camp se révèle être un vrai dédale d'allées, de rails et de tentes, dans lequel il faut retrouver son chemin.

La première conférence à laquelle nous avons assisté traitait d'un réseau de stations d'écoute de satellites opensource, SatNOGS, qui a remporté le prix Hackaday 2014. L'orateur, John Giannelos, a ainsi abordé l'écoute satellitaire et présenté des moyens de réaliser ces écoutes de manière simple et avec des outils ouverts.

SatNOGS - Satellite Network Opensource Ground Stations

Les communications satellitaires sont pour la plupart non-chiffrées, et il peut être intéressant du point de vue de la collecte de donnée mais aussi de la confidentialité. L'équipement requis pour "écouter" les satellites coûte beaucoup d'argent, c'est pourquoi SatNOGS est en train de déployer un réseau distribué de réception et de traitement de signaux satellitaires, basé sur un ensemble de stations terrestres réparties sur le globe.

Certains satellites en orbite basse ont une période de rotation relativement courte, et donc une fenêtre d'écoute tout aussi courte (15 minutes environ). Le fait de disposer de plusieurs stations au sol permettant de "tracker" les satellites peu importe leur position et de les écouter de manière plus ou moins continue est un avantage non-négligeable pour celui intéressé par les données que ceux-ci transmettent sur Terre.

SatNOGS a donc tout refait "from scratch", des antennes aux systèmes de tracking, en essayant au maximum de rendre le tout modulaire. Et Opensource, cela va de soi. Ainsi, en se basant essentiellement sur du code Python, ils fournissent toute la couche logicielle permettant de communiquer avec les systèmes d'asservissement commerciaux et de traiter les signaux reçus. En plus de cela, ils ont conçu leur propre système de pilotage d'antenne, basé sur de l'impression 3D et compatible avec les protocoles de pilotage commerciaux. Enfin, la mise en place d'une application web dédiée permet de centraliser l'ensemble des stations d'écoute et des captures effectuées, les utilisateurs pouvant planifier leurs captures selon les fenêtres d'écoute disponibles.

Côté matériel, la station au sol repose sur un BeagleBone Black ou un Odroid, ainsi que sur l'utilisation intensive de RTL-SDR (via un décodeur TV utilisant un chipset RTL2832). La station effectue la démodulation et fournit le sample audio au format Ogg Vorbis.

Si le réseau devient mature, car il en est encore à ses débuts, il devrait permettre de pouvoir faire des captures de données transmises par la plupart des satellites, et à terme du traitement automatisé. Toutefois, les stations au sol ne font que de la réception de données, il n'est pas question de réaliser de l'émission et ainsi de permettre une communication bi-directionnelle entre les utilisateurs au sol et les satellites.

Nous avons ensuite assisté à la conférence de Noah Swartz de l'Electronic Frontier Fondation sur l'extension Privacy Badger.

Privacy Badger

Le tracking des navigateurs web est une pratique répandue visant à collecter de l'information concernant les navigateurs, et plus particulièrement les utilisateurs via des méthodes permettant de les identifier de manière unique.

Cette collecte ne se fait pas sans mal: bon nombre de données des utilisateurs sont transmises à des parties tierces, et aucune assurance n'est fournie quant à leur utilisation: celles-ci peuvent être stocké sans limite de temps, sans chiffrement, et passablement transmises à des autorités tierces sans accord de l'utilisateur, exposant de fait des éléments de sa vie privée.

Privacy Badger est un outil développé par l'EFF visant à permettre le contrôle des trackers, mais aussi à faire respecter les politiques de non-tracking (DNT) par les fournisseurs de service. Ce n'est malheureusement qu'un jalon de plus dans ce long chemin qu'est la protection de la vie privée sur Intetornet, mais il est très louable.

Enfin, nous avons assisté à la présentation du badge électronique de cette édition 2015 du Chaos Communication Camp, par l'équipe du CCC München.

The Rad1o badge

Rad1o Badge

Durant cette présentation, l'équipe a présenté le badge: son origine, son procédé de fabrication, et aussi les erreurs qu'ils ont fait durant les phases de conception et de réalisation.

Le badge électronique est dérivé du HackRF imaginé et créé par Michael Ossmann, qui est totalement opensource. Ils ont ajouté à celui-ci un écran et un joystick identiques au badge électronique du précédent CCCamp, ainsi qu'une forme de radio.

Michael Ossmann a alors fait une apparition sur scène, précisant que son souhait le plus cher lors de la création du HackRF était qu'une centaine de hackers puissent s'en servir, le bidouiller, et l'améliorer. Son souhait aura été exhaucé durant ce Chaos Communication Camp: plusieurs applications ont été développées (dont une par nos soins, le Telegraf :) et des améliorations matérielles ont aussi été apportées.

Enfin, l'équipe a démontré quelques usages que l'on pouvait faire de cet outil qu'est le HackRF (enfin, le rad1o).

Il est aussi à noter que suite à la distribution de ces badges, des incidents techniques de micros HF ont pu être recensés, certainement dûs à des perturbations involontaires.

Jour 2

La matinée a été consacrée à la préparation de ma présentation "Keys ? Where we are going, we don't need keys", au programme: test des démonstrations live, ajustement des slides et répétition.

Keys ? Where we're going, we don't need keys.

Cette présentation n'a pas été enregistrée, ni diffusée en direct. Durant celle-ci, je démontrais les faiblesses de conception et d'implémentation de serrures connectées, et les challenges dans les années à venir en ce qui concerne la sécurité des biens au travers des objets connectés. Et il y a encore beaucoup à faire.

En effet, la dématérialisation des clefs rend aisé leur vol voire même leur interception, malgré le fait que bon nombre de constructeurs intègrent un système de clefs à usage unique. Nous avons identifié plusieurs vulnérabilités dans une serrure connectée, permettant de rejouer ce type de clefs numériques et d'ouvrir ou de fermer une serrure connectée sans y être normalement autorisé. L'implémentation de la cryptographie (même lorsqu'il s'agit d'AES, tel que mis en avant par le fabricant) est quelque fois mal réalisée et peut aboutir à ce genre d'attaques.

De même, beaucoup d'entre elles fournissent un journal des ouvertures et fermetures, rarement authentifié, permettant en quelques secondes de récupérer l'intégralité des dates et heures d'ouverture et de fermeture. Pratique pour déterminer l'agenda d'une personne, ou encore savoir quand une maison est inoccupée !

De plus, j'ai publié en parallèle de cette présentation un ensemble de classes Python permettant de traiter les fichiers de captures, réalisés par les outils fournis avec le donlge Bluefruit d'Adafruit, avec Scapy sur Github.

La présentation s'est bien déroulée, si ce n'est un problème au niveau de l'interception des communications Bluetooth Low Energy, principalement dues à des perturbations radio (2,4 GHz, encore une fois). J'ai cependant pu montrer une vidéo retraçant l'attaque et démontrer la vulnérabilité du système.

Puis nous avons assisté à la conférence de hunz, "Pushing the limits of DIY electronics".

Pushing the limits of DIY electronics

Hunz est un hacker qui touche à l'électronique et a décidé un jour de réaliser sa propre carte FPGA. Seulement les technologies ont évolué entre l'époque où tous les composants étaient "traversant" et pouvaient être soudés sur un circuit imprimé standard, et aujourd'hui. La miniaturisation aidant, les circuits sont de plus en plus petits et condensés, et les composants de taille très réduites. Il faut user de nouveaux outils et techniques pour arriver à souder ces composants dernière génération, notamment ceux qui ont des contacts "billes" de très petite taille.

En effet, ces contacts se trouvent sous le composant, et aucun fer à souder ne peut souder ceux-ci. La solution ? Passer par un four à refusion, qui coûte relativement cher. Ou alors construire son propre four et l'asservir à l'aide d'arduino, comme l'a fait l'orateur.

Et hunz de dévoiler ses conseils afin de réaliser des cartes professionnelles avec du matériel amateur, à base de récupération ou d'adaptation, dans la grande tradition du hacking. Il a aussi développé un ensemble d'outils opensource afin de réaliser des tâches complexes, comme par exemple la conception de pistes à destination de composants à transfert ultra-rapide, comme la RAM ou les microprocesseurs.

Cette conférence était relativement technique et ouvertement orienté électronique DIY (Do It Yourself), mais dans le monde de l'IoT qui se profile ces compétences seront plus que nécessaires.

Jour 3

Nous avons débuté cette journée par une présentation sur les "battlebots", des robots de combat construits par des passionnés, et qui s'affrontent en grande partie aux Etats-Unis et au Royaume-Uni. L'orateur, Pinski1, a ainsi montré la conception de son propre robot, tout en évoquant les choix stratégiques effectués: choix des armes, de l'armure, caractéristiques techniques et l'impact de ceux-ci sur le prix de revient.

Aucun rapport avec la sécurité informatique, mais c'est cela aussi le Chaos Communication Camp: s'ouvrir à de nouveaux horizons.

Iridium Hacking

Enfin, des membres du Chaos Computer Club de Munich (Sec et Schneider) ont présenté le système Iridium, ses satellites et comment ils ont réussi à recevoir les messages transmis sur le globe à partir d'un équipement rudimentaire à base de Software Defined Radio.

Ils ont par ailleurs démontré que la plupart des communications sur ce système, et en particulier le système de messagerie textuelle, n'étaient pas chiffrés et pouvaient être interceptés par quiconque disposant d'un récepteur adéquat et d'une antenne correcte (ils ont d'ailleurs montré une bidouille permettant de transformer une antenne GPS en antenne de réception pour Iridium).

Au final, l'encodage des messages n'est pas forcément trivial mais une fois celui-ci identifié, l'extraction de contenu peut être aisément réalisé.

Nous avons achevé ce troisième jour de Chaos Communication Camp en développant un émetteur/récepteur Morse pour le rad1o, qui a par ailleurs été intégré dans la branche principale du projet.

Superbe édition 2015

Le Chaos Communication Camp 2015 était tout simplement énorme, et plein de bonnes surprises: le badge rad1o, les présentations sur la sécurité (mais pas que) très intéressantes, et surtout tout plein de passionnés de bidouille et de sécurité informatique !

Un grand merci (encore) à Mc.Fly et Milliways ainsi qu'à l'Italian Embassy pour les excellents repas qu'ils ont concocté, et à tout le staff du CCC pour l'énorme boulot d'organisation ainsi que la qualité des talks.

On y retourne en 2019, promis.