C’est dans le cadre exceptionnel du Siège du Parti Communiste français que la 3ème conférence Hackito Ergo Sum s’ouvre à Paris.
Keynote d’ouverture par Cédric Blancher « Sid »
#HES2012 2012-04-12 11h-12h
La keynote d’ouverture de la conférence rappel les raisons qui nous regroupent à Paris pour ces trois jours. En premier lieu un rappel de ce qu’est la véritable signification du mot hacking et hacker. Un exemple très explicite est donné, Cédric fait des sauts en chute libre et a besoin de fabriquer une attache solide pour sa caméra. L’acte de hacking est le fait de bricoler et de modifier les attaches originales de la caméra pour qu’elles répondent à un autre besoin. Changer la destination et les fonctionnalité d’un objet c’est cela être hacker.
Cela s’applique également à l’informatique où le terme hacker est plus souvent utilisé. Un rappel des différentes pratiques possibles et leurs enjeux est énoncé. Cédric appel à une meilleure communication, une meilleure unité pour gagner en efficacité et en notoriété.Pour lui le hacking est la vraie source de l’innovation et il faut que cela soit un moteur de nos vies et de nos activités. Il préconise aussi de rester à l’écart de la politique, le mélange n’est pas bon. Le hacking est d’intérêt public et nous avons besoin d’apprendre pour nous et nos enfants, il précise que nous avons perdu la capacité d’apprendre par nous même. Essayer, tâtonner, c’est apprendre de ces erreurs.
Revisiting Baseband Attacks par Ralf Philipp Weinmann
#HES2012 2012-04-12 13h30-14h30
Ralf Philipp nous présente le concept des attaques des réseaux cellulaires en se positionnant entre le téléphone cible et l’antenne relais en utilisant un relais gsm contrôlé par l’attaquant. Une vidéo de démonstration est projetée, on y voit un iPhone perdre l’accès à son réseau gsm puis se reconnecter à la nouvelle balise. Un deuxième téléphone appel l’iPhone et ce dernier décroche tout seul.
Les constructeurs de téléphone prennent au sérieux ces problèmes de sécurité mais il reste encore des bugs qui ne sont pas corrigés. Un autre souci c’est la chaine de mise à jour, notamment quand les téléphones sont vendus en OEM où les mises à jour sont proposées que tardivement et où les utilisateurs ne voient pas ou ne sont pas au courant des bénéfices des mises à jours.
Du côté des attaquants, l’accès aux informations des piles des puces Qualcomm permet des modifications des informations par l’accès JTAG. De nombreux téléphones notamment produit en 2010 sont vulnérables. Avec une RIFF box, un boitier d’une valeur de 150$ l’accès JTAG est facile, il est possible de se connecter à un téléphone et de modifier tout le contenu applicatif du téléphone.
Ralf Philipp fait un énoncé des différentes références de puces du marché utilisée ainsi que des nouveautés tendant à se répendre rapidement sur le marché notamment les puces Mediatek pour le support dual sim, les puces Broadcom et ST-Ericsson. Toutes ces puces ont des mémoires APP/BB partagées les rendant vulnérables. Dans son université, Ralf Philipp a pu tester le scénario d’une attaque avec du matériel 3G Siemens à disposition et non utilisé.
Ralf Philipp sortira en mai un livre « iOS Hacker’s Handbook » dans lequel il parle notamment des attaques des baseband, il fournit aussi une image Virtualbox d’OpenBTS préconfigurée pour pouvoir suivre les exemples du livre.
Strange and Radiant Machines in the physical Layer par Travis Goodspeed & Sergey Bratus
#HES2012 14h30-15h30
Les machines sont comme les logiciels ils ont des failles. A l’inverse des logiciels ces failles sont dures à comprendre. Aussi toute découverte doit être documentée même si elle ne sert pas tout de suite. Au moment opportun elle servira dans une étape d’une attaque précise. En documentant toutes les spécificités d’un matériel on en fait son empreinte unique « fingerprint ». Par le modèle OSI, en modificant un paquet, typiquement un bit dans un fichier zip, on change l’onde émise sur un réseau wifi pouvant générer des faux positifs ou des faux négatifs sur l’équipement qui le reçoit. On peut tirer aussi avantage de certains comportement comme le fait que les instructions ont toujours la fréquence d’horloge la plus rapide ou que les mémoires flash ont différentes tolérance de voltage par rapport à la ram ou une rom. Une autre possibilité est de désactiver certaines alimentations dans une puce pour isoler certains comportements.
Le matériel ne peut jamais être patché, si vous pouvez contrôler et accéder à différents composants dans la partie radio d’une borne wifi par exemple, vous avez accés au buffer des informations à transmettre, à un récepteur et à un émetteur. Les vérifications faites par le module sont limitées et concernent le fait de trouver le début et la fin d’un paquet. On peut donc modifier le contenu d’un paquet et le faire transmettre sans restriction.
Autre exemple cette fois-ci de faux positif, les claviers wireless Microsoft avec l’accroche « Kiss your security goodbye ». La communication du clavier lorsqu’une touche est tapée envoie une séquence hexadécimale puis lorsque la touche est relâchée, une séquence de même taille est envoyée avec que des zéros. Le principe de communication est aussi identifiable que les tonalités du téléphone. Travis nous montre un module à deux antennes capable de capter les signaux de ces claviers. Les récepteurs radios ont des longueurs d’adresses arbitraires, le checksum d’un paquet peut être désactivé et le préambule d’un paquet peut être prédit.
Travis nous présente un exemple concret d’attaque des alimentations des puces d’un module. En se construisant un module identique mais avec des rangées de connecteurs pin, il est possible de rapidement désactiver l’alimentation de différents composants internes de la puce Freescale MC13224 en les connectant au neutre. Les cavaliers pouvant être cumulés, on peu désactiver toute ou partie de la puce du module radio.
Plus d’information sur le Packets in Packets Orsen Welles In-Band Signaling Attack for Digital Radios http://packetsinpackets.org/
Hardware backdooring is practical par Jonathan Brossard / Florentin Demetrescu
#HES2012 2012-04-12 15h30-16h30
La présentation commence par un disclaimer expliqué par Jonathan, précisant qu’ils ne dévoileront pas leur concept de backdoor, qu’ils ne sont pas des terroristes, que l’architecture x86 a un passé trop présent, que les gouvernements le savent bien. Une première question est posée, est ce qu’un gouvernement au hasard la Chine ne pourrait pas mettre des backdoor dans tous les nouveaux ordinateurs produits?
N’importe quel fabriquant de composant peut dans la chaine de fabrication d’un module ajouter un backdoor, il faut donc partir du principe que le matériel n’est pas sécurisé. Florentin reprend la parole et nous fait un point sur l’architecture x86 et son héritage trop important des premières versions de l’architecture. A présent une démonstration de coreboot par port série. La carte mère posée à nue sur la table boot et on voit une série de message détaillés du bios grâce au reverse engineering. Un récapitulatif des failles trouvées dans la séquence de boot des bios depuis les années 1980 jusqu’à nos jours.
Jonathan nous fait une démonstration de backdoor d’un windows 2008 server, le but est d’atteindre le backdoor parfait. Il doit être persistant, ne pas être détectable, portable (os indépendant), permettre l’accès à distance et se mettre à jour à distance. Pour cela il va utiliser Rakshasa qui se base sur coreboot, seabios, iPXE et du refactoring payload. Pour cela on flash le bios coreboot et pci roms notamment avec iPXE, on flash les cartes réseaux, on boot un payload sur le réseau qui si il est sur un réseau sans fil va sortir du périmètre du réseau bypassant toute détection IPS / IDS, enfin si nécessaire une mise à jour pourra être appliquée à distance. Enfin il faut paramétrer certains éléments comme le bit NX pour rendre executable les heap et stack. Il faut enlever les mises à jour CPU et l’anti SMM. Pour la communication réseau, on peut utiliser le protocole que l’on souhaite et l’adapter mais pourquoi pas du tcp over dns ou over ntp? La démonstration commence et on voit que l’on peut se loguer sur windows avec n’importe quel mot de passe (ici un windows 7 64bits). D’autres démonstrations ont lieu mais trop vite pour que je puisse ne parler.
A présent on aborde comment concevoir proprement un botnet. Utilisation de https avec cryptage asymétrique, des adresses ip pré configurées qui pourront être mises à jour comme Microsoft le fait pour les mises à jour de sécurité. La totalité des anti virus sont dans les couches hautes du système et protéger entièrem son infrastructure avec cela est utopique. Avec un accès physique et une clef usb programmé pour faire l’ensemble des mises à jour, il ne faut que 3 secondes pour effectuer tous les flash nécessaires. Autant dire qu’un simple reboot anodin que l’on pourrait attribuer à un défaut électrique peut être une tentative de mettre un backdoor. Enfin comment distribuer un backdoor facilement? Proposer sur eBay des cartes réseaux préparée avec le backdoor et vous aurez autant de botnet à votre disposition sous peu. Un hyperviseur comme VMWare peut aussi est compromis par une carte réseau avec backdoor.
Les conseils sont de flasher tout matériel que vous recevez avant de les installer. Faire des vérifications de checksums des firmwares, inclure les mises à jour des firmwares dans votre plan de mise à jour global et protéger l’accès physiques des serveurs. Mais cependant une mise à jour de firmwares à distance est parfois possible, il n’y a donc pas de parade parfaite. La mise à jour à distance peut être scriptée par un iPXE pour envoyer la mac adresse sur un serveur, qui renverra le firmware avec le backdoor le plus adapté après avoir détecté le modèle et le fabriquant.
Cryptographic Function Identification in Obfuscated Binary Programs par Joan Calvet
#HES2012 2012-04-12 16h30-17h30
Ayant eu un petit souci de batterie, j’ai raté le début de l’intervention, aussi je ne ferais pas de retour sur cette intervention. Néanmoins après avoir raccroché le fil, le contenu est très intéressant pour trouver les boucles servant à offusquer le code.
Lockpicking par Walter Belgers
#HES2012 2012-04-12 17h30-18h30
Walter nous fait une présentation des différentes techniques d’ouverture d’une serrure, technique normale avec une clef, technique destructive avec une pince monseigneur ou discrète avec le lockpicking. Une vidéo d’ouverture de porte d’hôtel avec un câble métallique est montrée. Le câble est glissé sous la porte puis remonté pour accrocher la clenche pour ouvrir la porte. Walter présente différents outils, crochets, pompe à air, fils métalliques. Dans les méthodes destructives, on peut plastiquer de façon très ciblée un canon de serrure. Autre méthode, la perceuse qui permet de casser le canon. Walter montre les protections que les constructeurs ont mis en place.
Le lockpicking consiste a ouvrir sans connaître le code ou avoir la clef, laisser la serrure intacte et ne laisser aucune trace de l’action d’ouverture. Walter précise qu’il a les autorisations de faire ces démonstrations avec l’accord de différents constructeurs. Première technique la copie de clef au niveau du profil et au niveau des pics. Autre technique la copie par empreinte et du métal coulé dans le moule. Walter explique avec des schémas animés comment fonctionnent les pistons d’une serrure, les différentes contraintes de forces, de forme.
A présent explication de la technique de base du crochetage, il faut un outil de contrainte et un crochet pour pousser de façon sélective chaque piston. Il faut faire attention à ne pas remonter trop haut le piston sinon la partie basse en contact avec la clef sera coincée en position haute. Il faut aussi composer avec la mauvaise qualité des tubes contenant les pistons qui peuvent avoir des écarts de taille. Dans ce cas il faut utiliser un crochet combiné.
Une autre technique avec les outils de raking qui consiste en un outil en forme de vague, le but est de retirer l’outil rapidement pour créer des vibrations qui avec un peu de chance vont aligner et coincer les différents pistons. Pour les cadenas, une technique simple avec un bout de métal arrondi qui s’insère entre le U et le corps du cadenas.
Les contres mesures consistent à utiliser des matériaux plus résistants, des pistons spéciaux, des certificats pour les clefs, des clefs aux formats originaux comme des profils aléatoires ou empêchant l’insertion des outils de lockpicking. Les pistons peuvent aussi avoir des formes de champignons qui lorsqu’ils sont bloqués en position haute bloquent le canon de la serrure. Il faut donc pouvoir les pousser et les maintenir coincé à la verticale et seul la clef peut permettre cela. Mais il est possible avec un peu d’habitude de relâcher la tension sur le canon pour repousser le piston en forme de champignon. Les pistons en forme de champignon ne sont que très rarement présent sur tous les pistons, seulement un ou deux pistons ont cette forme. D’autres canons ont des doubles cylindres où il faut aligner la partie extérieure et la partie intérieure, rien d’impossible mais il faut un peu plus de temps.
Autre outil le gun pick qui génère des vibrations aux pistions inférieurs qui ne bougent pas et renvoie l’énergie aux parties supérieures qui alors vont s’aligner correctement. Une autre technique consiste à faire du bumping en utilisant une clef avec le bon profil mais avec les pics les plus bas possibles. Cela consiste à faire comme le gun pick. On frame la clef qui renvoie l’énergie dans les pistons. La protection pour les bump key consiste à éviter que certains pistons de la serrure ne descendent jusqu’en bas, ne touchant pas la clef ils n’ont pas de vibrations à transmettre.
Pour les serrures à protection magnétique, Walter a fabriqué un outil électronique qui mesure la combinaison magnétique nécessaire pour ouvrir la serrure, il suffit de faire une clef avec la même combinaison par la suite. Walter revient sur les révélations des serrures de sécurité gouvernementale avec code électronique qui ont été montrées comme faillible à la dernière DefCon.
On peut aussi deviner les crans d’une clef en partant d’une clef vierge et en exerçant une pression verticale successive les pistons qui ne sont pas bien alignés vont faire des marques dans la clef, il suffit de les poncer jusqu’à ce qu’il n’y ait plus de marques. Une variante consiste pour les clefs à marques rondes à les recouvrir d’aluminium qui va s’écraser sous la pression des pistons, il faut exercer une force assez élevée, par la suite la copie de la clef est totalement fonctionnelle.