« 恐怖のバナナモカフラペチーノ | Main | 東京の水道水 »

BBSスパム再び

最近、海外勢のロボットによるBBSスパム投入が酷くなってきてうんざり…。('д')
ブログのコメント・トラックバックスパムも同様ですな。

国内発の日本人向け(要は日本語で書かれた)スパムに関しては、前に対応してほぼ撲滅できたのだけど、海外勢のスパムの勢いは増す一方なので、対策をすり抜けてくる輩もちらほら…。

ここ最近になって目立ってきたのが、アメリカ勢による「URL乱発スパム」。まず、全て英語で書かれているので、日本語の「NGワード」チェックに引っかからない。傾向としては、単にURLをずらっと並べて誘導しているだけの書き込みが多い。本当に「機械的な」書き込みなので、正直見てて気分悪くなる…。

紫彗さんとこのBBSでもロボットによる(であろう)スパム書き込みは結構深刻で、現在は1日で100件超える場合も。

まぁ、これらの対策は至極簡単で、誘導に必要なURLを書けなくすればOK。具体的には、本文中に「http://」という文字列を書けなくすれば良いだけなので、NGワードに加えてやれば既存ロジックでも対応可能。

これで「URL羅列型」のスパムは抑えられたけど、その後、「URL欄に誘導先URLを書き込んで宣伝」という手法が現れてきた。ホント、懲りない奴等だな…。( ̄▽ ̄;ゞ

こちらは既存ロジックだけでは対応しきれないので、やむなくメール欄とURL欄を削除して対応することに。

その対策施した後も、負け惜しみとも思える一文を書き込む輩がちらほらと…。宣伝対象のURLとかが何も書かれないから、スパムの意味合いがまったく無くなっているんだけど。(笑) まぁ、それでもウザいのには変わらんので、何とかしたい所。

単純に「1バイト文字だけの書き込みなら弾く」のも手なんだけど、紫彗さん秋風さんみたいにアクセス数が多いところは、海外の(正当な)書き込みが稀にあるからなぁ…。



で、今考えているのが「動的ブラックリスト」の作成。

ブラックリスト(例えばORDBとか)を参照してスパムを遮断する…ってのは、メールの世界では既に広く導入されている技術。
#まぁ、ブラックリストを利用する弊害もあるにはあるけど…。

これをBBSにも応用してみようかな〜と。

構想を簡単にまとめると…

  • アクセス元のIPアドレスをブラックリストに照会して、引っかかった場合は拒否
  • 書き込み時のスパム判定に引っかかった場合は、IPアドレスをブラックリストに登録
  • スパム判定をすり抜けた書き込みを管理者が(スパムと判断して)消す場合、その書き込みのIPアドレスをブラックリストに登録
  • スパム判定に重み付け要素を加えて、制限期間の幅を持たせる
  • アクセス回数に対しても重みを加える

と、こんなところかな?

ブラックリストのデータベースは、テキストファイルで管理するのはパフォーマンス的にアレなので、まともなSQLエンジンが必要だろうなぁ…。まぁ、自宅サーバで運用するなら、このブログ用にPostgreSQL使ってるんで問題ないけど、一般プロバイダ上に構築するとなると難しいでしょうなぁ。

ま、とりあえず一般開放しませんけどね。ブラックリストの問い合わせが集中してしまうと、自宅のサーバリソースと通信帯域が食われるし。(笑) あくまで、自分とこと知り合い向けの技術的実験ですな。

ただ、IPベースのブラックリストでどれだけ効果が出るかは謎なんだよな〜。というか、あまり期待できなかったり。('д') というのも、たいていのアクセスはBOT経由っぽいからなぁ…。



もうひとつの対抗策は「投稿手順の2段階化」。

具体的には、

(1)フォーム記入
(2)投稿

という流れを

(1)フォーム記入
(2)内容確認
(3)投稿

のように変更すること。

これだと、単純な「フォーム記入をエミュレートした投稿」に対しては防御可能になる(内容確認画面に遷移して投稿にまで至らないので)。ただ、フォーム記入から実際の投稿までのセッション管理などのロジックを巧く組み入れないと、「内容確認をエミュレートした投稿」を弾けないので、システム側の複雑性が増すのが難点か…。

Post Coment

Trackbacks

このエントリーのトラックバックURL:
http://magicgate.ddo.jp/mt/mt-tb.cgi/166