近年,国内においても,スパム(迷惑メール)への関心が高まっている。米国などでは以前から問題視されていたものの,国内では“対岸の火事”といった感じだった。しかし現在では,スパムに悩まされている国内ユーザーは少なくないだろう。そこで,今回および次回の記事では,「スパムはどのように送られてくるのか」「スパム対策に有効は手段は何か」――について解説したい。
スパムとは,受信者に承諾を得ることなく一方的に送られてくる,広告などのメールを指す。「迷惑メール」や「UCE(Unsolicited Commercial Email)」,「ジャンク・メール」,「バルク・メール」などとも呼ばれる。
宣伝目的で一方的に送られてくることから,郵便で送られてくる「ダイレクトメール(DM)」に似ているが,大きな違いがある。それは,ダイレクトメールに比較すれば,スパムはとても低コストで送れるということである。その結果,インターネットには大量のスパムが飛び交うことになる。
スパムを送ることを生業としている「スパマー(スパム発信業者)」は一体どのようにスパムを送っているのだろうか。まずは,その手順を考えてみよう。一般的に,スパマーは以下の手順を踏む。
(1)スパムの送信先アドレスを作成/収集する
(2)送信すべきスパムを作成する
(3)スパムを送信する
以下,それぞれについて説明しよう。
メール・アドレスはツールで作成/収集
まずスパマーに必要なのは,大量のメール・アドレスである。一方的に送るのだから,きちんと読まれる確率は低い。そこで,できるだけ大量に送るのである。
ただし,きちんと送信できなければ意味はない。そこで,現在有効なメール・アドレスを必要とする。実際,スパマーに対する依頼主からの報酬は,実際に送信できたメールの件数によって支払われていると聞く。いくら大量に送っても,エラー・メールとして戻ってきた分には料金は支払われないのである。
では,スパマーは,どのようにして大量の,しかも有効なアドレスを入手するのか。代表的な方法としては,以下の3つが考えられる。
(1)メール・アドレス生成ツールを使う
ご存じのように,メール・アドレスは「アカウント名@ドメイン名」で構成される。ドメイン名は容易に入手できる。問題はアカウント名だが,これを予測して,もっともらしいメール・アドレスを作成するツールが存在する。そのツールを使ってメール・アドレスを作成するのである。ツールには,「人名」「役職名」「特定の OS で使われるアカウント名(root など)」「メーリング・リストとして使われそうなアカウント名」などを登録した辞書が含まれる。この辞書と,実際に存在するドメイン名のリストを組み合わせて,もっともらしいアドレスを作るのだ。
もちろん,それらはもっともらしいだけで,実際に有効かどうかは分からない。そこでスパマーは,作成したメール・アドレスをチェックする。一般的には,相手先のメール・サーバーに接続してチェックする(SMTP接続して,チェックしたいアドレスを引数にした「RCPT TO」コマンドを送信する)。このとき,チェックするだけで,メール本体は送らない(「DATA」コマンドは送信しない)。
チェックの結果,届く見込みがなさそうなアドレスは破棄する。それ以外のアドレスを有効なものとみなして使用する。
(2)Web サイトやニュース・グループから収集する
Webサイトやニュース・グループへの投稿に記載されているアドレスは有効である可能性が高い。そこで,Webサイトやニュース・グループを巡回して,「mailto:」にリンクされている文字列,および「文字列@文字列」となっている文字列をメール・アドレスとして収集する。ほとんどの場合,人手で収集することはなく,専用のプログラムを使って収集する。そのようなプログラムは,「ハーベスター(刈り入れ機)」などと呼ばれることもある。
(3)購入する
スパムが全盛の今,メール・アドレスは商品にもなっている。メール・アドレスのリストを売り込むスパムが送られてくることもあるそうだ。そのようなスパムでは,数十万件のメール・アドレスが数万円程度で販売されていると聞く。
ヘッダー情報を偽装
次に,スパムの内容について考えてみたい。当然のことながら,メールの本文には広告主が望む文章が入る。これは通常のメールと同じである。問題は,メールに付加するヘッダー情報である。スパマーはヘッダー情報を偽装する。
ヘッダー情報とは,メール・ソフトの「あて先」といった項目で表示される「Toヘッダー」や,「送信者」といった項目で表示される「Fromヘッダー」などだ。これらの情報は,あくまでもメールのデータ(本文)の一部であり,いくらでも偽装が可能である。
通常のメール・ソフトでは,実際の送り先および送り元アドレスが,それぞれToヘッダーおよびFromヘッダーに記載されるので,これらの情報は正しいものと思われがちだが,それはメール・ソフトの実装がそうなっているだけのこと。実際のアドレスとは異なるアドレスをヘッダーに記述して,本当の送信者を隠すことは容易である。メール・サーバーからのエラー・メールの送信先などに使われる「Reply-To」「Errors-To」「Sender」ヘッダーも,偽装されることがほとんどである。
オープン・リレーやフリーのサービスを悪用
スパマーの“工夫”はヘッダー情報を偽装するだけではない。送信時もオープン・リレー・サーバーやフリーのメール・サービスを使うなどして,送信元を特定されないようにする。
「オープン・リレー・サーバー」とは,任意のメール・サーバーから任意のメール・サーバーへのメールの中継を許すメール・サーバーのことである。「サード・パーティ・リレー・サーバー」や「第三者中継サーバー」などとも呼ばれる。
もともと,オープン・リレーはインターネットで推奨されていた。インターネットができたばかりのころは,電子メールのユーザーは少なく,中継機能を持つメール・サーバーの数もとても少なかった。このため,送られてきたメールはすべて受け取って,自分のドメインのユーザー(ローカル・ユーザー)あてではない場合には,他のメール・サーバーへ中継するのが礼儀とされていた。
ところが,インターネットの利用者増加に伴い,好意で行われていたオープン・リレーが悪用されるケースが増えてきた。スパムなどの踏み台に使われるようになったのだ。現在では,ローカル・ユーザーあて以外のメールは受け取らない――つまり,オープン・リレーを禁止する――設定が,正しい設定となっている。
スパムの送信に,フリーのメール・サービスが利用される場合も多い。フリーのメール・サービスのアカウントは容易に取得できる。そこでスパマーは,アカウントを取得すると,スパムを大量に送信して,すぐにそのアカウントを解約する。そうすれば,送信に使われたメール・サービスが分かっても,送信者本人を突き止めることは困難になる。
以上のように,スパマーは当事者に知られることなくメール・アドレスを収集し,送信者が分からないように大量のスパムを送信する。インターネットや企業ネットワーク,サーバーのトラフィックや負荷を増大させ,受け取ったユーザーには選別などの労力を強いる。
このように悪質なスパマーに対抗するにはどうすればよいだろうか。それについては,次回の記事で解説したい。
井上 秀 (INOUE Hiizu)
NECソフト株式会社 プラットフォームシステム事業部
Linux システム G
IT Pro Securityが提供する「今週のSecurity Check [一般編]」は,セキュリティ全般の話題(技術,製品,トレンド,ノウハウ)を取り上げる週刊コラムです。システム・インテグレーションやソフト開発を手がける「NECソフト株式会社」の,セキュリティに精通したスタッフの方を執筆陣に迎え,分かりやすく解説していただきます。