ネットワークセキュリティ
 Computer >> コンピューター >  >> ネットワーキング >> ネットワークセキュリティ

WordPressのJavaScriptマルウェアを削除する方法|原因の特定から対策まで完全解説

WordPressのJavaScriptマルウェア除去の手法をご紹介する前に、まずJavaScriptとは何か、そしてWordPressサイトにおいてどのような役割を果たしているのかを簡単に確認しておきましょう。

ご存知でしたか?JavaScriptは、世界中のウェブサイトの94.5%で使用されているウェブ技術です。Webページのカスタマイズ、アニメーション、レスポンシブ対応など、ページを動的にする要素はすべてJavaScriptで実現できます。さらに、Node.jsのようなクロスプラットフォームのランタイムエンジンを使えば、サーバーサイドのコードも記述可能です。そして最大の魅力は、HTML5やCSS3とシームレスに組み合わせられる点です。これにより魅力的なWebページを作成し、オンライン上でのビジネス促進につなげることができます。

しかし、JavaScriptはフロントエンドで収集したデータをサーバーへ送信して処理させる役割も担っているため、中間者(Man-in-the-Middle)として悪用される危険性があります。無害なJavaScriptコードでも、機密データの収集に利用される可能性があります。攻撃者は機密情報を手に入れたり、サイトにマルウェアコードを注入したりすることで、情報漏洩という形でのセキュリティ侵害を引き起こすのです。

本記事では特にWordPressサイトに焦点を当て、JavaScriptがどのようにマルウェアとして悪用されるのかを解説し、さまざまな削除手法についても詳しくご紹介します。

JavaScriptはWordPressサイトでどのように悪用されるのか?

WordPressでは、サーバーサイドにJavaScriptファイルが格納されており、攻撃者はこれらを標的にしてマルウェア攻撃を仕掛けることができます。これはサーバーのセキュリティを突破することで実行されます。WordPress JavaScriptマルウェアの恐ろしい点は、ユーザーの操作なしに動作を開始できることです。WordPressサイトを閲覧すると、多数のJavaScript(.js)ファイルが閲覧者のPCに自動的にダウンロードされます。これらのファイルはブラウザによって実行され、コンテンツの表示、アクションの実行、広告の表示などを行います。そうでなければ、Webサイトはどうやってマウスのジェスチャーや操作を検知できるのでしょうか?これらのファイルを通じて、入力デバイスからの情報がWebページに送信され、さらなる処理が行われるのです。

WordPressのJavaScriptマルウェアを削除する方法|原因の特定から対策まで完全解説

Web開発者には倫理的な人もいれば、非倫理的な人もいます。実際、サイバー犯罪者は数多くのサイトでJavaScriptコードを利用し、悪意のあるJavaScript関数として機能させています。攻撃者がJavaScriptマルウェアによってWordPressサイトに感染させた後、マルウェアファイルは訪問者のPCへのダウンロードを待ち受けている状態になります。

無害なユーザーが感染したサイトを訪れた瞬間、悪意のあるJavaScriptファイルがそのユーザーのPCに自動的にダウンロードされます。このような攻撃は「ドライブバイ攻撃(drive-by attack)」と呼ばれます。この攻撃では、自動的にダウンロードされたマルウェアがシステムの脆弱性をスキャンし、その脆弱性を通じてユーザーのPCへのアクセスを獲得します。アクセスを確保すると、管理者権限を使ってインターネットからファイルをダウンロードし、PCに損害を与えたり、ハッカーへ情報を送信したりします。ハッカーは遠隔でPCを監視し、さらなる感染を広げることが可能になります。

JavaScriptハッキングの原因を特定する方法

ハッキングの原因を把握することは非常に重要です。正しい除去手法を選択でき、時間と労力を節約できるからです。原因を特定することで、WordPressサイトからマルウェアを効率的に除去し、ユーザーに安全な閲覧体験を提供できます。WordPress JavaScriptマルウェア感染の原因を調査するためのステップを以下に示します。

バックアップ内のJavaScriptマルウェアファイルを確認する

JavaScriptマルウェアのファイルは奇妙な名前を持っていることが多く、WordPressのインストール環境の中で異彩を放ちます。また、最近変更された日付になっていることも特徴です。Dreamweaver、TextWrangler、BBEdit、Codaなどのコードエディタでこれらのファイルを開くと、色分け表示や大量のコードから不審な点を見つけられるでしょう。

検索エンジンで用語やフレーズを検索する

コードの中に見慣れない要素や関数名などを発見した場合は、GoogleやDuckDuckGoで検索し、検索結果からそのファイルが感染しているかどうかを分析しましょう。

ホスティングcPanelのRawアクセスログを確認する

ハッカーがどんなファイルを狙っていたかを特定できれば(ログファイル内のPOST文に注目)、何が侵害されたのかの手がかりになります。さらに逆引きIPルックアップを使えば、ハッカーの所在地を突き止められる可能性もあります。

プラグインとテーマをチェックする

古いプラグインやテーマが、WordPressサイトのセキュリティ侵害の原因になることがあります。脆弱性のある箇所としては、旧バージョンのGravity Forms、Revolution Slider、テーマやプラグインに含まれるtimthumb.phpスクリプトなどが挙げられます。WordPressサイトを安全に保つには、これらを適切に更新・設定する必要があります。

データベースをスキャンする

WordPressサイトのデータベースには、隠された管理者ユーザーや、改ざんされた可能性のあるコンテンツが潜んでいる場合があります。データベースを修正する前に、必ず安全でクリーンなバックアップを作成することをおすすめします。

WordPress JavaScriptマルウェアの削除手法

マルウェアはJavaScriptであれ他の言語であれ、サイトの評判にとって有害です。検索エンジンが特定のサイトのマルウェアを検出すると、そのサイトはブラックリストに登録され、ビジネスに甚大な損失をもたらす可能性があります。ブラックリスト登録がサイトに与える悪影響について詳しく知りたい方は、Astra Securityブログの関連記事をご覧ください。

テーマからJavaScriptマルウェアを削除する

WordPressは、テーマ機能によって追加されたJavaScriptの関数やファイルをfunctions.phpファイルに保存します。それぞれwp_enqueue_scriptwp_enqueue_styleという関数です。該当するコードを削除すれば、ファイル自体からこれらの関数を取り除けます。ただし、子テーマを使用している場合は話が複雑になり、wp_dequeue_scriptwp_dequeue_style関数が必要になります。その場合は、以下のコードブロックを子テーマのfunctions.phpファイルに追加してください。

<?php
add_action('wp_enqueue_scripts', 'remove_script_css');
function remove_script_css() {
    wp_dequeue_style('default-css');
    wp_dequeue_script('default-js');
}
?>

プラグインとテーマを再インストールする

WordPressは主にテーマとプラグインをサイトの構成要素として使用しているため、信頼できる開発元から再インストールすることをおすすめします。古いプラグインやメンテナンスが停止しているプラグインはインストールしないでください。テーマは新規ダウンロードから再インストールできます。独自の変更を加えていた場合は、バックアップファイルを参照し、新しいコピーにその変更を反映させましょう。ハッキングされたファイルは自分では判別できない可能性があるため、古いテーマをそのままアップロードしないことが重要です。

WordPress本体を再インストールする

上記のステップで解決しない場合は、WordPressを完全に再インストールし、テーマとプラグインを入れ直して、サイト内のJavaScriptマルウェアを除去する必要があります。これはWebホスティングのコントロールパネルにあるワンクリックインストーラーから実行できます。WordPressサイトのバックアップを参照して、新規インストールのwp-config.phpファイルに以前のサイトのデータベース認証情報を設定すれば、新しいWordPressを既存のデータベースに接続できます。

PCをスキャンする

WordPressサイトのバックエンドとフロントエンドを管理しているすべてのPCを、適切なアンチウイルスソフトおよびマルウェア検出ツールでスキャンしましょう。前述のドライブバイ攻撃の仕組みで説明したように、悪意のあるJavaScriptファイルが訪問者のコンピュータにダウンロードされるため、マルウェア検出ツールがWordPressサイトに注入された悪意のあるコードを検出できる可能性があります。

セキュリティプラグインを導入して実行する

WordPressのJavaScriptファイルに何が問題なのか特定できない場合は、これ以上自分で探り回らないことをおすすめします。代わりにセキュリティプラグインを使ってサイトを監査し、悪意のあるJavaScriptコードがないか確認しましょう。Shield WordPress Security、Anti-Malware Security and Brute-Force Firewallなどのセキュリティプラグインを使用してWordPressサイトの監査を行えば、マルウェア除去の方針を立てやすくなります。また、Astraが提供するWebファイアウォールソリューションを利用すれば、WordPressサイトがマルウェアコードをホストすることを防ぐことができます。複数のセキュリティ機能が効率的に連携し、脅威の多い今日のインターネット環境でも安全を保つ手助けをしてくれます。

cPanelでPOSTリクエストを追跡する

この機能が有効になっていない場合は、WordPressのcPanelにあるアクセスログのアーカイブ機能を使って有効化できます。

まとめ

以上がWordPress JavaScriptマルウェア除去のためのポイントです。サイト管理者や開発者はこれらを心に留め、WordPressサイトをJavaScriptマルウェアから守りましょう。管理者は、WordPressサイトの機能を削除または更新する前に、必ず適切でクリーンなバックアップを取得することを徹底してください。開発者もセキュアコーディングの原則に従い、サイトのセキュリティ侵害を未然に防ぐ必要があります。不審な挙動を発見した場合は、適切なフィードバック体制を通じて速やかに開発チームへ報告しましょう。最後に、WordPressサイトを開発するチームは、最新のセキュリティベストプラクティスと最新のJavaScriptマルウェアの動向を常にキャッチアップしておくことが重要です。

  1. WordPressのプッシュ通知マルウェアとリダイレクトハッキングへの対処方法

    ここ数週間、セキュリティ企業Astraの調査チームは、WordPressサイトで発生しているプッシュ通知型マルウェアを追跡しています。この攻撃キャンペーンは、WordPressサイトで継続的に発生しているリダイレクト(不正転送)キャンペーンと組み合わされて実行されています。 リダイレクト先として確認されている悪意のあるドメインには、inpagepush[.]com、asoulrox[.]com、iclickcdn[.]com、justcannabis[.]online、0.realhelpcompany[.]ga、fast.helpmart[.]ga/m[.]js?w=085 などがあります

  2. WordPressプラグインに潜むPHP実行型マルウェアの駆除・対策ガイド

    最近、WP Super Cache、Akismet、Elementorといった人気WordPressプラグインが生成するファイルと酷似したファイル名・内容を持つ悪意あるファイルを、ハッカーが密かに仕込んでいるサイトが複数確認されました。これらのファイルに含まれるコードは、リダイレクトハック、サーバー上への不正ファイルの作成、お問い合わせフォームやメールマガジンへのスパム送信を引き起こし、最悪の場合はホスティング会社によるアカウント停止につながることもあります。本記事では、プラグインに潜むこの隠蔽マルウェアの実態と、その除去方法について詳しく解説します。 WP Super Cacheプラグイン