モーグルとカバとパウダーの日記

モーグルやカバ(EXカービング)山スキー(BC)などがメインの日記でした。今は仕事のコンピュータ系のネタが主になっています。以前はスパム対策関連が多かったのですが最近はディープラーニング関連が多めです。

URLの書かれていないスパムの謎とその対策

spam_filter.phpを導入されたと書かれていたWikiでスパム投稿を発見したので、どうやって抜けてきたのかを調べてみました。

http://kan.s151.xrea.com/

Keep working!where are you google? -- Saher1979 2007-06-06 (水) 02:14:33

コメントスパムでこんなのが入っていました。
ちなみに、URLのリンクや他の宣伝文などはなく、なんのためにこんなの書いてきてるの?という感じです。


そこで、「Saher1979」で検索してみました。
中田潤が無料予想 競馬で「喰えるダメ人間」になろう!: 阪神芝2000メートルの不思議
エンジェルハートプロダクション【☆+゜。関口春菜の日記☆+゜。】:ギャオ〜☆+ ゜。 - livedoor Blog(ブログ)#comments

このあたりがヒットしたのですが、ブログのコメントスパムが打たれていました。


で、コメントの内容はほとんど同じようなものなんですが、ブログの名前にはURLが書けるため、名前にはリンクが付いていました。
つまり、ロボットでURL欄があるなしにかかわらず打ってくるため、WikiのコメントではURLの情報が抜け落ちて、(スパムとしては)意味無い書き込みが残ってしまっていた、ということが真相のようです。


ちなみにリンク先は下記URL(頭の「h」はリンクにならないよう自分がはずしました)

ttp://www.sscnet.ucla.edu/history/yeager/classes/197W/wwwboard/messages/1239.html

になっていて、ドメインucla.edu(アメリカの著名な大学)になっています。
これは、最近流行の手法らしくて、権威のあるドメインだとSEO的に上に来るため、大学のサイト内にある(古くてあまりメンテされていない)掲示板やWikiに宣伝そのものやリンクを書いておくというものです。


例えば、「viagra buy」で検索してみると
buy viagra - Google 検索
自分が検索した時点では、一番上はミシガン大学内にあるブログのエントリーになっていて、そこから他のサイトに転送されるようになっていました。
その次は、日本のKDEPukiWikiのサイトが荒らされていて、そこのFAQのページでした。
FAQ/544 - PukiWiki


問題の掲示板の場合、本文と画像を貼れるようなのですが

<img src="thankyou" onerror='location="http://allyouneeds.info/search.php?q=viagra+online"'>

と存在しない画像を貼ってわざとエラーを起こし、そのエラー画面として飛ばす、という手法で自動的に自サイトへ誘導していました。


このように、あまりにスパムがひどいと、そのまま放置されて荒れ地となってしまう場合があったりして、スパマーとしては願ったりな状況になるようです。
特に現在は、自分でサーバを建てたりせずに、無料でブログとか掲示板、Wikiを簡単に設置出来るようになりましたので、そうやって無料で運営されているところだと、単に放棄して他へ移る、ということで荒れ地になる場合が多いように思います。
そうなると、デフォルトで簡単にスパム対策ができるというのは、検索精度やメールのスパム(URLBL除けのため、一旦そういった「安全そう」なURLを経由する、という手法が成り立つ)などネット全体のことを考えても、必要なことだと思います。


さて、この手のとばっちりによるスパム抜けの対策を考えてみました。
フォーム中の「name=url」で指定されてくるものにURLが書かれて送られて来ていると思います。
そこで、本来フォームに入っていないはずのものがあった場合には拒否する、ということでフィルタ出来るはずです。
まあ、PukiWikiの場合はurlという項目が入っているかだけでチェックしてもほぼOKでしょう。


これを利用して、フォームの名前で良く使われている、mailだとかurlだとかbodyだとかをやめて、頭になにか付ける、例えばhoge-mailだとかにしておき、そういうuniqな名前以外のフォーム名が書かれていたら破棄とすると、一部のスパム投稿についてはそれで落とせる可能性があるでしょう。


近いうちにspam_filter.phpに、こういう場合を防ぐためのフィルタを追記します。


(追記)

これはすごく簡単なんでさくっと書けたんですが、テストのほうがめんどい。