Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Wikiスパムの傾向と対策

Composition idea made before magazine article is written. Explanation of behavior of spam robot and proposal of counter measures against this.

  • Login to see the comments

  • Be the first to like this

Wikiスパムの傾向と対策

  1. 1. Wikiスパムの傾向と対策 Date : 2005.08.01 Usage : UnixUser2005年10月号向け記事の構成検討 Author: 塚本 牧生 <tsukamoto@gmail.com>
  2. 2. 構成 概要(2~3ページ) 実装例(3~4ページ) まとめ(1ページ)
  3. 3. 概要 Wikiスパムとは Wikiスパムの種類を説明 スパムロボットを知る クローラ化したロボットの挙動を提示 スパム対策を考える Wikiスパムに対抗する 被害までの流れと、各ステップで取れる対策 「Wikiスパムに対抗する」を紹介 対策法を列挙
  4. 4. Wikiスパムとは 広い意味でWikiスパムを定義する コンテンツ改ざん 人が - わざと(荒らし)/誤操作で。 ロボットが - スパム投稿の結果として。 スパム(狭義の) ロボットが – 宣伝、SEO目的で。 Wikiスパム対策 「人が」は良いコミュニティ作りと誤操作防止で 対応できる。 ここでは特にロボット(ツール)対策を考える。
  5. 5. スパムロボットを知る 「掲示板荒らし」の時代とは違う。 ページを取得しフォームから投稿。 投稿時のmethodはPOST。 Hiddenフィールドの値もちゃんと送信。 cookie、reffererを送ってくるものも少なくない。 「今時のスパムロボット」対策が必要。 xxxxx.xxxxxxxxxxx.net - - [28/Jul/2005:22:25:40 +0900] quot;GET GETで巡回しながら /visit/index.cgi?Linux%A5%B6%A5%A6%A5%EB%A5%B9%2FPerl HTTP/1.1quot; 200 34383 quot;-quot; quot;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)“ フォームを探す xxxxx.xxxxxxxxxxx.net - - [28/Jul/2005:22:25:43 +0900] quot;POST /visit/index.cgi HTTP/1.1quot; 302 310 quot;-quot; quot;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)quot; hiddenフィールドの 投稿はPOST、 xxxxx.xxxxxxxxxxx.net - - [28/Jul/2005:22:25:44 +0900] quot;GET 日本語の値も送信 /visit/index.cgi?Linux%a5%b6%a5%a6%a5%eb%a5%b9%2fPerl HTTP/1.1quot; 200 34556 quot;-quot; quot;Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)quot; 投稿結果からの リダイレクトにも対応
  6. 6. スパム対策を考える ミサイルのタイムラインモデル(AsO, 塚本, 2005.07) スパマの各アクションタイミングでのスパム対策を考える。 誰かの閲覧、クローラのアクセスまでが勝負。 (迎撃) 開戦 索敵 照準 発射 着弾 爆発(=被害発生) (誰かが閲覧) アクセス フォーム検索 スパム投稿 (サーバ側処理) 書き変え完了 (クローラ巡回) フォームを隠す 投稿者を認証する ロボットを排除する すばやく修正する ・Cookieなど 偽フォームをおく ロボットを排除する ・更新通知メール ・CAPTCHA スパムを排除する ・履歴と「戻す」機能 更新 更新 適用 ブラックリスト (IPアドレス、禁止URL、禁止Word、…) Copyright by AsO@麻生電子科学研究所 and 塚本 牧生 Licensed under CC-Wiki 0.5 (http://creativecommons.org/licenses/by-sa/2.5/)
  7. 7. 実装例 ブラックリスト ルールベースでのスパム対策の実装例を示す。 更新通知メール 手作業での対応のサポートツール実装例を示す。 フォームを隠す&ダミーフォームを作る ロボットの行動パターンを考えた対策例を示す。
  8. 8. 実装例:ブラックリスト ブラックリストページと、その解析部分を作る。 投稿内容をブラックリストと照らし合わせる。 投稿:スタート コメント:スタート do_comment do_write ・凍結状態で編集権限がなければ拒否 ・スパムチェックでNGであれば拒否 ・編集可能なページ以外であれば拒否 スパムチェックで であれば拒否 であれば ・保存 ・メールでの更新通知 完了
  9. 9. 実装例:更新通知メール 更新通知メールを作る ブラックリスト追加用のページを作る ブラックリスト追加ページへのリンクをメールに 載せる。 Date: Tue, 21 Feb 2006 01:15:04 +0900 (JST) Date: Tue, 21 Feb 2006 01:15:04 +0900 (JST) From: owner@yourwiki.example.com From: owner@yourwiki.example.com To: owner@yourwiki.example.com To: owner@yourwiki.example.com Subject: [Wiki] UpdatedPageName Subject: [Wiki] UpdatedPageName -------- -------- REMOTE_ADDR = 172.28.19.172 REMOTE_ADDR = 172.28.19.172 ADD_FILTER = http://yourwiki.example.com/index.cgi?addfilter=172.28.19.172 ADD_FILTER = http://yourwiki.example.com/index.cgi?addfilter=172.28.19.172 -------- -------- UpdatedPageName UpdatedPageName -------- -------- = [[#rcomment]] = [[#rcomment]] + - 2006-02-21 (Tue) 01:15:03 ''[[spammer]]'' : ○○が特価で販売! + - 2006-02-21 (Tue) 01:15:03 ''[[spammer]]'' : ○○が特価で販売! = - -2006-02-20 (Mon) 22:52:32 ''[[管理者]]'' : :更新メールの内容です。 = 2006-02-20 (Mon) 22:52:32 ''[[管理者]]'' 更新メールの内容です。
  10. 10. 実装例:フォームを隠す ロボットには見えない編集フォーム a. ページ全体をXML+XSLT化 JavaScriptでフォーム生成 b.
  11. 11. 実装例:ダミーフォームを作る 人間には見えないトラップフォーム CSSで非表示化 トラップフォームからの投稿者はブラックリストに 追加
  12. 12. まとめ 「Stemming the menace of wiki spamming」(News Forge, 2005.06)の紹介。 訳文 : Wikiスパムに対抗する (JAPAN.LiNUX.COM, 2005.06) スパム対策の考え方 機械的に排除できるものは自動で排除 ルールベースなので精度に限界がある。 ルールを厳しくすれば一般利用者が不便になる。 機械のチェックをすり抜けたものは手作業で排除。 Wikiシステムとしては、ルールベースのフィルタツールと、 人手なので対応できる規模に限界がある。 手作業を楽にするサポートツールの実装を考える。
  13. 13. 参考:Wikiスパムに対抗する 初出 : Stemming the menace of wiki spamming 現在のWikiスパム関連の情報がまとまった記事。 (News Forge, 2005.06) 訳文 : Wikiスパムに対抗する (JAPAN.LiNUX.COM, 2005.06) 主な対抗策 .htaccessによる認証など … 投稿者を限定する 認証 CAPTCHA(画像認証)など … ロボットを排除する スパムの検出 ブラックリストとホワイトリスト(投稿者のIPアドレス、単語、URLなど) 内容分析。SpamAssasinの流用などが検討されている。 行動に基づくバンリスト。 その他 スパムページを探し削除する。 リンクに「nofollow」属性を付ける(SEO効果をなくす)。 使われていないゴーストWikiを停止する。
  14. 14. 参考 : スパム被害までの時間軸(詳細版) 「Wikiスパムに対抗する」などを反映 (迎撃) 開戦 索敵 照準 発射 着弾 爆発(=被害発生) (誰かの閲覧) アクセス フォーム検索 スパム投稿 (サーバ側処理) 書き変え完了 (クローラ巡回) フォームを隠す 投稿者を限定する ロボットを排除する すばやく修正する ・XML+XSLTで生成 ・Cookie ・認証 ・更新通知メール ・JavaScriptで生成 ・TypeKey認証 ・Refferer検証 ・履歴と「戻す」機能 ・Hidden値検証 ・時間モデレーション ・GET拒否 偽(罠)フォームをおく ロボット排除 ・CSSでブラウザには ・CAPTHA ・多重投稿拒否 ブラックリストを更新する 不可視化 ・連続投稿拒否 ・専用更新画面 ・通知メールにURL ・投稿間隔設定 スパムを検出する ・ブラックリスト ・ベイジアンフィルタ 更新 更新 適用 ブラックリスト (IPアドレス、禁止URL、禁止Word、…)

×