Les images de spams, pour éviter la détection basée sur le texte du mail
Depuis plusieurs années, le Spam est toujours à la mode. D'après nos statistiques, environ un mail sur deux est un Spam. Pourtant, les outils actuels ont un très bon taux de détection de Spam. Cependant, parmi tout ces pourriels, il existe une catégorie à part. Ce sont les "Spam Images".
Qu'est-ce qu'un Spam Image ?
Un Spam Image est un courrier, avec très peu de texte, et incluant une image. Cette image représente un texte, souvent à but commercial, comme le montre l'image suivante :
Le texte de l'image est donc la continuité commerciale du texte du mail.
Comment détecter et contrer un Spam Image ?
A l'heure actuelle, trois pistes sont envisagées :
- La méthode d'antispam classique
- Le calcul d'une somme de contrôle
- La reconnaissance de caractères
Voici en détail les trois solutions :
La méthode d'antispam classique
La détection du spam par un logiciel tel que Spamassassin est très faible. En effet, l'antispam ne peut s'appuyer que sur les zones texte du mail (header et contenu textuel). Or, ceux-ci sont justement calibrés afin d'éviter de se faire reconnaitre comme spam. Voici un exemple :
Mail original |
Explications |
| Return-Path: <xxxxxx@xxxxxxxx.com>
|
L'adresse mail de réponse |
X-Spam-Checker-Version: SpamAssassin X.X.X on toto
X-Spam-Level: ***
X-Spam-Status: No, score=3.5 required=5.0 tests=DATE_IN_FUTURE_03_06, EXTRA_MPART_TYPE, HTML_IMAGE_ONLY_16, HTML_MESSAGE autolearn=disabled |
SpamAssassin n'a pas réussi à détecter le spam |
| Delivered-To: webmaster@securiteinfo.com |
Ca c'est moi :) |
Received: (xxxxxxxx); 8 Oct 2006 02:46:56 -0000
Delivered-To: securiteinfo.com-webmaster@securiteinfo.com
Received: (xxxxxxxx); 8 Oct 2006 02:46:55 -0000
Received: from xxx.com (HELO xxxxxxxx) (xxx.xxx.xxx.xxx)
by xxxx.com with SMTP; 8 Oct 2006 02:46:55 -0000
Received: (xxxxxxxx); 8 Oct 2006 02:46:59 -0000
Received: from xxxxxxx@xxxxxxxxx.com by xxxxxxx
Received: from unknown (HELO xxxx.de) (217.93.13.216)
by xxxx.com with SMTP; 8 Oct 2006 02:46:51 -0000
Message-ID:
|
L'adresse IP qui m'a envoyé ce spam est 217.93.13.216. Après une courte recherche, cette adresse IP provient d'Allemagne et est fournie par un grand FAI allemand. Bref, il s'agit donc d'un internaute lambda, comme vous et moi. Il y a de grandes chances que cet internaute aie un PC infecté par un malware, et que ce spam soit envoyé à son insu. |
From: "xxxxxxxx:" <xxxxxx@xxxxxxxx.com>
To: webmaster@securiteinfo.com
|
De qui, pour qui |
| Subject: NCC Chief |
Le sujet du mail est donc "NCC Chief" |
Date: Sun, 8 Oct 2006 04:46:49 -0200
MIME-Version: 1.0
Content-Type: multipart/related;
type="multipart/alternative";
boundary="----=_NextPart_000_0010_01C6EA94.C40D1950"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2900.2869
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2962
X-UID:
Status: RO
X-Status: RT
|
Diverses informations sans grand intérêt |
------=_NextPart_000_0010_01C6EA94.C40D1950
Content-Type: multipart/alternative;
boundary="----=_NextPart_001_0011_01C6EA94.C40D1950"
------=_NextPart_001_0011_01C6EA94.C40D1950
Content-Type: text/plain;
charset="windows-1250"
Content-Transfer-Encoding: quoted-printable
Talks fair am play fans.
Fareed Zakaria Obsessed With sex Opinions.
Reality shows.
High Lose in Points in.
|
Le texte du mail |
Comme vu ci-dessus, SpamAssassin n'a pas remarqué que ce mail était un Spam. Les seuls critères détectés sont :
- DATE_IN_FUTURE_03_06 : Le message a été envoyé avec une date future. Classique lorsque d'on reçoit des mails provenant d'Asie par exemple.
- EXTRA_MPART_TYPE : Un type MIME douteux (ça arrive souvent).
- HTML_IMAGE_ONLY_16 : Le mail ne contient pour ainsi dire qu'une image.
- HTML_MESSAGE : Le message est écrit en HTML.
Si l'on s'en tient à ces quatre caractéristiques, HTML_IMAGE_ONLY_16 pourrait avoir un score augmenté afin de détecter ce type de mail. Malheureusement, cela risque de provoquer beaucoup de faux positifs, car je suppose que vous aussi vous avec quantité d'amis qui vous envoient des images drôles avec très peu de texte...
Une autre caractéristique intéressante est l'adresse IP d'envoi du Spam. Celle-ci pourrait être blacklistée. Malheureusement, l'adresse IP en question est celle d'un internaute lambda, qui a certainement une adresse IP dynamique à la connexion. La blacklist d'adresses IP n'offre donc pas de garantie suffisante contre ce type d'envoi de mails.
Le calcul d'une somme de contrôle
Une solution qui vient rapidement à l'esprit est d'utiliser une
fonction de hachage. Ainsi, en calculant une somme de contrôle unique pour chaque image, il est possible de créer une liste noire (blacklist) de fichiers indésirables.
Le problème c'est que cette somme de contrôle est unique par image. Il suffit donc de modifier un seul bit dans l'image pour que cela donne une autre somme de contrôle et donc, de ne plus détecter la nouvelle image.
Voici deux exemples concrets :
Insertion de parasites de type "points" dans l'image :
Insertion de parasites de type "traits" dans l'image :
Insertion d'un rectangle de points aléatoires (en bas à gauche) :
Cette solution n'est donc pas très viable à long terme : Beaucoup de travail pour un maigre résultat. Ce sera une fuite en avant telle que c'est déjà le cas avec le couple virus/antivirus.
La reconnaissance de caractères
Une autre solution serait de passer l'image dans un logiciel de reconnaissance de caractères, et de renvoyer le résultat à notre logiciel antispam favori. Seulement, là encore, les auteurs des Spam Images ont prévu le coup. Comment se comportera un logiciel de reconnaissance de caractères face à ces types d'images :
Image animée :
Image avec faible contraste (la détection des bords, nécessaire à un logiciel de reconnaissance de caractères, est difficile) :
Image avec fontes exotiques :
Image avec langue exotique :
Là aussi, cette solution, sans parler du temps de traitement accru pour analyser chaque image, ne semble pas être très efficace.
Conclusion
Ce nouveau type de pourriels va redonner du fil à retordre aux acteurs de Sécurité. Comme nous l'avons vu, deux techniques de contre-mesure sont appliquées, mais n'ont qu'un taux très faible de succès. La meilleure méthode reste donc la sensibilisation des utilisateurs :
- Ne pas ouvrir de mail dont on ne connait pas la provenance
- Ne pas répondre à ce genre de mail
- Ne pas afficher son mail sur un site web
- La meilleure solution est sans aucun doute d'utiliser un service de filtrage en ligne pour votre serveur de mails afin de déléguer cette difficile tâche à des professionnels compétents dans ce domaine.
Tags
SPAM
MAIL
Inscription à notre lettre d'information
Inscrivez-vous à notre
lettre d'information pour vous tenir au courant de nos actualités et de nos dernières trouvailles.