L'anti-spam (anti-spamming, antipollupostage ou antipourriel) est un ensemble de systèmes et moyens techniques et juridiques de lutte contre le pourriel (courriers électroniques publicitaires non sollicités).
Autour de 2000, le pourriel pouvait sembler inoffensif. En effet, la plupart des spammers (ou polluposteurs) utilisaient ce moyen afin de promouvoir des produits en tous genres (produits pharmaceutiques, faux diplômes, logiciels piratés, matériel pornographique, etc.). Or, avec le volume sans cesse croissant de pourriels transitant dans l'Internet (plus de 75 % des messages), et avec l'arrivée de types de pourriels plus pervers, tels l'hameçonnage, où la sécurité financière d'un individu est mise en péril, il est devenu très important de se prémunir contre cette nuisance.
Bien que souvent différentes en matière d'utilisation, d'implantation et de coût, les solutions de lutte anti-pourriel mettent sensiblement les mêmes techniques pour distinguer le pourriel du courrier légitime. Ces techniques peuvent être mises en œuvre soit au niveau des fournisseurs de service Internet qui protègent leur messagerie, soit au niveau des utilisateurs par des outils appropriés (filtres antipourriels). Le filtre est souvent implanté au niveau du MTA (Mail Transfer Agent) récepteur du courriel.
Ces techniques peuvent être soit préventives (marquage du courrier pour indiquer qu'il s'agit de courriers indésirables) soit curatives (blocage, voire renvoi des messages incriminés vers l'expéditeur). Cette dernière comporte des inconvénients puisque le destinataire doit pouvoir être maître des courriers qu'il souhaite recevoir. De plus renvoyer un message peut empirer la situation en occupant un peu plus le réseau, avec de fortes probabilités que l'auteur du pourriel ait maquillé sa véritable adresse ou utilisé l'adresse d'un tiers (tout à fait innocent) comme adresse de retour. De plus, cette façon de faire indique au polluposteur que l'adresse visée est bien active, ce qui augmente bien souvent les envois.
Plusieurs techniques de lutte contre le pourriel sont possibles et peuvent être cumulées : analyse statistique (méthode bayésienne), filtrage par mots clés ou par auteur, listes blanches (désignation de personnes ou de machines autorisées à publier dans certains lieux), listes noires (désignation de personnes ou de machines auxquelles il est interdit de publier dans certains lieux), interrogation en temps réel de serveurs spécialisés dans la lutte contre le pollupostage.
Ces techniques de lutte, tout comme les antivirus, doivent s'adapter en permanence car de nouveaux types de pourriels réussissent à contourner ces défenses.
Ces outils peuvent être divisés en deux groupes : le filtrage d'enveloppe, et le filtrage de contenu. L'en-tête du courriel constitue les informations de base de ce dernier : expéditeur, destinataire, copie conforme, copie conforme invisible, date d'envoi, serveur source, sujet. Le contenu du message est le message en tant que tel : texte, images, code HTML, etc.
Le taux d'efficacité du filtrage d'enveloppe est d'environ 50%. Ce type de filtrage s'applique uniquement à l'en-tête du message, qui contient souvent assez d'informations pour pouvoir distinguer un pourriel. Il ne s'attache pas au contenu du courriel.
Cette technique présente l'avantage de pouvoir bloquer les courriels avant même que leur corps ne soit envoyé, ce qui diminue grandement le trafic sur la passerelle SMTP (puisque le corps du message est envoyé après que l'en-tête a été reçu et accepté). De plus, le taux de faux positifs dans ce type de filtrage est quasiment nul : lorsqu'un filtre d'enveloppe a identifié un courriel comme du pourriel, il se trompe rarement.
Les filtres de contenu analysent le contenu des messages et détectent les pourriels qui ont réussi à passer à travers le filtre d'enveloppe. Le filtrage de contenu est un peu plus sensible que le filtre d'enveloppe : après tout, les informations véhiculées à travers le message sont subjectives, et ce qui peut paraître un pourriel selon le filtre de contenu peut être un courriel tout à fait légitime (c'est ce que l'on appelle un faux positif), et l'inverse est aussi vrai (faux-négatif). Le filtrage de contenu peut se développer en plusieurs couches. Par exemple, le filtre peut faire appel à un logiciel antivirus, à un désarchiveur pour analyser les fichiers archivés s'il y a lieu, à un analyseur bayésien (voir plus bas), et ainsi de suite.
Exemple de filtre de contenu : SpamAssassin.
Le filtrage bayésien du spam (du mathématicien Thomas Bayes) est un système basé sur une grande quantité de pourriels et courriels légitimes afin de déterminer si un courriel est légitime ou non. Afin de bien fonctionner, le corpus de spam (pourriels) et de ham (courriels légitimes) doit contenir idéalement plusieurs milliers de « spécimens ».
Le message à identifier est découpé en morceaux qui sont comparés à tout le corpus de courriels (pourriels ou non), pour déterminer la fréquence des différents morceaux dans les deux catégories. Une formule statistique est utilisée afin de calculer la probabilité que le message soit un pourriel ou non. Lorsque la probabilité est suffisamment élevée, le système bayésien catégorise le message comme du pourriel. Sinon, il le laisse passer. Le seuil de probabilité peut être défini par l'administrateur système : il s'agit de trouver le seuil le plus efficace.
La méthode bayésienne sert également à d'autres classifications automatiques du courrier, en particulier dans Lotus Notes.
Cette méthode est très limitée car elle se base sur le rejet ou le tri du courrier en fonction de règles de vocabulaire préalablement établies, définissant des mots comme interdits. Certains mots-clés revenant souvent dans les pourriels, tels que « sexe », « viagra » ou « money » pourront servir de base pour la constitution de ces règles. De même on pourra décider de bloquer tous les messages en provenance d'un expéditeur précis, d'un domaine spécifique, voire d'un pays entier.
Cette méthode engendre de fortes probabilités d'erreur et s'avère peu efficace lorsque les polluposteurs maquillent les mots utilisés (« vi@gr@ », « s3x », etc.). Il convient alors d'utiliser les expressions rationnelles.
Une expression rationnelle (appelée souvent « expression régulière » en informatique) est un motif que l'on peut appliquer à une chaîne afin de voir si ladite chaîne correspond au motif (par exemple : "un chiffre suivi de trois lettres suivi d'un d'espace, puis d'un chiffre" pourrait s'écrire de cette manière : /^[0-9]{1}[A-Za-z]{3} [0-9]{1}$/). En utilisant des expressions rationnelles afin de trouver des variations de mots "sensibles", on augmente les chances de découvrir des pourriels. Par exemple, si un polluposteur tente de déjouer un filtre de mots-clés en utilisant le mot "viiaaagraa", l'expression rationnelle /^vi+a+gra+$/i (un 'v' suivi d'un ou plusieurs 'i' suivi d'un ou plusieurs 'a', suivi d'un 'g', d'un 'r', et de un ou plusieurs 'a', sans se soucier de la casse) permet de retrouver le mot. Évidemment, cet exemple est très simple, mais les expressions rationnelles complexes permettent de détecter des expressions et des déclinaisons beaucoup plus subtiles et sophistiquées.
Une limite de l'utilisation d'expressions rationnelles est illustré dans le problème de Scunthorpe, qui produit de faux positifs.
Les courriels possèdent souvent des pièces jointes, et celles-ci peuvent contenir des virus. Il est donc important d'avoir, dans le processus de tri des messages, un antivirus. Souvent, les filtres de contenu en ont un intégré. Par exemple, il n'est pas rare de voir SpamAssassin et ClamAV ensemble.
Les images sont une des difficultés majeures qu'ont à affronter les filtres de contenu. En effet, il est pratiquement impossible de déterminer si l'image est légitime ou non (souvent, les polluposteurs utiliseront des images afin de camoufler du texte). Une des techniques pour déterminer, à partir d'une image, si le courriel est légitime ou non, est de regarder le nombre d'images dans le courriel et de voir comment elles sont placées dans le message. Cela peut être un bon indice de la nature du message. Par ailleurs, il est possible de générer une somme de contrôle sur l'image et de la comparer avec d'autres sommes de contrôle disponibles sur Internet (un peu à la manière des RBL). Cela permettra au système de vérifier si l'image a déjà été utilisée dans un pourriel et de classer le courriel en conséquence.
Ce type de filtrage permet de bannir des adresses courriel, des domaines, ou des serveurs. Ainsi, tout message provenant d'éléments de la liste noire sera bloqué par le système antipourriel. Ces éléments de liste sont très souvent définis par un administrateur système qui, par expérience, est en mesure de déterminer les sources les plus communes de pourriel. Cette technique a pour caractéristique de n'être pas limitée qu'au pourriel dans le sens pur et dur du terme : elle peut également bloquer des sources de courriel légitime, si l'administrateur système les considère comme nuisible. Évidemment, ce type de filtrage est hautement subjectif et dépend du bon vouloir et de l'assiduité de la personne créant la liste.
Les Realtime Blackhole List (RBL) ont comme mandat de fournir une liste de serveurs réputés comme grands envoyeurs de pourriels, et de lister les grands polluposteurs. Il s'agit en fait d'une grande liste noire généralisée. Le principe d'utilisation est simple : lorsqu'un filtre reçoit un courriel, il vérifie si le serveur d'envoi est contenu dans un RBL. Si oui, le courriel est catégorisé comme pourriel.
Les RBL qu'un filtre utilise comme sources de serveurs sont habituellement déterminés par l'administrateur système. Cette méthode contient donc son lot de controverse, car certains RBL sont réputés pour être plus efficaces que d'autres. Leur choix influence donc directement l'efficacité du système antipourriel. De plus, certains RBL ont des règles plus souples que d'autres quant à l'ajout d'un serveur dans leur liste, compliquant encore plus la situation. Pour pallier ce problème on peut consulter plusieurs RBL et ne bloquer une source que si elle est présente dans deux listes.
SPF (Sender Policy Framework) se base sur la zone DNS d'un domaine pour fonctionner. Le détenteur d'un domaine ajoute, dans la zone DNS de ce domaine, un enregistrement de type TXT qui indique quels sont les machines autorisées ou non à envoyer du courriel pour le domaine. Ainsi, si mail.domainea.com est le seul serveur autorisé à envoyer du courriel pour domainea.com, ce sera spécifié dans l'enregistrement TXT. Pour fonctionner correctement, le support SPF doit être activé sur le filtre antipourriel. Le système vérifie que le serveur envoyant le courriel est bien dans la liste des serveurs autorisés. Sinon, il s'agit d'un pourriel.
Les courriels transitant grâce au protocole SMTP, une grande quantité de normes ont été définies pour ce protocole (RFC2821), que les polluposteurs omettent souvent de respecter. Par exemple, le nom serveur qui envoie le courriel doit être, préférablement, pleinement qualifié (FQDN) (exemple : mail.domaine.com), règle que les polluposteurs ne suivent pas toujours. De même, certains polluposteurs usurpent le serveur d'envoi en faisant croire au filtre que le message vient d'un serveur connu (127.0.0.1, par exemple). Un bon filtre est capable de détecter ces usurpations. Autre exemple : certains pourriels n'émettent pas de bannière de présentation (HELO), ce qui est pourtant exigé dans les normes SMTP. Ces tests sont laissés à la discrétion du filtre et de l'administrateur système, qui décide quelles sont les règles pertinentes pour son serveur de messagerie. Les règles d'intégrité SMTP sont souvent très efficaces, car, pour les polluposteurs, elles agissent comme inhibiteurs de performance (elles ralentissent les envois). Or, un polluposteur a intérêt à être le plus performant possible et il peut être très payant pour lui de passer outre ces règles.
Lors de la définition de la zone DNS pour un domaine, il est possible de définir un enregistrement MX (Mail EXchanger), qui spécifie quel est le serveur responsable de la gestion du courriel pour ledit domaine. Il est possible de définir plusieurs enregistrements MX, de sorte que si l'un tombe, un autre pourra prendre le relais. À chaque enregistrement est associé un nombre indiquant une priorité (exemple, 10, 20, 30, 100, 200, etc.). Les MTA sont tenus d'envoyer leur courrier au serveur le plus prioritaire (celui qui a le nombre le plus bas). De fait, il est tout à fait normal que le serveur ayant la plus haute priorité soit le plus sollicité. Ainsi, c'est souvent lui qui sera le plus sécurisé (les autres le seront souvent moins). Les polluposteurs ont vite fait de découvrir cette situation et il n'est pas rare que les pourriels soient envoyés au serveur ayant la plus faible priorité (le nombre le plus élevé). Ces serveurs étant souvent moins protégés, la probabilité qu'un pourriel passe est donc plus élevée. Pour contrer ce problème, il est fortement conseillé de protéger tous ses MX de la même manière. De plus, il est possible de déjouer les polluposteurs en spécifiant dans le MX le plus élevé un serveur factice. Plus spécifiquement, ce serveur pourrait rejeter toutes les connexions, et donc, toutes les tentatives de pourriels se rendant au serveur seraient déjouées.
La liste grise est un terme utilisé pour décrire une technologie antipourriel (antispam) particulièrement efficace, qui fonctionne selon ce principe : selon les normes définies dans le RFC 2821, lorsqu'un serveur de réception de courriel (dans ce cas-ci, le serveur qui reçoit le courriel, sur lequel le filtre de courriel est activé) ne peut traiter la réception d'un message (par exemple, s'il est indisponible), il doit retourner un code d'erreur 421. Ce code d'erreur indique au serveur qui envoie le message d'attendre et de réessayer l'envoi un peu plus tard. Ce délai est défini dans la configuration du serveur expéditeur du message ( ou Mail Transfert Agent : Mail Transfert Agent). Tout MTA légitime respecte cette règle. Les MTA non légitimes (utilisés par les polluposteurs) ne le font pas car cela leur fait perdre de l'efficacité : le MTA continue donc son envoi de courriels (il passe au prochain destinataire) sans attendre pour ré-envoyer le courriel actuel.
Les experts de la sécurité du courriel ont donc envisagé une méthode exploitant cette particularité : la liste grise. Celle-ci fonctionne avec une base de données. Chaque enregistrement de la base de données constitue un triplet composé de l'adresse IP du serveur qui envoie le courriel, de l'adresse courriel de l'expéditeur, et de l'adresse courriel du destinataire, formant ainsi une clé unique. Est aussi stockée dans la base la date de la première connexion du triplet au serveur. Lorsqu'un message est reçu par le serveur de courriel du destinataire, ce dernier vérifie dans sa base l'existence du triplet.
Après un certain temps (défini également dans l'enregistrement), l'enregistrement devient inactif et le serveur doit ré-envoyer un 421 (on peut supposer que l'enregistrement est détruit). Ainsi, lorsque le MTA envoyeur reçoit le 421, s'il est légitime, il attendra avant de ré-envoyer le message. Sinon, il n'attendra pas et ne le ré-enverra pas.
Cette technique permettait d'atteindre des taux d'efficacité très élevés, de l'ordre de 99 % quand elle a été proposée en 2003, puisque la très grande majorité des polluposteurs préfère sacrifier un courriel plutôt que d'attendre et ainsi, diminuer leur performance. Actuellement l'efficacité est moins importante (~80-90 %) à cause de l'augmentation de l'utilisation des webmails (des vrais serveurs de messagerie), par les polluposteurs, pour distribuer les pourriels.
Cette méthode a également un effet secondaire inattendu : elle est relativement efficace pour supprimer les vers utilisant la messagerie pour se propager. C'est une qualité partagée par les méthodes de filtrage dite "protocolaires", telles la limitation de cadences , les RBL et les listes de réputation.
Cette technique a aussi l'avantage d'être très facile à mettre en place. Toutefois, un administrateur système doit se demander s'il est prêt à accepter des délais (même si ce n'est qu'une seule fois) dans la réception des courriels.
Le filtrage heuristiques teste le contenu du message (par exemple, quelle proportion de code HTML, d'images, de références à la pornographie, à l'acquisition facile d'argent contient-il par rapport au reste du message ? ; le sujet est-il vide ? L'identificateur du message (Message-ID) contient-il des signes « dollar » (souvent utilisé par les logiciels d'envoi de pourriels)). Chaque test donne un nombre de point (plus le total est bas, mieux c'est ; moins le message est considéré comme du pourriel). Le seuil de point reste arbitraire et défini par l'administrateur système qui doit trouver le score donnant le meilleur équilibre entre le nombre de faux positifs et de faux-négatifs.
Dans les méthodes à base de Captcha, l'expéditeur d'un courriel doit prouver son « humanité » en recopiant un mot affiché sous forme d'une image, un captcha. Un robot polluposteur ne saura pas recopier ce mot alors qu'un humain pourra le faire très facilement et sera alors autorisé une fois pour toutes à écrire à son correspondant.
Les sociétés distribuant des solutions à base de captcha proclament "une solution qui élimine 100% des spams".
L'intérêt de cette solution est contesté par des organismes officiels chargés du développement et la définition des normes d'Internet. L'ASRG (groupe de travail sur le spam de l'IRTF - Internet Research Task Force) attribue plutôt un niveau d'efficacité moyen pour un haut niveau de nuisance et considère que cette méthode présente les mêmes inconvénients des méthodes dites "Challenge-Réponse". Le consortium W3C (organisme de définition des normes WWW) ainsi que l'American Conseil for the Blind soulèvent les problèmes d'accessibilité pour les personnes avec déficiences visuelles.
En France, la loi n°2005-102 du 11 février 2005 pour l’égalité des droits et des chances, la participation et la citoyenneté des personnes handicapées, fait de l’accessibilité une exigence pour tous les services de communication publique en ligne de l’État, des collectivités territoriales et des établissements publics qui en dépendent. Ainsi, le Référentiel général d'accessibilité des administrations indique à propos des captchas graphiques qu'« il est nécessaire d'étudier si le problème amenant à leur utilisation ne peut être résolu autrement (détection automatique des spam, test heuristique) » et, le cas échéant, impose la présence d'alternatives en application de la norme d'accessibilité WCAG2.0.
Mettre un prix sur l'envoi de courriels, symbolique pour les envois légitimes mais dissuasif pour les envois massifs (à 2 centimes d'euros par courrier, celui-ci reste toutefois du même ordre de coût pour l'expéditeur qu'une publicité radio ; or elle peut être bien mieux ciblée selon l'endroit où a été récoltée l'adresse). Et à 20 centimes d'euros il sera nécessaire de mettre une franchise sinon c'est l'accès à l'envoi de courrier pour le particulier au budget le plus serré qui commence à s'estomper. Un député a envisagé dernièrement de taxer les courriels (0,005 centime) pour financer l'Union européenne.
Dans les forums Internet et Usenet, ainsi que sur les listes de diffusion, on a souvent recours à la modération : une personne de confiance (« modérateur ») lit les messages dont la publication est proposée, et refuse éventuellement de les diffuser (modération a priori) ; ou bien cette personne lit les messages qui ont déjà été diffusés, et efface ceux qui lui semblent hors de propos (modération a posteriori). Comme cette méthode nécessite des moyens humains importants, et que de plus les modérateurs sont souvent accusés (de censure) à outrance, il existe aussi une modération par robot (généralement appelée « robot-modération ») : n'importe qui peut publier un message par l'intermédiaire du robot, même si cet article est dépourvu d'intérêt (et même s'il constitue effectivement un pollupostage), mais le robot ne laisse passer le message que s'il répond à un critère simple et connu de tous, comme la présence d'un certain mot dans son titre. Cette protection est surtout efficace contre les robots qui émettent automatiquement des messages identiques dans des dizaines de forums, et qui n'ont pas été programmés pour produire des messages conformes aux exigences spécifiques de tel ou tel forum.
La technologie RPD, Recurrent Pattern Detection ou « Détection des signatures récurrentes » en français, est une technologie qui ne se base non pas sur le contenu des courriels, mais sur leur taux de propagation sur l'ensemble du réseau Internet. Grâce à des serveurs basés un peu partout dans le monde, il est en effet possible de déterminer très rapidement si un courriel est un pourriel en vérifiant de manière centralisée le nombre de fois où ce même courriel aura été envoyé sur la toile. Si par exemple le même courriel a été envoyé en 100 000 exemplaires en même temps, il s'agira forcément d'un pourriel.
Cette technologie offre un taux de capture de plus de 98% des pourriels pour 1 faux positif sur 1 million.