日曜日, 5月 30, 2010

送信ドメイン認証はスパムに勝てないだろう

前回述べた、迷惑メール対策について講演した某ISPの人は、送信ドメイン認証にえらくご執心のようだった。送信ドメイン認証のコンセプトは、「確固たるスパム対策のためには、送信者アドレスが簡単に詐称できるという問題を解決し、送信ドメインを信頼できるデータにすることが必要だ」というもの。多くの人がそう思っているだろう。
 私もかつては、送信ドメイン認証の普及と他の対策の併用によってS25R方式が不要になる時が来るだろうと思っていた。しかし今では、送信ドメイン認証はスパム問題の解決策にはならないだろうと思っている。スパマーが送信ドメイン認証を欺く方法があるからである。以下に、送信ドメイン認証の代表的な方式について、その原理と欺き方を述べる。

●SPF(Sender Policy Framework)
原理 送信側サイトは、自ドメインからのメールを送信するホストを自ドメインのDNSで宣言する。受信側では、受信したメールの送信ドメインでDNSを検索して、宣言された送信元ホストを知る。実際の送信元がそれと一致すれば、送信ドメインは詐称されていないと判断できる。
欺き方 スパマーは、使い捨てドメインを取得し、DNSで不当に広いIPアドレス範囲を送信元として宣言することにより、多数のボットからスパムを送信させてSPFチェックをパスさせることができる。このような手口は、仙石浩明さんが観測しておられる

●DKIM(DomainKeys Identified Mail)
原理 送信側サイトは、公開鍵を自ドメインのDNSで公開する。そして、私有鍵を使ってメールヘッダとメッセージ本体から作った電子署名をメールヘッダに埋め込んで送信する。電子署名とは、データから生成したハッシュ値を公開鍵暗号方式における私有鍵で暗号化したものであり、私有鍵に対応する公開鍵でのみ復号できる。受信側では、受信したメールの送信ドメインでDNSを検索して公開鍵を入手し、それを使って電子署名を復号する。その結果、復号されたハッシュ値と受信側で生成したハッシュ値とが一致すれば、送信元は公開鍵に対応する私有鍵の所有者に違いない、すなわち、公開鍵を公開しているDNSのドメインの管理主体に違いないということになる。このことから、送信ドメインは詐称されていないと判断できる。
欺き方 スパマーは、使い捨てドメインを取得し、DNSで公開鍵を公開する。そして、私有鍵で作った電子署名を埋め込んだスパムを用意する。それを多数のボットから送信させれば、DKIMチェックをパスさせることができる。

 仮に送信ドメイン認証が普及したとしたら、スパマーは、送信ドメインを詐称したスパムを受信してもらえなくなるだろうから、詐称でない送信ドメインでスパムを送信しなければならなくなる。受信側では、受信してしまったスパムの送信ドメインは確かにスパマーのものだと判断できるから、それをブラックリストに登録して、以降、同じ送信ドメインのスパムを阻止できる。現状では送信ドメインは容易に詐称できるので、送信ドメインのブラックリストはまったく役に立たないが、その問題が改善され、送信ドメインのブラックリスト作りが意味のある作業になる。それが、送信ドメイン認証を推進している人たちの考えらしい。
 しかしスパマーは、送信ドメインを使い捨てることによって、相変わらずボットから大量のスパムを送信し、着信させることができるだろう。極端には、一つの送信ドメインで1種類のスパムを数億通ばらまいたらそのドメインを捨ててしまうというやり方も、ボットを活用できる限りはコスト的にペイするだろう。かくして、送信ドメインのブラックリスト作りのいたちごっこが復活するだけのことである(*)
 メールシステムの“偉い人”たちは、欺かれることが予見される送信ドメイン認証をなぜ一生懸命推進しようとするのだろうか。送信ドメインを詐称不可能なものにしなければならないという固定観念に凝り固まっているのではないかと思えてくる。
 仙石さんのブログ記事「迷惑メール送信者とのイタチごっこを終わらせるために (1)」にコメントした人は、書かれているアイデアがS25R方式に似ていることを指摘してS25R方式を批判し、「きちんと管理されたIPアドレスから送信されたメールを確認する提案ならば、SPFやDomainKeysの導入を進める方がよい」と言っているが、これはナンセンス。S25R方式は、スパムのほとんどを占めるボットからの送信に的を絞ることによって、(もちろん完全排除とはいかないものの)スパマーとのいたちごっこをほぼ終わらせた(なおかつ、1000サイト以上と推定される普及にもかかわらず、副作用による不達問題が騒ぎになってはいない)。これからの普及に期待する人が少なくないであろう送信ドメイン認証の方が、実はスパマーとのいたちごっこを終わらせることが期待できないのである。

(*) ブラックリスト作りはいたちごっこになるからホワイトリスト方式にすればよいと言う人がいるかもしれないが、ホワイトリスト登録された送信ドメインのメールのみを受け入れるというやり方は実用にならないだろう。未知の正当なドメインからのメールを受けるのに支障があるからである。ホワイトリスト作りのために送信者自身の手を借りるというのがバウンシングバック認証方式のコンセプトだが、それがいかに使い物にならないシステムであるかは、私がかつてさんざん指摘したとおりである。

続編:スパマー様御用達・送信ドメイン貸し出しサービスはいかが?

(関連記事)
送信ドメイン認証は誰にとって有益か

2 件のコメント:

匿名 さんのコメント...

SPF で +ALL としているような「不当に広いIPアドレス範囲を送信元として宣言」しているドメインは、きちんと運用されていないため、信用できないということで、spam である確率が高いという判定にすることできます。
ですので、SPF ならびに、送信ドメイン認証が、まったくスパム問題の解決策にならないというのは、本当でしょうか?

deo さんのコメント...

 こんにちは。
 「+all」を信用しないように対抗すると、今度はスパマーは、ボットネットのIPアドレス範囲を/8とか/16とかのネットマスクで列挙することで防御を出し抜こうとするでしょう。そうなると、どのようなSPF宣言なら信用できる/できないと判定するかの基準が難しくなります。裕福なサイトのスキルフルな専任のメールシステム管理者なら、パラメータを日々工夫することもできるでしょう。しかし、お金のないサイトでは、スキルフルな人は稼ぐ仕事に回され、専任スタッフはスキルフルでないという悩みはざらにあります。そういう人たちにどうしろと言うのでしょう?
 DKIMは、SPFよりも高度で望ましい送信ドメイン認証方式だと言われているようですが、ボットからばらまかれるスパムがDKIM認証をパスすることは難しくありません。ボットネットを使う手口に対する防御力はSPF以下でしょう。
 送信ドメイン認証がまったく役に立たないとは言いませんが、せいぜいスパムの受信を半減させる程度でしょう。半減くらいでは、スパムに困っていた人たちが満足してくれることはあり得ません。それは、スパムに勝利したとは言えないということです。
 この記事に続編へのリンクを設けていますので、よろしかったらそちらもご覧ください。