web-dev-qa-db-ja.com

私に送信されたEメールは[email protected]に送信されます。これはどのように行われますか?

私は最近詐欺の電子メールを送られました、そして笑いのために私はそれを読むためにそれを開けました。非常にわかりやすく、あまり多くの労力をかけていません。

私は独特の何かに気づいた。このメールは私宛てではありませんでした。最初はCCかBCCの疑いがありましたが、自分のアドレスがメールに記載されている場所はありません。私は下の写真を提供しました。これはどのように行われますか?

enter image description here

104
tuskiomi

インターネットの電子メールメッセージは2つの部分から構成されています。それらを 封筒 ペイロードメッセージ または単に message と呼ぶことができます。

エンベロープにルーティングデータがあります:主に、これは送信者アドレスと1つ以上の受信者アドレスです。

メッセージのメッセージの内容は次のとおりです。件名、メッセージ本文、添付ファイルなど。トレース(Received:)ヘッダー、DKIMデータなどの技術情報もあります。 表示 送信者アドレスと受信者アドレス(メールクライアントのFromToCcの各フィールドに表示されるもの)も同様です。

ここでそれの核心は次のとおりです。2人は同意する必要はありません!

メールサーバーはエンベロープデータを調べてメッセージの送信方法を決定します。一方、例外はほとんどありませんが、メッセージ自体は単なるデータとして扱われます。特に、行儀の良いメールサーバーメッセージ自体のTo:Cc:フィールドを見て受信者のリストを判断することも、From:フィールドを見て送信者のアドレスを判断することもしません。

電子メールを作成して送信すると、電子メールクライアントは、To、Cc、Bccの各フィールドに入力したものを受け取り、それをエンベロープルーティング情報に変換します。名前(電子メールアドレスだけを残す)がアドレス書き換え、エイリアス拡張などのようなものを含むこともできます。結果は、あなたのメールクライアントが受信者のリストとして話しているメールサーバーに与えられたEメールアドレスのリストです。 ToとCcのリストは電子メールに保存されますが、Bccはサーバーに渡されず、メッセージの受信者には見えません。 送信者アドレスも同様に機能します。

メッセージが最終宛先に到達すると、エンベロープデータは破棄されるか、詳細メッセージヘッダーに保持されます。それが、SpittinのIT部門があなたの質問へのコメントでメッセージのヘッダー全体を要求した理由の一部です。

さらに、インターネットの電子メールでは、メールサーバーと直接通信し、エンベロープデータとメッセージデータの間に不一致があるメッセージを挿入することができます。通常の 行儀の良い e - メールクライアントはあなたに作曲させないでしょう。また、メールサーバーは、エンベロープデータで指定されている送信者アドレスに対してさまざまな程度のチェックを行います。一部のものではほとんどチェックされません _これが 構文的 有効なEメールであることの確認住所。 メッセージデータのFromヘッダはさらに厳重に検査されます。

受信側の電子メールクライアントには、From、To、およびCcヘッダーの内容が表示され、エンベロープのアドレスデータは表示されないので、必要なものを配置することができますおよび受信側の電子メールクライアントには表示されません。それは合理的に正確であると信頼することを頼りにすること。正当なメールの場合、通常は十分正確です。スパムの場合、それはほとんどありません。

有形の、私たちだけで人間が住んでいる物理的なオブジェクト _ 封筒の送信者 封筒の受信者 は、それぞれ返信アドレスと受信者アドレスに対応します。封筒の外側に書いてください。そして、From:To:/Cc:ヘッダーは、あなたが封筒に入れた手紙の中で、あなたが自分のアドレスとして入れたものと受信者のアドレスとして入れたものにそれぞれ対応します。

154
a CVn

tl;一番下のdr。

SMTPプロトコルには、CCまたはBCCの受信者という概念はありません。これはメールクライアントが保持する規約です。 SMTPサーバーは通常、ルーティング情報とデータだけを扱います。この機能がなければBCCは存在できないため、これは重要な違いです。合法的なBCC通信として、次のクライアントの記録を検討してください。

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.

.

さて、この場合、匿名はこの会議についてのメッセージを送られました。しかし、このバージョンのメールは Jane Doeにはルーティングされていませんでした。彼女は匿名が通知されることについて何も知りません。これとは対照的に、Jane Doeには本文とヘッダーが異なるメッセージが送信されます。

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.

.

ここでは、AnonymousがBCCに含まれていたため、Jane Doeに送信されたメッセージにBCC受信者リストが含まれていませんでした。 BCCの規約により、電子メールエンベロープには、実際にメッセージを受信した受信者が含まれていない場合があり、メッセージヘッダーに表示されていない受信者も含まれている場合があります。

@ JonasWielicki で述べたように、MUA(Mail User Agent)は通常、複数のEメールを送信する責任があります。 BCCを実装するために必要です。 EメールサーバはBCCについて何も知らないので、MUAはエンベロープヘッダで指定された異なるEメールルートで複数のEメールを送信することによってBCCを実装しなければなりません。このため、BCCは通常、通常の電子メールよりも送信に時間がかかります。異なるメッセージ本文を作成して個別に送信する必要があるためです。

これはいくつかのEメールコンプライアンスルールにも役立ちます。たとえば、メールサーバーにアーカイブEメールサーバーを自動的にBCCするように設定されたルールがある場合(そのメールサーバーに送信されたすべてのEメールもアーカイブされます)、その場合、メールサーバーは実際の受信者でさえないかもしれません。

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.

.

ここで、受信者は、受信者のいずれか、または送信者にさえ完全には開示されていない別の当事者です。これはプロトコルの機能であり、通常はメッセージの中継またはアーカイブに使用されます。

このスパムメッセージがしたことはその振る舞いを利用することです。これは標準的な抜け穴であり、技術的にはあらゆる準拠メールサーバーと連携するはずです。もちろん、更新された多くのサーバーはそのようなEメールが本物であることを確認するためにDKIMのような「拡張機能」を使用しますが、壊れていないものを修正したくないという理由でそれでも構わない古いメールサーバーはまだたくさんあります。

Dateヘッダの指定方法にも注意してください。これは任意の(しかし整形式の)値にすることができます。多くの顧客は遠い過去から遠い未来まであらゆる法定日付範囲を楽しく表示するでしょう。私は自分の平均寿命を超えても自分のメールボックスの一番上に表示される電子メールを自分の個人的に何年か前に自分自身に送信してきました。

tl; dr

つまり、要約すると、送信者がEメールを偽造し、送信元のEメールサーバーがそれを承認/中継し、Eメールサーバーがそれを受け入れて受信トレイに保存し、クライアントが受信トレイにあるデータを迂回せずに忠実に表示しました任意のセキュリティPOP3はメールボックスにアクセスする前にほとんどの場合ユーザー名とパスワードを要求するので、「送信」セキュリティは「受信」セキュリティよりはるかに制限が少ないことが多いです(理論的にはこれを回避できますが、正当な理由はわかりません)。メールサービス))。

23
phyrfox

SMTPと電子メールは、セキュリティと認証がそれほど重要視されていなかった時代の非常に古いインターネットサービスです(DNSもその一例です)。プロトコルの設計では、送信者アドレスの信頼性を検証することはせず、メールが確実に配信可能である限り、受信者アドレスを検証するだけです。

電子メールはSMTPプロトコルを介して送信されます。 SMTPプロトコルは比較的愚かです。平文をEメールアドレスに送信する機能を提供します。この平文の構造は RFC 5322 で定義されています。一般的な考え方は、電子メールのテキストにはヘッダーと呼ばれるメタデータと、メッセージの実際のテキスト本文があるということです。この電子メールヘッダーは送信者によって生成され(どれも信頼できません)、 "to:"、 "from:"、 "subject:"などのフィールドを含みます。

SMTPプロトコルは、電子メールヘッダーがSMTPプロトコルで定義されているごくわずかなもの(基本的にあなたの電子メールアドレスと決して検証されない送信者の電子メールアドレス)のいずれにも一致することを検証しません.

電子メールメッセージのほとんどすべてが偽物になる可能性があります。

今日のEメールの内容に関してリモートからでも信頼できる唯一のものはDKIM署名です。これは、Eメールがドメイン登録者によって認可されたEメールサーバーを通して処理されたことを証明します。さらに深く掘り下げると、この詐欺メールにはDKIMの署名がありません。

6
trognanders

電子メールヘッダのアドレスToは情報提供を目的としており、電子メールクライアントによって表示されます。実際の受信者アドレスはSMTPのRCPT TOで与えられます。手紙を書いて封筒に入れて封筒にAddress-1を書いても同じです。それから急使に行き、別の住所-2を与えなさい。宅配便はあなたの封筒を住所-2の大きい封筒に入れ、出荷はそこに行きます。あなたの秘書(電子メールクライアントソフトウェア)は外部の封筒をゴミ箱に入れてアドレス-1の内部の封筒を見せます。あなたは電子メールメッセージのRAWビューでこれを見ることができます。

3
i486

これは、ヘッダーの調査に基づいて、わずかに異なる外観です。他の答えは私ができるよりSMTPの詳細を扱います。

メッセージの完全なヘッダを取得してから自分のアドレスを検索すると、Envelope-toDelivered-to、またはX-Apparently-toというフィールドで見つけることができます。最初のものは私のメールプロバイダによって使用され、2番目のものはGmailによって使用されます。私も3番目のものが使われているのを見ました。これらは異なる分野ですが、私たちの目的のために同じことを意味する傾向があります:実際にメッセージを配送するためのメールボックス。私は、受信者BCCでOutlook(デスクトップ版)から送信することによってテストしました。

私のメールプロバイダもDelivered-Toフィールドを使用していますが、サーバー上のメールボックス名には使用しています。これは私のメールアドレスではありません(ChrisH-$ACCOUNTNAME@$SERVER.mail.comと思います)。

一方、Outlook(Exchangeサーバーと組み合わせて)では、BCCとして表示されている場合、受信者の電子メールアドレスを含む単一のフィールドがヘッダーに含まれません。

2
Chris H