Sucuriは9月17日(米国時間)、「7 Steps to Remove Malware from WordPress」において、侵害されたWordPressサイトからマルウェアを削除する7つの手順を紹介した。WordPressサイトからマルウェアを削除する作業は、自分で解決可能な問題だという。

7 Steps to Remove Malware from WordPress

○マルウェアを削除する7つの手順

侵害されたWordPressサイトからマルウェアを削除する7つの手順(バックアップ含む)は次のとおり。

○バックアップ

定期的に手動でWordPressサイトとデータベースをバックアップする。復旧作業は混迷を極めることがあり、作業中に正常な部分を壊すことがある。そのような事態に陥っても復旧を可能にするため、バックアップは重要。バックアップは一定期間、複数世代を他の環境に保存することが望まれる。

バックアップにはファイルマネージャーまたはFTPクライアントを使用する。Webサイトのすべてのディレクトリとファイルをダウンロードして保存する。WordPressデータベースはすべてのテーブルをSQLフォーマットにてエクスポートする。WordPressをサポートするホスティングプロバイダーを利用している場合は、コントロールパネルからバックアップを取得できる場合がある。

○マルウェアの検出

次のコマンドなどを使用して最近変更されたファイルを探し、ファイルが正常か確認する。

find . -type f -mtime -90

上記のコマンドは90日以内に変更されたファイルの一覧を出力する。変更した覚えのないファイル(自動で書き換わるものを除く)が含まれている場合は、侵害されている可能性がある。

○Webサイトからマルウェアを削除

感染がコアファイルに存在する場合は、使用中のWordPressと同じバージョンのWordPressインストールファイルを公式サイトからダウンロードして、侵害されたファイルを差し替える。ただし、wp-contentディレクトリ内と、wp-config.phpファイルは差し替えない。

感染がプラグインとテーマに存在する場合は、公式サイトから正常なプラグインおよびテーマをダウンロードする。次に「./wp-content/plugins」または「./wp-content/themes」内の該当するプラグインおよびテーマを直接差し替える。オリジナルに含まれていないカスタムファイルが存在する場合は、手動で不審なコードを削除する。

○データベースからマルウェアを削除

攻撃者はデータベースを侵害することで永続性を確保することがある。そのような不審なコードをデータベースから見つけ出し手動で削除する。潜在的に危険なPHP関数としては、base64_decode、gzinflate、error_reporting(0)、shell_execなどがあり、これら文字列を検索することで発見できる可能性がある。

次の作業に進む前に、ここまでの作業を確実に完了している必要がある。ここまでの作業でWebサイトが正常に機能していない、または感染を除去しきれない場合はバックアップから復元する手法が推奨される。バックアップからの復元は、Webサイトをバックアップ時点までロールバックすることになる。それでも正常動作しない、または、感染が疑われる場合は専門家などに相談する必要がある。

○警告の解除

侵害されたWebサイトはGoogleなどの検索エンジンおよびセキュリティソリューションのブラックリストに載ることがある。ブラックリストに載っている場合は、各ベンダーにレビューリクエストを送信して解除を依頼する(参考:「How to Remove Google Blocklist Warnings | Sucuri」)。

○アップデート

WordPressサイトおよびデータベースのバックアップを取ってから、WordPress本体、プラグイン、テーマを最新の状態に更新する。バックアップはアップデートによりWebサイトが正常動作しなくなった場合に使用する。

○セキュリティの強化

侵害の原因となった初期アクセス経路を確実に塞ぐため、WordPressサイトのセキュリティを強化する。WordPressセキュリティのベストプラクティスの実施などが推奨されるが、Sucuriはこれに加えてWordPressセキュリティプラグインの導入を推奨している。

○最後に

今回紹介したマルウェアを削除する7つの手順は、事前準備から将来の感染予防のためのセキュリティ強化までを含んでいる。特に最初と最後のバックアップとセキュリティ強化は侵害前に実施しておくことで確実な復旧と感染予防を可能にする。

WordPressはCMS(Content Management System)の中で最も利用者が多いことから、サイバー犯罪者にとって最も魅力的な標的となっている。そのため、WordPressサイトの管理者には万全なセキュリティの構築と、継続的な対策の実施が望まれている。