日曜日, 7月 20, 2008

「@」は効果がある

 ウェブページにメールアドレスを書くと、mailtoアンカーにしていなくてもスパマーにアドレスを拾われてしまう。このことは私の経験からも言える。
 アドレスを拾われにくくするには、HTMLファイル上(あるいはHTML記述が可能なブログ記事上)でメールアドレスの中の「@」を「@」というナンバーエンティティに書き換える方法がある。これにより、メールアドレスを拾い集めるプログラムには「@」という文字が見えなくなる。私のウェブサイトの連絡先のページでも、この方法で「webmaster@gabacho-net.jp」というメールアドレスを表示している。
 あるウェブサイトで、「この方法もすでにスパマーに破られているので、安全ではない」と書かれているのを見たことがある。確かに、メールアドレスを拾うプログラムをPerlなどで書くならば、メールアドレスの構文を定義する正規表現を少し変えれば済むので、ナンバーエンティティによる防御を破るのは簡単だろう。
 しかし、この防御は今なおかなり効果的であるということは、統計が物語っている。6月22日から7月20日22時までのログに基づいて拒絶ログソーティングスクリプトでカウントした推定メッセージ数は、個人アドレス「deo」宛は521通だったのに対して、「webmaster」宛は106通しかなかった。
 「deo」は、私が所有するドメインの管理者のアドレスとして登録しているので、おそらくwhoisデータベースから漏れ続けているものだろう。「webmaster」は私のサイトに掲載し続けている。メールアドレスの情報源としてwhoisデータベースを狙うスパマーよりも、一般のウェブページを狙うスパマーの方がおそらく多い。だから、もし多くのスパマーがナンバーエンティティによる防御を破っているとすれば、「webmaster」宛に押し寄せるスパムは「deo」宛の1/5程度では済まないはずである。かつてはナンバーエンティティを使わず、かつmailtoアンカーにしていたことがあったので、そのころ拾われて今もスパマーのアドレスリストに残っている分もあるだろうということを考えると、ナンバーエンティティで書いた「webmaster」のアドレスはほとんど拾われていない、あるいは拾われているとしても非常に少ないと考えられる。

信じられない阻止率

 2007年9月から、私の息子のアドレス(私のサーバにアカウントを設けている)にスパムが着信し始めた。オンラインショッピング会社から「サーバが侵害されてお客様の個人情報が漏洩しました」という詫び状が郵送されてきたので、息子のアドレスがここからスパマーに漏洩したと思われる。
 着信したスパムの数は、次のように変化してきた。

2007年9月:3通
10月:2通
11月:2通
12月:3通
2008年1月:6通
2月:5通
3月:11通
4月:3通
5月:2通
6月:0通

 3月をピークに減り始め、5月16日を最後に着信が途絶えて、7月20日まで着信していない。着信が減ったのは、S25Rでブロックし続けたために、送達率を重視するスパマーの多くが息子のアドレスへの送信をあきらめたからに違いない。
 しかし、息子のアドレス宛のスパムアクセスが途絶えたわけではない。拒絶ログソーティングスクリプトに手を加えて息子のアドレス宛のアクセスを抽出してカウントした推定メッセージ数は、週50通ほどになっている。なのに9週間にわたって1通も着信していない。推定約450通押し寄せたスパムに対して阻止率なんと100%。「450通につき着信は1通未満」と考えても、阻止率は99.8%以上ということになる。
 おそらく、今も息子のアドレス宛にスパムを送り続けているスパマーのほとんどは送達率に無頓着。そういうスパマーは、サーバを経由させずにボットを使っているから、S25Rが大きく効いているのだろう。S25R方式がいかにボットに強いかを物語るデータだと思う。

エクスパンションアドレスを設定していたら返金なし

 前回の記事「OptPlusの返金はない?」を読み返していてふと気が付いた。
 返金プログラム申請フォームの「利用条件の確認」欄に、チェック条件の一つとして

「利用中のメールアドレスは、他のメールアドレス(エクステンションアドレスを含む)から転送もしくは設定していません」

というのがある。これをまともな日本語に直すと、

「利用中のメールアドレスには、他のメールアドレスから転送しておらず、また、エクステンションアドレスを設定してもいません。」

ということになるだろう。
 これは何を意味するか。エクスパンション(=エクステンション)アドレスを設定していたら、通常のアドレスに宛てられたスパムが着信したとしても返金してもらえないということである。
 おそらく、スパムのメールヘッダを見ても、どのアドレスに宛てられて自分に届いたかがわからないことがあるからだろう(*)。だから、たとえ通常のアドレスに宛てられたスパムだったとしても、エクスパンションアドレスに宛てられたものでなかったと証明できないので、返金には応じられないということになるのだろう。
 なんたることか。バウンシングバック認証方式の弊害を回避するために用意されているエクスパンションアドレスという機能を使わざるを得なくて使ったら、絶対に返金に応じてもらえないのである。そういうからくりを仕組んでおいて、「スパムを1通でも受けたら返金します」と宣伝している。これでは詐欺的である。

(*) Postfixの場合は、SMTPのRCPT TOコマンドで通知された受信者アドレスがReceivedヘッダの中に記録される。私が受信したスパムの例を示す。

Received: from qb-out-0506.google.com (qb-out-0506.google.com [72.14.204.236])
 by a.reto.jp (Postfix)
 with ESMTP id 204CC1C473 for <webmaster@gabacho-net.jp>;
 Mon,  9 Jun 2008 21:18:07 +0900 (JST)
…(略)…
To: undisclosed-recipients:;

下線部が、RCPT TOコマンドで通知された受信者アドレスを示している。私は複数のアドレスでメールを受信しているが、どのアドレスに宛てられたメールだったかがここからわかる。しかし、MTAの機能あるいは設定によっては「for …」が記録されないこともある。

土曜日, 7月 19, 2008

OptPlusの返金はない?

 Opt Plus ASPは「スパムを1通でも受けたら返金します」と豪語しているが、返金には条件がある。返金プログラム申請フォームの「利用条件の確認」欄に次のように書いてあり、すべての条件に適合することを利用者が誓約しなければならない。

□バウンシングバック機能はONにしていました
□ホワイトリストに登録されていないメールアドレスからのスパム(迷惑)メールを受信しました
□該当のメールはペンディングリストからインポートしたものはありません
□利用中のメールアドレスは、他のメールアドレス(エクステンションアドレスを含む)から転送もしくは設定していません
□同一のメールサーバもしくは同一ドメインからのメールではありません

 受けたスパムの送信者アドレスがホワイトリストに登録されているアドレスだったら、返金の条件からはずれる。このことから、知人のアドレスや、自分が受信しているメールマガジンのアドレスを送信者アドレスにかたったスパム(2007年5月27日「バウンシングバック認証の破り方」参照)を受けても返金してもらえないことがわかる。
 また、バウンシングバック認証にかけないように登録した別アドレスであるエクスパンションアドレス(上記の申請フォームではエクステンションアドレスと書いてあるが、同じ意味だろう)に宛てられたスパムも、返金の条件からはずれる。だから、メーリングリストにエクスパンションアドレスで参加したらアドレスが漏洩してスパムを受けたという場合(6月6日「メーリングリストはOptPlusの鬼門」参照)も返金されない。オンラインショッピングの確認メールをバウンシングバック認証にかけないようにエクスパンションアドレスを登録したら、そのオンラインショッピングのサーバが侵害されてアドレスが盗まれ、スパムを受けたという場合(実際、私の息子はそういう被害を受けている)も同様である。

 では、ホワイトリストに登録されていなかったアドレスからのスパムに対してバウンシングバック認証要求メールが返され、スパマーがまともに認証手続きをした場合、あるいは、送信者アドレスが実在の他人のものであり、アドレスをかたられてバウンシングバック認証要求メールを受けた人が認証手続きをした場合はどうか。これは「ホワイトリストに登録されていないメールアドレスからのスパムメールを受信しました」の条件が満たされ、他のすべての条件も適合するならば、返金の対象になるように思える。
 ところが、6月8日「バウンシングバック認証はタブーの技術」にコメントしてくださったPyTaさんは、この場合も返金の対象にならないのではないかと指摘しておられる。なぜなら、認証手続きが行われた時点でその送信者アドレスはホワイトリスト登録されるので、「ホワイトリストに登録されていないメールアドレスからのスパムメールを受信しました」の条件が満たされなくなるというのである。確かに理屈は通っている。
 PyTaさんいわく、OptPlusはホワイトリスト登録されたアドレスからしかメールを受けないシステム。だから、「ホワイトリスト登録されていないアドレスからスパムを受けた」という条件は成立し得ない。もしその条件が成立するなら、システムの根幹が壊れているということだから、請求すべきは返金でなく解約である――と。
 本当のところはどうなのかは、ベンダーに問い合わせてみなければわからない。しかし、PyTaさんは、ただ質問するだけでも住所や会社名が必須だというのでやめたとのこと。そこまで個人情報を明かさないと質問に応じてもらえないなら、私も問い合わせる気はない。
 Opt Plus ASPのサービスを買いたい人は(このブログを読んでもなおそう思う人はいないことを祈るが)、「スパマー自身またはアドレスをかたられた人が認証手続きをしたためにスパムが受信された時には返金されるのか」をベンダーに確認した方がよいだろう。

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

(続編)
エクスパンションアドレスを設定していたら返金なし

日曜日, 7月 13, 2008

外国から礼状をいただいた

 外国の方から、「あなたのスパムフィルタリングの研究に感謝します」というメールをいただいた。外国からも反響があって非常にうれしく思う。
 その人は、フィルタリング条件を少し変更し、「3ヶ月間でスパムは70~80%減少、偽陽性判定は1件だけ」という効果を得たそうである。おそらく、偽陽性判定の確率を減らすためにフィルタリング条件を緩めたのだろう。独自のフィルタリング条件も工夫したかもしれない。それにしても、偽陽性判定が3ヶ月で1件だけとは驚きである。交信相手の中に逆引きを設定していないサイトがほとんどないのだろうと思われる。
 オリジナルのフィルタリング条件では、ブラックリストと併せて阻止率97~99%を達成できるが、阻止率を下げてでも偽陽性判定を避けたいというポリシーも当然あるだろう。そういう工夫はそれぞれのサイトの自由である。いろいろな工夫があってよい。そうした工夫は、私のオリジナルのアイデアがあってこそ生まれる。私はそのことを光栄に思う。

S25Rにもあるリスクだが…

 5月27日「バウンシングバック認証に応じてもらえないケース」を参照したはてなブックマークに、次のようなコメントが書かれていた。

「業者はあなただけじゃない、商機を逃す」って意見がいいねー でもそれS25Rでもありえるリスクでしょ。

 そのとおり。素のS25R方式でも、正当なメールを受け損なうことでビジネスチャンスを失うリスクはある。DNSBLでもベイジアンフィルタでも同様である。偽陽性判定からの救済を自動で行わないスパム対策方式すべてにそのリスクがある。
 ただ、そのリスクのコントロールのしやすさは異なる。
 OptPlusでは、初めてメールを送ってきた人のメールは、送信者がバウンシングバック認証に応じなければ、受信者のメールボックスに入らずにペンディングキューに留め置かれる。つまり、偽陽性と同等の状態になる。そこからの救済は各ユーザーの責任になる。ペンディングキューの内容が時々メールで通知されるので、差出人アドレスとサブジェクトを手がかりに、バウンシングバック未認証の正当なメールを救済する必要がある。
 S25R方式では、偽陽性判定された送信元ホストからはリトライアクセスが来る。それを発見してホワイトリストで救済するのはメールシステム管理者の責任である。もし正当なメールだったかもしれないリトライアクセスの救済が間に合わなかったのを発見したら、受信者に知らせて判断を委ねる必要がある。DNSBLでもベイジアンフィルタでも、拒否応答コードを「4xx」(再送要求)にして偽陽性判定からの救済を図っている場合は同様である。
 ビジネスチャンスになるかもしれないメールを受信し損なうことは、企業にとって損失になりうる。そこで、「偽陽性判定されたメールが受信者のメールボックスに届かない」ことをリスクととらえて、社を挙げてそのリスクの回避を図ろうとする場合、どんな対策が必要になるか(メールボックスに届いたメールをユーザーが見落とすリスクは、スパム対策のいかんにかかわらずありうるので、ここでは考えない)。OptPlusの場合は、「ペンディングキューを必ず確認せよ」というユーザー教育が必要になる。S25R方式の場合は、ログの監視とホワイトリスト登録、および救済に失敗したと思われるときの受信者への通知を作業手順として定め、メールシステム管理スタッフに守らせる必要がある。
 どちらの方がリスクコントロールがしやすいか。OptPlusでは、どんなにユーザー教育を徹底しようとしても、誰か一人でもペンディングキューの確認の作業手順を怠る確率はゼロにはしにくい(腰を落ち着けてメールを読むことができないほど忙しい人のことを考えてみてほしい)。それに対してS25R方式では、作業手順の教育をメールシステム管理スタッフだけに集中できる。少数のスタッフがログの監視とホワイトリスト登録の作業手順を確実に守ることにより、偽陽性判定されたメールが受信者のメールボックスに届かないというリスクを回避できる。もし救済が間に合わなかったとしても、受信者に知らせることにより、受信者から送信者に連絡をとってコミュニケーションをリカバーできる。
 リスク回避の対策の対象は、ユーザー一人一人に分散させるより、メールシステム管理スタッフに集中させた方がよい。その意味でも、OptPlusよりもS25R方式の方が安全なのである。

土曜日, 7月 05, 2008

違法なHELOアドレスが増えている

 6月には、不正メールアクセス元ホストは7329個だった(うち、フィルタをすり抜けて着信させたものは14個、リトライが長時間続いたのでブロックを解除したらスパムだったのが5個)。そのうち、宛先サーバのIPアドレスまたは受信者のドメインを名乗るという違法なHELOアドレスを名乗ったホストは、驚いたことに4163個(56.8%)もあった。2007年6月の統計では、不正メールアクセス元ホスト6158個のうち違法なHELOアドレスを名乗ったものは866個(14.1%)だった。それに比べて極端に増加している。不正メールアクセスをしてくるホストは増えているが、HELOアドレスが違法でなかったホストの数は、2007年6月には6158-866=5292個だったのに比べて、今年6月には7329-4163=3166個とむしろ減っているのである。
 ただ、違法なHELOアドレスを蹴飛ばすという、副作用のまったくない対策だけでスパムの受信を56.8%前後減らせるかというと、そうとは言えないようである。HELOアドレスが違法でなかったホスト3166個のうち宛先が正しかったものは1066個(33.7%)だったのに対して、HELOアドレスが違法だったホスト4163個のうち宛先が正しかったものは174個(4.2%)しかなかった。つまり、宛先の正しいスパムを送り込もうとしたホスト1066+174=1240個のうちHELOアドレスが違法だったものは174個(14.0%)だから、違法なHELOアドレスのチェックだけではスパムの受信を14%くらいしか減らすことができないということになる(ホスト数とスパムメッセージ数はほぼ同じと仮定している)。
 このことから言えることは、違法なHELOアドレスを名乗るボットを使うスパマーの多くは、送達率に無頓着に(2006年9月15日「宛先の正しいスパムの阻止率」参照)でたらめのアドレスへ多くのスパムをばらまいており、そのようなボットが増えているということである。
 それにしても、なぜ違法なHELOアドレスを名乗るボットが増えているのだろうか。これによって何らかのスパムフィルタを突破できるわけではなく、むしろ、確実に不正なメールアクセスだと判断できる手がかりを与えるだけである。こんなアホなボットを使うスパマーの考えていることがさっぱりわからない。