IIJ
技術研究所
山本和彦
2005年11月
日本での迷惑メールの問題は、他の国と比べると特殊であると言われてきました。諸外国で迷惑メールというと、PCへ届くものを指します。これに対し日本では、携帯電話への迷惑メールが問題視されてきました。しかし、この認識を改めるべきときが来たようです。
NTTドコモのプレスリリースによると、3ヶ月間迷惑メールを受け取っていないユーザの数が7割に達するそうです。一方で、PC宛の迷惑メールは急増しています。迷惑メール事情において、日本も諸外国と同じ立場に置かれるようになったと考えるべきなのでしょう(ややこしいのですが、携帯電話のユーザが受け取る迷惑メールは減少しましたが、携帯電話事業社が受け取るインターネットからの迷惑メールは増加しています)。
PC宛の迷惑メールの問題が最も深刻であるとされるアメリカでは、ISP/ASPがかなり大胆な対策を講じています。その象徴が、PCから不当なメールが配送されるのを遮断するOP25B(Outbound Port 25 Blocking)です。
このような通信の自由を奪う技術に対してアレルギー反応を起こす人はたくさんいます。自由こそインターネットであり、ユーザの自由は守られるべきであると信じているのです。私もできればそう信じたいと思っている一人です。
このような理想とはうらはらに、残念ながらインターネットは岐路に立たされているのでしょう。ユーザに自由を与えるが責任も押し付けるのか。それとも、ユーザの自由は少し制限するが安心して利用できるサービスを提供するのか。おそらく多くのユーザは後者を望んでいると思います。
日本のISP/ASPは、OP25Bといった対策技術を導入し、ユーザに安心して利用できるサービスを提供する方向へ向かっています。迷惑メールに関するポータルサイトの開設にあたり、本稿ではこのような対策技術を包括的に説明するとともに、最近の迷惑メールの傾向や、現在でも取りうる対策についてまとめます。
迷惑メールの種類
未承諾広告
出会い系サイトへの誘導
フィッシング
コンテンツフィルタ
経験的手法
ベイジアン統計
URLのブラックリスト
シグニチャ
ウイルスフィルタ
フィルタリング
ブラックリスト
ホワイトリスト
グレーリスト
レート制御
ISP/ASPの抜本的な対策
OP25B(Outbound Port 25 Blocking)
ドメイン認証
SPF(Sender Policy Framework)
DKIM(DomainKeys Identified Mail)
レピュテーション
迷惑メールの種類
受信したメールが迷惑メールかどうかは、受け取った人の主観によって決まります。迷惑であると思えば迷惑メールです。これまで、さまざまな種類の迷惑メールが登場しましたが、知識としては現在問題となっている以下の3種類を理解すれば十分だと思います。
- 未承諾広告
- 出会い系サイトへの誘導
- フィッシング
▼ 未承諾広告
未承諾広告は、いわゆるダイレクトメールの電子メール版です。さまざまな商品が宣伝されている中で、やはりアダルトコンテンツや強壮剤の広告が圧倒的多数を占めています。最近は、コンテンツフィルタをすり抜けること、あるいはユーザの興味を引くことを目的として、手の込んだ内容になっているものも多くなってきました。例として引用してみましょう。
Subject: 白姫女子校保健室からのおしらせ From: 県立白姫女子校保険室この前の妊娠検査について県立白姫女子高校保健室からのお知らせです。間違って受け取った方は、 お手数ですが、破棄してください。 お詫び致します。該当する人は 下記リンクより入ってお知らせを確認して下さい。 http://example.net/shirahime/?m9xDi8OM2U18v6troZOMN8xluEhWd4BwN7 |
最後にあるURLでアクセスできるのはアダルトサイトです。この迷惑メールは間違って届いたことを装っていますが、なんのことはないアダルトサイトの未承諾広告なのです。
▼ 出会い系サイトへの誘導
出会い系サイトへの誘導は、たわいない会話から始め、話す内容をエスカレートさせて、最後には出会い系サイトへ引き込むことを目的としています。以下に引用をしながら例を示します。
私のパソコンに件名も本文も書いていないメールが来たのでとりあえず返信してみました。 私は 女性で渡辺と申します。間違いだったらごめんなさい |
このメールに答えると、次のような返事が返ってきます。
そうだったんだですかあ。 じゃあ誰が送ったんでしょうね? けど、このメルアドが男の人だとわかって、ちょっとオロオロしちゃいました。 実は、私の周りって女の子ばかりだから、男性からメールをもらったことないんです。 でも、なんだかほっとしました。 わざわざメールをくださってありがとうございました。 |
メールのやりとりを続けていると、最後には「会いたい、会うにはここにアクセスして」と言われるのです。そしてたとえば、出会い系サイトの利用料を請求されたりします。手の込んだ架空請求といってもいいでしょう。
この会話の行方が気になる方は、「渡辺春香」で検索してみて下さい。
▼ フィッシング
フィッシングは、銀行口座やクレジットカードなどの情報を盗み取ることを目的としたインターネット特有の詐欺です。
たとえば、ある銀行を装ったメールをたくさんの人にばらまきます。受信者のなかには、その銀行のオンライン・アカウントを持つ人がいるかもしれません。メールには「オンライン・アカウントに関する情報を更新して下さい」などと書かれています。だまされて、記載されているURLのページにアクセスし、口座番号やパスワードを入力してしまうと、その口座からお金が引き落とされるというわけです。
一般に、フィッシングメールに書かれている URL をクリックすると、ある時点の実際のページをコピーし改造した、実物とほとんど見分けのつかないページが表示されます。唯一の違いは、アドレスバーに本当のサイトとは違うドメイン(正確にはIPアドレス)が表示されていることです。
このページにログインすると、口座からオンラインで預金を引き出したり、偽造の銀行カードを作成するのに十分な個人情報を入力させるようになっています。
残念ながら、日本でもフィッシングの被害が発生しています。2005年2月には、UFJのクレジットカードが被害に遭いました。33件のクレジットカードの偽造で、被害総額は150万円だそうです。
金銭的な被害以上に問題なのは、フィッシングがメールやWebで使われるドメイン名のブランドイメージを著しく低下させることです。
コンテンツフィルタ
メールを一旦受け取り、メールの内容から迷惑メールか判断する仕組みがコンテンツフィルタです。コンテンツフィルタは、以下のように分類できます。
- 経験的手法
- ベイジアン統計
- URLのブラックリスト
- シグニチャ
以下、それぞれを説明していきます。
▼ 経験的手法
経験的手法は、コンテンツフィルタの初期手法です。ユーザが経験に基づいて迷惑メールの特徴をルールにし、それに合致するかを判定します。たとえば、ユーザは「Subject: に未承諾広告と書いあるのは迷惑メール」といったルールを定義します。
この手法の長所は、実装が容易なことです。短所は、誤判定が多いこと、そしてルールを改良していくのが面倒かつ困難なことです。
▼ ベイジアン統計
ユーザの主観に頼らずに、単語の統計をとることで迷惑メールを判断する方法がベイジアン統計による手法です。ユーザが受け取ったメールを迷惑メールだと判断した場合、統計ソフトウェアに学習させていきます。そうしておけば、次から類似のメールを受け取った場合、統計ソフトウェアが迷惑メールだと判断してくれます。
この手法が広く普及したために、迷惑メール配送業者は、統計ソフトウェアがうまく取り扱えないような工夫を施し始めました。単純な例としては、「アダルト」の代わりに「アタルト」を使うことが挙げられます。人間には「アダルト」のような錯覚を起こさせ注意を引くことに成功し、それでいて統計ソフトウェアには引っかからないようにします。また、未承諾の広告の一部に新聞記事等を挿入し、統計ソフトウェアが取り扱うのが困難になるようにしている例もあります。
ベイジアン統計の欠点は、上記から推測されるように誤判定が多いこと、そして処理にコストがかかることです。
▼ URLのブラックリスト
未承諾広告には、アクセスさせたいページのURLが入っている場合がほとんどです。そこで、URLのブラックリストを作成し、それに合致するURLを含むメールを迷惑メールと判断します。
▼ シグニチャ
迷惑メールは、コピーが大量にばらまかれる傾向にあります。たとえば、あるメールをユーザが迷惑メールだと判断し、共有データベースに登録したとします。それと同一のメールを受け取った別のユーザが、共有データベースを参照すれば、迷惑メールと判定されていることが分かります。このアイディアを効率よく実現したのがシグニチャ方式です。
迷惑メールの本文は長くなることがあり、全体を登録するデータベースを構築するのは大変です。そこで、メールから計算したシグニチャ(セキュアハッシュ値)を代わりに用います。シグニチャとは、あるデータを一意に特徴付ける数バイトのデータです。シグニチャによって、データベースを小さくし、検索を高速にすることができるわけです。
この方法の長所は、誤判定がほとんどないことです。今後、急速に広まるかもしれません。ただ、普及すれば、迷惑メール配送業者は、それぞれの迷惑メールの本文を若干変更し、同一のメールだと判定できないように対応してくるかもしれません。
以上、各手法を説明しました。コンテンツフィルタは即効性がありますが対処療法であり、迷惑メールを送信することを妨げたり、迷惑メールの受信を拒否したりすることには貢献できません。また、サーバの負荷が大きくなることも問題のひとつです。
法律面の話になりますが、ISP/ASPが標準でコンテンツフィルタを組み込むことは、「検閲の禁止」に違反すると判断されています。そのため、ISP/ASPがこの種のサービスを提供する場合は、最初は無効にしておき、ユーザ自身がユーザの判断で有効にしてもらう必要があります。なお、企業が社員のために導入する場合は、企業はエンドユーザと見なされるので、問題ありません。
ウイルスフィルタ
ウイルスに特化したコンテンツフィルタが、ウイルスフィルタです。ウイルスを特徴づけるパターンがメールの中に存在するかをチェックすることで、ウイルスを検出します。ウイルスは次々と生み出されますので、パターンのリストはベンダーの多大な努力によって更新されています。
受信メールだけでなく、送信メールに対してもウイルスフィルタを通し、ウイルスの送信を防止することも一般的です。
(ウイルス以外の)迷惑メールに対するコンテンツフィルタとは違い、ISP/ASPはウイルスフィルタを標準で組み込むことは合法であるとされています。その理由は、ウイルスは誰もが受け取りたくないものであり、自然言語ではない部分を機械的に判断しても検閲にはあたらないと解釈されているからです。
フィルタリング
メールを受け取る際に、通信相手のIPアドレスによって、受信したり、受信を拒否したりする方法があります。この方法は、以下の3種類に大別されます。
- ブラックリスト
- ホワイトリスト
- グレーリスト
以下、それぞれについて説明します。
▼ ブラックリスト
迷惑メール配送業者が所有するメールサーバやボット(ゾンビ)となったPCは、たくさんの迷惑メールを送りつけてきます。この悪いサーバの一覧がブラックリストです。大雑把に言えば、メールを受け取る際に、通信相手のIPアドレスがブラックリストに載っていれば、着信を拒否したり、受け取る数を制限したりします。
ボランティアによって管理され公開されているブラックリストは、登録/削除が頻繁なためか RBL(Realtime Black List)とも呼ばれています。以下に有名なRBLの一部を列挙します。
SMAPCOP
http://www.spamcop.net/
SBL
http://www.spamhaus.org/sbl/
CBL
http://cbl.abuseat.org/
DSBL
http://dsbl.org/
BOPMl
http://opm.blitzed.org/
▼ ホワイトリスト
ホワイトリストは、ブラックリストの逆で、健全なサーバの一覧です。利用方法の一例としては、ブラックリストとの併用が挙げられます。たとえば、ブラックリストに誤って登録されると大問題になるサーバは、あらかじめホワイトリストに登録しておきます。日本では、携帯電話事業社の送信サーバはあらかじめホワイトリストに追加しておく方がいいでしょう。
もっと積極的なホワイトリストもあります。それは、認定(accreditation)サービスと呼ばれており、「責任あるホワイトリスト」と考えればいいでしょう。
以下にIronPort Systemsの認定サービスであるBSP(Bonded Sender Program)を簡単に説明します。BSPのホワイトリストに入れてもらうサイトは、迷惑メールを送信しないと誓約し、その保証として供託金を積みます。ホワイトリストは誰でも参照できます。たとえばAOLでは、メールを受け取る際に、ホワイトリストに入っている場合はメールボックスに届け、入っていない場合は種々のフィルタにかけるという仕組みを採用しています。
どのユーザでもいいのですが、ある人がホワイトリストに入っているメールサーバから迷惑メールが届いたと判断したとしましょう。たとえばAOLには、「このメールは迷惑メールである」とレポートするボタンがあります。BSPでは、レポートを受け取ると第三者機関に本当に迷惑メールであるか判断しもらいます。
迷惑メールであると認定された場合は、供託金からお金が差し引きかれ、慈善事業団体に寄付されます。すべての供託金が無くなると、ホワイトリストから削除されます。ですので、迷惑メールを出したサイトの管理者は、迷惑メールを出した原因を追及し、解決を迫られることになります。
▼ グレーリスト
迷惑メールが蔓延している理由は、迷惑メールは配送業者にとってコストが低く、見返りは高いからです。ここでいうコストとは、メールを送るのにかかる費用のことです。一説によれば、1億通の送信に3ドルしかかからないという見積りもあります。
迷惑メール配送業者にとっては、安価に大量に迷惑メールを送信できれば相手は誰でも構いません。逆に、送信が高くつく相手にわざわざ迷惑メールを送ろうとは思っていません。
通常のメールのやりとりでは、受信先が「一時的なエラー」を返した場合、送信元はある程度の時間をおいたあと、再送を試みます。迷惑メール配送業者にとって、この再送という行為は高くつくので、彼らのシステムでは迷惑メールを再送しないことが多いようです。
この特徴を利用した仕組みが、グレーリストです。
グレーリストでは、最初にメールが送られてきたときは受信を保留します。この時点で迷惑メール配送業者のシステムは、このサーバを送り先から除外し、二度と迷惑メールを送らないことが多いようです。一方、保留されたメールが再送されると受け取ります。このようにきちんと再送するメールサーバは、迷惑メールを送る可能性が低いと判断し、それ以降のメールは保留なしで受け取るようにします。
グレーリストの欠点は、最初のメールに大幅な遅延が生じることです。これはサービスの低下を意味していますので、ISPでグレーリストを採用しているところは、ほとんどありません。
また、正当なメールを送るメールサーバの中には、きちんと再送しないものも多く存在します。このようなメールサーバからは、メールを受け取れなくなる可能性があります。私がグレーリストを使ってみた経験からいうと、大切なメールがたくさん届かなくなったので、利用を止めました。
グレーリストを採用するのであれば、このようようなリスクを理解して、ホワイトリストと併用するのがよいでしょう。たとえば、携帯電話事業社のメールサーバはあらかじめホワイトリストに入れておいたり、うまく再送してこないメールサーバも随時追加していくことが必要でしょう。
また、グレーリストが普及すれば、迷惑メール配送業者は再送をするようシステムを変更するかもしれません。こうなっては、グレーリストは単にサービスの品質を落とすだけの存在になります。
レート制御
現在のようにメールサーバへのDoS(Denial of Service attack)が当たり前になると、制限なしでメールサーバを運用することは考えられなくなっています。サービスの制限は「レート制御」あるいは「スロットル」と呼ばれています。
以下に受信サーバでのレート制御の例を示します。
- 受け取るメールの大きさに上限を設定する
- 同時に受け付けるSMTPコネクションの数に上限を設定する
- あるIPアドレスから同時に受け付けるSMTPコネクションの数に上限を設定する
- あるIPアドレスから受け付けるSMTPコネクションの頻度に上限を設定する
- user unknownなどを起こした通信相手に対し、次のコネクションを受け付けるまでの時間を長くする
ISP/ASPの抜本的な対策
ISP/ASPが解決したいと考える問題を大まかにまとめると、以下の2つになります。
(1) ボット(ゾンビ)からの大量の迷惑メール配信
(2) メールアドレスの詐称
(1)は説明するまでもないと思いますが、念のため図示しておきます(図4)。これを解決する方法は、OP25B(Outbound Port 25 Blocking)です。
図4 ボット(ゾンビ)からの大量の迷惑メール配信
(2)ですが、現在のメールではヘッダの From: に書くメールアドレスを詐称できるため、さまざまな問題が生じています。たとえば、フィッシングが最たる例です。
また、エンベロープ情報(SMTP MAIL FROM)に指定するメールアドレスも詐称可能です。迷惑メールに我々のメールアドレスが悪用され、かつ受信側にアカウントが存在しない場合は、覚えのないエラーメールを受け取ることになります。このようなエラーメールは大量に発生しているので、メールサーバの機能を著しく低下させます。
(2)の問題を解決するために期待されている技術が、ドメイン認証です。ドメイン認証が普及すれば、メールアドレスの詐称が困難になります。
OP25B(Outbound Port 25 Blocking)
自分の管理下にあるネットワークに存在するボット(ゾンビ)から迷惑メールが配信されなくするには、他のISPへの境界で、ボットからのSMTPコネクションを遮断すればいいでしょう。この技術は、ユーザにとって外向きのTCP 25番ポートをブロックすることから、OP25B(Outband Port 25 Blocking)と呼ばれています。
ISPの送信サーバを利用しているユーザには、まったく影響がありません。問題なのは、ユーザが他のISP/ASPの送信サーバを利用している場合です。これは、ボットからのSMTPコネクションと同様に遮断されてしまいます。
このユーザを救うために、いきなりOP25Bを実施するのではなく、各ISP/ASPは代替のポートによってメールの送信を受け付けるようにすべきです。この代替のポートは正式に587番と決まっており、「投稿(Submission)」とも呼ばれています。
これに対し、メールサーバ間の通信は、これまで通り25番ポートを使います。こちらは「配送」と呼ばれています。
単に番号を変えるだけでは、ボットもこのポートを利用するようになるでしょう。そこで、このポートではSMTP AUTHを利用したユーザ認証を必須とします。すなわち、587番ポートを使ってメールを送信するには、ユーザはパスワードを入力する必要があります(図2)。
図2 配送(25番ポート)と投稿(587番ポート)を分離する
また、代替ポートとしてSMTP over SSLを利用する方法もあります。ただし、SMTP over SSLのポート番号は正式には決定されておらず、日本では歴史的に465番ポートが利用されています。
SubmissionやSMTP over SSLが広まれば、安心してOP25Bを採用できます。しかし、十分に普及しているとはいえない現時点では、終点が携帯電話事業社であるSMTPのみを対象にするのも一案でしょう。
また、始点は動的IPアドレスに限定します。固定IPアドレスは、OP25Bの対象にしません。これは、ボットになったPCが固定IPアドレスを利用している場合、受信側でIPアドレスに基づいたブラックリストを利用することが可能であるからです。一方、動的IPアドレスは、時間の経過とともに値が変っていきますので、受信側での対処は困難です。そこで、送信側でOP25Bを用いて、迷惑メールの送信を防止します。
家庭等でメールサーバを運用したいユーザで動的IPアドレスを利用している場合は、メールが送信できなくなります。このユーザには、固定IPアドレスへ移行して頂くようにお願いします(そもそも、動的IPアドレスでメールサーバを運用するのはお勧めではありません)。
OP25Bが普及すれば、ボットはユーザのISPのメールサーバ、メールアドレス、およびパスワードを盗み、そのメールサーバへ迷惑メールを投稿するようになるでしょう。そのため、投稿にもレート制御を課し、一度に大量の迷惑メールが配送されないように防衛する必要があります。
ドメイン認証
メールアドレスは、アットマークを挟んで、ユーザ名とドメイン名に分けられます。前述のようにSMTP AUTHを用いれば、ユーザ名の部分が認証できるようになります。加えて、ドメイン名の部分まで認証できれば、メールアドレスを詐称することができなくなります。
ドメインの部分を認証する技術は「ドメイン認証」と呼ばれ、IPアドレスに基づく方法と電子署名に基づく方法に大別できます。ここでは、前者の例としてSPF(Sender Policy Framework)、後者の例としてDKIM(DomainKeys Identified Mail)を取り上げます。どちらもDNSのセキュリティに依存します。
▼ SPF(Sender Policy Framework)
SPFは、送信サーバを宣言する仕組みです(図6)。SPFの送信側は、ドメインに対する送信サーバのIPアドレスをDNSに登録します。メール配送の際、受信側では、まずSMTPコネクションの送信側のIPアドレス(a)を取得します。また、SMTP MAIL FROMに指定されたメールアドレスからドメイン部分を取り出します。そのドメインに対しDNSを検索して、宣言された送信サーバのIPアドレス(b)を得ます。(a)が(b)に合致していれば、そのドメインの正式な送信サーバから送られてきたことが分かります。
図6 SPFの仕組み
▼ DKIM(DomainKeys Identified Mail)
DKIMは、ドメインレベルでメールに署名し、その署名を検証する仕組みです(図7)。DKIMの送信側は、まず公開鍵と秘密鍵の組を作成します。公開鍵をDNSで公開し、秘密鍵は送信サーバにインストールします。メールを送る際は、この送信サーバが秘密鍵を用いてメールに署名します。受信側では、署名の部分からドメイン名を特定し、それに対する公開鍵をDNSから得ます。そして、その公開鍵を使って署名を検証します。
図7 DKIMの仕組み
SPFにしろ、DKIMにしろ、受信側でドメインの認証により詐称と判断した場合、将来的には受信を拒否するか、受信してから捨てるようにします。しかしながら、普及の初期段階である現時点では、設定間違いや実装の誤りがあると思われるため、認証の結果をヘッダに残してメールボックスへ入れます。実際にメールを振り分ける作業は、メールリーダに任せるわけです。また、たとえば、認証に成功したメールは通常のメールボックスへ、失敗したメールはゴミ箱へ格納するといった実装も考えられます。
SPFもDKIMも一長一短があり、それぞれの欠点を補うために組み合わせて使うことが提案されていますが、ここでは詳細には踏み込みません。
レピュテーション
これまで説明した技術が普及すれば、メールアドレスの詐称は困難になります。そういった状況では、迷惑メール配送業者はメールアドレスを詐称せずに堂々と迷惑メールを送るようになるかもしれません。
そのため、そのドメインを持つサイトがよいのか悪いのかを判断する評価システムが必要になります。これは、英語では「レピュテーション」と呼ばれ、個人的には「格付け」と訳しています。
ドメインの格付けは、現在試験的に始まっています。以下に例として、cloudmark.comが提供するドメインの格付けに対し、“iij.ad.jp”を問い合わせた結果を示します。
% dig iij.ad.jp.rating.cloudmark.com txt iij.ad.jp.rating.cloudmark.com. 1M IN TXT "Status: Good" iij.ad.jp.rating.cloudmark.com. 1M IN TXT "Rating: 100" |
迷惑メール配送業者は、日替わりでドメイン名を取り、ボットをそのドメインの送信サーバだと宣言して、ボットから迷惑メールを送りつけるかもしれません。これを防ぐには、新規のドメインは低く格付けされることになります。
しかしながら、良識的なサイトが新たにドメインを取得した際に低く格付けされるのは、あまりにも理不尽だと主張する人もいます。そのため代案として、IPアドレスによるレピュテーションも視野に入れておく必要があるでしょう。IPアドレスのレピューテションはブラックリストと混同しやすいですが、後者が「黒か否か」という情報だけを提供するのに対し、前者は「どの程度白い/黒いのか」という尺度を提供する点が異なります。
おわりに
現在の迷惑メールの傾向と対策技術の動向を駆け足で説明してきました。それぞれの技術に対する詳細な解説は、他の記事に譲ります。本稿が、迷惑メールとそれに対する対策の全体像を掴む一助となれば幸いです。