• 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"...
  • Miasm: Framework de reverse engineering, par Fabrice Desclaux. Présentation d'un framework de reverse engineering et de manipulation de binaires écrit en Python. L'auteur commence par décrire les grandes lignes du projet et ses modules elfesteem et grandalf. Il passe ensuite au langage intermédiaire intégré, destiné à faciliter le travail et le rendre indépendant de l'architecture matérielle sous-jacente[4], le tout illustré par quelques petits exemples de la vraie vie : désassemblage, réduction de code, exécution symbolique et ROP, simplification de code, déchiffrement de chaînes illustré sur Flame, analyse de code, etc.
    Du lourd, du beau, du Fabrice : un talk survolté avec de véritables morceaux de quenelles qui volent bas ;)
  • Rétroconception et débogage d'un baseband Qualcomm, par Guillaume Delugré. Introduction par la définition d'un baseband comme le module qui fait tourner toute la partie téléphonique avec matériel et OS dédié, un monde assez fermé et intéressant pour la recherche de vulnérabilités. L'étude porte sur une clé 3G équipée d'un baseband Qualcomm basé sur un ARMv5. Elle s'appuie sur un canal de diagnostique accessible via un lien série sur USB pour, en particulier, dumper la mémoire du baseband. La seconde partie porte sur le micro-noyau temps-réel REX et le système d'exploitation AMSS de Qualcomm, et le reverse de l'API noyau et de la bibliothèque C, l'implémentation du tout étant régulièrement qualifiée de "crado". On termine par les techniques utilisées pour implémenter un débogueur pour ce baseband et une sympathique démonstration. Conclusion sur les évolutions dans les derniers basebands du constructeur.
    Très bonne présentation, pas mal velue également, mais délivrée, ô merci, à un rythme humainement supportable :)
  • Protéger et défendre le cyberespace militaire : la démarche nationale, par le contre-amiral Arnaud Coustillière. Quelques constats simples. Les attaques et la criminalité informatique font partie du paysage, mais que ce sont vraiment les APT qui préoccupent les militaires. L'espace numérique est un lieu de confrontation. Typologie classique des attaquants. Il décrit un champ d'application très large et une doctrine/approche voulue complète de la "cyber sécurité" par le MINDEF appuyé sur une organisation spécifique et une coopération avec l'ANSSI. On note une forte présence des aspects gestion de crise. Des réponses intéressantes aux questions posées sur les aspects offensifs par exemple.
    Pas mal de contenu informationnel sur une structuration relativement complète et réfléchie du MINDEF dans le domaine, servi par un discours sans grande originalité[5]. D'un autre côté, il n'y a pas trente-six façon d'organiser une défense informatique de manière un tant soit peu rationnelle...

C'en est fini pour cette dixième édition du SSTIC qui, de mon point vue, est un très bon cru qui ne dénote pas par rapport aux précédentes, et tient clairement le pavé face à d'autres évènements.


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

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 ;)

[4] Support de x86, ARM et JVM...

[5] Et je ne parle pas même des slides...