SSTIC 2013 : résumé des conférences

Technologies de Sécurité
SSTIC 2013 : résumé des conférences

Voilà, le SSTIC 2013… c’est terminé. Pour ceux qui n’ont pas eu la chance de participer au dernier Symposium sur la sécurité des technologies de l’information et des communications, voici un résumé des conférences.

Innovation en cryptographie symétrique

Joan Daemen (STMicroelectronics) [slides]

Pour cette conférence d’ouverture, le cryptologue Joan Daemen nous a fait l’honneur de sa présence. Après un bref historique de la cryptographie symétrique (et plus particulièrement de l’algorithme DES), il nous a d’abord présenté AES, algorithme dont il est le co-concepteur. Il a également exposé les critiques faites à cet algorithme, notamment en raison de sa trop grande simplicité, et parfois illustrées par de fausses annonces de l’obsolescence de ce dernier.

Joan a ensuite présenté l’algorithme de hash KECCAK (renommé SHA‑3 et destiné à remplacer SHA‑2), retenu lors du « NIST hash function competition ».

En bref, une conférence fort intéressante qui présente le temps d’une petite heure les contraintes des chercheurs qui travaillent à l’élaboration d’algorithmes robustes.

Mise à plat de graphes de flot de contrôle et exécution symbolique

Eloi Vanderbeken (OPPIDA) [article|slides]

Après un focus sur les techniques de brouillage de code (haut et bas niveau), Eloi Vanderbeken nous a exposé différentes solutions de « débrouillage » statique et dynamique avec suivi d'exécution ou suivi de données. La conférence s’est terminée par une présentation de l’outil qu’il a développé. Plus exactement, un script écrit en python pour IDA - avec comme objectif une reconstruction de CFG (Control Flow Graph) sur son propre binaire « brouillé »…

On peut regretter le manque de détails techniques présentés, vraisemblablement lié au temps restreint. On aimerait en savoir plus, même si de l’aveu même de l’auteur, les résultats de son outil sont encore très imparfaits.

Polyglottes binaires et implications

Ange Albertini[article|slides]

Ange Albertini nous présente ici les résultats de sa recherche sur les formats de fichiers binaires dits « polyglottes ».

Il part du constat suivant : pour identifier un malware, la première étape mise en œuvre par les solutions de sécurité consiste à détecter le type de données considérées. Problème : certains binaires peuvent correspondre à plusieurs types de fichiers très différents et engendrer une grande confusion pour l’outil qui les analyse. C’est ce qu’il appelle des fichiers polyglottes.

Ange Albertini a passé du temps à créer de tels fichiers. Il montre par exemple comment un entête PE peut être compris comme un fichier PDF valide, tout en contenant du HTML interprété par un navigateur. Plutôt pratique pour contourner les signatures antivirus, qui basent leur analyse uniquement sur l’entête PE dans ce cas de figure.

Dans un second temps, il montre également comment un même format (ici le format PDF) peut être compris très différemment par plusieurs logiciels (Sumatra, Adobe Reader, Chrome). On rit un peu jaune…

Ange Albertini émet enfin plusieurs propositions pour pallier ces problèmes : analyse plus fine des extensions, isolation des fichiers téléchargés ou meilleur contrôle effectué en amont par les systèmes d’exploitation…

Globalement une présentation très intéressante qui permet encore une fois de démontrer les lacunes de nos chères solutions de sécurité.

Recompilation dynamique de code binaire hostile

Sébastien Josse [article]

Disposer d’un outil d’automatisation d’extraction d’information de malwares avec toutes les techniques possibles, tel est le souhait de l’orateur. Après nous avoir exposé les problématiques des outils existants qui sont souvent inappropriés et incomplets, Sébastien Josse présente son outil –dénommé VxStripper. Celui-ci est basé sur QEMU et LLVM et affiche, selon l’orateur, des résultats encourageants.

Parsifal ou comment écrire rapidement des parsers robustes et efficaces

Olivier Levillain (ANSSI) [slides]

Après une brève présentation des outils d’analyse existants (Wireshark, Scapy, Hachoir), essentiellement limités à la partie réseau, lents ou peu extensibles, Olivier Levillain nous expose sa problématique : analyser 140 Go de données brutes.

C’est pour tenter d’apporter une réponse générique et efficace à ce type de problème qu’il a créé Parsifal (un outil écrit en Ocaml), qui permet l’analyse de gros volumes de données tout en s’appuyant sur une syntaxe légère.

Le programme est disponible à  l’adresse suivante : https://github.com/ANSSI-FR/parsifal

Nftables, bien plus que le :%s/ip/nf/g

Eric Leblond (Netfilter Coreteam) [slides]

Après une présentation l’année précédente sur l’utilisation malveillante des suivis de connexions, Eric Leblond revient cette année pour nous présenter le remplaçant d’iptables.

Au programme : un nouveau langage et une réponse aux principaux reproches faits à netfilter (problèmes de performances avec un jeu de règles important, gestion des ensembles, parsing de certains champs).

La migration va être progressive, avec une disponibilité prévue pour fin 2013.

Compromission d'un terminal sécurisé via l'interface carte à puce

Guillaume Vinet (Serma Technologie) [article|slides]

De plus en plus de logiciels utilisent la sécurité par carte à puce avec un simple lecteur branché par USB sur un PC. Le problème, c’est qu’en cas de compromission du PC, la sécurité du lecteur n’est plus assurée. Un terminal sécurisé permet de se prémunir contre ce type d’attaque dans la mesure où le code PIN ne transite plus sur le PC.

Guillaume Vinet s’est penché sur la sécurité de ces terminaux, envisageant différents scénarios (attaques contre l’interface carte à puce, développement d’un émulateur à base d’Arduino, ou attaques contre le protocole ISO 7816-3). Quatre vulnérabilités ont été découvertes sur trois terminaux (sur 5 testés). La conférence s’est conclue par une présentation en live d’une attaque de terminal sécurisé.

Attaques applicatives via périphériques USB modifiés : infection virale et fuites d'informations

Benoit Badrignans (Seclab FR) [article|slides]

Cette conférence forte intéressante s’est concentrée sur des attaques possibles avec un périphérique USB modifié. Des scénarios d’attaques, tels que l’écriture sur une clé montée en lecture seule (changement du descripteur USB et récupération du fichier sur le poste) ou encore l’appel à une image vérolée sur une clé après « X » branchements sont abordés.

Après nous avoir précisé que ce type d’équipement reste très simple à créer et qu’il serait même possible d’utiliser à cet effet un téléphone modifié, Benoit Badrignans a conclu en détaillant quelques contre-mesures envisageables.

Red October

Nicolas Brulez (Kaspersky) [slides]

Nicolas Brulez a choisi cette année de nous présenter les résultats de ses recherches portant sur l’attaque dénommée « Red October », découverte en octobre 2012 par Kaspersky et qui a fortement fait parler d’elle à travers les médias. Lancée en mai 2007, Red October est une campagne mondiale de cyber espionnage ayant pour but de recueillir des renseignements sur de nombreux services diplomatiques (39 pays, mais l’attaque cible principalement la Suisse, le Kazakhstan et la Grèce).

Nicolas Brulez nous a entre autre appris que les informations recueillies ont été utilisées pour s’introduire sur différents systèmes, et que plus de 60 noms de domaines ont été créés par les attaquants. L’attaque s’est déroulée en deux étapes : tout d’abord l’envoi aux victimes d’un email ciblé de type « spear phishing » avec un document piégé exploitant uniquement des vulnérabilités déjà connues. Lors de cette première étape, une porte dérobée est déployée sur le système. C’est par le biais de cette porte dérobée que la seconde étape a lieu, lors de laquelle différents modules additionnels sont téléchargés et installés.

L'embarqué entre confiance et défiance

Aurélien Francillon (Eurecom) [slides]

Les systèmes embarqués sont la plupart du temps des « boîtes noires », souvent sans interface utilisateur, avec des OS inconnus ou du code assembleur que l’on ne maîtrise pas. La question est donc claire : « Est-ce que l’on peut faire confiance à ces équipements ?»

Après avoir passé en revue la gestion de la mémoire sur une architecture Harvard et le fonctionnement du ROP (Return Oriented Programming), Aurélien Francillon nous a présenté différents systèmes : le système embarqué du « HTC G1 » (découverte d’un certificat gouvernemental pour la reprogrammation du baseband), un disque dur avec la modification de son firmware (dépôt de back door) ou encore l’amplification d’un signal de clé sans fil de voiture.

Celui-ci a clôturé son propos par le fait que la mise en place d’un niveau de sécurité décent sur ces « boîtes noires » n’est pas pour demain et qu’il est nécessaire de rester curieux et de se poser les bonnes questions. Notons que ne pas connaître le fonctionnement de ces fameuses boîtes ne signifie pas pour autant que les attaques ne sont pas possibles.

UEFI Bootkit

Sebastien Kaczmarek (quarkslab) / Pierre Chifflier [article|slides]

En ce début de matinée, nous voici plongés dans l’univers de l’UEFI, le remplaçant du BIOS considéré depuis plusieurs années comme obsolète et présent sur les nouveaux ordinateurs depuis quelques temps. L’UEFI est un environnement très complet, qui est maintenant plus proche de la définition d’un OS – avec par exemple la présence de pilotes spécifiques (TCP/IP, VGA,…) développés « from scratch » en C. On y trouve également un interpréteur python, un shell UEFI ainsi qu’un serveur Web. Avec UEFI, la séquence de boot à laquelle nous étions habitués a également fortement changé (fini les 512 premiers octets avec le MBR J).

Après cette introduction, Sébastien Kaczmarek nous a présenté un bootkit expérimental créé pour Windows 8 x64 et ayant pour but de corrompre les différentes phases de démarrage et, entre autre, de contourner l’authentification locale en désactivant certaines mesures de sécurité (bit NX et PatchGuard). Le PoC peut être téléchargé à l’adresse suivante : http://github.com/quarkslab/dreamboot.

Enfin, Pierre Chifflier a réalisé devant nous une élévation de privilèges, en utilisant une carte graphique (avec une modification de l’expansion ROM, accessible théoriquement en lecture seule).

En bref, une conférence enrichissante et qui en dit long sur les attaques à venir pour ce type de solution.

Programmation d'un noyau sécurisé en Ada

Arnauld Michelizza (ANSSI) [article|slides]

Pourquoi développer un noyau sécurisé en Ada ? C’est la question à laquelle Arnaud Michelizza a tenté de répondre au cours de cette présentation. Le but est ici de créer un noyau sans vulnérabilités par le biais du langage de programmation ADA, ce dernier garantissant l'absence de débordement (80% des bugs « classiques » évités). Précisons que ce langage est principalement utilisé dans l'aviation, l'aérospatiale et le ferroviaire.

Arnaud Michelizza souhaiterait développer l’utilisation de ce type de noyau,  éventuellement sur des systèmes légers tels qu’un hyperviseur ou un firmware. Il termine sa présentation avec un PoC (environ 11.000 lignes de code et 400 en assembleur).

La couleur du Net

Laurent Chemla [slides non disponibles]

La censure de l’internet ? Voici un sujet complexe sur lequel Laurent Chemla a argumenté durant 45 minutes. Et les premiers mots répétés à plusieurs reprises furent : « Je vous ai menti pendant plusieurs années, oui la censure est nécessaire ». Les raisons de censurer l’internet sont en effet nombreuses, telles que la pédophilie, l’atteinte au droit d’auteur, …

Après une longue introduction avec divers exemples d’actualité à la clé tels que Free et le problème de publicité, nous avons malheureusement atteint la fin du temps de présentation réglementaire, dommage… La conclusion ne viendra que lors de la séance de question/réponse : Il est nécessaire de surveiller ses surveillants.

Hack Android / Samsung A l'attaque du noyau

Etienne Comet (LEXFO) [slides]

Après une brève introduction sur la sécurité des smartphones, l’orateur a partagé avec nous la découverte de deux bugs sur un firmware constructeur lui permettant de prendre le contrôle du téléphone. Ce type de firmware dispose en effet d’ajout de fonctionnalités et de modifications sur le noyau qui le rend plus vulnérable.

Compromission d'un environnement VoIP Cisco

Fran Cisco (LEXFO) [slides]

Une courte présentation lors de laquelle sont présentées 6 vulnérabilités dans le call Manager de Cisco. En combinant l’ensemble des problèmes, on obtient un accès « root » sur le serveur, ce qui permet l’écoute de toutes les conversations téléphoniques.

L’orateur derrière le pseudo Fran Cisco n’a cependant pas souhaité divulguer ces vulnérabilités à l’éditeur pour correction. Dommage…

Observatoire de la résilience de l'Internet français

Guillaume Valadon (ANSSI) [slides]

Après un retour sur le protocole BGP, Guillaume Valadon nous a exposé son observation de l’internet français pour conclure que la situation est aujourd’hui globalement acceptable avec néanmoins quelques points d'améliorations possibles. Le rapport complet de cette analyse a été rendu public le 8 juillet. Il est disponible ici : http://www.ssi.gouv.fr/IMG/pdf/rapport-observatoire-20130617.pdf

La sécurité des applications Android constructeurs et réalisation de backdoors sans permission

André Moulu (Quarkslab) [article|slides]

La sécurité Android est souvent remise en cause. Quarkslab a donc choisi de se focaliser sur l’un des téléphones les plus vendus : le Samsung Galaxy S3 (50 millions d'exemplaires vendus) et principalement sur la surcouche constructeur de ce smartphone.

Après avoir fait un un rappel des différents mécanismes de sécurité de ce système d’exploitation, André Moulu a cherché à réaliser une backdoor.

Au final, ce sont plus de dix vulnérabilités qui ont été remontées, permettant entre autres d’écrire sur la carte SD (en lecture/écriture), d’envoyer des SMS surtaxés, d’envoyer des requêtes http, d’exécuter du code sur le téléphone via une application Samsung (afin d’obtenir les droits de l’utilisateur système) ou encore de rediriger des SMS de manière automatisée sans que l’utilisateur du téléphone ne puisse s’en apercevoir.

Samsung déploie effectivement un nombre impressionnant de packages supplémentaires, qui s’accompagnent malheureusement de leurs lots de vulnérabilités. On en tremble encore.

Limites des tables Rainbow et dépassement par l’utilisation de méthodes probabilistes optimisées

Cédric Tissieres, Philippe Oechslin, Pierre Lestringant (Objectif Sécurité) [article|slides]

Objectif Sécurité, la société qui développe, entre autre, le célèbre programme Ophcrack, nous a présenté les nouvelles pistes pour générer des rainbow tables en réduisant de manière importante l’espace disque nécessaire par des méthodes probabilistes (2To réduits à 600Mo pour un hash spécifique). Ils annoncent un taux de succès supérieur à 95%. Une bonne nouvelle qui ravira tout pentester.

Kévin Bontems, Consultant Sécurité Senior, Advens