WordPress マルウェア スキャナーが役に立たない理由

公開: 2023-07-18

Snicco、WeWatchYourWebsite、Automattic が支援する GridPane、および PatchStack による新しい調査により、侵害された環境でプラグインとして動作する WordPress マルウェア スキャナーには根本的な欠陥があることが明らかになりました。 マルウェア スキャナーは、せいぜい、すでに侵害されているサイトのクリーンアップ ツールです。 これらは強固な防御線ではなく、現在、世界中でマルウェアによって積極的に攻撃されています。 マルウェアの検出は高品質のホストに任せてください。 セキュリティ ポリシーは、ログイン認証の強化、ユーザー管理、権限の適切な委任、および慎重なバージョン管理に重点を置きます。

2000 年以降: マルウェア スキャナーはその有用性を失った

WordPress 用のマルウェア検出プラグインの歴史は、SQL インジェクション攻撃が一般的かつ効果的だった 2011 年頃に遡ります。 当時 WordPress を使っていた人なら誰でも、TimThumb と呼ばれる広く使用されていた画像編集ライブラリを覚えているでしょう。 ゼロデイエクスプロイトの対象となり、何百万ものサイトで恐ろしい結果がもたらされました。

これは、WordPress セキュリティ プラグインが誕生した緊急事態であり、その反応としてでした。 現在でも、一部のセキュリティ プラグインは Norton Security や McAfee Anti-Virus のように見えます。 これらは、20 ~ 30 年前に Windows で人気のあるセキュリティ アプリケーションでした。 しかし、ジョン・マカフィー氏が自身が設立した会社を辞めた後に語ったように、彼のウイルス対策スキャナーは「ブロートウェア」と化していました。 彼の意見では、それは「世界で最悪のソフトウェア」でした。

数人の WordPress セキュリティ研究者の最近の調査結果に基づいて、WordPress マルウェア スキャナーについても同様の結論が今日導き出される可能性があります。

Malware Madness
マルウェア スキャナーは WordPress サイトを保護しません。

「すでに侵害された環境は、それ自体を分析することを信頼できません。」

安全という幻想: WordPress マルウェア スキャナーのテスト

「マルウェアの狂気: WordPress マルウェア スキャナーについて知っているすべてが間違っている理由」と呼ばれるシリーズの最初の部分では、WordPress セキュリティ研究者の Calvin Alkan (セキュリティ会社 Snicco の創設者) が彼の研究の一部を共有しています。 Alkan は、Patrick Gallagher (GridPane CEO 兼共同創設者) および Thomas Raef (WeWatchYourWebsite.com のオーナー) と協力して、マルウェア スキャナーを阻止できるかどうかを確認しました。 当然のことながら、彼らは非常に簡単に倒せることがわかりました。 Patchstack は、Alkan の結果の独立した確認を提供しました。

ローカル スキャナー: 電話は家の中からかかっています

アルカン氏と彼の共同研究者らは、テストでまずローカルのスキャナーを調べました。 Wordfence、WPMU Defender、All-In-One Security (AIOS) の無料版、NinjaScanner は、インストールされている WordPress サイトと同じサーバー上ですべての作業を実行します。 つまり、マルウェア スキャナーは WordPress とそれに感染するマルウェアと同じ PHP プロセスを使用します。 マルウェアがスキャナーと積極的に対話することを妨げるものは何もありません。 このマルウェアは、検出したセキュリティ プラグインを無効にしたり、自身をホワイトリストに登録したり (2018 年に報告)、侵入を検出しないようにスキャナーを操作したりする可能性があります。

「マルウェア スキャナーとマルウェアはどちらも同じ PHP プロセス内で実行されます。 これは、マルウェアがスキャナーの機能を操作または改ざんできることを意味します。同様のシナリオは、被告が裁判で自らの裁判官を務めることになります。」

次に、Alkan と彼のパートナーは、マルウェア スキャナーを倒すための実用的な概念実証を作成しました。 (彼らは、エクスプロイト キットをセキュリティ研究者やベンダーと非公開で共有することも申し出ています。)Patchstack の CEO、Oliver Sild 氏によると、エクスプロイト キットはわずか数行のコードで構成されています。

アルカン氏はまた、「PHP を使用して動的に構築される」「レンダリングされた」マルウェアが、ローカルのマルウェア スキャナーでは検出できないことも発見しました。 最後に、ローカル スキャナは「インプロセス」マルウェアを検出できませんでした。 このタイプのマルウェアは「一度実行されるとシステムから削除され、その存在の痕跡は残りません」。

リモートスキャナー: 証拠改ざんと犯罪現場の浄化によって敗北

リモート サーバー上で分析を実行するスキャナには、Malcare、Virusdie、All-In-One Security (AIOS) Pro、Sucuri、JetPack Scan などがあります。 これらの新しいリモート スキャン方法には、フットプリントの縮小やローカル サーバーのパフォーマンスへの影響など、いくつかの利点があります。 ローカル スキャナーはサイトのサーバー リソースを使用して作業を行うため、パフォーマンスが犠牲になります。 リモート マルウェア分析も、アクティブなマルウェア感染と同じ PHP プロセス内で行われないため、操作から保護されます。

リモート スキャナーが脆弱なのは、分析のためにリモート サーバーに送り返されたデータを操作するマルウェアです。 アルカン氏は、マルウェア感染の「証拠」を隠すことで、リモート スキャナーをこの方法で破ることができることを実証する別の概念実証を構築しました。 オリバー・シルド氏もこの結果を次のように認めています。

「データ改ざんは、概念的にはローカルプラグインを欺瞞の対象として達成できます。 私たちはこれを明確に示す概念実証を受け取りました。」

わずかに異なるマルウェア戦術には、「犯罪現場を徹底的に洗い出し」、スキャン対象の感染の痕跡を残さないことが含まれる可能性があります。 アルカン氏はこれが可能であると示唆したが、概念実証は提供しなかった。

不正な変更を探すファイル整合性スキャンは、マルウェア感染を検出するときに役立つ場合があることに注意することが重要です。 このタイプのスキャンでは、ローカル ファイルと保護されたリモート コード リポジトリを比較し、WordPress コア、プラグイン、およびテーマ ファイルの非公式な変更を検出します。 残念ながら、プロセスがマルウェアによって改ざんされると、変更検出が無効になる可能性があります。

単なる仮説ではありません: マルウェアはすでに野生の WordPress セキュリティ スキャナーを無効にしています

Alkan のエクスプロイト キットに続き、Snicco のレポートで最大の暴露は、ハッキングされた WordPress サイトを検出してクリーンアップする We Watch Your Website の CEO、Thomas Raef によるものです。

「過去 60 日間で、感染前にインストールされた WordFence によって 52,848 のサイトがハッキングされました。 インストールされたマルウェアは、ケースの 14% (7,399) で WordFence ファイルを改ざんしました。 他の人気サービスの割合はさらに高かった。 MalCare は 22%、VirusDie は 24% となっています。」

We Watch Your Website の分析の詳細については、Thomas Raef のレポート「How We Identified Near 150K Hacked WordPress Sites in 60 Days」を参照してください。

これでは、マルウェア スキャン プラグインにとってはゲームオーバーです。 これは、WordPress のマルウェア スキャンが純粋なセキュリティ シアターであること、つまり「セキュリティが向上していると感じられるセキュリティ対策を講じながら、それを達成するためにほとんどまたは何も行わない行為」であることを示しています。

これも長い間続いていることは間違いありません。

セキュリティ業界のベテランでケイデンスのマーケティングディレクターであるキャシー・ザントはアルカンに次のように語った。

「約 18 か月にわたって、私は WordPress で有名な企業の WordPress サイトをクリーニングし、在職中に 2,000 をはるかに超えるサイトからマルウェアを除去しました。 [マルウェアがマルウェア スキャンを打ち負かしている] 私が見た最も古い時期は、2017 年半ばから後半でした。[….] それはまだ存在すると確信しています。 そして、同様の動作、またはさらに悪い動作を実行する追加の亜種が存在する可能性が非常に高いです。」

これは悪いニュースです。マルウェア スキャナーは信頼できません。 良いニュースは、彼らが本当の防御を提供したことがないということです。 失ったのが安全という幻想だけだとしても、それは実際には本当の安全を獲得するための一歩です。

WordPress サイトを適切に保護する方法

Snicco のようなレポートを受けて、大きな疑問は「WordPress サイトはどのようにしてセキュリティに対する高い信頼を達成できるのか?」ということです。

Alkan 氏は、セキュリティ手法は各サーバー スタックに合わせて調整する必要があり、ホストによって実行されるサーバー側のマルウェア スキャンが、サイト所有者にとって価値のある唯一のスキャン タイプであると考えています。

「WordPress セキュリティ プラグインは、アプリケーション/PHP レイヤーで最適に実行できることのみを実行する必要があります」と彼は強調します。

「WordPress コミュニティは、セキュリティの『上位層』の有効性を検証するためにマルウェア スキャンの重要性を維持しながら、セキュリティ アプローチを検出から予防に移行する必要があります。」

2 要素認証やパスキーなどの強力なユーザー ログイン セキュリティとセッション セキュリティの組み合わせは、WordPress プラグイン (iThemes Security などのプラグイン) が役立つ分野だと Alkan 氏は言います。 これは常に私たちの開発チームの指針となる哲学であり、セキュリティ プラグインはサイトを強化し、攻撃対象領域を減らすのに最適です。

WordPress サイトの防御を強化するその他の重要な方法には、最小限の特権の原則に従った慎重なユーザー管理が含まれます。つまり、ユーザーに必要以上の権限を決して与えないことです。 さらに、より特権のあるユーザーには、2FA、パスキー、信頼できるデバイス、既知の侵害に一度も登場したことのない強力なパスワードなど、より高いセキュリティ基準が必要になります。

今日の攻撃傾向は、パスワード スタッフィング、フィッシング、スピアフィッシングによって中小企業を巧妙にターゲットにしています。 これらの攻撃ベクトルは、脆弱なログイン認証と人的エラーを悪用します。 彼らは総当りの力と巧妙なソーシャル エンジニアリング戦術を使用して、個々のユーザー アカウントを侵害します。 ハッキングされたユーザー アカウントを使用すると、攻撃者は多大な損害を与える可能性があります。 悪用できる脆弱なプラグインも見つかった場合、さらに害を及ぼす可能性があります。 攻撃者はシステムに侵入すると、いつでもバックドアを作成して侵入することができます。

マルウェア スキャナーを重視するセキュリティ プラグインでは、それらを阻止することはできません。