Spam quand tu nous tiens

Il peut arriver que l’on reçoive des spams en notre propre nom ou quasiment, des spams qui utilisent notre nom de domaine dans l’adresse de l’expéditeur.

Votre réflexe: “Au secours, je me suis fait hacker ma boîte mail !” Et bien non. Pas du tout. Mais pas du tout du tout du tout du tout…

A la rigueur vous pouvez dire que l’on a usurper votre adresse e-mail ou une adresse e-mail qui pourrait être attachée à votre nom de domaine, mais en aucun cas, on a piraté votre compte mail (sauf si vous vous connaissez un ennemi, mais c’est une autre histoire).

Pour comprendre la raison, il faut comprendre le protocole SMTP.

Pour faire simple, un protocole en informatique c’est ensemble de règles permettant d’établir une communication entre deux ordinateurs.

SMTP veut dire Simple Mail Transfer Protocol. C’est le protocole de transfert (=d’envoi) de mail, autrement dit c’est l’ensemble des règles qui permettent d’envoyer des mails d’un ordinateur à un autre ordinateur.

On va prendre un exemple:


En admettant que A veuille envoyer un mail à B depuis son logiciel de messagerie offline (Ex: thunderbird):

A va écrire un mail depuis son logiciel de messagerie puis cliquer sur le bouton “envoyer”.

En cliquant sur le bouton envoyer le logiciel de messagerie va “appeler” le serveur SMTP du fournisseur d’Accès (FAI) de A pour  lui dire qu’il a un message à envoyer.

Si le serveur SMTP du FAI de  A est d’accord, celui va, à son tour, “appeler” le serveur SMTP du FAI de B pour lui dire qu’il a un message à délivrer.

Si le serveur SMTP du FAI de B est d’accord, le serveur SMTP du FAI de A délivre le message au serveur SMTP de B.

Le serveur SMTP de B vérifie alors que B existe bien chez lui et si c’est le cas  place le mail dans l’espace mémoire accordé aux mails de B sur le serveur.

B, en ce connectant à son logiciel de messagerie pourra alors lire le mail de A.


J’ai schématisé à mort le processus afin de bien faire ressortir  cette histoire de communication entre les ordinateurs. Car c’est là que tout se passe.

Les ordinateurs s’appellent et se parlent vraiment; ils se disent bonjour, se causent et se disent au revoir, tout cela dans un ordre bien particulier et avec une syntaxe bien particulière (=>les règles).

Voici un exemple de causerie que j’ai trouvé sur le wikipédia:

smp01

Voici la traduction en français de cet échange:

S: Le serveur smtp.example.com ESMTP Postfix est prêt
C: Bonjour, je m'appelle relay.example.org
S: Ok Bonjour relay.example.org, je suis content de vous rencontrer
C: J'ai un mail de bob@example.org
S: Ok
C: Il est destiné à alice@example.com
S: Ok
C: Il est [aussi] destiné à theboss@example.com
S: Ok
C: Je t'envoie les données
S: Je commence à prendre note. Quand tu as fini, met un point (.)
C: de la part de: "Bob Example" <bob@example.org>
C: à: "Alice Example" <alice@example.com>
C: Copie carbonne à: theboss@example.com
C: Date: Tue, 15 January 2008 16:02:43 -0500
C: Sujet: Test message
C:
C: Hello Alice.
C: This is a test message with 5 header fields and 4 lines in the message body.
C: Your friend,
C: Bob
C: .
S: Ok: je met le message dans la file d'attente [d'envoi], il a le numéro 12345
C: Je parts
S: Au-revoir
{Le serveur a fermé sa connexion}

Jusque là on a donc pu voir que les serveurs SMTP communiquent selon certaines règles, c’est chouette mais ça n’explique pas l’histoire des spams etc. etc.

Pas tout à fait. Mais pas loin.

Parce qu’en fait, chacun d’entre nous, avec notre petit ordinateur on peut se faire passer pour un logiciel de messagerie auprès d’un serveur SMTP.

Il “suffit” d’écrire au serveur SMTP via un autre protocole qui s’appelle TELNET, protocole installé par défaut sur tous les ordinateurs, PC, MAC ou Linux.

Je mets “suffit” entre parenthèse car c’est moins simple que ça en à l’air:

  • il faut respecter la syntaxe du protocole SMTP
  • il ne faut pas écrire n’importe quoi afin de bien obtenir un code 250 (OK) en retour
  • et tout cela en respectant également les règles du protocole TELNET (qui est un peu pénible pour ne pas dire autre chose – notamment il ne supporte pas très bien les retours charriot)

En substance:  si on se présente correctement au serveur et qu’on lui demande de délivrer un message dont l’expéditeur (FROM) possède une adresse mail dont le nom de domaine existe et le destinataire (RCPT) possède une adresse mail complète qui existe, le serveur va prendre note du message (DATA).

En clair je peux écrire:

MAIL FROM:<nimportequi@google.com>(On fait croire au serveur que le mail de l’expéditeur appartient à Google)
RCPT TO:<contact@votrenomdedomaine.com> (On écrit à une adresse qui a des chances d’exister ou d’être reroutée)
DATA (il n’y a pas de contrôle dans DATA donc je peux écrire n’importe quoi derrière; c’est ce que vous verrez en clair dans le message)
From: <nimportequoi@votrenomdedomaine.com>
To: <contact@votrenomdedomaine.com>

En conclusion, il est assez simple d’usurper une adresse e-mail. Ce n’est pas la peine de crier au secours ou au scandale parce que, on vient de le voir: aucune règle dans ce p…xxx de protocole SMTP ne l’interdit au final.

Il faut juste prendre son mal en patience et penser que dans ces cas là on est rarement tout seul dans cette “galère”.

Et surtout, surtout, ne pas ouvrir les pièces jointes de ce genre de mail… ça peut faire du vilain…

Pour finir, voici quelques liens pour en savoir plus sur le SMTP et TELNET. Vu que les explications n’étaient pas simples, je n’ai pas voulu polluer l’article:

http://www-igm.univ-mlv.fr/~dr/XPOSE2004/abouvet/smtpPres.htm

https://openclassrooms.com/courses/comprendre-la-messagerie-electronique/la-commande-telnet

 

2 réflexions sur « Spam quand tu nous tiens »

  1. C’est une bonne chose de connaître ce genre d’information. En effet, tout le monde devient un peu paranoïaque ces derniers temps avec les pirates informatiques qui commencent à devenir de plus en plus puissants.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.

Merci de renseigner le captcha ! * Time limit is exhausted. Please reload CAPTCHA.