スパムメールの送信元はどこにあるスパム対策最前線(3/3 ページ)

» 2006年03月01日 00時00分 公開
[大澤文孝,ITmedia]
前のページへ 1|2|3       

 メールは、「SMTP(Simple Mail Transfer Protocol)」というプロトコルで送信される。このとき、「MAIL FROM:」というコマンドで差出人が、「RCPT TO:」のコマンドで宛先がそれぞれ定められる。これらのコマンドで設定される値を「エンベロープ」という。

 「MAIL FROM:」は一般に「Fromヘッダ」と同じ値を指定するが、そうでなくてもよい。さらに言えば、実在しないメールアドレスでも構わない。「MAIL FROM:」で設定されるメールアドレスは、配送エラーなどが生じた際に通知するための送信アドレス先として使われるものだ。このため、メール本文とは関係ないといえる。

 これは、もし何者かが「MAIL FROM:」に他人のメールアドレスを使った場合には、該当するメールアドレスには、「自分が出した覚えのない返信が戻ってきたり、エラーメールが戻ってきたりする可能性がある」ということを意味する。

 また「RCPT TO:」は一般に「Toヘッダ」や「Ccヘッダ」「Bccヘッダ」と同じ値を指定するが、そうでなくてもよい。つまりメールを見たとき、「自分宛ではないメールが届いているように見える」ということもあり得るのだ(図2)。

図2■メールヘッダの偽装

 そもそもSMTPにおいては、差出人は「自己申告制」であり、内容が正しいかどうかの判定はしないというプロトコル上の規格内容になっている。この問題を解決するものとして、最近では、差出人のドメイン名を調べ、「本当にそのドメインのメールサーバから送信されたのかを確認する」という試みが始まっている。

 送信元となるメールサーバを確認する仕組みは、2通りある。1つはHotmailなどで採用されている「Sender ID」、もう1つは、Yahoo!などで採用されている「DomainKeys」という仕組みだ。

 「Sender ID」では、送信されるメールサーバのIPアドレスを制限することで、「自分の管轄外にあるコンピュータからメールが送信されたか否か」を調べる仕組みで動作する。

 一方「DomainKeys」では、電子署名を使うことが特徴であり、メールサーバが秘密鍵で署名をし、DNSサーバで公開される公開鍵を使うことで正しく署名されているかどうかを調べる。これにより、本来のメールサーバから送信されているかどうかを判定するのだ。

 どちらもまだ過渡期ではあり、採用しているプロバイダや企業はそれほど多くはない。さらに実際には、ドメイン名が正しいかどうかを調べるには、メールソフト側の対応も必要になってくる。しかし、これらが普及すれば「ドメイン名の偽装」が起きることは徐々に少なくなることが予想できる。メールスパムの差出人が、他人を装って送信しづらくなるはずだ。

 特に他人のドメインを装い、本物のサイトへと導くフィッシング詐欺対策としては有望な技術だといえる。

前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ