web-dev-qa-db-fra.com

Le courrier électronique qui m'a été envoyé est adressé à [email protected]. Comment est-ce fait?

On m'a récemment envoyé un courriel d'arnaque et, pour rire, je l'ai ouvert pour le lire. Très simple, et pas beaucoup d'effort jeté po.

J'ai remarqué quelque chose de particulier. cet email ne m'a pas été adressé. Au début, je soupçonnais un CC ou un BCC, mais mon adresse n’est nulle part sur le courrier. J'ai fourni une photo ci-dessous. Comment est-ce fait?

 enter image description here

104
tuskiomi

Un message électronique Internet se compose de deux parties. On peut les appeler le enveloppeet le message utileou simplement message.

L'enveloppe contient des données d'acheminement: principalement, il s'agit de l'adresse de l'expéditeur et d'une ou plusieurs adresses de destinataire.

Le message a le contenu du message: objet, corps du message, pièces jointes, etc. Il contient également des informations techniques telles que les en-têtes de trace (Received:), les données DKIM, etc. ainsi que les adresses affichéesexpéditeur et destinataire (ce que vous voyez dans les champs From, To et Cc de votre client de messagerie).

En voici l'essentiel: Les deux ne doivent pas être d'accord!

Un serveur de messagerie examinera les données de l'enveloppe pour déterminer comment envoyer le message. D'autre part, à quelques exceptions près, le message lui-même sera traité comme une simple donnée. En particulier, un serveur de messagerie bien conçu ne regarde pasne regarde pas les champs To: et Cc: du message lui-même pour déterminer la liste des destinataires, ni le champ From: pour déterminer l'adresse de l'expéditeur.

Lorsque vous composez et envoyez un courrier électronique, votre client de messagerie prend ce que vous avez saisi dans les champs À, Cc et Cci, et le traduit en informations de routage d'enveloppe. Ceci se fait principalement en supprimant tous les noms complets (en ne laissant que les adresses de messagerie), mais peut également impliquer des choses comme la réécriture d'adresses, le développement d'alias, etc. Le résultat est une liste d'adresses de messagerie attribuées au serveur de messagerie avec lequel votre client de messagerie communique en tant que liste de destinataires. Les listes À et Cc sont conservées dans l'e-mail, mais la Cci n'est pas transmise au serveur, ce qui la rend invisible aux destinataires du message. L'adresse de l'expéditeur fonctionne de manière très similaire.

Lorsque le message atteint sa destination finale, les données de l'enveloppe sont soit supprimées, soit conservées dans les en-têtes de message détaillés. C'est l'une des raisons pour lesquelles Spittin 'IT a demandé les entêtes de message complètes dans un commentaire à votre question.

De plus, avec la messagerie Internet, il est possible de parler directement à un serveur de messagerie et d’injecter ainsi un message présentant une discordance entre les données de l’enveloppe et les données du message qu’une valeur normale bien comportée-mail). En outre, les serveurs de messagerie vérifient à divers degrés l'adresse de l'expéditeur indiquée dans les données de l'enveloppe; certains le vérifient à peine au-delà, en vérifiant qu'il s'agit bien d'un syntaxiquementadresse e-mail valide. L'en-tête De des données du message est soumis à un contrôle encore moins minutieux.

Etant donné que le client de messagerie destinataire affiche ce qui est contenu dans les en-têtes De, À et Cc, et non les données d'adresse de l'enveloppe, il est possible de mettre tout ce que vous voulez et le client de messagerie destinataire n'aura aucun recours, mais avoir confiance que c'est raisonnablement précis. Pour le courrier légitime, il est généralement assez précis. pour le spam, ce n'est presque jamais le cas.

Dans le monde des objets matériels tangibles et physiques habités par nous, simples humains, le expéditeur de l'enveloppeet destinataire de l'enveloppecorrespond à l'adresse de retour et à l'adresse du destinataire, que vous écrivez à l'extérieur de l'en-tête et les en-têtes From: et To:/Cc: correspondent à ce que vous indiquez, respectivement, comme adresse du destinataire et de l'adresse du destinataire, dans la lettre que vous avez placée dans l'enveloppe.

154
a CVn

tl; dr en bas.

Le protocole SMTP n'a pas la notion de destinataires CC ou BCC; Il s'agit d'une convention organisée par les clients de messagerie. Le serveur SMTP ne se soucie généralement que des informations et des données de routage. C'est une distinction importante, car sans cette capacité, BCC ne pourrait pas exister. En tant que communication BCC légitime, tenez compte de la transcription suivante du client:

HELO from-mail-server.com
MAIL FROM:<[email protected]>
RCPT TO:<[email protected]>
DATA
From: "John Smith" <[email protected]>
To: "Jane Doe" <[email protected]>
BCC: "Anonymous" <[email protected]>
Subject: Important Meeting Notice
Date: Monday, May 15, 2017 12:20 PM

This is an important meeting notice. We'll meet tomorrow.

.

Maintenant, dans ce cas, Anonymous a reçu un message concernant cette réunion. Cependant, cette version du courrier était not routée vers Jane Doe; elle ne sait rien sur Anonymous étant notifiée. En revanche, le message sera envoyé à Jane Doe avec un corps et un en-tête différents:

HELO from-mail-server.com
MAIL FROM:<[email protected]>
RCPT TO:<[email protected]>
DATA
From: "John Smith" <[email protected]>
To: "Jane Doe" <[email protected]>
Subject: Important Meeting Notice
Date: Monday, May 15, 2017 12:20 PM

This is an important meeting notice. We'll meet tomorrow.

.

Ici, comme Anonymous était dans le Cci, le message envoyé à Jane Doe n’incluait pas la liste des destinataires du Cci. En raison de la convention BCC, l'enveloppe de courrier électronique peut ne pas inclure les destinataires ayant effectivement reçu le message, mais également des destinataires ne figurant pas dans les en-têtes du message.

Comme mentionné par @JonasWielicki , ce que je voulais aussi inclure, est que le MUA (agent d'utilisateur de messagerie) est généralement responsable de l'envoi des multiples courriels nécessaires à la mise en œuvre du BCC. Les serveurs de messagerie ne connaissent rien à BCC. Le MUA doit donc implémenter BCC en envoyant plusieurs courriels avec des itinéraires de messagerie différents spécifiés dans les en-têtes de l'enveloppe. Pour cette raison, les BCC prennent généralement plus de temps à envoyer que les courriels normaux, car différents corps de message doivent être construits et envoyés individuellement.

Cela aide également avec certaines règles de conformité de messagerie. Par exemple, un serveur de messagerie peut avoir des règles configurées pour BCC automatiquement un serveur de messagerie d'archivage (tous les courriels qui lui sont envoyés sont également archivés), auquel cas le serveur de messagerie peut même ne pas être un vrai destinataire.

HELO from-mail-server.com
MAIL FROM:<[email protected]>
RCPT TO:<[email protected]>
DATA
From: "John Smith" <[email protected]>
To: "Jane Doe" <[email protected]>
BCC: "Anonymous" <[email protected]>
Subject: Important Meeting Notice
Date: Monday, May 15, 2017 12:20 PM

This is an important meeting notice. We'll meet tomorrow.

.

Ici, le destinataire est une autre partie qui n’est absolument pas divulguée à aucun des destinataires ni même à l’expéditeur. Il s'agit d'une fonctionnalité du protocole, généralement utilisée pour le relais ou l'archivage des messages.

Ce message de spam a profité de ce comportement. C'est une lacune standard qui, techniquement, devrait fonctionner avec tout serveur de messagerie conforme. Bien sûr, de nombreux serveurs mis à jour utilisent des "extensions" telles que DKIM pour vérifier qu'un tel courrier est authentique, mais il existe encore de nombreux anciens serveurs de messagerie qui ne s'en soucient pas, tout simplement parce qu'il est tentant de ne pas réparer les éléments qui ne sont pas endommagés.

Notez également comment j'ai spécifié un en-tête Date. Cela peut être n'importe quelle valeur arbitraire (mais bien formatée); beaucoup de clients seront heureux d’afficher toute date légale allant du passé lointain au futur lointain. Je me suis personnellement adressé il y a quelques années un courrier électronique qui restera en tête de ma boîte aux lettres longtemps après mon espérance de vie, ainsi qu'un courrier électronique antérieur à mon compte de messagerie et à ma propre naissance.

tl; dr

Donc, en résumé, l'expéditeur a usurpé un courrier électronique, le serveur de messagerie d'origine l'a accepté/relayé, votre serveur de messagerie l'a accepté et l'a stocké dans votre boîte de réception, et votre client a fidèlement affiché les données qui se trouvaient dans votre boîte de réception, sans contourner le problème. toute sécurité. La sécurité "Envoi" est souvent beaucoup moins restreinte que la "réception" de la sécurité, dans la mesure où POP3 requiert presque toujours un nom d'utilisateur et un mot de passe avant de pouvoir accéder à une boîte aux lettres (vous pouvez théoriquement la contourner, mais je ne connais aucun mot de passe légitime. services de messagerie qui le font).

23
phyrfox

Le SMTP et le courrier électronique sont des services Internet très anciens datant d'une époque où la sécurité et l'authentification étaient prises beaucoup moins au sérieux (le DNS est un autre exemple). La conception du protocole ne fait aucun effort pour vérifier l'authenticité de l'adresse de l'expéditeur et ne valide l'adresse du destinataire que dans la mesure où elle garantit que le courrier est livrable.

Le courrier électronique est transmis via le protocole SMTP. Le protocole SMTP est relativement stupide; il offre la possibilité de transmettre du texte en clair à une adresse électronique et très peu plus. La structure de ce texte en clair est définie par RFC 5322 . L'idée générale est que le texte de l'e-mail comporte des métadonnées appelées un en-tête et le corps du texte. Cet en-tête de courrier électronique est généré par l'expéditeur (aucun de ces éléments ne peut être approuvé) et contient des champs tels que "à:", "à partir de", "sujet:", etc.

Le protocole SMTP ne valide pas (et n'est pas censé le faire) que les en-têtes de courrier électronique correspondent à très peu d'éléments définis dans le protocole SMTP, qui sont essentiellement votre adresse électronique et une adresse électronique d'expéditeur qui n'est jamais validée.

Presque tout dans un message électronique peut être faux.

Aujourd'hui, les signatures DKIM prouvent que les e-mails ont été traités via un serveur de messagerie agréé par le titulaire du domaine. En creusant plus profond, vous constateriez que cet email frauduleux n'a pas de signature DKIM.

6
trognanders

L'adresse To de l'en-tête de l'e-mail est fournie à titre d'information et est indiquée par le client de messagerie. L'adresse du destinataire réel est donnée avec RCPT TO dans SMTP. Il en va de même si vous écrivez une lettre, mettez une enveloppe, écrivez l'adresse 1 sur une enveloppe. Ensuite, allez au courrier, donnez une autre adresse-2. Le service de messagerie met votre enveloppe dans une enveloppe plus grande portant l'adresse 2 et l'envoi y ira. Votre secrétaire (logiciel client de messagerie) met l'enveloppe externe dans la corbeille et vous montre l'enveloppe interne avec l'adresse-1. Vous pouvez voir cela avec l'affichage RAW du message électronique.

3
i486

C'est un aspect légèrement différent, basé sur l'examen des en-têtes. Les autres réponses traitent mieux que moi les détails du protocole SMTP.

Si vous pouvez obtenir les en-têtes complets de votre message, puis recherchez-les pour votre adresse, vous pouvez le trouver dans un champ appelé Envelope-to, Delivered-to ou X-Apparently-to. Le premier est utilisé par mon fournisseur de messagerie, le second par Gmail. J'ai vu le troisième utilisé aussi. Ce sont des champs différents mais, pour nos besoins, tendent à signifier la même chose: la boîte aux lettres dans laquelle le message doit être remis. J'ai testé en envoyant à partir d'Outlook (version de bureau) avec le destinataire BCCed.

Mon fournisseur de messagerie utilise également le champ Delivered-To, mais pour le nom de la boîte aux lettres sur son serveur. Ce n'est pas mon adresse e-mail, bien qu'elle en ressemble à une (pensez à ChrisH-$ACCOUNTNAME@$SERVER.mail.com).

Outlook (combiné avec Exchange Server), d’autre part, n’inclut pas dans les en-têtes un seul champ avec l’adresse électronique du destinataire si vous êtes répertorié en tant que Cci.

2
Chris H