SSTIC 2012, jour 3...

Publié le 08 juin 2012 par Sid

C

omme d'habitude, l'amphi est... largement à moitié vide... Ce qui reste relativement classique pour un lendemain de social event, en particulier lorsqu'il a été excellent comme ce fut cas hier soir.

Le troisième jour s'ouvre donc devant une audience réduite d'irréductibles courageux, avec une conférence portant sur une tentative de solution au spoofing IP...

  • Source Address Validation Improvements (SAVI), par Jean-Michel Combes et Maryline Laurent. La présentation commence avec un panorama des attaques utilisant des adresses source usurpées, puis passe aux contre-mesures déployées jusqu'alors et leurs limites. L'auteur passe ensuite à la description des principes de fonctionnement SAVI qui aboutit grosso modo à la constitution de domaines réseau de confiance dans lesquels des entités, typiquement des switches, surveillent, apprennent et imposent les attributions d'adresse[1]. On passe en revue les différentes versions de SAVI, des réflexions sur son déploiement et enfin les limitations de l'outil et les développements futurs.
    La présentation est claire et ne s'attarde pas sur les banalités introductive, passant rapidement au cœur du sujet. Bon sujet, peut-être un poil violent pour certains ce matin[2] ;)
  • Utilisation malveillante des suivis de connexions, par Eric Leblond. La présentation commence par une présentation de Netfilter et en particulier du fonctionnement du système de suivi de connexions. L'auteur détaille en particulier la manière dont Netfilter gère les protocoles à la connon-linéaires genre FTP, IRC ou SIP aux moyens de modules appelés helpers. Il poursuit en étudiant les degrés de liberté autorisés par ces derniers, dans les limites de ce que permet le protocole, pour en déduire des méthodes de contournement. Des exemples pratique avec le mode XFTP de FTP ou le mode DCC d'IRC, démos à l'appui, suivis de pointeurs vers des recommandations. Ensuite, il décrit une attaque permettant d'ouvrir des autorisations en spoofant les messages permettant de déclencher des expectations avec une illustration sur FTP en IPv6 au moyen de son outil opensvp, et la mention de contre-mesures. Enfin, il joue un peu avec la concurrence.
    Présentation claire, bien illustrée. Simple et efficace, et qui montre que la sécurité est encore un sujet à creuser[3].
  • Influence des bonnes pratiques sur les incidents BGP, par Francois Contat, Guillaume Valadon et Sarah Nataf. Introduction sur le fonctionnement de BGP, ses conditions de mise en œuvre et les mécanismes de sécurisation disponibles. Suit une liste d'incidents classiques sur BGP et les contre-mesures et bonnes pratiques pouvant être mises en place pour les prévenir. On nous parle ensuite de l'utilisation des outils de surveillance des annonces BGP pour détecter et corriger les annonces erronées. On finit avec les protections disponibles et bonnes pratiques pour se prémunir des paquets mal formés. Le discours est illustré par des exemples pratiques. Conclusion sur l'importance des bonnes pratiques pour fiabiliser l'utilisation d'un protocole ancien, mais éprouvé.
    Une conférence sur BGP intéressante, ça pourrait passer pour un oxymore, mais non. Bon talk.
  • Présentations courtes :
    • Netusse, par Clément Lecigne. Description rapide d'un fuzzer des sockets réseau dont l'écriture a commencé en 2006 à l'occasion d'un Google Summer of Code, suivie d'un exemple de 0day sur FreeBSD avec la description de son exploitation et d'une vidéo-démo.
      Impressionnant.
    • Vérification de code système par typage statique, par Étienne Millon. L'auteur s'intéresse à la vérification des pointeurs utilisateurs passés aux appels système par typage et comment il implémente son concept à la compilation.Bonnes illustrations, d'abord sur un cas d'école simple puis sur une vulnérabilité Linux.
      Probablement assez cryptique pour beaucoup, mais exposé clair et didactique.
    • Détection de domaines malveillants par analyse sémantique et mathématique, par Ronan Mouchoux. L'auteur part du postulat qu'un bot doit se connecter à son botnet, et propose de détecter les noms de domaines malveillants générés aléatoirement, au moyen de quatre moteurs s'appuyant sur des techniques spécifiques pour détecter la louchitude des noms ;) Une petite démo et conclusion sur les performances et limites de l'outil.
      Concept intéressant, bien présenté.
  • Successes (and limitations) of (static) binary analysis, par Halvar Flake. L'introduction porte sur les raisons du développement des techniques d'analyse statique ces dernières années, avec des résultats intéressants, et les limites des outils associés. L'auteur propose d'étudier des cas sur lesquelles l'analyse statique de code source échoue. Premier exemple avec le bug crackaddr() dans Sendmail pour illustrer la difficulté d'analyser du code ancien pas écrit pour être analyser et utilisant des construction bizarres. On passe ensuite aux bugs de type use-after-free dans les navigateurs et leur interpréteur JavaScript pour souligner la difficulté à modéliser le fonctionnement du tas. On passe ensuite à l'analyse statique de code binaire, pour laquelle l'auteur détaille les problèmes que posent, dans ce cas, la modélisation du tas ou l'obtention d'un description sémantique du processeur. La conclusion insiste sur l'utilité des outils d'analyse statique, sur le fait qu'ils peuvent échouer sur des problèmes apparemment simples et sur l'énorme chemin qui reste à faire dans ce domaine.
    Superbe présentation, dans la même veine que la keynote de Pipacs.
    Great quote : "Our ability to construct software has exponentially outpaced our ability to understand software"...

Pour les deux autres jours, c'est par là que ça se passe :

  • premier jour ;
  • deuxième jour.

Notes

[1] Appelés SAVI bindings.

[2] Au moins, c'était pas des slides Prezi...

[3] Même si l'essentiel est déjà vu ;)