「海外の知らないサイトから大量にリンクされている」とか「自分のサイトに知らないコンテンツが追加されてる」ときに参考になるかもしれない情報

こんにちは。takanoです。

世間勉強のために ウェブマスター ヘルプ コミュニティ というところで回答させてもらっているのですが、以下のような質問がそれなりの頻度で投稿されます。

  • 「海外の知らないサイトから大量にリンクされている」
  • 「知らないサイトにコンテンツを大量にコピーされている」
  • 「自分のサイトに知らないコンテンツが追加されてるのを検索結果で見つけた」
  • 「サーチコンソールから、知らない所有者が追加されたというメッセージが届いた」


上記のような質問について、状況が複雑で説明が大変なので久しぶりにブログに書きたいと思ったのですが、調べれば調べるほどスパムやハッキング(クラッキング)という領域が沼だったので数ヶ月悩んでました。
背景について詳しく書きすぎると模倣犯の参考になってしまいますし、手法や対策のバリエーションも多く、逆に誤解を与える懸念もありました。
結果、なるべく簡潔にまとめることにしたので、このケースに遭遇して困っている方以外は特に新しい発見は無いかなと思いますが、困っている方には分かりやすい解説になるよう頑張ります。

はじめに

この問題を複雑にしている要因がいくつかあります。

  • 登場人物が多い
  • 意図が分からない(場合がある)
  • 技術的な知識が必要

登場人物が多い

大きく分けると、以下の 5 人(?)が登場します。

  1. 悪い人(ハッカー / スパマー)
  2. サイト管理者 A(コンテンツをコピーされる被害者)
  3. サイト管理者 B(サイトに侵入され、何か埋め込まれる被害者)
  4. 検索エンジン(クローキング される被害者)
  5. 検索ユーザー(サイト管理者自身が検索してる場合も含む)

意図が分からない(場合がある)

悪い人は意図をもってコンテンツを スクレイピング してコピーしたり、サイトに侵入(ハッキング)してきます。

これが単純にコンテンツの 無断複製自動生成 の素材として使うことで自身のサイトに検索流入を得ようとしてるのであれば分かりやすく、かつコピーされた被害者の方もそう認識する場合がありますが、実際は以下の図のようなケースがあります。


検索エンジンにだけ偽サイトを見せるタイプのスパム

個人的には「海外の知らないサイトから大量にリンクされている」という場合に、このケースが多いように感じます。

想定されるのは以下の流れです。

  1. サイト管理者 A がサーチコンソールの リンクレポート で大量のリンクを発見
  2. 実際にその URL を確認するとページが無い(404
  3. 不安になって リンクを否認


あるいは、以下のようなパターンもあります。


検索ユーザーにも偽サイトを見せるタイプのスパム

こちらは、検索ユーザーを対象に悪さをしようとしているのが分かりやすいですね。
通称で「SEO ポイズニング」と呼ばれています。

サイト管理者が気付くのは以下の流れが多いと思います。

  1. サイト管理者 B が、自身のサイトを site: 検索
  2. 見知らぬ URL を発見
  3. アクセスすると見知らぬページが生成されている
  4. あるいは、見知らぬサイトに転送(リダイレクト)されている


図解した手法には細かい違いはあるのですが、大きくまとめると

  1. サイト A からコンテンツを盗み
  2. サイト B に不正侵入して埋め込み
  3. 検索エンジンを騙し
  4. 場合によっては、検索ユーザーに危害を与えることもある

のが、これらの事例におけるハッカーやスパマーの狙いです。

コンテンツを盗用される被害者は、目につくケースが多いので通販サイトを例にしましたが、色んな種別のサイトが標的になっているようです。

ここで記事の下調べ中に見つけた実例を紹介しますが、アクセスすると危険かもしれないので、画像で貼っておきます。

検索結果に表示されるスパムの実例


なお、Googlebot(検索エンジン)としてアクセスした際の見た目は、以下の記事の方法で確認することが可能です。
ischool.co.jp


技術的な知識が必要

サイト管理者がこの問題に対処するには、上記の図のような前提を把握している必要がありますが、趣味でブログの運営をしているような場合などには、なかなか難しいと思います。

ある程度の技術的な知識が無ければ前提を理解できないですし、対処も難しいと思うので、なるべくその辺りを分かりやすく伝えるのが今回の記事の目的でもあります。

対処法

紹介させていただく対処法は、私が Google 検索以外の検索エンジンとサーバー周りに強くないので、その前提の参考リンクが多めになります。
補完できる情報を見つけたら随時追記はしていこうと思います。

コンテンツをコピー(スクレイピング)された場合

コンテンツをコピー(スクレイピング)された場合


個人的には、サイト運営者に連絡して「ねえ、私のコンテンツをコピーした?もしくは、あなたのサイトがハッキングされてない?」と言えれば一番良いかなと思いますが、そもそも連絡先が不明だったり、その後のやり取りや意思疎通のことを考えるとハードルが高いかもしれません。

今回の記事で紹介しているような目的でのコピー(スクレイピング)では実際に目視でコンテンツを確認できない場合もあったり、サイトの種別や国によって著作権の解釈がどうなんだろうという部分もあるので、 DMCA など 法的なリクエスト もハードルが高く感じる人が多いのかなと予想します。

これらの事例においては、Google 検索の場合だと スパムレポート の送信というのが対処法として推奨されています。

スパムレポートの送信について

ここは Google 公式の案内を見てもらうのが良いと思うので、ウェブマスター向け公式ブログの記事を紹介します。


また、ウェブマスター オフィスアワー でも複数回にわたって言及されているので、その動画も紹介します。
(※サムネイルが一緒のものも、全部別の開始位置です)


送信の方法など








送信対象と回数



サイトに侵入され、コンテンツを埋め込まれた場合

サイトに侵入され、コンテンツを埋め込まれた場合


ハッキングを受けてサイトに侵入された場合も、侵入の経路だったり、侵入後に行われる行為が多様なので、対処法は複雑です。
少し古いですが、以下の動画がイメージを分かりやすく教えてくれます。(日本語字幕付き)




また、Google が提供しているドキュメントだと、まずは以下を確認すると対処のイメージが付きやすくなると思います。


サイト管理者として確認をしなければいけない項目は、大きく分けると以下の 3 つです。

  1. 拡散を防ぐ
  2. 侵入経路を断つ
  3. 改ざんの復旧
拡散を防ぐ

もしマルウェアなど危険なものを埋め込まれている場合には、サイトをネット上から遮断してしまうことで、訪問してくるユーザーへの被害を止めることができます。
短期的にはトラフィックへの影響も考えられますが、自身でアクセスした際に危険を感じた場合は、対応できるなら実施すると理想ではあると思います。
(ここの判別も難しいですよね、すみません。全部ハッカーが悪いんです)

Google 側で異常を検知していれば、サイト管理者への通知や 検索結果での警告表示 に加えて、
セーフ ブラウジング でブロックされるはずです。

もし通知が届いていない場合でも、 セーフ ブラウジングのサイト ステータス やサーチコンソールの セキュリティの問題 レポート から現状の確認が可能です。

今回の記事の対象は、検索結果でサイトを確認できているサイト管理者なので関係が無さそうに思われそうですが、検知のタイムラグなどを考慮して項目に挙げさせていただきました。

サーバーの管理者が協力してくれるような状況でないと、ご自身でサイトを安全に停止する設定が難しいことも考えられますし、ハッカーの狙いが検索エンジンを騙すことだけの場合もあるので、あくまで参考までに。

侵入経路を断つ

サイトの復旧をするにあたり、自身の ID・パスワードを変更するとともに、見知らぬアカウントが追加されていないかを確認します。

ただ、これも複雑なのが「どの ID・パスワード、どのアカウントなのか」ということです。
ざっと思いつくだけでも以下の図のように色々と考えられます。

サイトに関わるアカウント(ID・パスワード)は複数ある

マルウェアに感染したわけでなければ PC のアカウントは問題ないと思いますが、逆にアカウントと聞いても PC のアカウントしか思い浮かばない人もいるのでサンプルとして例示しました。
こういう、説明が厄介なところが、またハッキングの問題を複雑にしていると感じます。

以下は Google のヘルプですが、それ以外にも利用しているホスティング サービスに問い合わせたり CMS のヘルプを参照して、ID・パスワード変更と不審なアカウントの削除を行いましょう。

改ざんの復旧

これもアカウントや ID・パスワードと同様に「何をどこまで」というのが難しいのですが、ハッキングにより改ざんされたファイルを元の状態に復旧する必要があります。

対象ファイルの代表的な例については Google のガイドで案内してくれています。

今回の私の記事では、1 つ目の「スパムを含むハッキング」が主な対象ですが、念のために 2 つ目の「マルウェアを含むハッキング」も少し想定した対処法を紹介していました。
それぞれの詳細な対処法についても、以下のガイドを参考にしてください。

  1. スパムを含むハッキング
  2. マルウェアを含むハッキング

上記のガイドは WordPress の利用者が多いのを念頭に置いているのか、 PHP を例に解説されていますが、ご自身のサイトで利用している言語に置き換えるか、難しい場合はエンジニアに相談するのが良いと思います。

また、ガイド内の随所でウェブマスター ヘルプ コミュニティへの導線がありますが、ここまで専門的な話になると回答できる人間が少ないのと同時に、実際に管理画面などにログインしてファイルや出力等を目視しているわけではないので不明な点が多すぎます。(ホスティング サービスへの相談だと電話対応が期待できるので、多少は良いかもしれません)

その点を質問者が全て説明しきるのにも技術的な知識とスキルが求められるため、うまく説明できる人であればガイドを見て復旧できそうに思うので、ここが難しいところだと本当に感じます。少しでもこの記事が参考になれば良いのですが。

ファイルの改ざんについて個人的に思うのは、バックアップの重要性です。
もし自分で WordPress のサイトを運用していたら、問題の発覚に時間がかかるケースを想定して、日次で過去 30 日分ぐらいの本体を含むバックアップを用意すると思います。
バックアップがあれば差分を確認して取り除けるので、普段からバックアップを取っておくのは大事ですね。

これも自分だったらですが、バックアップ時点の情報に戻すことでコンテンツが消えてしまう場合は、差分になるコンテンツを まるごと保存 しておいて、後でテキストや画像のみ復旧していくはずです。

参考になるガイド

1. Google 開発者ガイド(Web Fundamentals)

この記事で紹介してきた内容のほとんどは、「ハッキングされたとき」という一連のガイドの中に記載されています。
動画の解説も豊富で日本語字幕付きなので、ハッキングを受けた際にはまず参考にするべきガイドです。

この記事では取り上げていませんが、ハッキングの再発防止に関するトピックや、Google に危険なサイトと判断された場合の再審査リクエストの方法なども記載されています。
最初にこの記事を読んだ後であれば、いくらか理解がスムーズになっていると思うので、実際にハッキングの被害を受けている方はぜひ参考にしてください。


2. Search Console ヘルプ

ハッキングについての情報は上記の開発者ガイドに集約されていますが、サーチコンソールのヘルプには「サイトがハッキングされた場合のトラブルシューティング」が用意されています。

用語が古いのが残念ですが、利用の際は

と読み替えてください。(フィードバックはしました)


3. Google ウェブマスター向け公式ブログ

Google が過去に行ってきた取り組みや、ハッキングの事例など がラベル付けされてまとまっています。
開発者ガイドには載っていない参考リソースも紹介されているので、ハッキング全般についてもっと知りたい場合には参考になると思います。

まとめ

冒頭に挙げた以下の質問が、全て関連した内容(の可能性がある)というのがお分かりいただけたでしょうか。

  • 「海外の知らないサイトから大量にリンクされている」
  • 「知らないサイトにコンテンツを大量にコピーされている」
  • 「自分のサイトに知らないコンテンツが追加されてるのを検索結果で見つけた」
  • 「サーチコンソールから、知らない所有者が追加されたというメッセージが届いた」

目に見えづらいところで、スパム目的のハッカーが何かを仕掛けてきているわけですね。

個人的には、こうしたセキュリティの問題を現実世界に照らし合わせると、道を歩いていたら悪い人にいきなり殴られて金品を奪われるようなものだと思っています。
完全に備えるということは難しいものですし、私も備えられているわけではありません。
ただ、「そういうこともある」と知っておくことで初動の対応が早くなるのは間違いないと思います。

私自身がハッキングに遭ったことが無いのと、セキュリティの専門家ではないため、記事中に誤解を与えるような表現などあるかもしれません。その際は迅速に修正しますので、ぜひご指摘ください。(それでも書くべきだと思ったので後悔はしていません)
なるべく簡潔にまとめようとしても、この文字数になるので本当に複雑な問題ですが、困った際に必要なリソースにアクセスするための参照元として使ってもらえれば幸いです。

それでは、またいつか!


追記:

2020 年 8 月 6 日の ウェブマスター オフィスアワー で本件について詳しく言及されていたので、その動画も紹介させてもらいます。