スパムへの終止符は誰が打つべきかスパム対策最前線(3/3 ページ)

» 2006年03月24日 08時00分 公開
[大澤文孝,ITmedia]
前のページへ 1|2|3       

1. ホワイトリストを併用することが重要

 スパム判定は万能ではないという点を理解しなければならない。時にはスパム判定を誤り、重要なメールがスパムとして判定されてしまうしまう場合がある。

 この問題を防ぐためには、受信条件設定のホワイトリスト登録を検討しなければならない。つまり「特定のメールアドレスからのメールは、どのような内容であっても受信する」というものだ。

 市販のクライアント向けのスパム対策ソフトには、アドレス帳に登録されたメールアドレスをホワイトリストとして登録するものが多い。また、幾つかのスパム対策ソフトでは、メール送信にフック(割り込み)して「自らが送信した宛先のメールアドレスはホワイトリストに自動登録する」という機能を搭載するものもある。

 このような機能があると、友人、知人、取引先など、いつもやり取りするメールアドレスは、内容にかかわらずスパムメールとして扱わないようにすることができる。

2. 誤判定を学習させる重要さ

 スパムフィルタが学習機能を搭載している場合、誤判定を学習させることが重要だ。

 多くのユーザーは、スパムがきちんと認識されない場合には手動でスパム登録を行うだろう。この逆に、正規のメールがスパムとして誤判定された場合、スパムではないことを学習させる人は少数派だと思う。

 実は、ベイズ理論を基礎とする学習アルゴリズムでは、「スパム対象とするもの」だけでなく「スパム対象としないもの」との確率的なバランスで成り立っている。そのため、両方のメールを学習させないと効率は良くならないのだ。

アプリケーションスパムでもベイズ理論が使える

 ここまでは、特にスパムメールについて解説してきたが、最後に掲示板やブログなどのアプリケーションスパムについても対処方法に触れておこう。

 正直なところ、アプリケーションスパムの特効薬はない。その理由は、汎用的なプロトコルで動作させることが困難だからだ。

 しかし原理的には、スパムメールと同じアルゴリズム――ベイズ理論を使ったもの――として実装することができるはずだ。ただし、CGIなどとして実装されたプログラム自体に組み込む必要があるため、広く採用されていないのが実情だ。

 アプリケーションで効果的なベイジアンフィルタを使ったライブラリは、フリーのものも存在する。そのため、ベイジアンフィルタをぜひ利用したいという場合には、それらのライブラリを使い、メールと同じくスパム判定することができる。例えばサーバ側で動作するスパムメールプログラムには、標準入出力を使うコマンドライン動作が可能なものが多く、この形態を利用して掲示板データを標準入力に与えればよいだろう。ここまでの処理は比較的簡単に実現可能だが、手間を要するのはスパム学習のためのユーザーインタフェースを作ることかもしれない。また、直接的ではないものの、既報のようにRSAセキュリティがWebアプリケーション向けのセキュリティに注目するなど、機運が高まりつつある。

 筆者によるアイデアレベルであるが、ブログのトラックバックの場合ではプロトコルが限定されていることから、受け取る際にスパムフィルタを通すことは容易だ。このような今すぐにでも対策ができそうな方法は、メールのスパムフィルタを流用するのがよいかもしれない。

 また、幾つかの掲示板スクリプトでは、投稿処理とともに管理者に本文内容をメール通知する機能が備わっているはずだ。この処理をスパムフィルタへと渡し、スパムと判定したら自作のスクリプトで該当投稿を削除する仕組みを構築してもよいだろう。このように考えていけば、応用範囲が広がっていくはずだ。

前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ