Compte-rendu de la conférence SSTIC 2009
Date : 03 Juillet 2009
L'édition 2009 de la conférence SSTIC, s'est déroulée du 3 au 9 juin 2009 à Rennes. SSTIC est une conférence francophone très réputée pour son haut niveau technique qui réunit chaque année depuis 2003 environ 400 participants.
Et comme d'habitude, cette édition 2009 a été d'une grande qualité.
Ce compte-rendu donne un aperçu des différents exposés qui se sont déroulés au cours de ces trois jours. Les lecteurs intéressés pourront consulter les actes de la conférence pour approfondir les sujets, ou parcourir les nombreux autres comptes-rendus publiés sur Internet à propos de cette conférence.
Sureté aérienne chez AIRBUS - Pascal ANDREI (AIRBUS)
La "sureté aérienne" ("security" en anglais) s'intéresse à la protection des avions contre les attaques volontaires. Elle complète un domaine disjoint, appelé "sécurité aérienne" ("safety" en anglais) qui elle s'intéresse à la fiabilité des avions (la protection contre le risque accidentel). Au-delà des menaces physiques (par exemple le risque de bombe), la sureté s'intéresse désormais de plus en plus aux menaces informatiques. Il s'agit d'un domaine assez nouveau qui a réellement émergé pour Airbus avec la conception de l'A380. La réglementation dans ce domaine s'est depuis considérablement étoffée (en particulier du fait des contraintes définies par les organismes de certification des USA) avec par exemple la définition d'une base de certification renforcée pour l'A350.
La sécurité de l'avion concerne bien sur les équipements à bord, mais également l'ensemble des acteurs au sol avec lesquels l'avion interagit (compagnies aériennes, aéroports, maintenance, …). De même, au-delà de la conception initiale de l'avion, il est également important de maintenir le niveau de sécurité pendant toute la durée d'exploitation de l'avion (un avion a une durée de vie de 30 ans).
Nota : Cette présentation est une "keynote" d'ouverture. Elle n'est pas reprise dans les actes de la conférence.
Évaluation de l’injection de code malicieux dans une Java Card - Jean Louis LANET (Université de Limoges)
Cette présentation analyse s'il est possible à une application s'exécutant sur une Java Card d'altérer le fonctionnement d'une autre application présente sur la carte à puce. La piste explorée a été d'utiliser (détourner) les méthodes "readstatic" et "writestatic" qui existent dans la spécification de la Java Card. En théorie ces méthodes ne permettent pas à une application d'agir sur l'espace mémoire d'une autre application. Mais quelques mots trouvés dans une thèse (thèse de M. K Hyppönen publiée en 2003) laissent penser que cela serait possible. Après expérimentation, l'équipe de l'université de Limoges a démontré que l'attaque est possible, et qu'elle marche sur certaines cartes (en particulier des cartes 8 bits). Par contre d'autres cartes (de plus haut de gamme; par exemple des cartes 16 bits) semblent immunisées contre cette attaque et la carte se "suicide" quand elle détecte la tentative d'attaque.
Data tainting for malware analysis - Florent MARCEAU (LEXSI)
Florent Marceau présente l'environnement logiciel qui a été mis en place chez LEXSI pour analyser les codes malicieux (typiquement les chevaux de Troie bancaires). L'objectif est de décrypter toutes les chaines de caractères embarquées dans un binaire chiffré. Le principe retenu est de lancer l'exécutable analysé (il va donc déchiffrer lui-même ses données au fur et à mesure de son exécution) et d'intercepter tous les transferts de données entre CPU et mémoire (via un hook sur le MMU) pour capturer les données une fois celles-ci déchiffrées.
Désobfuscation automatique de binaire - A. GAZET et Y. GUILLOT (SOGETI – ESEC)
Les travaux présentés constituent la suite de ceux présentés par les mêmes intervenants l'an dernier. Ils consistent à développer des outils permettant d'analyser des codes malveillants qui se protègent en utilisant des "packers" ou des techniques d'obfuscation de code. Les "packers" classiques produisent des codes auto-déchiffrants. Une technique plus récente consiste à embarquer dans le code malveillant une véritable machine virtuelle (un automate) capable d'interpréter le pseudo code spécifique qui est stocké dans le corps du malware.
Le projet WOMBAT - Marc DACIER (Symantec)
WOMBAT (www.wombat-project.eu) est un projet financé par la communauté européenne qui constitue un prolongement du projet honeynets baptisé Leurré.com. Cette fois les sondes WOMBAT sont intelligentes (les sondes de "Leurré.com" étaient passives) : elles interagissent avec l'attaquant en suivant un graphe d'état jusqu'au point ou un malware est injecté sur la sonde par l'attaquant. Le malware est ensuite soumis à différents outils d'analyse comme Anubis et VirusTotal. L'objectif est de collecter des données sur les techniques d'attaques et les codes malveillants installés par les attaquants sur les machines vulnérables.
ACPI et routine de traitement de la SMI : des limites à l'informatique de confiance ? - Loïc DUFLOT (DCSSI)
La présentation reprend
L'orateur a effectué une démonstration de cette attaque ACPI : sur une machine compromise, il a installé une routine cachée qui se déclenche dès que le cordon d'alimentation est rebranché plusieurs fois de suite. Cette routine donne les droits "root" au prochain utilisateur qui se connecte. La démonstration est assez spectaculaire car il est assez étonnant de voir un attaquant prendre le contrôle d'une machine simplement en agissant sur le branchement électrique !
L'orateur explique enfin comment ces attaques remettent en question l'approche de sécurisation basée sur la définition d'un sous-ensemble matériel de composants de confiance.
Compromission physique par le bus PCI - C. DEVINE et G. VISSIAN (THALES)
La présentation a pour objectif de démontrer que le bus PCI est un vecteur d'attaque équivalent à celui déjà présenté depuis plusieurs années pour le bus Firewire. Pour cela, les orateurs utilisent une carte PC-Card (carte PCMCIA) programmable sur laquelle ils installent un programme malicieux spécifique. Lorsque la PC-Card est ensuite insérée dans l'ordinateur portable attaqué, elle modifie à la volée le système Windows de la machine pour supprimer le mécanisme de vérification des mots de passe.
L'une des principales difficultés ici est que la PC-Card se programme au niveau électrique : il faut gérer l'accès au bus PCI en appliquant les tensions appropriées sur les différentes lignes du bus en suivant le cadencement de l'horloge du bus… Si l'on parvient à maitriser le bus PCI de cette façon, il est alors possible d'accéder à toute la mémoire physique de l'ordinateur (accès DMA) et donc de modifier à la volée le système d'exploitation.
Cinq questions sur la vraie utilité de l'ISO 27001 - A. FERNANDEZ-TORO (HSC)
Cette présentation sur l'ISO 27001 explique (entre autres) comment différencier les (mauvaises) sociétés qui se font certifier ISO 270001 pour la forme, de celles (les bonnes) qui sont certifiées parce qu'elles ont vraiment des pratiques sécurité conformes à l'ISO 27001.
Fuzzing : le passé, le présent et le futur - Ari TAKANEN (Codenomicon)
Cette présentation sur le fuzzing était animée par un ancien membre de l'équipe PROTOS de l'université de OULU en Finlande (cf. nos articles de 2001 et 2003 sur le projet PROTOS). PROTOS est en effet considéré comme un précurseur dans le domaine du fuzzing.
Cette présentation décrit l'évolution des techniques de fuzzing : les motivations pour le fuzzing, les différentes catégories de fuzzer, etc...
On en retiendra qu'une étude publiée en 2008 à CanSecWest estime que l'on peut trouver 70% des bugs d'un logiciel en utilisant un fuzzer évolué (de type "model based") et que désormais les grands constructeurs ont intégré le fuzzing dans leur processus de développement.
Fuzzgrind : un outil de fuzzing automatique - Gabriel CAMPANA (Sogeti ESEC)
Une présentation très originale sur une nouvelle technique de fuzzing qui consiste à analyser le code pour en déterminer la structure logique (le graphe de contrôle) puis à calculer les paramètres à utiliser pour passer dans tous les chemins possibles. En parcourant aléatoirement tous ces chemins, on a alors de fortes chances de provoquer des erreurs d'exécution et de découvrir ainsi des faiblesses dans le code. Le logiciel utilise Valgrind (pour l'instrumentation du code) et STP (un "solveur de contraintes" : logiciel qui calcule les solutions possibles pour un problème donné). D'après l'auteur, cette approche est plutôt adaptée pour "fuzzer" les petits programmes ou les bibliothèques car l'aspect combinatoire peut rapidement faire exploser le nombre de cas à analyser dans le cas des autres logiciels.
Sécurité des architectures de Convergence Fixe-Mobile - Laurent BUTTI (Orange)
Encore une présentation sur le fuzzing !
L'orateur présente tout d'abord les différentes architectures pour une convergence Fixe-Mobile, en expliquant par exemple la technologie UMA (Unlicensed Mobile Access) qui propose de raccorder le monde GSM au monde IP (par encapsulation de trafic : GSM => Wifi ou Bluetooth => IP).
Il explique ensuite que pour évaluer la vulnérabilité des solutions de convergence, Orange a réalisé des tests de fuzzing sur l'implémentation des protocoles IKEv2 et AEP par ces solutions. En effet ces protocoles sont des éléments clés pour la sécurité de ces architectures. Ce fuzzing a été réalisé en utilisant l'outil Sulley en mode boite noire (test d'un équipement distant sans visibilité du résultat exact des tests sur le fonctionnement interne des équipements testés).
Sécurité des smartphones - Romain RABOIN (Atlab)
Cette présentation s'intéresse aux logiciels malveillants destinés aux SmartPhones et analyse tout d'abord "FlexiSpy" un logiciel commercial qui permet d'espionner l'activité du téléphone portable sur lequel il est installé. L'orateur explore ensuite les différents vecteurs d'attaque possibles pour compromettre un SmartPhone (ingénierie sociale, carte SD malveillante, attaque bluetooth, …). Il présente enfin un prototype montrant comment infecter un SmartPhone Windows Mobile via la fonction d'ActiveSync (fonction qui permet de synchroniser les données entre le PC et le téléphone mobile). On notera que l'orateur considère que les solutions proposées actuellement comme antivirus ou comme pare-feu sur les téléphones mobiles ne sont pas très efficaces.
Le traçage de traîtres en multimédia - Teddy FURON (Thomson)
Une présentation très agréable (instructive et divertissante) qui aborde un domaine moins directement lié à la sécurité informatique : la protection des vidéos (et en particulier la VOD : Video On Demand) contre la copie pirate. L'orateur présente une solution dite de "DRM 2.0", c'est-à-dire qui protège la donnée sans générer de contrainte pour l'utilisateur.
Le principe est d'inclure un code d'identification caché dans la vidéo (par une technique de tatouage numérique) permettant d'identifier les "traîtres" (c'est-à-dire les personnes ayant fabriqué une version pirate du film). La technologie mise au point utilise les codes anti-collusion de Tardos (un statisticien qui a révolutionné le domaine en 2003 en proposant une nouvelle approche) qui permet de retrouver au moins un des traitres, même dans le cas où la copie pirate a été produite en mélangeant des données provenant de N exemplaires d'une vidéo (chaque exemplaire étant marqué par un code d'identification personnel).
Le vol d'informations n'existe pas... - Marie BAREL (Orange)
Une présentation faite par une juriste qui explique que la notion de "vol d'information" n'existe pas vis-à-vis du droit français puisque le vol implique que l'on prive le propriétaire légitime d'un bien en le lui dérobant. Bien sûr il reste d'autres recours juridiques comme par exemple les protections contre la divulgation, la concurrence déloyale, l'abus de confiance, etc…
Pourquoi la sécurité est un échec (et comment y remédier) - Nicolas RUFF (EADS)
Une présentation un peu décevante, qui explique par l'exemple que tous les efforts déjà faits en sécurité ces dernières années se sont bien souvent soldés par des échecs.
Une approche de virtualisation assistée par le matériel pour protéger l'espace noyau d'actions malveillantes - Eric LACOMBE (INSA)
L'orateur présente les travaux qu'il a réalisés au LAAS pendant sa thèse pour protéger le noyau Linux contre les attaques par des logiciels malveillants. Le principe est d'utiliser les fonctions de virtualisation disponibles au niveau matériel pour insérer un hyperviseur léger entre le matériel et le noyau du système d'exploitation. L'hyperviseur surveille ensuite le fonctionnement du noyau et s'assure que son intégrité n'a pas été altérée par un logiciel malveillant.
XSS : de la brise à l'ouragan - Pierre GARDENAT (Académie de Rennes)
Cette présentation explore les possibilités offertes par les vulnérabilités XSS (Cross-Site Scripting). L'orateur explique que ces vulnérabilités sont souvent négligées mais qu'elles sont en fait l'équivalent pour le monde du web de ce que sont les débordements de piles pour les programmes conventionnels : innombrables et redoutables.
Origami malicieux en PDF - Fred RAYNAL (Sogeti - ESEC)
Cette présentation s'intéresse à démontrer l'insécurité du format PDF et du logiciel associé "Abode Reader". En résumé un document PDF peut être dangereux … et pas uniquement parce que l'on peut y inclure du code javascript ! On notera en particulier la démonstration finale où, depuis un navigateur web (le plug-in Adobe Reader inséré dans les navigateurs est relativement permissif), un PDF malveillant ouvre un document se trouvant sur un partage Samba. Il se produit alors une attaque de type "PassTheHash" qui permet au serveur Samba de voler les credentials de l'utilisateur Windows qui consulte le document PDF depuis son navigateur web.
Macaron, une porte dérobée pour toutes les applications JavaEE - Philippe PRADOS (Athos Origin)
Macaron est le nom d'une porte dérobée (backdoor) développée pour les environnements JavaEE. Cette porte dérobée (installée par un attaquant interne capable en ajoutant un JAR malveillant dans le paquetage de l'application) profite de plusieurs mécanismes de surcharge de classe et de diverses techniques d'injection dans la chaine de traitement des requêtes pour permettre à un attaquant externe de dialoguer avec un "shell" placé au cœur de la porte dérobée. On en retient que l'architecture d’une application JavaEE est très complexe et présente de multiples fonctionnalités intéressantes pour un pirate voulant réaliser une porte dérobée. Le démonstrateur "Macaron" est impressionnant …
IpMorph : Unification de la mystification de prise d'empreinte - Guillaume PRIGENT (DIATEAM)
IpMorph est un logiciel Open-source qui a comme objectif d'empêcher les outils de prise d'empreinte (de type Nmap, SinFP ou Ring2) d'identifier à distance le système d'exploitation d'une machine. IpMorph se place entre la machine "attaquante" (qui lance l'outil de prise d'empreinte) et la machine protégée et modifie les paquets réseau émis par cette dernière pour mystifier l'attaquant.
Analyse dynamique depuis l'espace noyau avec Kolumbo - Julien DESFOSSEZ (Révolution Linux)
Kolumbo est un module noyau pour Linux conçu pour faciliter l'analyse d'un binaire malicieux sous Linux. Il empêche le malware de détecter qu'il est exécuté dans un environnement contrôlé (annulation des techniques de détection "ptrace" et des techniques "anti-points d'arrêt"). Il offre aussi des fonctions de traçage d'exécution et de "dump" mémoire.
Calcul sur cartes graphiques, cryptographie et sécurité - Antoine JOUX (DGA)
Antoine Joux, un cryptologue français très renommé, a présenté l'apport du calcul sur carte graphique pour la cryptographie (surtout), et aussi pour la sécurité (un peu).
Pour la cryptographie symétrique, le déport des calculs sur les cartes graphiques offre des gains réellement significatifs (gain théorique de * 16 pour AES, et * 60 pour le DES) même si ces gains sont limités par le coût des transferts de données entre CPU et GPU (le gain réel AES chute alors à * 4). Pour la cryptographie asymétrique, les gains actuels sont de l'ordre de 20% ce qui rend cette approche peu intéressante.
Pour le cassage de données (la recherche exhaustive de clés) ou la factorisation (calcul matriciel) le gain est également réel (gain de * 16 sur la recherche exhaustive par exemple).
Émanations compromettantes électromagnétiques des claviers filaires et sans-fil - Martin Vuagnoux (EPFL)
Cette présentation a parlé essentiellement de l'écoute des claviers filaires (le clavier "PS2" traditionnel des PC) puisque l'étude des claviers sans-fil a visiblement été réservée pour une autre conférence à venir. Cependant la présentation était vraiment remarquable. Visiblement avec des moyens très limités (les 2000€ de budget ont été investis dans l'achat d'une antenne) et beaucoup d'astuce, ils ont ré-exploré les problèmes du rayonnement électromagnétique, sujet abondamment étudié dans les années 60 par plusieurs services de renseignements (cf. la norme TEMPEST).