Bypasser les filtres anti-spam : L'homographie

30 July 2012 · #sécurité, #spam

Ceci est un article purement éducatif. Il n'a pour objectif que vous prévenir et vous mettre dans la capacité de reconnaitre un spam.

La technique que je vais vous dévoiler permet au spammeur de bypaser les filtres anti-spam. Les homographes sont des lettres qui ressemblent fortement mais n'ont pas le même Unicode. Comme, par exemple, le "0" zéro et le "O" oh majuscule. Le "1" un, le "I" i majuscule et le "l" elle minuscule.

Comment marche un filtre anti-spam

Pour déterminer si un message est un spam ou non, le filtre lui attribue un score en fonction du quel il tranche si c'est du spam. Cette analyse se base sur trois points :

  1. La provenance du message : Les filtres vérifie si le message provient d'un réseau de confiance.
  2. L'outil utilisé pour envoyer le message : Les filtres cherchent des indices dans l'entête du message.
  3. Le contenu du message : C'est ce qui nous intéresse le plus. Ici le filtre cherche dans le contenu du message des phrases comme "CLICK HERE" ou les fameux "FREE! BUY NOW" mais aussi :
    • Si le message parle trop d'argent
    • Décrit une sorte de découverte
    • Ressemble à de la pub
    • Contient un truc super urgent
    • Garantit satisfait ou remboursé

Comment les spammeurs bypass les filtres anti-spam

Il existe des symboles en grec et en cyrillique qui ressemblent à certains caractères latins mais qui n'ont pas les mêmes Unicode. Par exemple "CLICK HERE" en latin est détectable, mais "СLIС НЕRЕ", qui contient des caractères cyrilliques ne l'est absolument pas.

J'ai trouvé sur internet un script nommé Homographit qui permet de simplifier cette tache en transformant la majorité des lettres latines par des cyrilliques.

Teste d'efficacité de la technique par homographie

Pour tester l'efficacité de la technique par homographie, on va utiliser le site emailspamtest.com qui se base sur les règles de Spam Assassin.

Le score du message spam non homographié

Ce message reçoit le score de 21.2, qui est un spam selon Spam Assassin car supérieur à 5.

Si on le transforme avec homographit, le score redescend à 2.5. Il n'est donc plus considéré comme étant spam.

Le score du message spam homographié

Conclusion

Maintenant que vous savez comment fonctionnent les filtres anti-spam et comment ils peuvent facilement être bypassed, vous pouvez jouer le rôle de filtre par vous même.