SSTIC 2012 - Présentations Courtes
Netusse: kernel fuzzing since 2006
par @_clem1(sources ici erf… non c’est là)
Fuzzer écrit pendant le GSOC 2006 sur la sécurité de la stack ipv6 freebsd. le fuzzer à été en suite porté sur différentes plateformes et amélioré. L’auteur à amélioré son fuzzer en l’utilisant pour retrouver des vulnérabilités connues, ce qui lui à permis de découvrir de nouvelles vulns.
L’outil prend des sockets au hasard, cause avec pour activer certains chemins du code, puis viens balancer son fuzz. Un moniteur check les kernel oops et les kernel panic pour détecter quand un fuzz s’avère efficace. Les tricks utilisés sont intéressants, notamment au niveau de l’oracle qui viens faire des diff sur les sorties du kernel à l’aide d’un grand nombre d’options de debug du noyau.
S’en suit l’analyse d’une vulnérabilité pas encore patchée mais dont les informations utiles ont été « anonymisés », challenge pour l’assemblée : retrouver la faille malgré tout :p. L’auteur s’est basé sur des techniques décrites dans phrack.
Vérification de code système par typage statique
par Etienne Millon
L’objectif est d’utiliser les techniques de typage statique employé dans les langages de type haskell ou caml, mais à du code système. L’idée c’est de venir typer par exemple les pointeurs, pour distinguer les pointeurs utilisateur et les pointeurs appartenant au noyau, pour éviter l’exploitation de failles d’escalade de privilèges par déréférencement de pointeur.
L’auteur nous explique ainsi comment il analyse le typage (NDLR: tout ceci avec des trucs que j’ai pas vu depuis la fac…) à partir du code source.
Le système a bien entendu des limitations puisqu’il s’agit d’un travail en cours. Le proto est dispo sur http://penjili.org/ sous licence lgpl
Détection de domaines malveillants par analyse sémantique et mathématique
par @yenos
L’idée c’est de détecter les dns utilisé par les malwares pour prendre contact avec le le canal de C&C. avant ces noms de domaines étaint hardcodés dans les binaires, mais maintenant ils sont générés à partir d’un algorithme. A l’aide de plusieurs moteurs d’analyse. Un premier est basé sur les résultats de reverse des DGA (Domain Generation Algorithme). Un autre sur les filtres bayaisiens, un sur les mesures de distances et l’entropie de shannon (NDLR: tout ceci illustré de façon fort sympatique). le tout sert à établir un scoring plutôt efficace pour un début de projet.