La thèse a été réalisée au LAAS[1] sous la direction de Mohamed Kaâniche et Vincent Nicomette. C'est d'ailleurs à ce dernier que je dois de figurer au jury et l'en remercie bien bas. Ce jury se composait de ces deux encadrants, de Marc Dacier (Eurecom), Ludovic Mé (Supélec Rennes), Pierre Paradinas (INRIA) et moi, le tout présidé par Yves Deswarte (LAAS).

En gros, on peut séparer sa thèse en deux partie.

La première est un étude probabiliste et statistique sur les données reccueillies par la projet Leurré.com. En particulier, il essaye de modéliser l'intervalle de temps entre deux attaques. Il y parvient en combinant deux approches, permettant de tenir à la fois compte du bruit de fond et des pics d'attaque. Évidemment, les applications de ces résultats demandent encore du travail, mais il y a probablement quelque chose à faire pour construire un Early Warning System basé sur l'analyse du trafic dans son ensemble plutôt que sur ses particularités.

Il a aussi travaillé sur les corrélations qui peuvent exister entre différentes sources de données distinctes, ainsi que sur la propagation des attaques entre les sites, mais ces résultats posent plus de questions qu'ils n'en apportent. En particulier, pourquoi peut-on trouver une forte corrélationd entre deux sites géographiquement lointains, aux adressages distincts, et pas les autres ? Ça laisse toujours du grain à moudre pour les autres.

La seconde partie porte sur une architecture de honeypots à haute interaction développée spécifiquement pour ces travaux et présentée lors du SSTIC. L'appât est un accès SSH avec des comptes figurant dans les dictionnaires des outils de brute-force courants. Il étudie donc les scans, les accès au service et les actions effectuées par les attaquants une fois dans la place. Parmi les résultats, il y en a un qui me parait particulièrement intéressant.

Si on appelle E0 l'ensemble des adresses ayant scanné les pots de miel, E1 l'ensemble des adresses ayant tenté une attaque par dictionnaire et E2 l'ensemble des adresses ayant accédé au service en dehors d'une attaque par dictionnaire, on s'aperçoit que E0, E1 et E2 sont trois ensembles disjoints. Si on ajoute l'ensemble des adresses figurant dans les données Leurré.com, qu'on va appeler E3, on constate que E0 et E3 ont un intersection non nulle, mais que E1, E2 et E3 sont également disjoints. Qu'est-ce que cela veut dire ? Que les attaquants qui se sont intéressés à ces accès SSH sont organisés. Ils ont des machines pour découvrir les services par scan de port, des machines pour lancer les attaques par dictionnaire et enfin des machines pour réaliser l'intrusion proprement dite.

En outre, sur deux cent intrusions constatées, la moitié semble le fait d'humains, la seconde moitié le fait de scripts. La première chose faite est de changer le mot de passe du compte. Pas discret. Par contre, les contenus rapatriés sur la box sont plus ou moins bien dissimulés dans des répertoires cachés, genre ". ". Apparemment, toutes les connexions effectuées après le changement du mot de passe viennent du même pays d'Europe de l'Est... L'achitecture en question interdisait les connexions sortantes. Les deux tiers des intrus se cassent les dents en wget et autre ftp, les autres pensent à pousser leurs outils en scp, seul méthode possible. Ce qu'ils font du compte ? De nouveaux scans SSH, des bots IRC. Quelques uns tentent une élévation de privilèges, un a tenté un phishing. Par contre, aucun n'a vérifié la présence d'un honeypot, aucun n'a tenté un rebond et aucun n'a tenté de dissimuler ses traces en s'attaquant aux journaux d'activité. Enfin, l'étude des dictionnaires utilisés montrent qu'ils sont contruits sur des bases communes stables et qu'ils varient peu.

Je ne sauterai pas sur ces constatations pour émettre des hypothèses, comme celle que ces attaquants sont des scripts kiddies. C'est sûrement le cas de certains d'entre eux, mais il me semble tout de même hasardeux de conclure sur un comportement quand on ne connait ni le contexte, ni le but de l'attaque. Par exemple, si ces gens récupère ainsi des milliers de machines et les utilisent depuis d'autres machines compromises, la furtivité ne doit pas être un soucis majeur compte-tenu du taux de réussite d'une part qui leur assure un fond de roulement important et des faibles chances de se faire tracer. Cependant, la provenance très ciblés des connexions après changement de mot de passe tempère quelque peu ce dernier point.

Bref, ce que j'ai apprécié dans cette thèse, c'est la méthode. Toutes les approches sont méthodiques et carrées. C'est ce qui, je pense, a empêché l'auteur d'aller se perdre dans les détails, piège classique des honeypots, en particulier quand on travaille avec des outils à haute interaction. Bref, il a eu sa thèse haut la main. Maintenant, je ne sais pas si le mémoire sera disponible en ligne, en tout cas, s'il l'est, je vous en recommende la lecture. Qui sait, ça pourra peut-être inspirer quelques travaux bien sentis (ou pas). Et puis il faudra bien un jnour où l'autre mettre à l'épreuve cette architecture de rebond dont l'implémentation me laisse toujours aussi dubitatif, même si je ne doute pas qu'elle fonctionne.


Sinon, en parlant de lecture, faites un détour par ce papier de Fernando Gont sur la randomisation des ports client, aussi connus sous le doux nom de ports éphémères. À l'instar de son papier présenté à Cansecwest en 2005 sur les dénis de services sur TCP par messages ICMP, il remue là des choses qui datent, mais qui n'ont pourtant fait l'object d'aucune autre tentative de standardisation.

Notes

[1] Laboratoire d'Analyse et d'Achirecture des Systèmes.