実践!SMTP

  1. 実習の前準備
  2. telnet を使用した SMTP 体験
  3. メール構造の確認作業
  4. GPG を使用した暗号化, 復号体験
  5. [付録] どこまでが信用できる情報か?

5 [付録] どこまでが信用できる情報か ?

[5.1] エンベローブ情報

ヘッダーに書かれた TO, From フィールドは詐称し放題, でもエンベローブ情報は... と思いきや, エンベローブ From も 実際は詐称可能です. エンベローブ from 情報は SMTP 通信時に,

mail from:hoge@ep.sci.hokudai.ac.jp
で打ち込んだものが格納されます. ここに自分ではないアドレス, 例えば存在しないアドレスを 返したとしても, SMTP では相手が示した情報が正しいかどうかの確認を一切行わないため, 律儀に
250 ok
と返し, エンベローブ From として認識してしまうのです.

このように, 性善説を前提に作られた電子メールサービスは, その手軽さ故に爆発的に広がりました. しかし, その普及スピードに対して迷惑メール, 詐称メールへの対策が追いつかず, メール送信量が増えた今となっては, 迷惑メール, ウィルスメールといった詐称メールが 大量に発生し得る下地を持つ問題点が浮き彫りとなってしまいました. 実際に現在の世界中に配送されている電子メールのうち, "正しく"送られているメールは 1% にも満たないと言われています.

[問題] 自分宛にエンベローブ From を詐称したメールを送ってみましょう. それを詐称していないメールと比較することで, エンベローブ From 情報がヘッダーのどこに反映されている かを調べてみましょう.

[5.2] ヘッダー情報

コンテンツ内のヘッダー情報のうち, Received: フィールドは 条件付きで信用に値する情報であると言えます.

Recieved フィールドには, MTA がメールを転送した場合に その作業内容が記録されています. 例えば,

Received: from foo.ac.jp (HELO foo.ac.jp [xxx.xxx.xxx.xxx]) by bar.ac.jp with SMTP id i0Q2A4lw004738; Fri, 30 Jan 2004 07:28:33 -0000 (JST)
と記されているときには, foo.ac.jp というメールサーバから bar.ac.jp へ転送されたことを意味します. HELO 以下は smtp 通信の最初で述べたホスト名が表示されますが, これがいく らでも詐称可能です. しかし, その次に書かれている IP アドレスは, SMTP 通信のやり取り中に SMTP サーバが相手の IP アドレスを自動的にデータ として取得しますので, 詐称は不可能です.

Recieved フィールドは, SMTP サーバを転送されるごとに "一行上に" データ を追加していきますので, 一番下の Recieved フィールドを見ることで 送信元ホストの情報を得ることができます. しかし, それは中継した SMTP サーバが信頼できるサーバであった場合のこと. 途中に信用できないような SMTP サーバを通過した場合には, ヘッダー内容の 書き換えが行われる可能性があります.

[問題] 信頼できるメールサービスのために, 詐称メール対策として現在 あげられている案を調べてみよう (ヒント: 送信者認証, Sender ID, DomainKeys etc...).




最終更新日: 2014/07/01 齊藤 大晶 2014年度用に改訂 Copyright © 2000-2014 inex