Cédric
Foll répond aux questions de Halte au Spam
Halte
au Spam :
Bonjour Cédric. Qui êtes-vous ?
Cédric
Foll :
Je suis Ingénieur Sécurité et Réseau,
de formation universitaire (INSA Rouen, avec une dernière
année à Concordia University – Canada)
et actuellement Responsable de la Sécurité
du Système d’Information du Rectorat de Rouen.
Halte
au Spam :
Vous avez été distingué lors de l’édition
2006 des Trophées des RSSI pour votre développement
d’un filtre qui empêche la visite de sites Web
pornographiques. Avant de décrire vos travaux, pouvez-vous
nous synthétiser la problématique traitée
?
Cédric
Foll :
Notre infrastructure informatique permet à environ
20.000 postes d’accéder au Web. Pour des raisons
légales (protection des mineurs), l’accès
à des sites choquants ou illégaux doit être
prohibées, tout en veillant à ne pas gêner
la navigation dans le cadre de travaux d’étudiants
(dans le domaine médical, par exemple).
Je souhaitais disposer d’un outil permettant d’analyser
les logs provenant de nos Squid en place dans le rectorat
(Lycées, Collèges, et dans une moindre mesure
les écoles primaires) afin d’identifier les
sites Web à caractères pornographiques, en
se basant sur une analyse des mots contenues dans ces pages.
La liste des sites Web ainsi repérés est injectée
dans les listes noires de ces Squid, afin d’en interdire
l’accès.
Après
avoir expérimenté sans succès un dispositif
à base de réseaux de neurones visant à
calculer la distance des couleurs des photos figurant sur
la page Web par rapport à la couleur chair (taux
de reconnaissance trop limité, de l’ordre de
60%), je me suis rapidement orienté vers l’algorithme
bayésien.
J’ai
estimé que cette approche pouvait être appliquée
avec profit dans l’identification de pages Web à
caractère pornographique, ces sites comportant un
champ lexical très typé et recherchant une
visibilité maximale, notamment pour améliorer
leur référencement.
Halte
au Spam :
Qu’elle a été votre démarche
?
Cédric
Foll :
J’ai d’abord écarté CRM114,
jugé trop lent. Puis nous avons réalisé
une maquette probatoire, sur base de Bogofilter,
écrit en C. Le jugeant peu adapté à
l’analyse de pages Web (token trop limité et
pas conçu pour le traitement HTML), nous lui avons
adjoint un pré-traitement de notre conception, afin
de lui fournir des token mon-clé et bi-clé.
L’information recueillie consiste en une base de données
et le scoring (taux de « spamicité »).
En
parallèle, et avant de se lancer dans un développement
plus lourd, je me suis penché sur les outils commerciaux,
dont j’ai testé deux représentants.
Nous avons jugé leur coût prohibitif, car indexé
sur le nombre d’utilisateurs. De plus, leur détection
temps réel était décevante et leur
liste noire comparable à celle dont disposent les
équipes spécialisées de l’Éducation
nationale, concernant les sites à caractères
pornographiques.
Je
me suis ensuite fait assisté de Nicolas Peyrussie,
que j’ai chargé, dans le cadre d’un stage
d’intégrer, les deux composants (l’étage
de prétraitement et Bogofilter). Dans un premier
temps, cette intégration a été réalisée
sous Ruby. Il s’agit de la version actuellement en
production, qui a été publiée en OpenSource
sous GPL, sous l’appellation PornFind.
Halte
au Spam :
A quelle étape en êtes-vous actuellement, et
pouvez-vous nous donner plus de précisions ?
Cédric
Foll :
Nous travaillons actuellement à finaliser le portage
de notre développement sous C (basé sur Flex),
avec une base Berkeley DB pour stocker la base de connaissances.
Cette version manque encore de stabilité et ne peut
être mise en production en l’état.
L’analyse
des logs Squid se fait en horaire décalé (toute
les nuits). Le filtre fournit alors un score (entre 0 et
100%). En dessous d’un seuil de 60%, le site est déclaré
légitime. Entre 60 et 95%, un rapport est adressé
à l’équipe d’exploitation, chargée
de catégoriser le site. Au delà de 95%, le
site est automatiquement ajouté à la liste
noire, avec vérification humaine par sondage. Nous
avons défini ces seuils de manière empirique,
par tâtonnements.
Malgré
les performances de notre filtre, l’intervention humaine
est toujours requise, quelques faux positifs étant
encore relevés dans cette dernière catégorie.
Le
filtre, en fonction depuis deux ans, supporte actuellement
environ 100 millions de hits par jour. Chaque jour, environ
30.000 sites Web sont visités, dont un millier de
nouveaux sites Web qui sont ainsi soumis à analyse
différée : une centaine d’entre eux
appartiennent à la catégorie recherchée.
Halte
au Spam :
Est-ce le seul mécanisme de filtrage utilisé
?
Cédric
Foll :
Non. Cette analyse a posteriori est complétée
par un filtrage en temps réel, réalisé
par DansGuardian, au niveau des Squid. Cette étape
comprend une analyse heuristique du titre de la page et
du texte, ainsi qu’une analyse tri-clés de
ses meta-tags. Cette double analyse est limitée au
début de la page, pour des raisons de performances.
Malgré cette limitation, les éléments
pris en compte sont très discriminants (en positif
comme en négatif) pour l’objectif poursuivi.
Cette analyse est rapide et relativement économe
en ressources. Selon le score produit, l’accès
est soit autorisé, soit interdit. Actuellement, le
seuil discriminant est le même pour tout les établissements
du rectorat.
Si le score produit par ce filtrage temps réel est
trop élevé, une page de refus est imposée
à l’internaute. En cas de faux-positif, celui-ci
peut le signaler à l’équipe d’exploitation
qui apporte la correction nécessaire très
rapidement. Cette correction est également poussée
vers les différents proxy du rectorat. Nous avons
donc opté pour une approche Train on Error.
En
cas de doute, priorité est donnée à
l’interdiction d’accès. Au final, la
décision revient au chef d’établissement.
Halte
au Spam :
Etes-vous satisfait des résultats obtenus ?
Cédric
Foll :
Globalement oui. Sur la centaine de nouveaux sites pornographiques
dont la visite est été tentée chaque
jour, la moitié d’entre eux est bloquée
à cette étape (l’autre moitié
l’est le jour suivant, après analyse a posteriori).
Grâce
à notre filtre, nous repérons régulièrement
l’apparition de nombreux nouveaux sites pornographiques,
hébergés notamment sur des pages personnelles
et se présentant comme des services d’escort
girl.
On
note également que les sites à caractère
médicaux sont correctement reconnus en tant que tels,
principalement grâce à l’analyse bi-clé.
Halte
au Spam :
Quelles sont les limites du dispositif actuel, et quelles
améliorations envisagez-vous ?
Cédric
Foll :
Très bien adapté à l’identification
des pages à caractère pornographique, notre
filtre n’est pas destiné à catégoriser
d’autres types de sites Web (jugés « non productifs », dans le cadre d’entreprises
par exemple).
Je
dois ajouter que, faute de phase d’apprentissage suffisante,
le filtre commet actuellement quelques faux-négatifs
concernant des sites pornographiques conçus dans
des langues non européennes, telles le chinois ou
l’arabe. Mais le filtrage bayésien étant
insensible à la langue, ces faux négatifs
vont régresser au fil de l’apprentissage. Pour
accélérer celle-ci, il est envisageable de
nous procurer une liste de sites pornographiques de ce type
auprès d’universités chinoises et de
langue arabe.
Par
ailleurs, le filtre bayésien, dans son implémentation
actuelle, semble moins efficace dans l’analyse de
pages de type Blogs, qui se distinguent par l’absence
de meta-tags et par un texte plus long (le ratio texte/texte
HTML est plus important que sur des pages Web traditionnelle).
Dans l’attente d’une amélioration visant
à optimiser le filtrage de ce type de pages, j’ai
proposé le blocage pur et simple de certains sites
de blogs hébergeants un
grand nombre de pages posant problèmes.
Je
vise également l’amélioration de l’étage
d’analyse en temps réel : j’étudie
actuellement l’algorithme de Spamassassin « Stochastic Gradient Descent ».
Halte
au Spam :
Et concernant la charge d’exploitation ?
Cédric
Foll : Elle est jugée minime, car elle se réduit
à quelques minutes chaque jour pour répondre
aux demandes d'utilisateurs (ajout et suppression de sites).
J’envisage toutefois d’ajouter une interface
graphique pour la gestion des filtres, afin d’en faciliter
l’utilisation par des non-informaticiens.
De
plus, avec l’arrivée prochaine de la nouvelle
version de DansGuardian, le niveau de filtrage en temps
réel sera propre à chaque établissement
(décision du chef d’établissement).
Halte
au Spam :
Etes-vous optimiste pour l’avenir ? Votre dispositif
pourra-t-il suivre les adaptations de l’Internet et
des usages ?
Cédric
Foll :
Compte-tenu des contraintes que s’imposent les auteurs
des sites pornographiques pour attirer leur clientèle,
le filtrage bayésien – qui a fait ici ses preuves
– ne devrait pas être remis en cause. Avec les
améliorations envisagées, l’efficacité
du filtre devrait même s’améliorer et
sa charge d’exploitation diminuer.