火曜日, 5月 27, 2008

ペンディングキュー管理機能は使いやすいか?

 OptPlusをヨイショしている「政府研究会の先を行く! スパム完全シャットアウトを実現した革新技術とは」という記事の2ページ目に、ペンディングキューの内容を通知するメールの例が図示されている。前回述べたように、正当なメールがバウンシングバック未認証のままになるリスクはどうしても避けられないから、このようなペンディングキュー管理機能は不可欠である。
 ところが、図を見ると、ペンディングキューにたまったバウンシングバック未認証のメールが正当なメールかスパムかを判定する手がかりは、差出人アドレスとサブジェクトしかない。これでは判定が難しそうである。
 サブジェクトが「裏DVDの激安販売」だったら、明らかにスパムとわかる。しかし、「考えてくれていますか」ではどちらかわからない。もしかしたら、受信者が営業活動で社外の人と名刺交換した時に「その件については考えておきましょう」と発言し、その相手の人が「考えてくれていますか」というサブジェクトでメールを送ってきたのかもしれない。あるいは、スパマーが本文を読ませようとして思わせぶりなサブジェクトを付けたのかもしれない。差出人アドレスからも判別がつかないこともある。名刺交換した相手が、名刺に書かれたアドレスでメールを送ってくるとは限らず、たとえば携帯電話から送ってくることもありうるからである。
 スパムかどうかわからないメールは、本文を見て確認するしかない。本文を確認するには「インポートする」のリンクをクリックするしかないと思われ、そうしたら、スパムの差出人アドレスがホワイトリスト登録されてしまうおそれがある。それを取り消す方法はあるのかもしれないが、どうすればよいのかはわからない。
 こんなことなら、PC上のベイジアンフィルタでスパム判定のマークをサブジェクトまたは他のヘッダに付け、メーラーでごみ箱に自動振り分けする方が、確認が楽ではないだろうか。ごみ箱に振り分けられたメールのうち、サブジェクトで明らかにスパムとわかるものは無視すればよく、スパムかどうかわからないメールは本文を一瞥すればよいからである。
 それに、OptPlusはベイジアンフィルタでスパム判定したメールをブロックするので、偽陽性判定された正当なメールがペンディングキューまで届かないおそれがある(4月12日「OptPlusも失礼な受信拒否をしそうだ」)。ウィルスチェックの偽陽性判定によるバウンスなら、添付ファイルを取り除いたメールを送り直して連絡をとることができるが、ベイジアンフィルタによる偽陽性判定でバウンスされると、送信者はどうすればよいのかわからない。商談を申し込もうとした送信者が怒ってそれっきりメールを送り直さず、ビジネスチャンスが失われるおそれがある。それよりは、偽陽性判定されたメールは「スパムの疑いあり」のマークを付けて受信者に届けた方がましである。
 S25R方式なら、そのようなことに気を病む必要はない。受信者にとって、受信のしかたは対策前とまったく変わらない。ただ、送信元ホストの逆引き結果によって偽陽性判定されたメールは、メールシステム管理者がリトライアクセスを発見してホワイトリスト登録するまで受信が遅延するということを承知していればよい。スパムの阻止率は100%にはならないが、97~99%。一日200通のスパムを受けていた人の場合でも、着信してしまうスパムは一日平均6通以下。手動で捨てるのに苦労はない程度である。リトライ期間が1~2日と短いメールアクセスを週末の間に救済しきれないリスクはあるが、メールシステム管理者が拒絶ログソーティングスクリプトでリトライアクセスを発見して受信者に知らせてあげれば、受信者は送信者に受信失敗を詫びて再送を依頼することで、コミュニケーションをリカバーできる。もちろん、グレイリスティングの併用によって偽陽性判定からの救済を自動化すれば、そのリスクも回避できる。
 OptPlusまたはバウンシングバック認証方式を調査しようとしてこのブログにたどり着いた人は、ぜひS25R方式の導入を検討していただきたい。S25R方式は、スパムの阻止率は100%ではなくても十分に高く(DNSBLよりもベイジアンフィルタよりも)、正当なメールを受信し損なってしかもメールシステム管理者がそれに気付けないというリスクはほとんどなく、しかも無料で導入できるのだから。
 S25R方式や他のスパム対策方式を批判しながら、スパムに困っている人たちを救う具体的な方策を何ら提案しない人もいるが、私は違う。すでに多数の人たちに支持されている実績のあるS25R方式という対案を提示できるからこそ、危険な副作用のリスクがあるバウンシングバック認証方式とOptPlusをこうして強く批判することができるのである。

バウンシングバック認証に応じてもらえないケース

 OptPlusをヨイショしている、マイコミジャーナルの「政府研究会の先を行く! スパム完全シャットアウトを実現した革新技術とは」という記事の2ページ目に、

「認証依頼メールを送信することにより、"不審者を社内に寄せ付けない企業"というクリーンなイメージを持っていただけるケースが多い」

と書かれている。私は、私にメールをくれる善良な送信者に対して認証手続きの手間を要求する気にはとてもなれない。とはいえ、認証手続きの手間を要求されて腹を立てる善良な送信者は私が気兼ねするほどには多くないだろうということは認めよう。
 しかし、それでもなお、OptPlusのユーザーは、正当な送信者なら必ずバウンシングバック認証に応じてくれるとあてにしてはならないということを指摘しておこう。その理由として以下が考えられる。

■事故による不到達
 最近ではめったに起こらないことではあるが、メール配送の事故によってバウンシングバック認証要求メールが送信者に到達しないおそれは皆無ではない。

■見落とし
 送信者がメールを送信した後、受信操作をした時に、バウンシングバック認証要求メールがたくさんのメール(スパムもあるかもしれない)にまぎれてしまい、しかも「先方から返事が来るのは早くても数時間後。即座に来ることはよもやあるまい」という思い込みが重なって、バウンシングバック認証要求メールを見落としてしまうケースが考えられる。

■認証画面が送信者のブラウザに対応できない
 Opt Plus ASPのページに示されているバウンシングバック認証要求メールの文例には、「携帯電話からは認証できません」とある。つまり、認証画面が携帯電話に対応していないため、携帯電話メールの送信者は認証に応じようにもできないということである。
 また、同社のFAQのページによると、管理画面が対応するブラウザはInternet Explorerのバージョン6以降だけだという。認証画面は管理画面とは違うのかもしれないが、Firefox、Operaなどさまざまなブラウザで認証手続きができるのかどうか不安である。

■送信側でもバウンシングバック認証方式をとっている
 このケースでは、受信側サイトから返されるバウンシングバック認証要求メールに対するそのまたバウンシングバック認証要求メールが送信側サイトから送信される。受信側サイトからのバウンシングバック認証要求メールは未認証のまま送信者のペンディングキューに入れられ、送信者はしばらくそれに気付かない。そのため、送信者が認証手続きを行わない。
 双方が同じことをすることによって互いに情報が伝わらなくなるデッドロック状態。私はこれを、白やぎさんと黒やぎさんが共に相手からの手紙を食べてしまったという童謡にちなんで「やぎさんゆうびん問題」と名付けた。このデッドロックから抜け出すには、少なくともどちらかがペンディングキューからメールを救済するしかない。

■「業者はあなただけじゃない」
 送信者が、ある種の製品を買いたいと思って、今まで名刺交換したことのあるたくさんの業者の営業担当者に片っ端から問い合わせのメールを送ったとする。特にどの業者が良さそうかはわかっていなくて、誠実な回答を遅滞なく返してくれた業者と話をしようと思っていた。受信者にとってはビジネスチャンスである。
 ところが一部の業者は、「認証手続きをしてくれなければあなたのメールを受け取ってあげません」と解釈されるバウンシングバック認証要求を自動返送してきた。そんなとき、送信者が「ぜひとも受け取ってくれなくてもいいよ」と思って認証手続きをせずにほったらかしたとしても不思議はない。

 こういうことがありうるから、OptPlusで正当なメールを受信し損なわないためには、ユーザーがペンディングキューを定期的に確認することが不可欠なのである。
 では、ペンディングキューの確認は容易な作業なのだろうか。それについては次の記事で。

(OptPlusとバウンシングバック認証方式に関するすべての記事へのリンクはこちらの記事にあります。)

木曜日, 5月 22, 2008

スパムの大量差し戻しの蹴り方

 スパマーに送信者アドレスをかたられて、user unknownになったスパムの差し戻しが大量に殺到しては、大変な迷惑である。5月18日「バウンシングバック認証のもう一つの穴」で、BBSのゲストのkkkさんが677通のスパム差し戻しを受けられたことを書いた。その日はほとんど仕事にならなかったそうである。
 その記事では、「差し戻しはメールサーバから送られてくるから、残念ながらS25Rでは阻止できない」と書いた。しかし、仕事にならなくなる前に防御する方法があることを思い出した。私がS25R方式を考案する前に使っていた内容チェックである。差し戻されてくるスパムの文面が同じならばこの手が使える。
 main.cfファイルには、あらかじめ

body_checks = regexp:/etc/postfix/body_checks

という指定を書き込んでおき、空のbody_checksファイルを用意しておく。スパムの大量差し戻しを受けたら、差し戻しメールに引用されているスパムの文面から特徴的な文字列を抽出し、それをbody_checksファイルに指定して「postfix reload」を実行する。特徴的な文字列としては、スパマーが誘導しようとするサイトのURLがよい。
 私のアドレスを送信者アドレスにかたったスパムが私に差し戻されてきた例を挙げる(この時はこれ1通で済んだ)。

Hi. This is the qmail-send program at gaba-network.org.
I'm afraid I wasn't able to deliver your message to the following addresses.
This is a permanent error; I've given up. Sorry it didn't work out.

<***@gaba-ca.org>:
This address no longer accepts mail.

--- Below this line is a copy of the message.

Return-Path: <deo@gabacho-net.jp>
Received: (qmail 14545 invoked from network); 17 Feb 2008 13:23:39 -0800
Received: from 82-34-216-89.cable.ubr08.gill.blueyonder.co.uk (HELO flibble) (82.34.216.89)
  by air479.startdedicated.com with SMTP; 17 Feb 2008 13:23:39 -0800
X-Mailer: CME-V6.5.4.3; MSN
Return-Path: ***@cimail15.msn.com
Received: (qmail 37667 by uid 140); Sun, 17 Feb 2008 10:27:30 GMT
Message-Id: <20080217102730.37669.qmail@flibble>
To: <***@gaba-ca.org>
Subject: February 71% OFF
From: <***@gaba-ca.org>
MIME-Version: 1.0
Content-Type: text/html; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html dir="ltr">
…(略)…
<a href="http://track.msadcenter.lyv.com/wwfdtge_ovatpimxtn.html" target="_blank">Click here to get enrolled for your ndnn !</a><br><br>
<img src="http://track.msadcenter.rcy.com/qlooaza-ovatpimxtn.gif" border=0 usemap="#Map">
…(略)…

もし同じ文面のスパムが大量に差し戻されてきたら、<A>タグで指定されたURLを拾って、body_checksファイルには次のように記述する。

/http:\/\/track\.msadcenter\.lyv\.com\/wwfdtge_ovatpimxtn\.html/ REJECT

 これにより、差し戻しの受け取りが拒否される。差し戻そうとしたサイトのポストマスターに差し戻し失敗の通知が行くのは迷惑かもしれないが、やむを得ない。こちらの自己防衛のためである。
 そもそも、MXサーバで受け取った後にuser unknownを検出して送信者アドレスへ向けて差し戻すというシステム構成が良くないのである。外部から最初にメールを受信するMXサーバにサイト内のユーザーリストを持っておいて、サイト内部でuser unknownになることをMXサーバがただちに判定して受け取りを拒否するシステム構成の方がよい。そうすれば、アドレスをかたられた被害者に不正な差し戻しが行くことはなくなるし、でたらめの送信者アドレスをかたったスパムの差し戻しが失敗してポストマスターに通知が殺到することもなくなる。もっとも、qmailでは難しいのかもしれないが。

バウンシングバック文例の問題点

 Opt Plus ASPの「100%スパムメールブロックの仕組み」というページに書かれているバウンシングバック認証要求メールの文例は次のようになっている(メールアドレスの例示は、この記事からスパマーに拾われないように伏せ字にする)。

メールをいただき、ありがとうございます。

株式会社ネオジャパンのinfo@*********.comです。
このメールは自動的に返信されています。

当社では情報セキュリティ強化を目的として、スパム(迷惑)メール防止のための送信元認証システムを導入・採用しています。
お手数をおかけし誠に申し訳ありませんが、まず「認証を行う」ページにて送信元認証をしていただきますよう、お願い申し上げます。

一旦認証されメールが配送された以降は、今後メールを送信いただく際に都度認証していただく必要はございません。

弊社の情報セキュリティ対策に、ご理解・ご協力の程どうぞよろしくお願い申し上げます。

認証を行う

注意:
10日以内に、認証してください。
認証いただけない場合、送信いただいたメールが自動的に破棄されてしまいますのでご注意ください。
携帯電話からは認証できません。受信者側で手動認証いたしますので、本メールは無視してください。

ご協力ありがとうございました。

 この文例は、スパマーに送信者アドレスをかたられた被害者にバウンシングバック認証要求が届きうるということをベンダーがまったく考えていないことを物語っている。これでは、前回述べたように、アドレスをかたられた被害者が意味もわからず、あるいは不要メールを送り付けられた怒りで認証手続きをしてしまう可能性がある。
 アドレスをかたられた被害者にバウンシングバック認証要求メールを殺到させてしまう迷惑を申し訳ないことだと自覚しているなら、せめて次のような文を入れるべきである。

「もし弊社にメールを送信されたお心当たりがないのにこのメールが届いたならば、他人があなた様のメールアドレスを不正に使用して弊社にメールを送信したことが考えられます。その場合はこのメールを無視してください。ご迷惑をおかけしたことをお詫びいたします。」

 もし今後、文例がこのように直されていたら、ベンダーが私のブログを見たということだろう。
 ついでに言うと、「10日以内に認証してください」という依頼は不要である。受信者は、正当な送信者が認証要求に応じてくれなかった場合に備えて、定期的にペンディングキューを確認しなければならない。「10日以内」というのはその猶予である。ペンディングキューを10日間も確認しなかったら、それは受信者の怠慢である。10日という期限を正当な送信者に意識させる必要はない。「認証いただけない場合、送信いただいたメールが自動的に破棄されてしまいます」という警告ももちろん不要である。
 もう一つ言うと、「携帯電話からは認証できません。受信者側で手動認証いたしますので、本メールは無視してください。」と言うくらいなら、バウンシングバック認証要求メールそのものが不要である。受信者がペンディングキューに注意していればよい。このことは2007年6月17日「OptPlusの機能を考える」でも述べた。
 私のブログのバウンシングバック認証方式反対キャンペーンを読んでもなおOptPlusを買おうと思う人がもしいたら、せめてバウンシングバック認証要求メールの送信はオフにして使ってほしい。ペンディングキューを監視していさえすれば、バウンシングバック認証要求メールは必要ないのだから。

日曜日, 5月 18, 2008

バウンシングバック認証のもう一つの穴

 最近、職場の人がスパマーに送信者アドレスをかたられてスパムのエラー差し戻しを大量に受けた。社外からのmailer-daemonまたはpostmaster発のメールをごみ箱に振り分けるようにメーラーBecky!を設定してあげた。自分が社外へ送ったメールのエラー差し戻しもごみ箱に振り分けられてしまうようになるが、緊急策としてやむを得ない。スパムの差し戻しは一日でやんだようである。
 BBSで何度かホワイトリスト情報をお寄せくださっているkkkさんも、アドレスをかたられてスパムの差し戻しを677通受けられたそうである。差し戻しはメールサーバから送られてくるから、残念ながらS25Rでは阻止できない。
 そして、バウンシングバック認証要求メールも4通受けたとのこと。そのうち1通はウェブページへのアクセスを要求するもの、3通は返信メールを要求するものだったそうである。OptPlusはウェブページへのアクセスを要求する方式なので、バウンシングバック認証方式をとるシステムはOptPlusだけではないらしい。
 kkkさんいわく「不愉快ですね」と。そりゃそうだ。スパムのエラー差し戻しが大量に押し寄せ、それに加えて、送ってもいないメールへのバウンシングバック認証要求を送り付けられては、頭にきて当然である。数が少なければよいというものではない。みんながやると大きな被害になることを「自分一人くらい」と思ってやるのがいけないのである。
 さて、アドレスをかたられてバウンシングバック認証要求を受けた被害者が認証要求に応じたらどうなるか。当然、スパムは通過することになる。被害者が認証要求に応じる理由には以下が考えられる。

■報復
 アドレスをかたられた被害者への迷惑を省みないバウンシングバック認証方式を使うサイトに対して、報復のためにスパムを通過させる。

■親切
 OptPlusを使ったASPが「スパムを1通でも受けたら返金します」と豪語していることを知っている人が、ユーザーに返金を受けさせてあげようという親切心でスパムを通過させる。もっとも、豪語するASPに損失を与えようとするものだから、これをやるのもバウンシング認証方式反対派の人であろう。

■天然
 「なんかよくわからないんだけどー、クリックしてくれってメールに書いてあったので、クリックしましたー!」

 OptPlusの開発者やベンダーは、よもやそんなことはあるまいと思っているふしがあるが、よもやあるまいと思うことが起こるのが世の中である。アドレスをかたられた被害者に、ごみメールを増やすという迷惑をかけておきながら、その人が認証手続きをしないことによってスパムの阻止に当然協力してくれるだろうとは、ずいぶん虫のいい考えだと思う。
 ここまで書いてきてふと気が付いた。スパマー自身が認証要求に応じることによってスパムを通過させることも考えられる。送信者アドレスを詐称せずにバウンスをまともに受け、バウンシングバック認証要求メールに書かれたURLに自動アクセスするか、またはそれに自動リプライすることは、技術的に可能であろう。CAPTCHA認証を突破する技術も進みつつあるとの情報もある。
 100%のスパム阻止などあり得ないのである。