Vous êtes sur le site public du Cert-IST
Les "Spam images"

Date :24 Novembre 2006

Publication: Article

Le but de cet article n'est pas de faire un état des lieux des techniques utilisées par les Spammeurs, mais de mettre en avant une de ces techniques, connue depuis plusieurs années, mais dont l'utilisation massive ces derniers mois nous a paru justifier quelques explications.

Nota : L'article " L'évolution des techniques anti-spam" (du bulletin de sécurité du Cert-IST de juillet 2004) fait un point détaillé des techniques anti-spam.


Le principe

Le texte d'un e-mail pouvant facilement être analysé afin d'identifier sa nature malveillante, l'idée des Spammeurs est de faire passer le message dans une image contenue dans un e-mail au format MHTML.

De plus, afin de contrer les logiciels capables d'identifier du texte dans une image ("OCR" pour "Optical Character Recognition"), certains Spammeurs combinent cette technique avec les méthodes suivantes :

  • utilisation de polices de caractères exotiques, ou de fonds d'images capables de perturber l'identification du texte (faible contraste, traits parasites),
  • méthode "Polka dots" qui consiste à utiliser des fichiers GIF contenant un texte et quelques points placés de façon aléatoire sur l'image. En plaçant ces points différemment pour chaque message, ces derniers apparaissent comme autant de messages distincts au niveau des filtres anti-spam (et ils le sont effectivement, car les images contenues dans ces messages sont bien différentes d'un point de vue binaire),
  • méthode "Slice & Dice" qui consiste à découper l'image en plusieurs "morceaux" qui sont recollés lors de l'affichage de l'e-mail.


La mise en œuvre

 Ces e-mails utilisent le format MHTML ("MIME Encapsulation of Aggregate HTML Documents"), défini dans la RFC 2557, qui permet d'envoyer conjointement dans un seul e-mail, un document HTML et les objets auxquels il fait référence (applets, images, …),.

Un e-mail MHTML est reconnaissable parce qu'il débute par un marqueur indiquant qu'il contient plusieurs "parties" inter-dépendantes :

    Mime-Version: 1.0
    Content-Type: multipart/related; boundary="boundary-example";

L'exemple ci-dessus montre que l'e-mail est composé de plusieurs parties, séparées par la chaîne de caractères "boundary-example".

Une des parties de l'e-mail contient le document HTML. Il utilise des URL de type "CID" ("Content-ID") pour faire référence aux objets contenus dans d'autres parties du même e-mail :

    <IMG alt="xxx" hspace=0 scr="cid:xxxxxx" align=baseline>

Les e-mails de spam qui utilisent ce format contiennent donc un document HTML et une (ou plusieurs) image(s) GIF référencée(s) dans le fichier HTML via une URL de type "CID".

Le développement de cette technique

Selon le rapport du "Threat Operations Center" d’IronPort, les e-mails de spam utilisant cette technique auraient représenté 25% du spam en octobre 2006, contre 4,8% en octobre 2005 (+421%).

En raison de la mise en œuvre massive de cette technique, la taille moyenne des e-mails de spam serait passée de 8,9 Ko à 13 Ko (+46%). Logiquement la bande passante consommée par ces e-mails serait donc passée de 275 téraoctets (To) par jour en octobre 2005, à 819 To en octobre 2006 !

Les parades

Ces "Spam images" sont très compliqués à identifier par des filtres se basant sur l'analyse du contenu des messages.

Le texte n'est plus en clair. Il faut donc avoir recours à des logiciels capables d'identifier du texte dans une image ("OCR" pour "Optical Character Recognition") qui sont complexes et donc coûteux (au moins en CPU).
De plus, comme nous l'avons déjà mentionné, les Spammeurs ont développé des méthodes (faible contraste, traits parasites, polices de caractères exotiques, GIF animé, découpage en plusieurs images) capables de leurrer ces logiciels.

L'identification des messages de spam par l'utilisation d'une base de données qui recense la signature des messages de spam connus, est également battue en brèche par les "Spam images" qui utilisent la méthode "Polka dots" (puisque les points aléatoires inclus dans les images GIF font que chaque image a une signature unique).

Enfin, les méthodes "dures" consistant à bloquer tous les messages "Content-Type: multipart/related”, ou toutes les images GIF, peuvent s'avérer difficiles à mettre en œuvre parce que l'on risque aussi de bloquer des messages légitimes qui utilisent ces techniques.

Les résultats les plus efficaces seront probablement obtenus en utilisant des filtres se basant sur des techniques de protection contre l'usurpation d'adresse e-mail (adresses "spoofées"), telles que "SPF", "DomainKey" ou "Sender ID". Ces techniques ont été présentées dans l'article "L'évolution des techniques anti-spam" que nous citons plus haut.

Pour en savoir plus

Article de Wikipédia sur MHTML : http://fr.wikipedia.org/wiki/MHTML

RFC 2557 (MHTML) : ftp://ftp.ietf.org/rfc/rfc2557.txt

Article d'IronPort sur les "Spam Images" : http://www.ironport.com/technology/ironport_image_spam.html

Statistiques sur "Spam Images" : http://www.clubic.com/actualite-65554-pollution-numerique-spam-image-prolifere.html

Analyse des difficultés de filtrage : http://www.securiteinfo.com/attaques/divers/analyse_image_spam.shtml