John
Graham-Cumming répond aux questions de Halte au Spam
Halte
au Spam :
Bonjour John. Qui êtes-vous ?
John
Graham-Cumming :
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.
Halte
au Spam :
Vous êtes l'auteur de POPFile,
l'un des filtres anti-spam utilisant l'algorithme de Bayes
les plus performant – 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 ?
John Graham-Cumming : 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 –
il est basé sur le bayésien – 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.
Halte
au Spam : Quelles étapes majeures a connu votre développement
?
John Graham-Cumming : 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.
Halte
au Spam : Quelles sont vos réflexions concernant
l'apprentissage, et notamment l'aging des tokens ?
John
Graham-Cumming :
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 – avec
une dispositif approprié de purge – 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.
Halte
au Spam : 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 ?
John
Graham-Cumming :
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.
Halte
au Spam : Sur quelles améliorations portez vous actuellement
votre effort ?
John Graham-Cumming : 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.
Halte
au Spam : Votre outil est-il efficace contre le phishing
et les malware ?
John
Graham-Cumming :
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.
Halte
au Spam : Il est difficile de comparer l'efficacité
respective des filtres anti-spam. Sur ce sujet, vous diffusez
des informations intéressantes.
John
Graham-Cumming :
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).
Halte
au Spam :
Sommes nous encore loin d'un protocole de test commun pour
obtenir des comparatifs pertinents ?
John
Graham-Cumming :
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
– je le crois – 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.
Halte
au Spam :
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é
?
John Graham-Cumming : 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.
Halte
au Spam : Aviez-vous considéré d’autres
bases que l'algorithme de Bayes ?
John
Graham-Cumming :
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.