Les "Spam images"
Date : 24 Novembre 2006
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