Spam, phishing et filtrage bayésien

To the non-french speaker, note that you can translate the articles using the Google Trad widget situated at the bottom of all pages.


Par le passé je vous ai montré comment faire pour rediriger une personne sur un site factice dans le but de lui faire entrer ses identifiants et donc lui voler son compte (via la faille XSS). C’est une technique de phishing et il en existe beaucoup d’autres.

Le phising (ou hameçonnage en français) est une technique permettant d’obtenir des informations sur une personne dans le but de falsifier son identité. Vous en avez déjà été témoin si vous avez reçu ce genre de mail :

pb

Autant vous dire que ce n’est pas une mise à jour que vous allez télécharger mais un bon gros trojan. Alors premièrement pour ceux qui ne le savent pas, jamais une banque ou un service quelconque ne vous demandera vos identifiants. JAMAIS !

Ensuite on peut facilement détecter que ces mails sont des faux. La première chose à faire c’est de vérifier si le mail est rempli de fautes d’orthographes. En général les faux mails sont bourrés de fautes. Ensuite vous devez vérifier l’adresse mail de l’expéditeur du mail.

Eh oui, les pirates tenteront de falsifier leurs mails de la meilleure façon possible et cela va jusqu’à l’utilisation d’une adresse mail proche de celle du service qu’ils falsifient.

Je m’explique, si la Banque populaire utilise ce genre d’adresse mail :

service.client@banque-populaire.fr

Alors les pirates utiliseront probablement celle-ci :

service.client@banque-populaiire.fr

Si vous êtes un minimum attentif vous avez remarqué que le « i » est doublé dans la deuxième adresse. Mais est-ce que dans la précipitation vous feriez attention? Et puis même, il suffit que le pirate utilise un nom de domaine différent pour vous duper :

service.client@banque-populaire.com

Honnêtement, qui ferait la différence?

Alors je vous entends déjà me dire que ces mails sont des spams et que vous disposez de filtres anti spam dans vos boites mails. C’est vrai, il existe de nombreux types de filtre anti spam. Mais comme toutes les sécurités en informatique ils sont contournables !

II/Le filtrage bayésien

Le filtrage bayésien est une de ces techniques. Concrètement l’algorithme va calculer la probabilité qu’un mot soit utilisé dans des mails de type spam en se basant sur sa fréquence d’apparition dans les mails.

Le filtrage bayésien se déroule en deux étapes.

apprentissageLa première c’est la phase d’apprentissage.

L’utilisateur, lorsqu’il va recevoir un mail, va indiquer si celui-ci est un spam ou un ham (la différence étant qu’un ham est un mail désiré tandis qu’un spam ne l’est pas).

Dans les deux cas, les mots contenus dans le mail vont être stockés dans une base de données.

Ensuite un calcul de probabilité sera fait pour chaque mot afin de déterminer s’il y a de grandes chances de le retrouver dans des spam ou dans des ham.

Prenons un exemple concret, vous recevez un mail vous promettant de gagner 10 000 euros si vous remplissez un formulaire. En tant qu’utilisateur averti vous savez que c’est un spam donc vous le classez dans le dossier spam. A partir de là chaque mot va être stocké dans une base de données. Dans ce genre de mail vous allez retrouver des mots comme « gain », « argent », « incroyable » etc… Ces mots étant présents en masse sur les mails de type spam on va partir du principe qu’il y a une grande chance que dès que l’on voit un de ces mots, ce soit sur un spam.

traitementLa seconde étape c’est la phase de traitement.

Là, on va calculer la probabilité qu’un message soit un spam (ou non) en se servant des probabilités d’apparition des mots.

Si sur un message de 50 mots vous en avez 25 qui reviennent souvent dans les courriers de type spam alors on pourra rapidement en conclure que ce mail est un spam.

Et c’est là qu’est la faille dans cette méthode de filtrage.

En effet, une première technique pour bypass ce filtre est de noyer le texte principal (celui qui constitue le spam). Reprenons notre exemple, si vous avez un mail de 50 mots et que 25 ont une réputation de « mots à spam » alors vous avez 50% de votre mail qui est représentatif d’un spam.

En revanche si votre mail fait 250 mots, alors vous n’avez que 10% de votre mail qui est représentatif d’un spam. Et 90% qui est représentatif d’un ham. Comment duper l’algorithme de filtrage alors ? Eh bien il y a plusieurs techniques. Vous pouvez commencer par créer un contexte à votre mail. Si vous voulez usurper une ONG alors une bonne idée serait de d’abord raconter l’histoire de l’ONG puis donner des chiffres et enfin faire la demande d’argent.

La seconde est d’écrire le spam dans une couleur visible et d’écrire par la suite un texte inutile en blanc sur fond blanc (invisible donc).

Enfin vous pouvez aussi envoyer une image qui contient votre spam. Dans ce cas là vous n’aurez pas de problème à contourner le filtre (sauf si vous utilisez trop d’images, dans ce cas là votre mail sera considérer directement comme un spam).

Morale de l’histoire, il est possible de bypass le filtrage bayésien faites donc toujours attentions aux mails que vous recevez. Dites vous que les mails sont les causes principales d’infection via des trojan. Pourquoi un pirate prendrait du temps à décrypter le fonctionnement d’un système et le casser alors qu’il peut tout simplement envoyer un mail déguisé qui contient le trojan?


Encore une fois je souhaite remercier mes amis du groupe 208, je n’aurais probablement jamais pensé à faire un article sur ce sujet s’ils n’avaient pas fait un aussi bon travail de recherches en amont.

N’oubliez pas qu’un pirate, avant de forcer un système, tentera toujours d’exploiter la plus grande faille de sécurité informatique : la faille humaine.

Je publierai plus tard une deuxième partie (probablement sous la forme d’une vidéo) ou je tenterai de forcer le filtrage mail de ma boite mail 😉 !

Un commentaire

Répondre à Anass Annuler la réponse.

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l'aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s