Compte rendu de la conférence SSTIC 2011

Date : 01 Août 2011

La conférence SSTIC 2011 s'est tenue à Rennes du 8 au 10 juin. Il s'agit d'une conférence francophone de haut niveau qui rassemble des gens passionnés de techniques et de sécurité informatique. Les présentations y sont souvent orientées sur des aspects offensifs en mettant en évidence les faiblesses ou les limites des technologies actuelles.

Les sujets abordés cette année sont très axés sur le matériel (composants cryptographiques, sécurité des architectures internes des ordinateurs) et les logiciels (fuzzing, reverse-engineering, etc…), mais assez peu sur les aspects réseaux (IDS, botnet, P2P, etc…). Ce constat confirme une tendance amorcée depuis plusieurs années : après avoir beaucoup cherché les faiblesses des systèmes Unix, Windows puis réseaux, beaucoup de chercheurs se sont tournés vers d'autres technologies, dans des directions très diverses : rfid, cartes a puces, attaques matériel, smartphones, etc…. Toute nouvelle technologie suscite aujourd'hui immédiatement la recherche de vulnérabilités et de faiblesses. Le meilleur exemple est sans doute l'explosion des annonces de vulnérabilités dans le smartphone Android. Comme le disait l'un des orateurs lors de la conférence : Android est le nouvel eldorado des chercheurs de failles : il s'agit d'un OS tout neuf, où tout reste à découvrir et qui génère donc beaucoup de recherches … et de découvertes. On pourrait également dire la même chose à propos du SCADA …

La conférence SSTIC est une des seules à demander encore aux orateurs de publier leur présentation sous la forme d'un article (en plus du support de présentation) et à éditer un volumineux fascicule papier rassemblant tous ces articles (368 pages cette année). Comme ces matériaux sont aussi disponibles sur le web (sur ce site) et que plusieurs autres comptes rendus on déjà été publiés sur le net (par exemple sur le blog de sid ou sur celui de n0secure), nous n'entrerons pas dans le détail technique des présentations. Nous essayerons simplement de vous dire l'essentiel pour que si vous êtes intéressé vous puissiez approfondir le sujet sur ces autres sources.


Thoughts on Client Systems Security (Joanna Rutkowska - Invisible Things Lab)
La conférence d'ouverture a été faite par une célébrité du monde de la sécurité, connue pour ses travaux sur les attaques "pré-boot" (et en particulier l'attaque "blue pill" via les fonctions de virtualisation des processeurs), et c'est tout à l'honneur du comité de programme d'avoir obtenu cette intervention.

La présentation est axée sur le dernier projet de ITL (Invisible Things Lab) : le système d'exploitation Qubes. Qubes est un OS OpenSource basé sur Xen, X Windows et Linux qui permet de faire fonctionner sur une même machine (une station de travail) plusieurs applications isolées les unes des autres. Il implémente la notion de compartiments qui permet d'isoler des applications les unes par rapport aux autres. Une version béta de Qubes permettant d'exécuter des applications Linux est disponible gratuitement en téléchargement. La possibilité d'exécuter des applications Windows sous Qubes est en cours d'étude.

Plus qu'une pure présentation de Qubes, l'exposé présente des réflexions plus générales sur :
  • l'insécurité des systèmes actuels. L'oratrice explique sur ce point qu'elle estime que Linux et Unix sont les environnements les moins aptes à isoler des applications (à cause de X11).
  • les technologies disponibles pouvant aider à implémenter une isolation : la technologie ancienne de MMU, ou les technologies plus modernes de virtualisation (en particulier VT-x et IOMMU). L'oratrice conclut sur ce point que VT-x n'est pas vraiment plus efficace que le vieux MMU mais que par contre IOMMU a de réels avantages si l'on prend garde à certains pièges.
  • les éléments théoriques et d'architecture à prendre en compte lors de la conception d'un modèle d'isolation (modèle de sécurité, micro-kernel, etc…)

BitLocker (Aurélien Bordes - ANSSI)
Cette présentation explique le fonctionnement de BitLocker (la solution de chiffrement intégrale de Microsoft, disponible depuis Windows Vista) et les améliorations apportées sous Windows Seven. Elle analyse les différents scénarios d'attaque (ordinateur éteint, ou allumé et verrouillé, ou etc…) et conclut que cette solution de chiffrement semble satisfaisante, si l'on fait abstraction de la couche TPM (la couche de bas niveau qui s'assure de l'intégrité de la chaîne de boot en utilisant une puce cryptographique TPM spécifique présente sur la carte mère) dont la qualité d'implémentation est difficile à évaluer. Windows Bitlocker est disponible uniquement avec les offres haut de gamme de Microsoft (comme les versions " Entreprise Integral ") et n'est pas disponible dans la version "Pro" de Windows.


Silverlight ou comment surfer à travers .NET (Thomas Caplin - Sogeti/ESEC)
Cette présentation explique tout d'abord brièvement les technologies .NET et Silverlight de Microsoft :
  • .NET est un environnement qui peut être comparé (de très loin) à Java : une machine virtuelle (le CLR - Commun Language Runtime) exécute un bytecode (CIL - Common Intermediary Language) en le compilant à la volée au moyen d'un compilateur JIT (Just In Time).
  •   Silverlight : c'est un plugin pour les navigateurs web (IE, Firefox, etc..) qui permet de créer des animations à l'intérieur de pages web. Il rend les mêmes services que Flash et exécute des animations développées en .NET.

La présentation explique ensuite que .NET est un environnement très complexe qui présente donc une surface d'attaque importante (beaucoup de vulnérabilités restent à découvrir). Par contre il est difficile de trouver ces vulnérabilités (du fait de la complexité). Une fois qu'une vulnérabilité a été découverte dans .NET, le plus simple pour l'exploiter est d'utiliser Silverlight. Silverlight permet de :
  • réaliser l'attaque au travers du web et du navigateur de l'utilisateur
  • passer outre les protections ASLR et DEP de Windows (car elles sont incompatibles avec la technologie .NET)
  • effectuer les attaques sur des navigateurs web (comme Firefox ou Chrome) ne bénéficiant pas de protection de type " sandbox Silverlight " (seul IE dispose d'un plugin Silverligh qui s'exécute dans une " sandbox ").
Aujourd'hui près de 30% des navigateurs web n'ont pas de plugins Silverlight installés. C'est sans doute la raison pour laquelle peu d'attaques ont été vues jusqu'à présent dans ce domaine.


XSSF : démontrer le danger des XSS (Ludovic Courgnaud - Conix)
L'orateur présente XSSF (XSS Framework) : une boîte à outils permettant de réaliser des attaques XSS (attaques de Cross-Site Scripting). XSSF a été développé pour pallier les inconvénients d'autres projets similaires tels que XSS-Shell (qui est en fin de vie) ou BeEF (qui n'implémentait pas les tunnels au moment où XSSF a été créé). XSSF est en fait un " plugin " pour MetaSploit, c'est-à-dire que c'est depuis la console MetaSploit que les différents modules de XSSF sont invoqués. A titre de démonstration, l'orateur utilise une attaque XSS contre un téléphone Android pour voler un fichier présent sur le smartphone.


Rainbow Tables probabilistes (Alain Scheider - Lexsi)
Les " rainbow tables " sont utilisées depuis une dizaine d'années pour casser les mots de passe " non diversifiés  " (i.e. n'utilisant pas de " sel "). Lors de la construction d'une RT (rainbow-table) il faut définir l'espace des mots de passe qui sera couvert. Actuellement il existe des RT :
  • Exhaustives (approche par force brute)
  • Par dictionnaires
  • Hybrides

Le projet présenté par l'orateur consiste à définir l'espace des mots de passe en utilisant les chaînes de Markov, c'est-à-dire en prenant en compte la probabilité qu'un caractère suive un autre dans un mot de passe choisi par un utilisateur.
Les chaînes de Markov sont déjà utilisées par le craqueur de mot de passe " John-the-ripper " et sont connues pour donner de très bons résultats. L'orateur  explique que l'utilisation des chaînes de Markov a permis aussi d'améliorer notablement le taux de réussite des " rainbow tables " : il améliore le taux de succès lors du cassage du mot de passe de 87% à 92%.


Memory Eye (Yoann Guillot - Sogeti/ESEC)
Il s'agit d'un projet très original qui consiste à faire du " Reverse Engineering " sur la structure de données d'un programme. L'outil est construit sur le débogueur de " metasm ". Il identifie la zone de " heap " du processus analysé puis y reconnait les structures de données telles que les tableaux et les listes chaînées.
L'approche est novatrice et nous semble très intéressante.


Attaque d'implémentations cryptographiques par canaux cachés (Philippe Nguyen - Secure-IC)
Cette présentation démontre comment on peut " casser " une puce cryptographique mal conçue en observant sa consommation électrique. Une démonstration est faite en utilisant un banc de test spécifiquement conçu : tout d'abord une antenne pour capter le rayonnement de la puce, puis un oscilloscope pour produire un signal observable, et finalement un logiciel sur un PC pour observer statistiquement la variation du signal et en déduire la clé de chiffrement utilisée. Les mesures de protection contre ces analyses par canaux cachés (comme par exemple les logiques " double rail ") sont ensuite présentées.


Sécurité du système Android (Nicolas Ruff - EADS)
L'orateur passe en revue les différentes catégories de vulnérabilités pour les smartphones Android :
  • Failles systèmes (sur l'OS lui-même ou sur des composants de base comme " Webkit ")
  • Failles dans les applications
  • Applications malveillantes
  • Fuite d'informations (via les applications)
  • Erreurs logiques (faiblesses de conception, en particulier dans les personnalisations constructeurs)
  • Etc…

Android est une nouvelle plate-forme, relativement ouverte et donc facilement accessible. De ce fait, beaucoup de chercheurs étudient cette plate-forme et beaucoup de vulnérabilités sont découvertes. En particulier, les applications Android sont souvent mal développées d'un point de vue sécurité (cf. notre compte-rendu de la conférence JSSI 2011 où le même orateur était intervenu sur ce sujet et où ce problème avait été évoqué).


Attaques DMA peer-to-peer et contremesures (Fernand Lone Sang - LAAS/IRIT)
Le DMA (Direct Memory Access) permet à un périphérique (par exemple un équipement firewire, une carte PCI-Express ou une carte graphique) d'accéder à la RAM de l'ordinateur. Cette présentation montre que, grâce au DMA, un périphérique peut aussi accéder directement à la RAM d'un autre périphérique. On parle alors d'attaque " Peer to peer " (de périphérique à périphérique).
L'orateur fait une démonstration de ce type d'attaque en branchant un ordinateur (l'ordinateur de l'attaquant) sur le port Firewire d'une machine victime, puis en espionnant au moyen du DMA la RAM de la carte graphique de cette machine victime. L'attaquant parvient ainsi (en contournant n'importe quel mécanisme de protection qui serait implémenté par le processeur central) à dupliquer l'écran de l'ordinateur attaqué.
L'orateur indique que le mécanisme IOMMU (une MMU -Memory Management Unit- dédiée aux IO -Inputs/Ouputs-), qui existe maintenant dans les processeurs modernes, pourrait être utilisé pour contrer ces attaques (en utilisant le mécanisme ACS - Access Control Services - du IOMMU).


Sticky fingers & KBC Custom Shop (Alexandre Gazet -Sogeti/ESEC)
Il s'agit d'une présentation très étonnante qui montre comment l'orateur a progressé dans l'exploration de l'architecture interne de son ordinateur portable.
Il présente le "reverse-engeneering" du BIOS d'un portable DELL et montre que ce BIOS dialogue avec un circuit spécialisé de la carte mère (le KBC: "KeyBoard Controler" qui gère le clavier) pour des opérations sensibles :
  • d'abord pour la vérification du mot de passe BIOS,
  • mais surtout lors de certaines opérations sensibles comme les SMI (System management Interrupts).
En modifiant le code du KBC l'orateur parvient à faire exécuter du code arbitaire en mode SMI et donc à prendre le contrôle avec le plus haut niveau de privilège du processeur.


Virtualisation d'un poste physique depuis le boot (Stephane Duverger -EADS)
L'orateur présente un système de virtualisation qui a été développé par EADS et qui est baptisé " Ramooflax ". Il est conçu pour permettre d'observer le comportement de la machine invitée. Il permet par exemple de debugger, depuis le superviseur, une application s'exécutant dans le système invité. L'architecture matérielle et les difficultés rencontrées sont détaillées.


Attacking and Fixing PKCS#11 Security Tokens with Tookan
(Graham Steel -INRIA )
L'orateur présente l'outil Tookan qui sert à auditer les tokens cryptographiques qui utilisent la norme d'interfaçage PKCS#11.
Avec PKCS#11, les secrets stockés sur un token cryptographique sont manipulables au moyen de "handles" ayant chacun des propriétés. Tookan explore les "handles" disponibles sur le token analysé et les combine de façon à trouver un chemin permettant de réaliser une opération qui devrait être interdite (par exemple exporter un secret).Sur 18 tokens testés, 10 ont été identifiés comme vulnérables par Tookan.


Peut-on éteindre l'Internet ? (Stéphane Bortzmeyer - AFNIC)
Les médias sont souvent alarmistes sur le sujet de robustesse d'Internet : le réseau va s'effondrer, la fin du monde est pour bientôt, etc... Pour rétablir un point de vue plus objectif, l'orateur cherche à identifier toutes les attaques qui pourraient permettre " d'éteindre l'Internet ". Il conclut que s'il est facile de perturber Internet (cela arrive même de manière quasi quotidienne), éteindre complètement le réseau est par contre beaucoup plus difficile, voire impossible.


Architecture DNS sécurisée (Guillaume Valadon et Yves-Alexis Perez - ANSII)
Cette présentation explique les faiblesses du protocole DNS et la façon dont on peut pallier ces faiblesses au moyen de :
  • DNSSEC, qui assure l'intégrité des échanges entre les serveurs DNS,
  • DNSCurve et TSIG qui assurent l'intégrité des échanges entre un client DNS et son serveur DNS.


RRABBIDS, un système de détection d'intrusion pour les applications Ruby on Rail (Éric TOTEL - Supelec)
L'orateur présente l'IDS " RRABBIDS " qui permet de protéger des applications web développées au moyen de Ruby On Rail (ROR). Le principe est que RRABBIDS ajoute du code dans le code de l'application web (au cours d'une phase d'instrumentation) afin de surveiller ensuite le fonctionnement de l'application et de détecter les comportements anormaux (qui sont des tentatives d'attaques).
L'approche proposée est originale et les technologies utilisées sont dérivées du monde du test logiciel (il utilise par exemple le calcul d'invariant au moyen de l'outil DAIKON, ou l'apprentissage automatique au moyen de l'outil Selenium). L'IDS produit semble cependant plus un outil de recherche qu'un outil opérationnel.


Usages offensifs de XSLT (Nicolas Gregoire - Agarri.fr)
Les moteurs XLST sont des composants chargés de mettre en forme les données brutes (au format XML) pour les rendre visualisables (par exemple en HTML). Ils sont abondamment utilisés dans les applications web, et les navigateurs web intègrent donc chacun un moteur XSLT. La présentation recherche s'il existe des vulnérabilités exploitables dans les moteurs XLST les plus répandus.
Ces vulnérabilités sont de deux types :
  • d'une part certaines fonctions XSLT sont intrinsèquement dangereuses (elles permettent par exemple de créer des fichiers en local ou de lancer des commandes)
  • d'autre part certaines sont mal implémentées (elles contiennent des vulnérabilités).
L'orateur conclut en recommandant de désactiver les moteurs XSLT (pour une sécurité maximum) ou au moins les extensions propriétaires (qui sont les plus dangereuses).


Faille de sécurité ou défaut de sécurité (Eric Barbry - Cabinet Bensoussan )
L'orateur est un avocat et il fait le point sur la législation française applicable dans deux cas :
  • Une faille de sécurité permet d'attaquer une entreprise
  • Un manque de sécurité permet d'attaquer une entreprise
Il commente en particulier les dernières évolutions des travaux en cours sur l'obligation de déclaration des incidents concernant des données personnelles. Il indique que si l'entreprise peut démontrer à la CNIL qu'un plan de réaction approprié existe pour l'incident, alors elle n'aurait pas à notifier les personnes dont les données personnelles ont été volées : elle aura simplement à notifier la CNIL à propos de cet incident.


Typologie des attaques contre nos libertés online (Jérémie Zimmermann - La Quadrature du Net)
L'orateur est un des portes paroles du groupe " La quadrature du net " qui défend les droits et libertés des citoyens sur Internet. Ce groupe considère Internet comme un bien commun inaliénable et dénonce les actions des gouvernements et des opérateurs ayant pour conséquence de limiter l'accès à Internet


Système de stockage-en-ligne de photos avec confidentialité des données personnelles (Luis Montalvo - Technicolor)
Lorsqu'un fournisseur propose à ses utilisateurs un espace de stockage en ligne, jusqu'à 90% de cet espace peut être consommé à contenir des doublons des 10% des données réellement uniques. Cette présentation s'intéresse au cas du stockage de photos et propose des méthodes de recherche et d'élimination des doublons. Il présente les principes du " chiffrement convergent " (qui permet de savoir que deux contenus chiffrés contiennent la même donnée sans pouvoir déterminer cette donnée) et les fonctions de " hachage visuel " (qui permet de déterminer que deux images sont fortement similaires bien qu'elles ne sont pas binairement identiques).


Un framework de fuzzing pour cartes à puce : application aux protocoles EMV (Julien Lancia - SERMA Technologies)
L'orateur appartient à un CESTI (Centre d'Evaluation de la Sécurité des Technologies de l'Information) qui évalue des cartes à puces avant leur mise en production. Pour ces évaluations un fuzzer a été développé. Il utilise Sulley (moteur de fuzzing) Triton (API Python pour dialoguer avec une carte à puce) et compare les résultats renvoyés par la carte à puce testée avec les résultats produits par une implémentation de référence (logiciel simulant une carte à puce).
Sur 12 cartes à puces testées au moyen de ce fuzzer, 6 présentaient des défauts (dont 2 des défauts de sécurité).


Sécurité ? (Hervé Schauer - HSC)
La clôture de la conférence est en général l'occasion de prendre de la hauteur et de proposer une vision pour le futur de la société et de la sécurité informatique. Hervé Schauer n'a pas failli à cette tradition en présentant ses réflexions sur le thème de la sécurité et de la liberté (en expliquant par exemple que la sécurité s'arrête là où la liberté commence) et sur le futur de la sécurité. Il conclut en souhaitant que dans le futur on puisse faire mieux dans le domaine de la sécurité que les faibles résultats que l'on a obtenus au cours de ces 15 dernières années…
Précedent Précedent Suivant Suivant Imprimer Imprimer