ロリポップ改ざん事件について、公式の発表が行われました。
攻撃内容
サイトタイトルに「Hacked by Krad Xin」が含まれている
サイトのキャッチコピーが「BD GREY HAT HACKERS」になっている
サイトが文字化けしている
らしいです。サイト改ざん? (WordPress フォーラム)によると、
document.documentElement.innerHTML = unescape('');
という記述をテキストウィジェットに埋めこまれた、という報告も有ります。
侵入口は簡単インストール
簡単インストールを利用して設置された WordPress においてインストールが完了していない WordPress が狙われ、WordPress の管理者権限を第三者に取得されたことで、サーバー上にサーバー構成上の不備を悪用するスクリプトが設置されました。
ロリポップの内情が分からないので推測ですが、簡単インストールを途中で中止した場合に、第三者が WordPress を乗っ取ることができるようになっていたようです。ただしこれは、通常のインストールの場合も同様です。
通常のインストールの場合は、WordPress のファイルをサーバーに転送して、データベースの設定をして、インストール(最初のユーザー作成)を行わない、という可能性はほとんどないでしょう。インストールをブラウザから行うため、最初にアクセスした人がインストールできます。いわゆる早い者勝ち状態ではあるのですが、通常のインストールなら、仮に攻撃者に先んじられたとしても、気づく事はできるでしょう(自分がインストールしようとしたら「インストール済みです」と表示されるので)。
ロリポップの発表によれば、簡単インストールの場合も、簡単インストール完了後、サイトにアクセスすれば誰でも管理者ユーザーを作れる状態になっていたと思われます。簡単インストールを行った人がインストール完了すれば良いでしょうけど、そうでない場合、インストール可能だが未インストール状態の WordPress がそのまま残ってしまうらしいです。(さらにサーバーの設定でパーミッション等が緩い、という問題があったので、被害が拡大した模様です。)
ホスティング業者はどうすべきか
簡単インストールを実行して途中で放置するのは、利用者にも過失があるとは思います。ただ、ホスティング業者としては、
- サーバーの管理画面で、簡単インストールを開始した端末のみ、インストールを続行できるようにする
- 簡単インストールが途中であることを、利用者に通知(警告)する
- インストール途中で放置された場合、一定期間が経過したら削除する
- wp-admin/install.phpが残っていたら警告を表示する
といった処置をすべきだったのでは?と思います。利用者の行動に責任が持てないので簡単インストールを提供しない、という選択もあり得るでしょう。