SSTIC 2012 - Présentations courtes

Elsim + Androguard : détection de bibliothèques par Anthony Desnos

Elsim est un outil permettant d’effectuer des mesures de similarités entre divers élèments de code comme le flot de contrôle. Ainsi une signature est générée à partir du graph de flot de contrôle et des appels à des API incontournables (syscall, api google). Et à l’aide d’algorithmes de compression, on vient mesurer la distance entre chaque signature.

Ainsi on peut, en comparant une lib de pub avec un jeu connu, on peut trouver en itérant sur chaque version d’une application, quelle version utilise quelle lib.

Ainsi, à l’aide de ce système de mesure, il est possible de comparer classe par classe ou lib par lib la différence entre deux versions d’une application Android. L’analyse d’angrybirds à permis à l’auteur d’identifier les lib de publicité employés dans les différentes versions du jeu.
Durcissement de programmes C avec SIDAN

Dissecting Web Attacks Using Honeypots, par Davide Canali

500 sites webs ont été mis en ligne avec 7 CMS chacuns chez les plus gros hébergeurs disponibles.
Les accès à ces CMS ont été collecté au traverès d’un script proxy sur la plateforme d’hébergement. Ainsi le traffic était redirigé vers les locaux d’eurecom dans des VM du laboratoire. Ce qui à permis à l’auteur d’obtenir des logs raw complets (get/post/headers & cie). Et de firewaller les vm pour que l’attaquant n’attaque pas d’autres sites. 

Divers liens ont été placé entre les CMS pour voir si les attaquants suivent les liens présents sur les sites pour choisir leurs cibles.

Les sites ont servi soit de shell distant, pour du phishing, du link farming, du spam ou l’hébergement de drive by download et d’admin de botnets sans compter les defacements.

Durcissement de programmes C avec SIDAN par Pierre Karpman

Objectifs : chercher les propriétés invariantes sur l’état du logiciel, intrumenter le logiciel avec des assertions exécutables dérivées des invariants, détecter des attaques quand les assertions échouent à l’exécution. Une approche similaire à Rrabbids présenté l’an dernier  à SSTIC. l’outil est basé sur Frama-C

Les invariants sont placés dans le flot de contrôle et le flot de donnée, ce qui permet de détecter les buffers overflow, les injections de code mais qui s’avère couteux en terme d’instrumentation. la solution choisie, c’est de regarder la cohérence de la valeur des données utilisés dans les appels de fonction. Ainsi on réduit le volume de code instrumenté et donc surveillé par les invariants.

Pour éviter les faux positifs, les auteurs surapproximent le domaine de variation de la variable, tout en restant raisonnable.