呑んべえ柴やんのセキュリティABC

情報漏洩を防ぐ大人の嗜み

自社HP(WordPress)をスマホで見ると18禁サイトに転送される事例

http://f.st-hatena.com/images/fotolife/B/BighelpSecurity/20150420/20150420145706.jpg

 

こんにちは、数十年ぶりのフィールドアスレティックで童心に戻れた柴やんです。

 

既に新年度も始まり入学や就職など新たな立場で新生活を送っている人たちと同じように、この春に独自ドメインを取得してwordpressサイトを始めた方も応援したいと思いまして。

 

実生活に限らずネット上においても事件や事故の当事者になるのは遠慮したいところですが、予防の意味で情報漏洩やウェブサイトの改ざん事例に学ぶところは多いと思います。

 

今回は知り合いが体験したウェブサイト改ざんの事例を紹介したいと思います。
今年の2月上旬、知り合いが管理しているworpdressのウェブサイトで不思議な挙動が見られると連絡をもらったのがきっかけでした。

 

早速URLを教えてもらい、パソコンとスマートフォンのそれぞれでアクセスしてみたら確かにスマートフォンの時だけ18禁サイトに自動的に転送されてしまいました。

 

症状が症状なので、取り急ぎ.htaccessファイルを見てみましたが特に改ざんされた様子はありません。

結論はgeneral-template.phpが改ざんされて外部のスクリプトを読み込むことで、スマートフォン利用者のみを対象に外部のウェブサイトに転送するという仕組みでした。

見せてもらった改ざん箇所を含むファイルを確認したところ、general-template.phpのwp_head()部分に難読化された外部スクリプトの読み込みが追加されているのを目視できました。

※赤字部分の行(暗号化文字列部分は念の為省略)

function wp_head() {
 /**
  * Print scripts or data in the head tag on the front end.
  *
  * @since 1.5.0
  */
 echo '<script src="'.gzuncompress(base64_decode('※ほにゃらら文字列がたくさん表示されています')).'" type="text/javascript"></script>'.PHP_EOL;
 do_action( 'wp_head' );
}

 

gzuncompressやbase64などで解読できないようされた文字列を本来の読める文字列に戻してから、検索のキーワードにひっかかるのではと思った文字列部分を頼りにグーグルで検索してみました。

そして検索結果を一つずつ確認していき、やっとのことでドンピシャな記事を見つけました。

海外の記事ですが、取り急ぎ知りたいところを要約しました。

症状:スマホからアクセスしてきたユーザを判別して外部のポルノサイトに転送させる。パソコンからのアクセスには影響ないので気が付かない。

対応:改ざんされたサイトにFTP接続してwp-includesディレクトリに移動、general-template.phpファイルを開き"base64_decode"を検索、該当する文字列を含む行を削除してファイルを上書き保存する

 

本事例では他のファイルへが改ざんされていない事が確認できたので、上記の記事通りの対応で済みましたが、一般的には他のファイルがいくつも改ざんされるケースも少なくありません。

 

そして、そもそも一番気になるのは、なぜ改ざんされたのかということです。

少し話を聞いてみましたが、FTPアクセスするパソコンの状態を除き、どうやらwordpress本体、テーマ、プラグインの最新化、バックアップ取得、管理画面のログイン制限等のセキュリティ対策で思い当たる節があったらしく。

 

今回を教訓にwordpress本体やテーマそしてプラグインの最新化は当然ながら、パスワードの変更、バックアップの取得やら管理画面への2段階認証やらセキュリティ対策にも本腰を入れはじめたようです。

 

今回はたまたま改ざんされたことに気づくのが早く、不幸中の幸いでブラックリストには登録されていなかったので面倒で時間のかかるブラックリストの解除手続きは必要ありませんでした。

 

情報漏洩やウェブサイトの改ざん等について、大抵はよそ様からの指摘で気づくことが一般的であり、事の発覚は遅れがちです。

 

wordpressのウェブサイトを運営するということは、ブログで情報発信を続けることに加えて、極力不正アクセスや改ざんなどを防ぐ為にセキュリティ対策についても注意しなければなりません。

 

日頃からウェブサイトの状態に注意を配り一早く異常を検知できるようにすることが大切です。また万一の場合は速やかで適切な対応が求められますので、自力で対応する事が難しいようなら予め信頼できる相談先を確保しておくこともお忘れなく。