SSTIC 2021 - J1
Keynote d’ouverture par Stepfano Zanero
La cybersécurité est un cirque, est nous sommes les clowns, les acrobates, les jongleurs. Par exemple lorsque Charly Miller présente un talk sur le car hacking, on se rend compte que les mêmes travaux ont été présenté à Security & Privacy. La différence c’est que pour une conférence de hacking on fait le show, par exemple en impliquant des journalistes.
La « recherche » en sécurité est bien plus importante sur l’offensif que le défensif, car les chercheurs en sécurité sont des hacker dans l’âme. Mais l’ère des hackers sur IRC est finie, et nos travaux impactent le public désormais. Il nous faut donc prendre en compte comment seront perçus nos travaux auprès des médias. Ce talk est une réflexion sur les conséquences de la présentation de nos travaux.
Exemple avec les travaux sur l’ADS-B et le suivi du positionnement des avions. Le protocole n’est pas vraiment vulnérable, et est conçu pour fonctionner en pair à pair. Mais du coup on peut y faire apparaître des informations erronées. Le résultat c’est que perçu par la presse comme un complet échec du protocole, ce qui n’est pas vrai, mais plus sensass. Ceci engendrant la « bullshit asymmetry ».
Pourquoi dans les systèmes « cyber-physiques » c’est bien plus attirant que les systèmes informatiques traditionnels ? C’est probablement parce-que c’est bien plus concret pour les individus en terme d’impact. Du coup les cyberattaques sont classés 2nd dans les menaces pesant sur l’UE après le terrorisme.
Par exemple avec la robotique, l’ensemble des sécurités pour éviter qu’un humain ne soit blessé sont implémentés au niveau du logiciel. Les voitures autonomes sont un challenge pour la confiance des humains envers les ordinateurs. On est tellement habitué à ce que les ordinateurs déconnent, qu’on arrive pas à concevoir qu’ils soient sûrs. Ce qui est faux dans le domaine de l’aéronautique ou des véhicules autonomes. La peur que les gens éprouvent vis à vis des systèmes autonomes vient souvent de la perte de contrôle.
Le nombre de vulnérabilités éliminés ne crée pas de la confiance car la plupart des gens le perçoive comme non-sûr. Ce qui apporte de la sécurité et de la confiance, c’est d’améliorer la résilience structurelle, l’architecture et de réduire l’impact des vulnérabilités par la défense en profondeur.
Analyse de la sécurité des implémentations BLE.
Le Bluetooth Low Energy est une évolution du protocole bluetooth permettant d’économiser la batterie des objets connectés tout en améliorant la sécurité des échanges sans-fil. La pile protocolaire BLE offre plusieurs modes de sécurité, de l’absence de sécurité, à l’établissement d’un canal de sécurité chiffré et authentifié. Les premières versions de BLE étaient très vulnérables et ont été améliorés dans les versions ultérieures. Cependant les méthodes d’appairage « legacy » restent supportés. Comme chaque partie de la pile BLE gère ses propriétés à son niveau, et que chaque couche à son rôle, rendant l’analyse de la sécurité de la pile dans l’ensemble de ses combinaisons très complexe. Exemple avec l’attaque KNOB ou l’attaquant fait baisser par MITM le niveau de sécurité en négociant la plus petite clef possible permettant son bruteforce. L’attaque est possible car les propriétés de sécurité ne se propagent pas bien des couches hautes vers les couches basse.
L’orateur à donc testé diverses combinaisons de propriétés de sécurité rendant l’appairage vulnérable ou non sur les piles BlueZ (Linux) et Fluoride (Android). En mettant en œuvre des configurations particulières l’orateur à découvert une vulnérabilité Android publiés par un autre labo simultanément à ses travaux. Une autre vulnérabilité à été découverte dans la couche GAP donnant lieu à la publication d’un correctif et de la CVE-2021-0129.
InjectaBLE: injection de trafic malveillant dans une connexion BLE.
L’orateur nous refait un petit état de l’art des attaques sur BLE, et des outillages associés. Pour bien comprendre la technique d’injection dans une connexion BLE, l’orateur nous rappelle le fonctionnement de la couche physique Bluetooth. Cette dernière à la particularité de travailler en sauts de fréquence pour éviter les collisions entre plusieurs appareils. La communication se fait donc sur la base d’un motif avec des burst d’échange sur chaque fréquence déterminée par l’algo de calcul des sauts de fréquence. Quand les équipements n’ont rien à dire, ils envoient quand même des paquets vides. Les horloges des équipements BLE ne sont pas très précises, et donc les écarts de temps entre les phases de communication sont ajustés en fonction de ces dernière. L’attaque joue sur les fenêtres temporelles de réception pour s’injecter.
Démo avec une injection d’un faux SMS sur une montre connectée. Une autre en se faisant passer pour un porte-clef connecté déjà appairé. Et la dernière effectue un MITM entre un smartphone et une ampoule connectée.
Un pare-feu pour le HDMI
Non content de causer des problèmes lors des conférences, le HDMI peut aussi poser des problèmes de sécurité lorsqu’on partage un équipement de projection. Les protocoles HDMI dont l’EDID qui gère la résolution, et le CEC. Autre possibilité un KVM HDMI qui peut dès lors servir d’espace de stockage entre deux machines connectés à ce dernier. L’idée est de disposer d’un composant de filtrage en coupure sur le connecteur HDMI de l’écran.
Le TMDS gère l’image et est unidirectionnel, il faut donc le laisser passer, sans mélanger les pistes et en faisant attention au blindage pour éviter l’émission de signaux parasites compromettants.
Le DDC est un bus portant les résolutions via l’EDID, la gestion des DRM HDCP, l’audio, etc… on peut même mettre à jour certains écrans via DDC ! Il faut donc filtrer le DDC, et propager l’EDID pour que le pc connaisse les résolutions disponibles sur l’écran. Dans le HDMI il y a une alimentation 5v qui sert à alimenter l’EDID et à détecter le branchement d’une source.
l’HEAC permet quand à elle de fournir de l’audio et de l’Ethernet sur une paire de cuivre. le MHL permet de connecter du micro-usb avec un HDMI et d’obtenir une interconnexion filaire téléphone/tv. On peut aussi avoir du HDMI over USB-C ou en fait d’un côté on à de l’USB-C et de l’autre de l’HDMI Standard.
Le firewall se présente sous la forme d’un boitier avec les composants et interrupteurs qui vont bien pour gérer les résolutions et la détection d’écran, tout en bloquant les paires supportant des protocoles problématiques. Le schéma est fourni dans les actes, pour le PCB attention au routage des pistes pour éviter les problèmes liés aux hautes fréquences du HDMI.
Hyntrospect: Fuzzing Hyper-V
Hyper-V c’est l’hyperviseur de Microsoft, employé notamment dans le cloud Azure de l’éditeur. L’oratrice à pour objectif de trouver des guest-to-host escape ou une VM hébergées sur l’hyperviseur et plus ou moins compromise exécute du code dans le contexte privilégié de l’Hyperviseur (la privesec de la VM).
La stratégie de fuzzing de l’oratrice se concentre sur le code d’émulation des périphériques, et les mutations sont pilotés par la couverture de code.
Vous avez obtenu un trophée : PS4 jailbreaké
HPE iLO 5 security: Go home cryptoprocessor, you’re drunk!
Le HP ILO permet l’administration à distance d’un serveur sous la forme d’un KVM « intégré » au chassis, cependant c’est un peu plus que ça. En effet de précédentes versions d’ILO permettait d’obtenir un accès DMA sur le serveur. Le mécanisme de mise à jour du firmware des ILO 5 est protégé par des clefs crypto, du coup pour pouvoir ouvrir les firmwares il faut récupérer la clef. Les orateurs ont donc extrait la clefs via une format string over SSH (je résume…). Dans la version 5 le boot à une procédure de chargement sécurisé et chiffré en symétrique. Les orateurs sont donc partis à la recherche de la clef (fort boyard numérique? ). Ils se sont notamment aidé d’une interface JTAG sur la carte mère, mais ce fut un échec. Les orateurs sont donc parti à la chasse d’une vulnérabilité complémentaire pour pouvoir effectuer le debug de leur exploit.