La conférence se tenait au Swissôtel Merchant Court, sur la River, endroit fort sympathique et exceptionnellement bien placé pour mettre à profit les quelques jours de congés pris pour l'occasion.

Jeudi 20 juillet - Jour 1

La conférence s'ouvrait avec un discours de bienvenue de l'organisteur, Thomas Lim, qui passe ensuite la main à Marc Maiffret, Chief Hacking Officer (sic) chez eEye Digital Security pour un Keynote Speech.

  • Marc Maiffret nous a donc entretenu pendant presqu'une heure de l'évolution du monde de la recherche (et de la vente aussi) de vulnérabilités telle qu'on la voit chez eEye. Les efforts de Microsoft, le silence de certains, la mauvaise volonté d'autres, les bras cassés, etc. Rien de bien folichon en fait avec un discours très consensuel en somme.
  • Nish Bhalla ouvrait le bal des talks techniques et de l'analyse de binaire et la recherche de vulnérabilités dans les ISAPI. Très didactique, cette présentation illustrait parfaitement les concepts développé lors de son training.
  • Paul Craig nous a alors entretenu d'unpacking. Qu'est-ce qu'un packer, comment ça marche, pourquoi les méchants s'en servent et, surtout, comment on fait de l'unpacking ? À l'instar de celle de Nish, cette présentation se voulait très didactique. Le dernier chapitre ouvrait sur des techniques plus élaborées, mais ses observations montrent qu'une énorme majorité des obfuscations de code malicieux sont faites par utilisation de packers très simples, souvent dérivés via des modifications minuscules de packers connus et largement diffusés.
  • Après le repas, Hendrik Scholz a fait un passage sur la sécurité de la voix sur IP. Globalement, ça resssemblait quand même pas mal à ce qu'il avait raconté à Cansecwest.
  • Enrique Sanchez nous a présenté un ver de son cru, I-Worm.Fuzzer, capable en particulier de faire automatiquement du fuzzing de binaire pour trouver et exploiter des failles, le tout reposant sur un réseau de neurone. Sur le papier, ça a l'air très joli, d'autant que c'est complété par tout un système de modules, d'un système de communication entre instances basé sur HIVE et quelques autres ingrédients bien sympathiques. Mais concrêtement, on n'a pas vu grand chose à part des déclarations de classes. Donc la question de savoir si ça marche vraiment, en particulier la génération d'exploits, reste pour le moment entière. Ceci étant, la solution de fuzzing automatique présentée est intéressante.
  • Suivait Andre Potas, de eEye lui aussi, avec son speech sur les corrections silencieuses de failles chez Microsoft et autres squelettes dans les placards. Intéressant, mais déjà vu à Cansec également. Idée à retenir : contourner les IDS en utilisant de telles failles, dans la mesure où n'étant pas publiées, elle ne font pas l'objet de signatures dans la plupart des produits...
  • Tout de suite après la pause arrivait le troisième luron de eEye, Barnaby Jack, avec son talk sur l'exploitation de plate-formes embarquées, typiquement des routeurs WiFi. Bon, c'est un peu la troisième fois que je le vois, mais à chaque fois il a le même effet sur l'assistance. Exploitation de la faille UPnP, injection d'un firmware malicieux qui pourrit les fichiers à la volée et paf, pwned. Y'a pas à dire, ça plait.
  • Fin de journée avec Alexander Sotirov et son reverse de binaires Windows. Troisième séance là encore, je vous renvoie à mon compte-rendu de Recon 2006.

Vendredi 21 juillet - Jour 2

  • Ouverture des hostilités avec Fyodor Yarochkin[1] sur YAWATT (Yet Another Web Application Testing Toolkit), un framework distribué d'analyse d'applications web princiaplement basé sur des scénarii d'exploitation. Intéressant.
  • Suivait le talk que tout le monde attendait, Joanna Rutkowska et Blue Pill. Concrêtement, elle a parlé de quoi ? D'abord, elle a explicité une faille qui permet de contourner la protection du mode noyau de Vista. C'est précisément ce qui permettrait à du code mal intentionné de injecter Blue Pill. Mais c'est quoi à la fin cette pillule bleue ? "Juste" un programme qui va d'abord activer les fonctions de virtualisation du processeur, instancier un superviseur et virtualiser à la volée le système d'exploitation. En gros, on passe l'OS en train de tourner du mode hôte au mode VM sans que personne ne s'aperçoive de rien. Boom, pwned again. Franchement, ça en jette... Elle finit sur quleques méthodes pour détecter ou éviter tout ça, principalement la désactivation dans le BIOS de cette fonctionnalité. Ça valait le déplacement.
  • Joachim de Zutter a ensuite détaillé différentes techniques de fuzzing automatique. Manifestement, le fuzzing est devenu une méthode privilégiée de recherche de faille dans les binaires et on voit bien chacun rivaliser d'efforts pour superviser son déroulement automatique.
  • Digestion sur une excellente présentation des vulnérabilités du phone banking et du SMS banking par Marek Bialoglowy. Fraude, vol d'identité, rejeu, scam, phishing, l'expérience du speaker en Indonésie a été manifestement très riche en enseignement dans un pays où ces offres se sont développées très rapidement avec des résultats forcément édifiants du côté de la sécurité. Il n'a évidemment pas manqué de faire le parallèle avec les interfaces Web des banques et des "avancées" poussives qu'on a pu voir dans les systèmes d'authentification et protection des accès des utilisateurs. Enrichissant.
  • Andrew Griffith, co-organisateur de Ruxcon[2], nous a fait panorama des outils et mécanismes de sécurité disponibles pour blinder un Unix en profondeur. Il avait déjà fait cette présentation à Securecon, vous pouvez aller voir ses slides.
  • Angelo Rosiello nous a parlé des problèmes d'écriture dans des espaces mémoire adjacents du fait de la non terminaison des chaînes. Vous pouvez trouver un article qu'il a écrit sur question, Writing behind a buffer. Bonne exploration d'une technique d'exploitation, certes bien connue, des strn*, avec des exemples d'exploitation originaux.
  • Alexander Kornbrust, de Red Database Security, nous a fait un talk très intéressant sur l'implémentation du vers et de rootkits dans les bases de données, en particulier celle sur laquelle il s'éclate[3] : Oracle. C'est très intéressant, je vous invite à aller voir des (vieux) slides en ligne.
  • C'est à Thorsten Holz qu'est revenu la lourde charge de conclure la conférence avec une présentation sur les honeypots. Je vois déjà le sourire narquois de certain(e)s. Et bien figurez-vous que ça faisait longtemps que je n'avais pas vu un bon talk sur le sujet, avec des vrais morceaux de technique et de nouveauté dedans. En gros, nos amis allemands ont semble-t-il abandonné l'idée de capturer le pirate sur le fait pour s'intéresser depuis l'an dernier à la capture et l'analyse automatisée de malwares. Il nous aprésenté les projets Nepenthes et CWSandbox. Le premier sert à capturer les malware en émulant toute une collection de vulnérabilités et de réponses à des techniques d'exploitation. Le second permet l'analyse automatique dans un environnement contrôlé d'un malware lambda. En gros, on installe un Windows dans une machine virtuelle et on lance le code malicieux en lui injectant une DLL qui va tracer toutes ses actions ainsi que celles de sa décendance éventuelle. Un projet qui donne des résultats : plus de 14000 malwares différentes, identification et désactivation d'un gros millier de botnets.

Bref, pas mal de contenu, avec un petit peu trop de déjà vu à mon goût. Ceci étant, la conférence était d'un bon niveau et valait indiscutablement le détour, en particulier le second jour que j'ai trouvé nettement plus intéressant que le premier. Je ne sais pas si les slides seront mis en ligne, en tout cas, au moment où j'écris ces lignes, ils ne le sont pas. Quelques photos sont également en ligne.

Notes

[1] Je précise le nom complet pour bien le différencier du Fyodor de Nmap

[2] Le CFP de Ruxcon, qui se déroule à Sydney en Australie, est sorti la semaine dernière, vous pouvez le trouver sur à peu près toutes les mailing lists de sécurité anglophone, pas très loin de celui de Toorcon

[3] Il a encore publié quelques advisories ce mois-ci...