コメントSPAMツール、なかなか、ずる賢い!
Sunday, May 4, 2008
ここ1週間ぐらい、悩まされてるコメントSPAMだが、このツール、なかなか、ずる賢い。
自動巡回機能付だよ。
ええっとほぼ、きっちり1時間おきに来て、残念ながらクッキーはサポートしてやがらないから、検閲対象になるんだが、検閲対象のチェックするのもうざくなってきた。(なにしろ、ここ10日間で、150回以上くるので。)
で、あまりにうざいので、対象のエントリ、
http://blog.gakitama.com/index.php?e=523
を、コメント書き込み禁止にして、ログを見ながら、待ち構えてたら、以下のような攻撃パターンで来ました。
凡例:
敵:は、SPAMツールの動き
俺:は、俺のBLOGの動き
敵:まずは、乗っ取り済みの人のパソコンから、普通にアクセスしてくる。
rm-75-127-77-55.railsmachina.com - - [04/May/2008:09:25:03 +0900] "GET /?e=523 HTTP/1.1" 200 14965 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
俺:ここで、1時間前に攻撃してきたときと違い、今回は、523にコメントフォームがない画面を返しています。
敵:これを察知して、(ここ第1のポイント。CSRFじゃないし、Bot間でデータ連携してる。後述。)
rm-75-127-77-55.railsmachina.com - - [04/May/2008:09:25:09 +0900] "GET / HTTP/1.1" 200 37040 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
敵:トップページに遷移してきて、
rm-75-127-77-55.railsmachina.com - - [04/May/2008:09:25:13 +0900] "GET /?m=200804 HTTP/1.1" 200 40021 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
敵:前月の画面を取得して、
rm-75-127-77-55.railsmachina.com - - [04/May/2008:09:25:20 +0900] "GET /?m=200806 HTTP/1.1" 200 6923 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
敵:次月の画面を取得して、
敵:前の3回の巡回の結果を見て、最新のエントリ(?e=533)を探してきて、(ここ第2のポイント。Bot間のデータ連携もあり。後述。)
rm-75-127-77-55.railsmachina.com - - [04/May/2008:09:25:25 +0900] "GET /?e=533 HTTP/1.1" 200 12050 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
敵:e=533にアクセスし、
rm-75-127-77-55.railsmachina.com - - [04/May/2008:09:25:30 +0900] "POST /index.php?do=comment#do_comment HTTP/1.1" 302 - "http://blog.gakitama.com/?e=533" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
敵:POSTでいよいよ、SPAMコメントを投げてくる。ちゃんと、refererもつけてくるよ。
俺:ここで、クッキーで、パスワードっぽいのを敵に投げてるんですが、
(設定で、このパスワードを、URLで渡すようにしてたのを、Cookieに変更したので。)
rm-75-127-77-55.railsmachina.com - - [04/May/2008:09:25:33 +0900] "GET /comment_update.php?entry=533 HTTP/1.1" 302 - "http://blog.gakitama.com/?e=533" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
敵:ここで、(ログには出てないが)クッキーを投げてこないので、
俺:検閲対象であると判定。
rm-75-127-77-55.railsmachina.com - - [04/May/2008:09:25:37 +0900] "GET /comment_complete.php?e=533&p1=2 HTTP/1.1" 200 483 "http://blog.gakitama.com/?e=533" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
俺:画面には、p1=2で、検閲にひっかかった旨を表示。実際には、この後、管理人にメールを投げてます。こんな内容
結局、このメールがウザイので(自分のソフトで出してるんだが)、コメントを禁止にしたのに、別のところを自動的に攻めるようになってるなんて。なんか、考えないとね。
あと、cookie使う設定にしてるので、今は、携帯電話からの書き込みが、検閲対象になってしまうという弊害があるので、これもなんとかしなきゃ。
docomo.ne.jpとか、ezwebとかから来た時だけ、cookie使わなくても書き込みできるようにするのかなあ。
あと、もうすぐ破られるような気がする。javascript使うのも考えようかな(javascriptで、数式を投げて、計算できない相手からのコメントも検閲対象にするとか。)。もちろんこれも、docomoとかから来た時だけは免除してあげる必要がある。
でも最終的には、チャプチャだなあ。
ええっと、一応補足。なんで、CSRFでもなく、手動でもなく、Bot系かというと、、、、
1つには、上記の、前月と来月を巡回する動作を、1時間後にそっくり、同じ動作をしてきた、というのがあるのと、次月(6月は来月)を見る、という操作自体がプログラムチックだというのもある。
あと、次のログみてください。
218.15.95.166 - - [23/Apr/2008:06:16:14 +0900] "POST /index.php?do=comment#do_comment HTTP/1.1" 302 - "http://blog.gakitama.com/?e=523" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
202.28.27.4 - - [23/Apr/2008:06:16:26 +0900] "GET /comment_update.php?entry=523&rand=44871829 HTTP/1.1" 302 - "http://blog.gakitama.com/?e=523" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
コメントをPOSTしてくるIPと、そのリダイレクトに反応してくるIPが全然別のところから飛んでくるという攻撃パターンもあります。ここ第0のポイント。もちろん、レファラーつけて。
httpResponseのうち、HTMLの内容に反応することはできることは、さっきの例から明らかだが、これをBotの別ノードから実行することを重視している。HTMLの内容は、Botのノード間で連携しているみたいだが、Cookieを連携する機能がないんだろうな、多分。
いや、攻撃を受けてから設定を変えたので、自動的に対応できなくなっただけかも。だとすると、次に攻撃を仕掛けられたら、多分ダメだなあ。
5月6日追記。
この方、相変わらず、1時間おきに投げて来ます。ばかだねえー。
で、この方が使ってる、SPAMコメントツールの特徴。
以上ですが、この人達、こんなことでホントに、お仕事になる、、、、ほど、一般人は、乗っちゃうんだろうなあ。
自動巡回機能付だよ。
ええっとほぼ、きっちり1時間おきに来て、残念ながらクッキーはサポートしてやがらないから、検閲対象になるんだが、検閲対象のチェックするのもうざくなってきた。(なにしろ、ここ10日間で、150回以上くるので。)
で、あまりにうざいので、対象のエントリ、
http://blog.gakitama.com/index.php?e=523
を、コメント書き込み禁止にして、ログを見ながら、待ち構えてたら、以下のような攻撃パターンで来ました。
凡例:
敵:は、SPAMツールの動き
俺:は、俺のBLOGの動き
敵:まずは、乗っ取り済みの人のパソコンから、普通にアクセスしてくる。
rm-75-127-77-55.railsmachina.com - - [04/May/2008:09:25:03 +0900] "GET /?e=523 HTTP/1.1" 200 14965 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
俺:ここで、1時間前に攻撃してきたときと違い、今回は、523にコメントフォームがない画面を返しています。
敵:これを察知して、(ここ第1のポイント。CSRFじゃないし、Bot間でデータ連携してる。後述。)
rm-75-127-77-55.railsmachina.com - - [04/May/2008:09:25:09 +0900] "GET / HTTP/1.1" 200 37040 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
敵:トップページに遷移してきて、
rm-75-127-77-55.railsmachina.com - - [04/May/2008:09:25:13 +0900] "GET /?m=200804 HTTP/1.1" 200 40021 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
敵:前月の画面を取得して、
rm-75-127-77-55.railsmachina.com - - [04/May/2008:09:25:20 +0900] "GET /?m=200806 HTTP/1.1" 200 6923 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
敵:次月の画面を取得して、
敵:前の3回の巡回の結果を見て、最新のエントリ(?e=533)を探してきて、(ここ第2のポイント。Bot間のデータ連携もあり。後述。)
rm-75-127-77-55.railsmachina.com - - [04/May/2008:09:25:25 +0900] "GET /?e=533 HTTP/1.1" 200 12050 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
敵:e=533にアクセスし、
rm-75-127-77-55.railsmachina.com - - [04/May/2008:09:25:30 +0900] "POST /index.php?do=comment#do_comment HTTP/1.1" 302 - "http://blog.gakitama.com/?e=533" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
敵:POSTでいよいよ、SPAMコメントを投げてくる。ちゃんと、refererもつけてくるよ。
俺:ここで、クッキーで、パスワードっぽいのを敵に投げてるんですが、
(設定で、このパスワードを、URLで渡すようにしてたのを、Cookieに変更したので。)
rm-75-127-77-55.railsmachina.com - - [04/May/2008:09:25:33 +0900] "GET /comment_update.php?entry=533 HTTP/1.1" 302 - "http://blog.gakitama.com/?e=533" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
敵:ここで、(ログには出てないが)クッキーを投げてこないので、
俺:検閲対象であると判定。
rm-75-127-77-55.railsmachina.com - - [04/May/2008:09:25:37 +0900] "GET /comment_complete.php?e=533&p1=2 HTTP/1.1" 200 483 "http://blog.gakitama.com/?e=533" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
俺:画面には、p1=2で、検閲にひっかかった旨を表示。実際には、この後、管理人にメールを投げてます。こんな内容
自動検閲の対象になったコメントを反映してもよい場合は、以下のURLを実行してください。
http://blog.gakitama.com/comment_update.php?entry=533&rand=yyyyyy&md5password=xxxxxxxx
結局、このメールがウザイので(自分のソフトで出してるんだが)、コメントを禁止にしたのに、別のところを自動的に攻めるようになってるなんて。なんか、考えないとね。
あと、cookie使う設定にしてるので、今は、携帯電話からの書き込みが、検閲対象になってしまうという弊害があるので、これもなんとかしなきゃ。
docomo.ne.jpとか、ezwebとかから来た時だけ、cookie使わなくても書き込みできるようにするのかなあ。
あと、もうすぐ破られるような気がする。javascript使うのも考えようかな(javascriptで、数式を投げて、計算できない相手からのコメントも検閲対象にするとか。)。もちろんこれも、docomoとかから来た時だけは免除してあげる必要がある。
でも最終的には、チャプチャだなあ。
ええっと、一応補足。なんで、CSRFでもなく、手動でもなく、Bot系かというと、、、、
1つには、上記の、前月と来月を巡回する動作を、1時間後にそっくり、同じ動作をしてきた、というのがあるのと、次月(6月は来月)を見る、という操作自体がプログラムチックだというのもある。
あと、次のログみてください。
218.15.95.166 - - [23/Apr/2008:06:16:14 +0900] "POST /index.php?do=comment#do_comment HTTP/1.1" 302 - "http://blog.gakitama.com/?e=523" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
202.28.27.4 - - [23/Apr/2008:06:16:26 +0900] "GET /comment_update.php?entry=523&rand=44871829 HTTP/1.1" 302 - "http://blog.gakitama.com/?e=523" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
コメントをPOSTしてくるIPと、そのリダイレクトに反応してくるIPが全然別のところから飛んでくるという攻撃パターンもあります。ここ第0のポイント。もちろん、レファラーつけて。
httpResponseのうち、HTMLの内容に反応することはできることは、さっきの例から明らかだが、これをBotの別ノードから実行することを重視している。HTMLの内容は、Botのノード間で連携しているみたいだが、Cookieを連携する機能がないんだろうな、多分。
いや、攻撃を受けてから設定を変えたので、自動的に対応できなくなっただけかも。だとすると、次に攻撃を仕掛けられたら、多分ダメだなあ。
5月6日追記。
この方、相変わらず、1時間おきに投げて来ます。ばかだねえー。
で、この方が使ってる、SPAMコメントツールの特徴。
- user-agentは、Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)、Accept-Languageは指定して来ない。
AcceptLanguageをチェックするだけでも、大丈夫かもね。Refererは、ちゃんと付けて来ます。
- HTTPresponseを受け取って、その、<FORM>に対してPOSTしてくるようだ。あらかじめ設定しておいた、レスポンスを返すのではない。(前述の通り)
- JavaScriptrはサポートしていないようだ。HTTPresponseの内容は受け取ってそれを利用してるのが、CSRFとは決定的に違う(当り前)ところだが、この中のJavaScriptは解析しない。
- ブラックリストに載ってるクライアントがほとんど。つまり、ウィルスに感染させたBotを使ってるみたい。 (まれに日本のIPも入ってる。)
- 一定の、粘りSPAMをする。(前に、当該エントリだけ書き込み禁止にしたら、書き込みできるエントリーを探す動作をしてくると書いたが、それ以外にも、なんか、いろいろと試しながら、動作してるみたい。
- やはり、Cookieはサポートしていないようです。
以上ですが、この人達、こんなことでホントに、お仕事になる、、、、ほど、一般人は、乗っちゃうんだろうなあ。
コメントする
トラックバック
この記事へのトラックバックURL:
これまでに受信したトラックバックはありません。