spamメールは受信してからフィルタリングすれば、それでいいと主張する人がいる。
しかしspamは受信しないことこそが重要であり、そのための方法を考えるべきだ。
ベイジアンフィルタを用いてspamを判定する手法を提案した人がいる。
http://www.shiro.dreamhost.com/scheme/trans/spam-j.html
http://www.shiro.dreamhost.com/scheme/trans/better-j.html
私はこれを読み、すぐに「うまくいかないだろう」と考えた。
しかし思ったよりも、これでうまくいくと考えた人は多かったようだ。
例えばMac OS Xに付属のメーラーはこのような手法に対応している。
しかしこれでspamをふせげるのは、たまたま量が少なかったからかもしれない。
実際私が以前使っていたメールアドレスにくるspamメールの量と内容だと、
フィルタリングでは全ては取り除けないことを確認した。
そのメールアドレスを使わなくなってからもう2年もたっているのに。
spamは自然災害ではなく、ビジネスである。メールを読んでもらえるようにす
るためにだったらなんでもやる。それがこういった対処療法がうまくいかなく
なる理由だ。「説得力のあるspamメール」の例のような手段をとられたら、
メールの文面からでは判別が不可能になる。
このようにフィルタリングによって取り除くということはそもそも構造として
不可能と思われるのだが、それだけではなく、そもそもspamはコスト負担の面
から受信するべきではない。spamをビジネスとして成立させないこと、spamを
受信するコストをこちらが払わないようにすることが重要である。
SMTPサーバをIPアドレスベースでフィルタリングする? これは難しい。以前は
RBLのようなサイトがあったが、法的な問題などからほとんど消えてしまったようだ。
私が考えるのは、プチbrightmail的な手法だ。つまり間違えていたり、偽のメー
ルアドレスを作り、それをばらまく。そしてそのアドレスにメールを送ってき
たものは、間違いなくSPAMだと断定してよいと。
このような手法が最も効果のある判定方法だと思う。
存在しないメールアドレスにメールが送られたら、その瞬間にそのメールサー
バはSPAMを送ろうとしているのだと判定し、それ以後に存在するメールアドレ
スがRCPT TO:に指定されても、それはあたかも存在しないアドレスであるか
のように振る舞う。いきなり切ったりしてはいけない。表面的には通常のような
振る舞いを継続し、しかしどのアドレスに対しても、そのアドレスが存在しない
という返答をする。
このような手法はアイデアとしては新しいものではなく、spamtrapという用語で
呼ばれていたりするようだ。Mac OS用のEIMSというメールサーバにはこのような
機能がついていたらしい。
http://pf.econ.kobe-u.ac.jp/mac/eims/eimsfaq.html
この手法をうまく使う方法はないだろうか。これだけをやる非常に簡単なSMTP
サーバを作って、間にかませるということも考えられなくはないかも。
http://spam.qmail.jp/
メールサーバレベルでのSPAM対策についての情報が集まっている。
しかし目的そのもののツールはみつかっていない。なぜに?
http://im.qmail.jp/ignorant/ RFC に従わないメイルサーバとドメイン
http://ssss.jp/~trombik/email/rfc2505_j.txt
>1.5. spamをどこで遮断するか。SMTP、RFC822、もしくはUA?
>基本的な前提としては、SMTPレイヤーにおいて拒否もしくは受信されるべきで、MTAはメッ
>セージを拒否するのならSMTPセッション中に拒否するべきである。
私はspamメールのせいでメールがきらいになったので、できるだけかかわりを
もたないようにしようと思ってきたのだが、実はそうも言ってられないという
ことがようやくわかってきた。例えばblogのようにWeb上のコミュニケーショ
ンだけを対象としたとしても、それが十分な聴衆を獲得するようになれば、や
はりcomment spamに悩まされることになる。つまり、spam問題はメールだけで
はなくコミュニケーションシステム一般に存在するものであり、本質的な対処
方法を考えるべきなのだということにようやく気付いた。
メールはすでに期限切れのシステムである。本来はとうの昔に使われなくなっ
ていてしかるべきシステムなのに、適切な代替手段が無いために延命を余儀な
くされている。代替手段を考えるには、それがどのように、なんのために使わ
れるのかをきちんと考える必要がある。
現在のメールの使われ方は、3種類にわけられるように思う。
1. 個人間のやりとり
2. グループ間のやりとり
3. メルマガ
3は単純に一斉に同報として使われるもの。これは本来ならば単純にWebを更新
すればいいだけである。更新の通知であればアンテナのようなものに登録すれ
ばいい。メールであるが、返事が期待されていないものである。
1は、いままで特にやりとりがなく、いきなりだれかからメールがくるという
状況だ。要するに、名刺に載っているメールアドレスを見て、だれかがメール
を送ってくるという状況。これはWeb上のフォームからコメントしてもらうと
いう方法がいいのではないかと思う。そこでその人のメールアドレスを入力し
てもらい、そこにこちらから現在のメールアドレスをFromとしてメールを送れ
ばいい。その後はそのメールアドレスで問題なくやりとりできるようになる。
名刺にメールアドレスを載せるという習慣はすでに根付いてしまっているもの
なので、これがすぐに変わることは無いだろう。いままで関係の無かった人が
始めて連絡をとる手段としてのメールアドレスは必須であり、つまりこのレベ
ルにおけるSPAM対策の必要性はしばらく続くということになる。
2はいわゆるMLだ。実をいうと現在メールでやりとりしている情報は、圧倒的
にこの2が多い。MLにも様々な粒度があって、比較的多人数が参加している
公共に近い場もあるし、数人の非常に近い人によるMLもある。大抵の人は、
職場なり、作業グループなどのコミュニティ毎のMLに入っているのではないだ
ろうか。この2のカテゴリーに属する情報に対して適切な代替手段をみつけ、
または作り、そこに移行させていくことが、現在の目標である。