「このサイトは第三者によってハッキングされている可能性があります。」という検索結果表示の原因と対策 | クラウドアドバイザー | AWS構築運用会社
 

「このサイトは第三者によってハッキングされている可能性があります。」という検索結果表示の原因と対策

先日、弊社パートナーさんより 『Googleの検索結果に「ハッキングされている可能性がある」と出ているので調査してほしい』 という旨の相談をいただきました。 以下の画像は再現したサンプルですが、検索すると実際にこのような表示が出ていました。

ここでクリックして確認するのは危険が伴うのでアクセスしませんでしたが、私のようにアクセスを避ける人は増えますし、アクセスしてしまった人に被害を与えてしまう可能性もあります。 そこで今回調査したサイトのハッキングの原因と対策についてまとめました。

警告が表示される理由

「このサイトは第三者によって〜」という表示は、WebサイトがハッキングされたことをGoogleが検知したため表示されています。 今回被害に遭ったサイトは Google Search Console を導入していたため、ハッキングを検知したので警告表示を適用したという旨のメッセージが Search Console に届いていました。 Search Console はサイトの検索結果に関するパフォーマンスを監視・管理できるサービスですが、Webサイトの改ざんも監視してくれます。 Search Console を使っていなくてもGoogleがクロールした時に改ざん検知もしてくれると考えられますが、Search Console にサイトを登録しておくことで運営者に通知が届くようになります。 Googleが用意しているハッキングされたときのドキュメントに沿って以下の順で対策を進めます。
  1. サイトの隔離
  2. Search Console の確認
  3. 被害の確認
  4. 脆弱性の特定
  5. 脆弱性への対策
  6. Googleへの再審査リクエスト
  7. 復旧後のアクション

1. サイトの隔離

まず被害が拡大しないようサイトを隔離します。
  • サイトをメンテナンス中ページへ差し替え
  • 該当サイトのCMSとして使われていたWordPressの一時停止

2. Search Console の確認

Search Console のメッセージを確認します。 今回は以下の内容のメッセージが送られていました。
  • 「このサイトは第三者によって〜」と検索結果に表示されるに至った理由
  • ハッキングされたURLの一部
  • 対策の手順(前述のハッキングされたときのドキュメント同様)
WordPressを停止したことで対象のURLはすでに稼働していませんでしたが、静的HTMLが書き換えられていた場合はURLに該当するページをサーバー上より隔離もしくは削除します。

3. 被害の確認

以下二点を行います。

改ざん内容の確認

脆弱性調査の手がかりにするため、実際にどう改ざんされていたのかを調べます。 自分自身も被害者にならないよう、以下のような方法で無害化して確認する必要があります。
  • 静的HTMLのサイトなら、テキストエディタでページを開きコードを確認する
  • CMSなどのシステムを使ったサイトなら、データベースの内容を確認する
今回はWordPressサイトへの改ざんだったため、データベースより該当URLにあたる内容を調べたところ、コンテンツが書き換えられていました。 Webサイト改ざんの内容は大きく分けると2種類あり、スパムを目的としたものマルウェアの感染を目的としたものです。今回の被害は、外部サイトへリダイレクトするよう改ざんされたスパム目的のものでした。

被害範囲の確認

Search Console のメッセージ受信時刻からサイトを隔離した時間までのアクセスログを解析し、被害に遭った人数とアクセス元(IP)を調べます。 改ざんされた当日にメンテナンスページに差し替えられたのでアクセスされた数は少なく、直接マルウェアを感染させるハッキングではなかったため訪問者への損害も無いと考えられるのは不幸中の幸いでした。 今回の改ざんは直接損害を与えるものではないため、訪問者への被害は発生していないと見なし、対策後にサイト上でお詫びの告知をする方針で進めました。 もしマルウェア感染の改ざんだった場合は、被害者を特定して個別に対処する必要もあると考えられます。

4. 脆弱性の特定

上記で調べた改ざん内容やサーバーログをもとに、脆弱性の原因を特定します。 今回はWordPressのコンテンツが書き換えられていたためWordPress本体を真っ先に調べたところ、WordPressが最新版に更新されておらず、そのバージョンの脆弱性を突く事実がサーバーログにあり、原因はWordPressのアップデートを怠っていたためと特定しました。 脆弱性の内容は以下に該当するもので、話題になった当時に弊社でも率先して対応していました。 WordPress の脆弱性対策について:IPA 独立行政法人 情報処理推進機構 制作後にWebサイトの管理をお客様に任せて手離れした後、WordPressなどCMSの更新が放置されてしまうことはありがちなケースです。

5. 脆弱性への対策

特定した脆弱性に適した対策を取ります。
今回はWordPressの脆弱性が原因のため以下の対策をとりました。
  • ハッキング前のバックアップからサイトを復旧
  • WordPressのバージョンアップ(動作検証作業など含む)
  • WordPress管理者パスワードの変更
  • WAFの導入
WordPressは構築の際に管理画面にIP制限をかけてセキュリティを向上させることも多々ありますが、今回の脆弱性は管理画面を経由せず、ログイン無しで誰でもハッキングできるもののため、バージョンアップは必須になります。 バージョンアップしたうえでも未知の脆弱性を突かれる可能性は常にあるため、外部からの攻撃を防ぐ WAF を導入しました。 WAF(Webアプリケーションファイアウォール)はゲートウェイとしてWebサーバーの前に立ち、SQLインジェクションやXSSなど脆弱性を突いた攻撃を防ぐサービスです。

6. Googleへの再審査リクエスト

調査と対策を行い、状態が戻ったことを確認したあとにGoogleの再審査ページよりリクエストを送ります。 Googleのドキュメントには72時間以内に検索結果から警告が削除されるとありますが、今回の場合は再審査リクエストした翌日未明には警告表示が解除されました。

7. 復旧後の告知

Googleのドキュメントにはサイト復旧までの手順が掲載されていますが、その後のアクションも必要です。
  • サイト上での報告
  • 顧客へ報告のURLをメール連絡
報告は以下の内容でまとめました。
  • 改ざんを受けたことへのお詫び
  • 改ざん内容はマルウェアを含まないスパムのため、損害が発生する可能性は低い事実と理由
  • そのうえで万一被害を受けていたら連絡を求める旨
  • 改ざんの確認から復旧までの対処を時系列で列挙
  • 行った脆弱性対策の説明

まとめ

繰り返しになりますが、ハッキングされた時の対策は以下手順になります。
  1. サイトの隔離
  2. Search Console の確認
  3. 被害の確認
  4. 脆弱性の特定
  5. 脆弱性への対策
  6. Googleへの再審査リクエスト
  7. 復旧後の告知
今回標的になったWordPressは世界で最も使われているCMSのため、最も攻撃されやすいCMSでもあるので脆弱性の話題は周期的にあり、管理やセキュリティに隙きがあるとすぐ狙われてしまいます。 そのためCMSに対するセキュリティ意識はWeb制作業界では高まっていますが、WordPressの運用管理やアップデートだけを案件化しにくいのは実状だと思います。 クラウドアドバイザーではWordPressの運用管理のほか自動でセキュリティアップデートも行う「マネージドWordPressホスティング」を提供しています。ご検討頂けましたら幸いです。