Analyse heuristique
L’analyse heuristique constitue un ensemble de règles, tirées d’analogies, représentées sous forme d’expressions régulières (regexp). Le principe est de définir des règles basées sur des ressemblances entre différents spams afin de les identifier de manière sûre. Il est possible de créer des règles très simples portant sur la présence d’un seul mot dans le corps d’un email : ” /C1al1s/” ou bien de travailler sur des règles plus complexes ” /(?:sck|l[i1]k).{1,3}(c[o0\.]c|d[i1\|]c)/i”. Il est également possible de définir des règles portant sur des combinaisons d’expressions régulières ou bien de règles exploitant d’autres règles. Les expressions régulières peuvent porter sur différents éléments du message, dont l’en-tête, le corps du message ou des éléments plus précis : URL contenus dans le message, message brut, contenu de pièces jointes.A titre d’information, l’antispam open-source Spamassassin utilise environ 800 règles (plus de 2900 pour Altospam).
Remarque : Il est conseillé lors de la diffusion de publipostages électroniques (emailing), de respecter les préconisations définies dans la RFC 2369. Le but de cette RFC est de définir des champs d’entêtes spécifiques aux mailing-listes pour préciser les URL ou adresses de désinscription notamment.
Listes noires et listes blanches
Il existe quatre types de listes : noires ou blanches, d’adresses IP ou de domaines. Les plus connues sont les listes noires d’adresses IP. Les listes d’adresses IP sont nommées : LHSBL (Left-Hand Side based listing) ou IPSBL (IP based listing) et celles de noms de domaine RHSBL (Right-Hand Side) ou HBL (Hostname-based lists).
Egalement couramment appelées RBL (Realtime Blackhole List) ou DNSBL (DNS Black List), les listes noires d’adresse IP sont des listes de serveurs connus pour aider, accueillir, produire ou retransmettre des spams ou fournir un service (relais ouvert) pouvant être utilisé comme support pour l’expédition de spam.
Les RBL peuvent être alimentées de plusieurs manières : spamtrap (pot-de-miel spécifique au spam), whois incorrectement configuré, logiciel antispam considérant les emails analysés comme des spams, dénonciation d’utilisateurs ou système automatisé de vérification de serveurs émetteurs. La plupart de ces listes sont publiques, accessibles en consultation par tout le monde, certaines sont cependant privées. La RBL privée la plus utilisée est : mail-abuse.com (TrendMicro).
Le code de retour d’une requête de consultation de RBL est une adresse IP. Pour spécifier la présence d’une IP dans une RBL, l’adresse habituellement retournée est : “127.0.0.2”. Certaines listes sont capables de renvoyer un résultat multi-valué, pour cela elles utilisent des IP de retour de type : “127.0.0.<n>”. La liste : “combined-HIB.dnsiplists.completewhois.com”, par exemple, est capable de retourner trois informations différentes. Dans ce cas précis : “127.0.0.2” indique que l’IP contrôlée appartient à un bloc IP non alloué et anormalement utilisé; “127.0.0.3”, l’IP appartient à un bloc IP détourné et “127.0.0.4”, l’IP appartient à un bloc IP invalide.
Les principales RBL parmi environ 88 blacklists publiques à travers le monde (nombre en évolution permanente)sont : bl.spamcop.net, combined.njabl.org, dnsbl.sorbs.net, list.dsbl.org, sbl-xbl.spamhaus.org, bl.csma.biz, combined-HIB.dnsiplists.completewhois.com, bulk.rhs.mailpolice.com.
Les listes blanches sont exploitées par des sociétés commerciales qui accréditent la qualité d’un serveur de mail. Elles contiennent des sites, des domaines ou des adresses IP sûres et certifiées. Parmi ces listes les plus connues sont : Habeas, Bonded Sender, SuretyMail (ISIPP).
Il existe quelques listes, ni noires, ni blanches. Une liste spécifique répertorie tous les serveurs de Yahoo : “ybl.megacity.org” (attention cette liste n’est pas crédible). D’autres listes, plus utiles, permettent de connaître le pays d’origine de l’IP consultée : “tr.countries.nerd.dk” , “<PAYS>.blackholes.us”.
Les listes de domaines (RHSBL) sont utilisées et présentes sur Internet depuis moins longtemps. Elles sont cependant très utiles et permettent d’obtenir des retours d’analyse très intéressants. Elles peuvent être utilisées dans deux cas : soit pour contrôler le domaine expéditeur, soit pour vérifier les URL contenues dans un email. Dans ce dernier cas, souvent plus intéressant, une extraction des URL présentes dans le corps des courriers électroniques est effectuée pour vérifier chacun d’elles dans les RHSBL.
Sur un total d’environ 25 RHSBL existant actuellement, les principales et des plus utilisées sont : rhsbl.sorbs.net, sbl.spamhaus.org, fulldom.rfc-ignorant.org, multi.surbl.org, multi.uribl.com.
Remarque : Certaines blacklists proposées par “dnsbl.net.au” combinent des listes de domaines et des listes d’IP (attention l’utilisation de ces listes est limitée en nombre de requêtes).
Filtres Bayésiens
Le filtrage Bayésien est une méthode probabiliste de filtrage des courriers électroniques. Tirée des principes définis par Thomas BAYES, un mathématicien britannique du 18ème siècle, cette technologie fonctionne par apprentissage et se base sur une distribution statistique de mots clé présents dans les mails.
Deux bases sont créées (soit de manière manuelle, soit de manière automatique) : une première représentant des spams et une seconde des hams (messages légitimes). Le filtre analyse chaque mot représentatif d’un mail, en extrait par un calcul statistique sa probabilité de présence dans des spams et des hams. L’analyse sur l’ensemble du message permet d’obtenir un ratio global de probabilité qu’un email soit ou ne soit pas un spam.
Cette méthode est généralement une des rares technologies utilisées par les logiciels antispam installés sur les clients de messagerie (Thunderbird, Outlook, .). Elle a l’avantage de filtrer en fonction des besoins de chacun, elle nécessite cependant une période d’apprentissage. Elle donne également de très bons résultats sur des antispams centralisés, car un spam reste un spam quel que soit le destinataire.
Bases collaboratives de spams
Ces bases de signatures de spams sont utilisées sur le même principe que les bases de signatures de virus mais sont alimentées automatiquement par leurs utilisateurs. Chaque système client calcule une signature numérique (un hach) pour chaque email reçu. Le fait d’envoyer la signature permet d’alimenter la base de signatures et d’identifier ainsi les emails répétitifs (donc les spams). La comparaison de cette signature avec les serveurs décentralisés de la base collaborative, permet de classer l’email en lui affectant une probabilité d’être un spam.
Il existe essentiellement trois bases collaboratives de spams. Deux d’entre-elles : Rasor et Distributed Checksum Clearinghouses (DCC) appartiennent désormais à des sociétés privées. La dernière Pyzor est à l’origine une émanation OpenSource de Rasor, qui a évolué de manière indépendante.
Systèmes d’authentification des emails
Il existe aujourd’hui plusieurs systèmes d’authentification d’émetteurs des emails. Sender Policy Framework (SPF), Caller-ID (Microsoft), Sender-ID (convergence de SPF et Caller-ID), DomainKeys (Yahoo) et DKIM (Yahoo et Cisco) sont des techniques ayant pour but d’identifier, pour un domaine donné, les hôtes autorisés à expédier des emails pour ce domaine. Ces systèmes permettent d’apporter une crédibilité à l’émetteur d’un message. Le principe général est l’ajout d’un champ de type TXT sur le domaine émetteur soit pour définir la liste des serveurs émetteurs autorisés, soit pour publier une clef publique qui servira par la suite à authentifier l’émetteur d’un email.
SPF (Sender Policy Framework)
Cette technique est extrêmement simple, après extraction du domaine de l’émetteur (“MAIL FROM :” de l’enveloppe du message SMTP et non le champ “From :” de l’entête), une requête DNS de type TXT est effectuée sur le domaine en question pour connaitre la liste des serveurs de messagerie autorisés à émettre des emails et pour la comparer avec l’IP émettrice du message.
La présence d’un champ TXT suivant : domaine.tld IN TXT “v=spf1 mx ~all”suffit, par exemple, à considérer que les serveurs émetteurs d’un domaine correspondent à ses serveurs MX.
Pour définir simplement une adresse IP, utilisez la syntaxe : ” v=spf1 ip4:192.168.0.1/32 ~all”.
Cette technologie possède cependant un problème concernant le forwarding d’email : dans ce cas le serveur émetteur ne sera pas forcement le serveur de messagerie de l’émetteur d’origine de l’email.
SenderID (Microsoft)
SenderID développée par Microsoft, est la convergence de SPF et Caller-ID (Microsoft). SenderID complète SPF en précisant que le champ “From: ” de l’entête doit être vérifié en plus de l’adresse de l’enveloppe SMTP. SenderID introduit la notion de PRA (Purported Responsible Address) permettant de déterminer l’adresse email responsable de l’envoi du message. Dans le cas d’emailing, par exemple, l’adresse d’émission de l’email et le responsable de l’émission peuvent être différents. SenderID propose également l’ajout de la commande “SUBMITTER” au protocole SMTP afin de résoudre les problèmes concernant le forwarding des messages.
DomainKeys (Yahoo)
Le principe de la technologie développée par Yahoo est de signer tous les emails émis avec une clef privée et de diffuser la clef publique correspondante via une entrée DNS afin que les serveurs destinataires puissent vérifier l’authenticité de l’email.
Les emails émis contiennent un champ d’en-tête supplémentaire nommé : “DomainKey-Signature” spécifiant différents éléments, dont l’algorithme de chiffrement utilisé (a), le domaine concerné (d), un sélecteur (s) et la signature du message elle-même (b). Le sélecteur permettant de travailler avec plusieurs clefs.
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=X-YMail-OSG:Received:Date:From:Subject:To:Message-ID; b=cuXRK(…)vazo=;
Une requête DNS de type TXT sur l’entrée du sélecteur défini dans l’email (Cf. entrée “s” précédente) : “s1024._domainkey.yahoo.com” permet de retrouver les informations nécessaires sur la clef publique du domaine et de vérifier l’authenticité du mail :
“k=rsa; t=y; p=MIGADCBiQKBgQD(…)B; n=A 1024 bit key;”
DKIM
DomainKeys Identified Mail (DKIM) est un draft (au sens IETF) issu de la fusion de DomainKey (Yahoo) et Identified Internet Mail (Cisco). Tout comme DomainKey, DKIM spécifie comment signer les messages en utilisant un chiffrement asymétrique, en publiant les clefs publiques via le DNS et en confiant le processus de signature aux serveurs de messagerie. La différence entre DomainKey et DKIM réside dans le fait que le signataire peut être différent de l’auteur et de l’émetteur, le champ de signature est auto-signé et la signature peut inclure un délai de validité.
Ces différentes technologies d’authentification sont cependant limitées. En effet, rien n’empêche un spammeur de configurer son serveur émetteur et son nom de domaine pour satisfaire également aux préconisations. D’autre part, ces technologies pouraient être une solution pour combattre le spam dans la mesure où tout le monde les utiliserait. Or la plupart des hébergeurs ne permettent pas l’ajout d’un simple champ TXT sur un domaine. Ces technologies n’ont donc comme seul but que de renforcer la lutte globale contre le spam et surtout de combattre le spoofing d’adresses email, mais elles ne protègent pas spécifiquement les utilisateurs.
Teergrubing
Le teergrubing est une technique proactive anti-spam consistant à maintenir une connexion SMTP ouverte longtemps. Le maintien de session SMTP a pour but de réduire significativement la vitesse de réponse du serveur émetteur sur certaines connexions considérées comme très suspectes et d’éviter que le serveur de spams n’envoie de messages à d’autres destinataires. Ainsi le teergrubing permet de contraindre le serveur de SPAM, malheureusement il contraint également le serveur qui implémente la technologie.
Greylisting
Le greylisting est une technologie anti-spam relativement récente qui consiste à rejeter temporairement un message, par émission d’un code de refus temporaire (code 4xx) au serveur MTA émetteur. Le serveur émetteur légitime réexpédie le mail quelques minutes après, il respecte ainsi les préconisations définies dans la RFC SMTP. Par contre, la plupart des serveurs de spams ne prennent pas cette peine !
Pour conserver l’information de tentative d’émission par le serveur, un triplet identifié par l’adresse IP du serveur émetteur, l’adresse email de l’expéditeur et l’adresse email du destinataire, est associé à chaque mail entrant. Ainsi, si le triplet apparaît pour la première fois, le serveur de messagerie renvoie un code de refus temporaire au serveur SMTP distant et sauvegarde l’information. Si le triplet réapparaît après un certain temps (prévoir entre 15 minutes et une demi-heure) le message est accepté et notre triplet est whitelisté. Une réinitialisation de triplets whitelistés est à prévoir afin d’éviter tout abus.
Il existe malheureusement des imperfections à l’utilisation de cette technologie. L’utilisation du greylisting crée un temps de latence entre l’expédition du message et sa réception par son destinataire lors des premiers échanges ou après les réinitialisations. En outre, de par son fonctionnement, les messages sont reçus plusieurs fois par le serveur de messagerie destinataire ce qui peut le saturer et encombrer la bande passante. D’autre part, certains serveurs de spams sont capables de passer outre cette technologie en réémettant périodiquement les spams non délivrés.
Pour éviter ce type d’inconvénient, une alternative consiste à combiner le greylisting aux solutions standards de filtrage de spams. L’intérêt d’une telle combinaison est de ne greylister que les messages difficilement identifiables comme des spams. Ainsi, les messages licites seront directement reçus par leurs destinataires, les spams identifiés de manière sûre seront refusés et les emails prêtant à confusion devront passer le test de greylisting.
Analyse des images
Suite à l’augmentation du nombre de spams-image, il est devenu nécessaire d’intégrer un système d’analyse des images contenues dans les emails. Cette analyse peut porter sur différents procédés :
Comparaison des caractéristiques des images (nombre d’images, nom, format et dimensions des images, taille des fichiers) avec les caractéristiques couramment rencontrées dans les spams-image.
L’utilisation de techniques de reconnaissance de caractères (OCR) permet une analyse des images. Cependant, bien que les techniques de reconnaissance de caractères soient performantes, son utilisation pour extraire les mots clef d’une image est peu probante. Les traitements sont consommateurs en ressources CPU et les spammeurs ont déjà contourné la détection en utilisant des images animées, en décalant les caractères et en intégrant des signes afin de gêner la reconnaissance.
Une étude portant sur l’analyse d’image par découpage et apprentissage via l’utilisation d’un système de Datamining a été expérimentée par le cabinet HSC. D’après eux, les résultats sont intéressants mais le système est très consommateur en ressources machine.
Etant donnés la fiabilité et les performances des résultats obtenus par les OCR, il est plutôt recommandé aujourd’hui d’effectuer une analyse des images basée sur l’analogie avec la topologie des spams-image.
Test de Turing
Cette technique, également nommée challenge/réponse, consiste à authentifier l’expéditeur d’un email afin de s’assurer de son existence physique via une demande d’authentification envoyée à l’expéditeur. Une fois un code (affiché dans une image) reproduit, le message est acheminé au destinataire.
Utilisé séparément, ce type de solution ne fait que déporter la problématique du spam sur l’expéditeur du message et présente un grand nombre d’inconvénients :
Les spammeurs utilisent généralement des adresses email usurpées à des utilisateurs légitimes. Ces derniers reçoivent alors des emails, non sollicités, de confirmation d’authentification sans avoir été à l’origine de quoi que ce soit.
Ce type de solution nécessitant une action humaine génère un nombre important de faux-positifs (newsletters, utilisateurs ne souhaitant pas perdre de temps ou contre le principe, système d’alerte ou de monitoring, . ).
Des problèmes de fonctionnement ont également été mis en avant dans le cas où deux interlocuteurs utilisent des systèmes équivalents : un ping-pong récurrent se met en place pour une demande réciproque d’authentification.
D’autre part, certains spammeurs, notamment dans le SCAM (Nigérian 419), prennent le temps de s’authentifier auprès de ces systèmes.
Il est cependant extrêmement intéressant d’utiliser cette technologie uniquement en cas d’analyse négative par les technologies standards (si le mail est considéré comme un spam). Cela permet en dernier recours de pouvoir éviter les éventuels derniers faux-positifs que l’analyse automatisée pourrait générer.