Tag

spammeurs

Browsing

Il y a quelques jours, j’ai eu la surprise de recevoir un spam manuel sur le blog – ce qui devient assez rare, la plupart du spam étant totalement automatisé. Et je dois dire qu’il m’a bien fait rire :

Echanger un dentier contre un gant de baseball… mais pourquoi pas ?? Ils sont fous ces spammeurs.

no-spamIl y a quelques années, j’ai pris part au projet Honey Pot qui vise à identifier les responsables d’envois massifs de courriers indésirables (autrement dit : du spam) grâce à des pages créées à cet effet. Dans la même optique, j’avais utilisé wpoison pour créer des adresses email bidons pour corrompre la base email des robots aspirateurs.

Et bien ce projet ambitieux vient de traiter plus d’un milliard de spams depuis son lancement. Cela a donné lieu à une petite étude et voici ce que l’on peut en retirer :

AntispamAprès avoir pollué nos boîtes mail de scams et de tentatives de phishing – et certains sites de spywares et autres malwares – voici que les spammeurs ont trouvé une nouvelle cible : les newsletters. Cette tendance semble avoir démarré il y a quelques semaines : la newsletter de SkyMinds.Net subit par exemple une dizaine d’attaques par jour.

Le principe

Les spammeurs semblent vouloir corrompre les bases de données des newsletter en les populant avec des emails erronées (nom d’utilisateur ou domaine inexistant). Finalement, ils ont repris le principe de wpoison mais contre nos bases de données cette fois ! Le but de cette manoeuvre, à part la surcharge des serveurs mails et des filtres anti-spam, reste relativement obscur. Ils n’ont à priori rien à gagner ainsi.

Se protéger

Si vous gérer votre lettre d’information, vous risquez d’être la cible de ces spammeurs. Il existe plusieurs manières de s’en protéger :

  1. vérifier l’adresse email avant l’insertion dans la base de données : solution écartée car coûteuse en ressources. En effet, votre script doit vérifier le nom de domaine puis l’existence de l’utilisateur sur le domaine. La requête peut ne pas aboutir (time-out) et votre possible souscripteur aura quitté votre site devant la lenteur d’exécution.
  2. insérer l’adresse dans la base dès l’inscription puis valider selon quelques critères. C’est la solution retenue ici pour son efficacité et sa facilité d’utilisation.

Validation d’adresse email pour une newsletter

Prenons l’exemple de la newsletter de SkyMinds.Net qui utilise plusieurs routines afin de vérifier que la base données est bien peuplée d’adresses emails légitimes. L’adresse est ajoutée directement à condition qu’elle soit correctement formée. Un mail est alors envoyé au visiteur afin qu’il confirme son inscription. Sans aucun geste de sa part dans les 3 jours, l’adresse est supprimée.

  1. Vérification de la bonne formation de l’adresse email :
    /*
    Script Validation d'email par Matt - https://www.skyminds.net/
    Retourne TRUE si l'adresse est valide et FALSE si incorrecte.
    */
    function SkyVerif($mail)
    {
    	return(eregi("^[a-z0-9]+([_.-][a-z0-9]+)*@([a-z0-9]+([.-][a-z0-9]+)*)+\\.[a-z]{2,4}$",$mail));
    }
    
  2. Suppression automatiques des adresses non-validées dans les 3 jours suivant l’inscription. La table contenant les adresses contient deux champs : opt_in (statut de l’adresse, égal à no par défaut) et register_date (date d’inscription) :
    /*
    Script Antispam-Expiration par Matt - https://www.skyminds.net/
    Les adresses non validées au bout de 3 jours sont supprimées automatiquement
    */
    
    $sql = 'DELETE FROM ' . $newsletter_table . ' WHERE `opt_in`= \'no\' AND `register_date` < DATE_SUB(NOW(), INTERVAL 3 DAY)';
    $query = mysql_query($sql);
    

Ces routines sont lancées à chaque fois que quelqu'un cherche à s'inscrire sur la newsletter : pas besoin de cron pour garantir l'intégrité des données, chaque nouvelle inscription fait le ménage dans la base de données et optimise les tables : suppression automatique des fausses adresses et autres techniques "spammiques" !