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

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

Wikiのアカハックスパム対策手法のアイデア

アカハックとは、主にネットワークゲーム(ラグナロクオンラインリネージュなどMMORPG)のアカウント(ユーザのログイン名とパスワード)を、ホームページを見ただけで感染するウイルスを使って侵入し、そのアカウントを不正取得するものです。
なぜそんなことをするのかというと、そのゲームのキャラクタが持っているアイテムやゲーム内通貨を、現実のお金で売買するRMT(リアルマネートレード)を行って、お金を儲けるためです。


そんなの自分には関係ないよ、と思ってる方も多いかもしれないですが、実はこれを狙ってホームページを改竄される例が結構おきていて、例えば先日のさくらインターネットで起きた、ARP Spoofing使ってクラックされたサーバ以外のホームページにも、クラック用のコードが埋められてしまった件は、これを狙ったものだったはず。


彼らは、攻撃用のホームページをカモに見せるために、掲示板にURLを書いたり、Wikiの内容を変更したりしてきます。
つまり、Wiki掲示板へのスパム行為がクラックの第一歩となっています。


Wikiへのスパム対策については、spam_filter.phpでいろいろ実装して、機械的に行われるものについてはだいたい排除できるようになってるのですが、これらアカハック用のスパムは、人間が個別にやっているようで、単純なフィルタでは防げない場合が結構あります。
例えば、普通のWikiスパムでは非常に有効なCAPTCHAを使った制限などは、意味を為しません。


具体的な攻撃手法については、こちらのページが参考になります。

FF11:A Little Goblin's Adventureを応援するサイト

基本的には、おびき寄せるためのページからiframeやlocationなどで、実際に攻撃用コードが書かれているサイトへ転送したり参照したりさせて、そこでブラウザの脆弱性を突いて侵入するようです。


実際に、最近出ていたおびき寄せるためのURLをいくつか調査してみたところ、iframeを2重にかけてあって、その先に攻撃用コードが書かれていました。
そして、自分の見た攻撃コードはVBScriptで書かれており「c.u.t.e.q.q」*1というキーワードが含まれていました。
ぐぐってみたところ、この名前で中国で活動しているウイルスなどを作成しているグループがあるのだそうです。


そこで、WikiにURLが書かれてあったらそのURL先をパースして、iframeやlocationがあったらさらにその先をパースして、でその中にこのキーワードが含まれていたら拒否する、というようなフィルタを書いたらどうだろう、と考えました。


パースの負荷が増えますが、怪しい場合だけ調査するようにしたり、すでに調査済みのURLについてホワイトリストブラックリストを作ってやると、それほど大きな負荷にはならないと思います。
ここでは、拒否するワードを先の「c.u.t.e.q.q」と仮定していますが、クラック用に良く使われるレジストリ名だとかを拒否ワードにし、新たな攻撃手法が使われるたびにページを解析して拒否ワードを追加するような、ウイルス対策ソフトのアップデートみたいな仕組みを準備できればさらに良いと思います。


(関連)

PukiWikiのURL書き換えスパマーは中国からの反日ROのキャラ取得とRMT目的らしい - モーグルとカバとパウダーの日記

PukiWiki Plus!用のスパムフィルタ spam_filter.php - モーグルとカバとパウダーの日記

FF11:A Little Goblin's Adventureを応援するサイト

*1:実際には「.」は無し