マルウェアスキャン
マルウェアスキャンは、WordPress サイト内のファイルをパターンマッチングで分析し、マルウェア、バックドア、不正スクリプトを検出する機能です。
なぜマルウェアスキャンが必要なのか
WordPress サイトがマルウェアに感染すると、以下のような被害が発生します。
- SEOスパム: 検索結果にスパムリンクが表示される
- リダイレクト: 訪問者が悪意あるサイトに転送される
- 情報窃取: ユーザーのクレジットカード情報やログイン情報が盗まれる
- ボットネット: サーバーが DDoS 攻撃の踏み台にされる
- ブラックリスト登録: Google がサイトを「危険」としてマークし、検索結果から除外
検出パターン
PHPマルウェア検出
以下のような典型的なマルウェアパターンを検知します。
| パターン | 説明 | 危険度 |
|---|---|---|
eval(base64_decode(...)) | 難読化されたコード実行 | 🔴 致命的 |
eval(gzinflate(...)) | 圧縮された悪意あるコード | 🔴 致命的 |
preg_replace('/.*/e', ...) | 正規表現によるコード実行 | 🔴 致命的 |
$_GET/$_POST + eval | リモートコード実行(RCE) | 🔴 致命的 |
file_put_contents + 外部URL | ドロッパー(新たなマルウェアの設置) | 🔴 致命的 |
str_rot13, chr() 連結 | 文字列の難読化 | 🟠 高 |
| 長い1行の難読化コード | 可読性の低い不審なコード | 🟠 高 |
.ico ファイル内のPHP | 画像に偽装したPHPコード | 🔴 致命的 |
WebShell 検出
WebShell(サーバーをリモート操作するためのマルウェア)のシグネチャも検知します。
- FilesMan, WSO, r57, c99
- China Chopper
- その他の既知 WebShell パターン
アップロードディレクトリのPHPファイル
wp-content/uploads/ ディレクトリ内にPHP実行可能ファイルが存在する場合、高い確率でマルウェアです。このディレクトリには通常、画像やドキュメントのみが保存されます。
スキャンの実行方法
- SentinelSecurity → マルウェアスキャン を開きます
- スキャン対象を選択します
- クイックスキャン: uploads/ ディレクトリのPHPファイルのみ
- 標準スキャン: テーマ + プラグイン + uploads
- フルスキャン: WordPress 全体
- 結果がリスト表示されます
検出結果の対応
マルウェアが検出された場合、以下の対応オプションが提供されます。
確認・調査
- ファイルの内容表示: 検出されたコードをハイライト表示で確認
- false positive 報告: 誤検知の場合、除外リストに追加
対処
- 隔離: ファイルを隔離ディレクトリに移動(実行不可に)
- 削除: ファイルを完全に削除
- 復元: WordPress コアファイルの場合、公式クリーンファイルで上書き
重要: 削除や修復を行う前に、必ずバックアップを取得してください。
定期スキャンの設定
自動的に定期スキャンを実行して、新たなマルウェアを早期に発見できます。
| 頻度 | 推奨用途 |
|---|---|
| 毎日 | EC・会員制サイトなど重要なサイト |
| 週1回 | 一般的なビジネスサイト |
| 月1回 | 更新頻度の低い個人サイト |
ファイル整合性監視との違い
| 項目 | マルウェアスキャン | ファイル整合性監視 |
|---|---|---|
| 検出方法 | パターンマッチング | ハッシュ比較 |
| 目的 | 既知のマルウェアパターン検出 | 任意の変更の検知 |
| 対象 | ファイルの内容 | ファイルのハッシュ値 |
| 強み | 感染ファイルの特定 | 改ざんの高精度検知 |
| 弱み | 未知のマルウェアは検出困難 | 変更が正当かは判断できない |