Qualys

Security CommunityLa communauté des experts sécuritéen savoir plus

SecurityVibesQualys Community

Left content

Interview de John Graham-Cumming, l’auteur du logiciel antispam PopFile

auteur de l'article Aurélien Cabezon , dans la rubrique Menaces

Commentaires Commentaires fermés sur Interview de John Graham-Cumming, l’auteur du logiciel antispam PopFile

John Graham-Cumming, l’auteur du logiciel antispam PopFile répond aux questions de Bruno Rasle et Frédéric Aoun, les auteurs de l’ouvrage Halte-Au-Spam.


Bonjour John. Qui êtes-vous ?

J’ai décroché un BA/MA en mathématiques et en sciences de l’informatique à l’université d’Oxford. J’y suis resté pour y ajouter un doctorat en sécurité informatique.

Je me suis ensuite investi dans le domaine de la modélisation de réseau, dans lequel je détiens deux brevets. Plus récemment, j’ai travaillé pour la société Electric Cloud sur l’optimisation de la compilation des programmes les plus importants, en utilisant des techniques de parallélisation. Je suis également membre de l’advisory board de Virus Bulletin.

Britannique, et après avoir longtemps vécu aux Etats-Unis, je vis désormais à Toulouse, en tant que consultant indépendant.

Vous êtes l’auteur de POPFile , l’un des filtres anti-spam utilisant l’algorithme de Bayes les plus performant a et totalement gratuit. Pouvez vous nous dresser un bref historique de vos travaux sur ce sujet ? Comment êtes vous venu à vous intéresser au Spam ?

En 2001, en tant que vice-président de l’entreprise pour laquelle je travaillais, je recevais énormément d’emails. Il me semblait qu’il devait exister une façon plus rationnelle pour les trier au fur et à mesure de leur réception que les fastidieuses règles manuelles. J’ai donc recherché une solution automatique et l’un de mes collaborateurs m’a orienté vers iFile. J’en ai apprécié le principe a il est basé sur le bayésien a mais pas l’implémentation. J’en ais donc réécrit une version pour Outlook que j’ai nommé AutoFile.

Puis courant 2002, suite à une discussion sur le newsgroup grc.spal, j’ai décidé de transformer ce filtre en un proxy POP3 générique. C’est ainsi qu’est né POPFile.

A l’origine, je ne m’intéressais pas au Spam. Pour moi, c’était juste une catégorie comme une autre, que POPFile pouvait catégoriser. Mais très rapidement, j’ai réalisé qu’il était particulièrement performant pour s’en protéger. C’est alors que j’ai commencé à me pencher sur les spams proprement dits pour optimiser leur filtrage…

Lors de la première Spam Conference qui s’est tenue au MIT en 2003, j’ai présenté les informations que j’avais accumulées. J’avais intitulé mon intervention The Spammers’ Compendium . J’ai conservé cette même appellation pour une page de mon site Web, dans laquelle je signale les nouvelles  » astuces  » techniques utilisées par les spammeurs.

J’ai ensuite développé une librairie logicielle, nommée polymail, que je vends principalement en OEM. Plusieurs produits commerciaux embarquent aujourd’hui mon moteur.

Quelles étapes majeures a connu votre développement ?

Pour la toute première version de POPFile, tout devait être fait en ligne de commandes ! Il a donc fallu très rapidement que j’ajoute une interface digne de ce nom, de type Web.

Parallèlement, mes découvertes à chaque analyse des techniques utilisées par les spammeurs m’ont conduit à perfectionner mon filtre. L’une de ces améliorations majeures a été l’introduction des pseudowords. Un pseudoword n’est pas vraiment un mot, mais un élément d’information (comme la date d’émission de l’email) ou le fait que le message comporte un texte écrit en rouge. Ces pseudowords se sont révélés très importants pour gagner de la précision dans le filtrage.

L’étape majeure suivante a été l’ajout d’un parseur HTML, écrit par Sam Schinke. Grâce à lui, POPFile a pu analyser en profondeur toutes les astuces utilisées par les spammeurs en ce domaine.

Enfin je me suis attaqué à une version multi-utilisateurs. La prochaine version majeure supportera des comptes séparés dans la base de données et sur l’interface.

Quelles sont vos réflexions concernant l’apprentissage, et notamment l’aging des tokens ?

POPFile n’apprend de lui-même que quand l’utilisateur lui signale une erreur. Il n’affecte donc aucun âge aux tokens. On appelle Train On Error ce type de comportement.

D’autres filters anti-spam, comme DSPAM et ma propre librairie logicielle commerciale polymail supporte une autre méthode, dénommée Train On Everything, dans laquelle chaque message participe de l’apprentissage. Bien sûr, le filtre tient compte aussi des corrections indiquées par l’utilisateur.

Pour supporter ce mode de fonctionnement, DSPAM et polymail affectent un âge aux tokens. Mais alors que DSPAM utilise un dispositif complexe base sur SQL pour supprimer les tokens en fin de vie, j’utilise sur polymail un dispositif plus simple de fenêtre glissante qui me permet de ne tenir compte que des jetons les plus récents.

Je pense que le mode Train On Everything a avec une dispositif approprié de purge a est en fait plus performant que le mode Train On Error. Mes tests le prouvent. L’une des solutions commerciales qui embarque polymail atteint un taux de capture supérieur à 99%, avec un taux de faux-positifs très bas.

D’après-vous, est-il possible d’obtenir de bons résultats face au spam avec un filtre bayésien, dès son installation et sans procéder à une phase d’apprentissage ?

Oui. C’est l’un des avantages du mode Train On Everything. Les implémentations commerciales de polymail sont livrées avec une base préchargée, ce qui évite désormais à l’utilisateur d’avoir à entrainer son filtre.

Les premières générations de filtres bayésiens utilisaient principalement le mode Train On Error, à cause de sa simplicité. Bien sûr, j’ai intégré dans polymail plusieurs techniques pour s’assurer du bon fonctionnement du mode Train On Everything. Je peux ainsi vous dire que l’apprentissage n’est pas systématique… J’ai traité ce thème lors de mon intervention au MIT Spam Conference de 2004.

Sur quelles améliorations portez vous actuellement votre effort ?

Je suis focalisé sur la version multi-utilisateurs de POPFile, qui est un projet open source.

Concernant polymail, l’objectif idéal est bien sûr d’atteindre un taux de capture de 100% et un taux de faux-positifs de O%. La librairie en elle-même donne d’excellents résultats : elle est précise, rapide et prend peu de ressources. Tout réside désormais dans l’observation et l’analyse des nouvelles techniques utilisées par les spammeurs.

Votre outil est-il efficace contre le phishing et les malware ?

Le moteur HTML de POPFile identifie sans problème les URL signalés dans les messages de phishing. POPFile filtre également les vers véhiculés par les emails. Ainsi Martin Overton, chercheur indépendant qui travaille pour IBM Research, l’a utilisé de façon probante en tant que filtre anti-virus et démontré qu’il peut apprendre et suivre les différentes mutations d’une menace. Lors de l’édition 2004 de la conférence Virus Bulletin il a présenté ses travaux sous le titre Canning More Than SPAM With Bayesian Filtering .

Il est difficile de comparer l’efficacité respective des filtres anti-spam. Sur ce sujet, vous diffusez des informations intéressantes.

Ma lettre d’informations comprend effectivement ce que j’appelle l’Anti-spam Tool League Table. Pour l’obtenir, je calcule pour chaque filtre un Spam Hit Rate (pourcentage des spams bloqués par le filtre) et un Ham Strike Rate (pourcentage des messages valides bloqués par erreur).

Sommes nous encore loin d’un protocole de test commun pour obtenir des comparatifs pertinents ?

Le livre de Jonathan Zdziarski, Ending Spam: Bayesian Content Filtering and the Art of Statistical Language Classification, comprend un chapitre très intéressant sur ce sujet et j’ai été récemment consulté par la société VeriTest qui a je le crois a réalise un travail sérieux dans ce domaine.

Les travaux les plus intéressants sont ceux de Gordon Cormack, de l’Université de Waterloo, au Canada. Les résultats de ses tests comparatifs ont été présenté à la conférence TREC lors du NIST de novembre 2005.

Vous maintenez également le site The Spammers’ Compendium, qui dévoile les dernières pratiques utilisées par les spammeurs. Les spammeurs sont-ils réellement ingénieux ? Quelles sont les  » astuces  » qui vous ont le plus marqué ?

J’ai commencé par analyser mes propres spams et à publier mon analyse. Très rapidement, j’ai commencé à recevoir des analyses effectuées par d’autres auteurs de filtre et par des grands noms du monde de l’email, comme Yahoo! Mail.

J’avoue avoir été surpris début 2003 par la technique dite Slice and Dice dans laquelle le spammeur montre son expertise dans le domaine HTML ; le message est découpé de telle façon qu’il est affiché normalement mais qu’il gêne certains filtres.

Actuellement, on observe un certain ralentissement de l’apparition de nouvelles astuces.

Aviez-vous considéré d’autres bases que l’algorithme de Bayes ?

POPFile utilise du Naive Bayesian. La raison en est extrêmement simple ; c’est facile à implémenter, c’est très rapide et ça donne de bons résultats. Il existe beaucoup d’autres algorithmes basés sur l’apprentissage, mais de façon générale, il semble qu’ils s’avèrent plus lents.

Pour polymail, j’ai retenu un inverse chi-square que j’ai combiné avec une analyse probabiliste afin d’obtenir une précision accrue et abaisser le taux de faux-positifs.


Vous avez aimé cet article?

Cliquez sur le bouton J'AIME ou partagez le avec vos amis!

Notez L'article

Participez ou lancez la discussion!

Les commentaires sont fermés.

Catégories

Étiquettes

Archives

Ce site est une archive des messages à SecurityVibes de Septembre 2000 à Juillet 2014. S'il vous plaît visitez le Qualys Community pour les dernières nouvelles.