L’analyse du SSTIC 0x10 par nos experts cybersécurité

2 Juil 2018
Marc Lebrun, David Carnot et Charly R
874
0

L’équipe Pentest de Digitemis était présente cette année à la 16ème édition du SSTIC. Une édition assez inédite, celle-ci se déroulant toujours à Rennes mais pour la première fois au Couvent des Jacobins. Elle accueillait également 800 personnes au lieu de 500 lors de l’édition précédente.
Au programme : des présentations invités, notamment celle de Patrick Pailloux (Directeur Technique de la DGSE), des présentations souvent techniques, des rumps et un social event réussi.

Wrap-up jour 1

La présentation d’ouverture était animée par Halvar Flake, qui a donné un retour d’expérience sur 10 ans de reverse-engineering. Il est notamment revenu sur les évolutions au sein de la communauté avec un regard assez critique sur l’hétérogénéité des outils et la tentation de toujours créer un script jetable permettant la preuve de concept. Le parallèle avec la communauté des CERT et SOC, qui a réussi à développer des standards de facto pour les échanges d’IOC par exemple, n’est pas flatteur. Ces observations se sont par ailleurs avérées redoutablement pertinentes au regard des présentations portant sur le reverse-engineering lors de cette édition du SSTIC…

La première présentation technique, menée conjointement par des chercheurs d’Airbus et Synacktiv, était très attendue par nos consultants qui rencontrent souvent des équipements reposant sur le BMC HPE iLO. Ces puces intégrées sont en effet un système sous le système de ces serveurs et sa compromission permet à un attaquant de réaliser de nombreuses actions malveillantes. Ces travaux de recherche commencent par la découverte d’une faille triviale dans le service Web embarqué par HPE iLO4 permettant de disposer d’un accès administratif sur ce service. Les chercheurs ont alors commencé un long travail d’étude et de reverse-engineering du système intégré et ont développé une suite d’outils permettant de prendre le contrôle du système invité depuis ce chipset de contrôle.

La matinée s’est terminée par une présentation d’experts sécurité de la CNAM-TS, qui ont décrit l’initiative Certificate Transparency et comment elle s’intègre dans leur processus de veille quotidien. Ces opérations sont réalisées par nos équipes avec une approche offensive lors de tests d’intrusion, à des fins de reconnaissance, mais leur exploitation par la « Blue Team » permet également de détecter par anticipation des campagnes de phishing ou d’intrusion.

Les conférences de l’après-midi suivaient quant à elles un fil rouge sur le thème des objets connectés. Ainsi l’équipe d’Acceis a présenté ses recherches sur une puce WiFi largement utilisée par l’IoT. Trois vulnérabilités ont été identifiées et un outil preuve de concept publié. Damien Cauquil a quant à lui présenté sa méthodologie d’audit d’objets connectés avec des exemples concrets sur une serrure connectée. La présentation balayait tout le spectre de l’audit, depuis l’identification des composants à l’exploitation du protocole Bluetooth Low Energy. Enfin, la dernière présentation courte de la journée était animée par l’équipe Quarkslab avec un retour d’expérience sur les attaques réalisées sur mémoires flash embarquées.

À noter également, la présentation d‘un concept d’Escape room de sensibilisation à la sécurité. Approche novatrice de la sensibilisation, qui présente l’intérêt de faire vivre des situations à risques aux participants, tout en gardant une approche ludique.

Wrap-up jour 2

Cette deuxième journée au SSTIC a débuté par deux conférences orientées environnement virtuel.

La première, après une rapide présentation des différentes fonctions de sécurité implémentées dans l’environnement Docker, se proposait d’apporter une méthodologie permettant d’évaluer simplement tous les aspects liés à la sécurité du produit.

La seconde exposait d’une manière plus globale les différents mécanismes de sécurité afin d’assurer à un client la sécurité de ses données, principalement en termes d’intégrité et confidentialité dans l’objectif de répondre à la problématique de leur contrôle dans le Cloud.

Il s’en est suivi plusieurs présentations d’outils, permettant notamment de tester la sécurité des systèmes télécoms et cellulaires en proposant un compilateur ASN.1 en python. Un second outil principalement à destination des SOC puisqu’il s’agissait d‘un outil de centralisation et de gestion de sondes IDS.

Enfin le troisième outil, développé par le laboratoire de rétro-ingénierie de DGA-MI, permet de faciliter l’étude de binaire en identifiant des fonctions ayant déjà fait l’objet d’une analyse via l’outil IDA, et ce qu’importe l’architecture utilisé (ARM, x86, 32bit, 64bit, …).

L’après-midi de cette deuxième journée a principalement été l’occasion de présenter le résultat du challenge SSTIC par le gagnant qualité de cette année, à savoir Nicolas Iooss. Ce qu’il fallait retenir de ce challenge : « De la crypto, pleeeeeeeein de crypto ».

Les traditionnelles RUMPS du STTIC, des courtes présentations de 4min maximum traitant de divers thèmes autour de la sécurité sont venues clôturer cette deuxième journée, avant de laisser place au tant attendu Social Event. Au total, pas loin d’une vingtaine de RUMPS. Parmi celle que nous retiendrons, celle de Thibaud Binétruy nous plongeant dans l’univers d’une Blue Team (à l’instar des équipes Red Team) avec une présentation des fails opérés par les équipes Red Team.

Wrap-up jour 3

Pour cette troisième journée du SSTIC, les cinq conférences suivantes ont particulièrement attiré notre attention.

Starve for Erlang cookie to gain remote code exec :

Cette présentation préparée par G. Tessier, G. Kaim et O. Vivolo porte sur le langage de programmation Erlang (Erickson Language) et son environnement d’exécution. Ce langage est toujours utilisé dans des systèmes gérant des équipements réseau et dans les cœurs de réseau télécom. Les chercheurs se sont concentrés sur deux projets (RabbitMQ et ejabberd) utilisant une VM Erlang dans leurs configurations par défaut.

Leurs travaux se concentrent sur le vol et la prédictibilité d’un cookie composé de 20 lettres majuscules. Ce cookie permet de se connecter et d’exécuter des commandes sur les différentes machines d’un environnement Erlang. Il en ressort que le mécanisme de génération de ce cookie n’est pas aléatoire et dépend fortement du temps de lancement de la VM Erlang, ce qui réduit fortement les valeurs possibles pour ce cookie (2 puissance 26 possibilités). Les chercheurs montrent qu’un bruteforce de ce cookie est réalisable en environ 1m30.

Leurs outils sont disponibles sur Github.

HACL* : une bibliothèque de cryptographie formellement vérifiée dans Firefox :

L’équipe Prosecco de l’INRIA Paris nous a présenté leur bibliothèque cryptographique HACL*. Les primitives de cette bibliothèque sont formellement vérifiées en se basant sur les RFC grâce à l’utilisation du langage F*. Pour de bonnes performances, le code F* prouvé formellement est transformé en code C.

Les performances de leur bibliothèque sont sensiblement meilleures que les implémentations de référence (comme OpenSSL). Ces performances sont obtenues grâce à l’utilisation de primitives cryptographiques contemporaines, prouvées formellement et absentes des autres bibliothèques cryptographiques de référence.
Leur bibliothèque a été intégrée dans Firefox depuis la version 57.

WireGuard ­– Next Generation Secure Network Tunnel :

Jason Donenfeld nous a présenté son protocole VPN nouvelle génération WireGuard. Ce projet part du constat que les solutions actuelles comme OpenVPN et IPSec sont extrêmement complexes, offrent de grandes surfaces d’attaques et utilisent des principes cryptographiques des années 90. Pour des raisons de performance, WireGuard est implémenté dans le noyau Linux et fait moins de 4000 lignes de code, ce qui le rend auditable.

La conférence présente les problèmes et les attaques existants sur les VPN populaires et quels sont les mécanismes implémentés par WireGuard pour atténuer ces attaques.

Ce projet a grandement attiré notre attention et nous le testerons prochainement. Attention tout de même, il est encore au stade expérimental.

Ça sent le SAPin ! :

Cette conférence présentée par Yvan Genuer est un retour d’expérience sur deux vulnérabilités trouvées dans le module IGS (Internet Graphic Server) d’un système SAP.

Ce module a 15 ans d’existence et jamais aucune vulnérabilité n’a été publiée, c’est certainement que « jamais personne n’a regardé » nous dit Yvan Genuer.

Ces deux vulnérabilités reposent sur la fonction « ADM:INSTALL » listée dans les binaires du service, mais non documentée. Les chercheurs participant à l’étude ont découvert un déni de service et un téléversement de fichier arbitraire. Ces deux vulnérabilités sont réalisables à distance et sans être authentifié.

Enfin, les échanges avec Yvan Genuer à l’issue de la conférence ont révélé que SAP collabore volontiers avec les chercheurs en sécurité « qui montrent patte blanche » sur leurs produits.

Conférence de clôture par le directeur technique de la DGSE :

Deux problématiques actuelles du fonctionnement de la DGSE sont ressorties de la conférence de Patrick Pailloux.

Premièrement, la DGSE a des difficultés à recruter des experts en sécurité des systèmes d’information. Ceci explique sa présence au SSTIC et à d’autres conférences ces dernières années. Une des raisons mentionnées pendant les échanges en fin de conférence est la rémunération des agents de la DGSE qui est inférieure à celle proposée dans le secteur privé.

Deuxièmement, pour des raisons de performance du service, le travail collaboratif est aujourd’hui fortement encouragé. Cette pratique rentre en conflit avec la culture du secret propre à cet organisme, mais est une nécessité pour rester compétitif.