HTML
 Computer >> コンピューター >  >> プログラミング >> HTML

WordPress CSRF 攻撃:脆弱性と防御

クロスサイト リクエスト フォージェリ (CSRF または XSRF として知られる) は、WordPress Web サイトが直面する最も深刻なハッキングの 1 つです。このハッキングは、サイトにインストールされている WordPress プラグインに存在する脆弱性が原因で発生します。

ここでは、ハッカーがウェブサイトのユーザーをだまして悪意のあるアクションを実行させます ウェブサイトの所有者とユーザーの両方にとって有害で​​す。 CSRF 攻撃は双方に壊滅的な影響を与える可能性があるため、最初から阻止する必要があります!

CSRF を使用すると、ハッカーは Web サイトを完全に制御し、それを使用してあらゆる種類の悪意のあるアクティビティを実行できます。訪問者を他の悪意のあるサイトにリダイレクトしたり、だましてマルウェアをダウンロードさせたりする可能性があります。また、あなたやあなたの顧客から資金を盗むこともできます!

それだけではありません。状況はさらに悪化し、Google がサイトをブラックリストに登録する可能性があり、ホスティング プロバイダーがサイトを一時停止する可能性があります。

あなたがこのハッキングの犠牲者であるか、それを防ぎたい場合は、私たちがカバーします.この記事では、CSRF 攻撃を修正する方法とそれを防ぐ方法を紹介します。

TL;DR: Web サイトがハッキングされた場合は、すぐに修正する必要があります。 CSRF Attack Removal Plugin をダウンロードしてインストールすることをお勧めします あなたのウェブサイトの詳細なスキャンを実行し、即座にクリーニングします。ウェブサイトがクリーンになると、プラグインは今後のハッキングの試みからサイトを保護します.

目次

→ CSRF 攻撃 (クロスサイト リクエスト フォージェリ) とは?

→ WordPress の CSRF 脆弱性はどのようにしてあなたのサイトで発生したのですか?

→ WordPress ウェブサイトでの CSRF 攻撃を防ぐには?

→ プラグイン開発者のための CSRF 防止策

→ WordPress サイト所有者向けの CSRF 予防措置

CSRF 攻撃とは ( クロスサイト リクエスト フォージェリ )?

CSRF WordPress 攻撃を理解するのは少し複雑ですが、できる限り分解していきます。

ユーザー サブスクリプション、メンバー、またはログインがある Web サイトでは、各ユーザーはサイト上の自分のアカウントへの特権アクセスを持っています。たとえば、Amazon アカウント、Gmail アカウント、オンライン バンキング アカウントなどです。

このような Web サイトは、ユーザーにログイン資格情報 (ユーザー名とパスワード) を提供します。これは、ユーザーを認証するために行われます。そのため、ユーザーがログインするときは、ユーザー名とパスワードを入力して自分自身を確認します。このようにして、ウェブサイトはユーザーとそのブラウザとの信頼を確立できます。

WordPress CSRF 攻撃:脆弱性と防御

CSRF 攻撃では、ハッカーがこの認証されたユーザーをだまして悪意のあるアクションを実行させます。

1. 「クロス サイト」について

これがどのように起こるかを説明するために、例を使用しましょう。ユーザーがサイト A にログインし、ブラウザのタブで開いたままにしたとします。 (このサイト A はログインしていることを忘れないでください。これは重要です。)

ここで、ハッカーがユーザーのメール アドレスを知っていると仮定しましょう。 彼らは、今後数時間で期限が切れる信じられないほどの割引についてユーザーにメールを送信します。ユーザーはだまされてメール内のリンクをクリックさせられます。これにより、サイト B (ハッカーによって運営されている) と呼ばれる Web サイトが開きます。

サイト B では、フォームに記入するか、メール アドレスを入力して割引を請求する必要があります。ユーザーは一見普通のボタンをクリックして、フォームを「送信」します。

WordPress CSRF 攻撃:脆弱性と防御

しかし、サイト B のこの「送信」ボタンの裏で、ハッカーが悪意のあるスクリプトを挿入しています。

ここで、別のタブで開いているサイト A を思い出してください。このスクリプトはサイト A にリクエストを送信し、そこで悪意のあるアクションを実行します。これが「クロスサイト」として知られている理由です。

2.リクエストを理解する

ハッカー スクリプトは、ユーザーに代わってサイト B からサイト A に要求を送信します。管理者パスワードの変更から、銀行口座からの資金の送金まで、望ましくない悪意のあるアクションが発生する可能性があります!

3. 「偽造」を理解する

最後に、ハッカーはユーザーの認証を使用してサイト A をだますので、これは「偽造」です。したがって、「クロスサイト リクエスト フォージェリ」という名前です。

簡単に言えば、ハッカーはサイト A に、彼らの悪意のある指示が認証されたユーザーから送信された正当な要求であると思わせます。しかし、サイト B がサイト A にリクエストを送信するにはどうすればよいでしょうか?これがどのように行われるかについては、次のセクションで詳しく説明します。

注: このセクションは技術的なもので、経験豊富な WordPress ユーザーまたは開発者を対象としています。それを飛ばしてサイトへの CSRF 攻撃の防止に直接進みたい場合は、 にジャンプしてください。 WordPress サイト所有者向けの CSRF 予防措置

[トップに戻る↑]

サイトで WordPress の CSRF 脆弱性がどのように発生したか

脆弱性がどのように発生するかを説明するには、ユーザーのブラウザーと Web サイトがどのように通信するかを理解する必要があります。

1.ブラウザ リクエストについて

ここでは、2 種類の HTTP リクエストとブラウザ Cookie について説明します。

i. HTTP GET リクエスト

Web サイトにアクセスすると、その Web サイトのサーバーに HTTP GET 要求が送信されます。このリクエストは、サイトのフロントエンドを表示するために必要なデータを要求します。 Web サーバーが応答し、要求されたデータを送信します。次に、ウェブサイトのコンテンツがブラウザに読み込まれます。

サイトにログインしていない人は、認証されていないユーザーです。したがって、GET および POST 要求が送信されるとき、Cookie は使用されません。このシナリオでは、セキュリティの問題はありません。しかし、ユーザーがログインすると、そのユーザーは認証済みユーザーになります。

ウェブサイトは、このユーザーを認識して対応するために Cookie を使用しています。これらの Cookie を使用して、その一意の ID にのみ関連するデータを生成できます。ユーザーに簡単にログインしたり、ユーザーの好みに合わせた広告を表示したり、ユーザーが好む製品を表示したりするのに役立ちます。

ii. CSRF プロセス

CSRF 脆弱性がどのように発生するかという話に戻ります。この攻撃が有効になるには、ハッカーは Cookie を使用する認証済みユーザーを使用する必要があります。

これについて例を挙げて説明します。ここでは、ハッカーがユーザーのアカウントを乗っ取り、CSRF の脆弱性を利用してウェブサイトをハッキングする方法を紹介します。

→ ユーザー側で何が起こるか?

<オール>
  • ユーザーが targetwebsite.com にログインしています
  • 次に、ハッカーはこのユーザーをおびき寄せてtrickwebsite.comをクリックさせます このサイトにアクセスしてアカウントに 50 ドルを受け取るためにサインアップするように指示する電子メールを送信します。 (これらのリンクは、他の脆弱性を利用して targetwebsite.com 自体に挿入することもできます)
  • 被害者はこのトリック Web サイトが正当であると考え、詐欺に引っかかると仮定します .ここで、フォームに詳細を入力し、[送信] をクリックします。
  • trickwebsite.com で 、ハッカーはすでにこの「送信」ボタンの背後に HTML コードを配置しています。クリックすると、POST リクエストが targetwebsite.com に送信されます (ユーザーが既にログインしている場合) このユーザーに代わって。
  • WordPress CSRF 攻撃:脆弱性と防御

    → ウェブサイト側で何が起こるか?

    <オール>
  • cookie の使用、targetwebsite.com ユーザー(およびブラウザ)を確認し、リクエストを許可します .このリクエストは、認証されたユーザーからのものであるため、正当に見えます。
  • しかし、送信された POST リクエストには、ウェブサイトに害を及ぼす可能性のある悪意のあるスクリプトが含まれています。たとえば、スクリプトには、現在のアカウントのパスワードを「newpassword123」に変更するコマンドを含めることができます。 .
  • targetwebsite.com がリクエストを受け入れたとき 、コードが実行され、パスワードが変更されます。その後、ハッカーはアカウントにログインできるようになります 新しいパスワードを使用して、完全に制御してください。
  • 次に、ハッカーは Web サイトに対してさらなる攻撃を実行できるようになりました。このユーザーに付与された権限によっては、targetwebsite.com にアクセスできる場合があります。 データベースと機能の制御
  • これは、ハッカーが CSRF 攻撃を使用して実行できることの一例にすぎません。他にも起こりうるシナリオはたくさんあります。しかし、ユーザーと Web サイトの両方がこのハッキングの影響を受けます。

    [トップに戻る↑]

    CSRF を防ぐ方法 WordPress ウェブサイトへの攻撃?

    プラグインには脆弱性があり、CSRF 攻撃が発生する可能性があるため、WordPress Web サイトは CSRF 攻撃にさらされます。

    PluginVulnerabilities.com による完全開示レポートによると、彼らがチェックした人気のあるプラグインの多くには、Web サイトを CSRF 攻撃に対して脆弱にするセキュリティ上の問題がありました。 CSRF ハッキングを防ぐために、プラグインの開発者は特定のセキュリティ対策を実装する必要があります。これらの対策について簡単に触れた後、WordPress サイトの所有者が CSRF 攻撃を阻止するためにできることを説明します。

    • プラグイン開発者向けの CSRF 防止策
    • WordPress サイト所有者向けの CSRF 予防措置

    i.プラグイン開発者向けの CSRF 予防措置

    あなたがプラグイン開発者である場合、CSRF 攻撃を防ぐのに役立ついくつかの対策を以下に示します:

    1.アンチ CSRF トークン

    アンチ CSRF トークンは、特定のユーザーの Cookie とリクエストと共に送信される非表示の値です。これがどのように機能するかです:

    <オール>
  • ウェブ サーバーがこのトークンを生成し、隠しフィールドとして配置します。
  • ユーザーがフォームに入力して送信すると、トークンが POST リクエストに含まれます .
  • サーバーは比較します 生成されたトークンとユーザーが送信したトークン
  • 一致する場合、リクエストは有効になります。一致しない場合、リクエストは無効とみなされます。これにより、CSRF 攻撃が行われなくなります。

    開発者は、プラグインの作成または更新中にこれらのトークンを追加できます。

    2.ナンスの使用

    同じ意味で使用されますが、アンチ CSRF トークンとナンスは異なります。 nonce 値 (一度だけ使用される数値) は、リクエストに対して生成されるワンタイム パスワードのようなものです。

    HTTP 要求が送信されると、要求を検証するために nonce が生成されます。ただし、一度使用すると nonce は無効になり、ユーザーは同じ nonce 値を使用してフォームを再度送信することはできません。

    3.同一サイト Cookie

    同じ Cookie を使用してクロスサイト リクエストが行われるため、CSRF 攻撃が可能です。同一サイト Cookie とは、Cookie が作成されたのと同じ Web サイトからリクエストが行われた場合にのみ、Cookie を送信できることを意味します。

    WordPress CSRF 攻撃:脆弱性と防御

    この方法の問題は、Chrome と Firefox、およびその他のいくつかのブラウザーを想定しており、すべてのブラウザーが同一サイト Cookie をサポートしているわけではないことです。

    これは追加の防御レイヤーとして使用できますが、CSRF 攻撃を防ぐために単独で使用しないでください。

    これらの予防策の詳細についてはここでは説明しません。最近では、ほとんどすべての予防策がハッカーによって回避される可能性があるためです。ハッカーは日を追うごとに賢くなり、私たちが取っている予防策を克服するための新しい技術を開発しています.

    これらの CSRF 攻撃から身を守るために、WordPress サイトの所有者としてどのような積極的かつ事後対応的な対策を講じることができるかについて説明します。

    [トップに戻る↑]

    ii. WordPress サイト所有者向けの CSRF 予防措置

    上で述べたように、プラグインの作成者は、アプリケーションを安全にするための対策を講じる必要があります。しかし、そうでない場合はどうなりますか?どのプラグインが CSRF 対策を実装しているかをどのように知ることができますか?

    WordPress が単独で機能することはめったにありません。 プラグインは、ウェブサイトの機能とデザインにおいて重要な役割を果たします。 WordPress サイトにはプラグインが必要ですが、これらのプラグインが適切なセキュリティ対策を講じていることを盲目的に信頼していますか?

    いいえ!ウェブサイトの所有者は、プラグインの開発者がそうではなくても、警戒し、独自のセキュリティ対策を講じる必要があります.

    CSRF 攻撃から身を守るためにできることは次のとおりです。

    1.アンチ CSRF プラグインを使用する

    CSRF 攻撃専用の WordPress リポジトリで利用できるプラグインは多くありません。見つかったのは次の 2 つです:

    (A) コメント フォーム CSRF 保護 この WordPress プラグインは、コメント フォームにアンチ CSRF トークンを追加します。トークンには、秘密にされている一意の値があり、推測するのは実際的ではありません。したがって、ユーザーがフォームを送信すると、シークレット トークンが一緒に送信されます。一致する場合のみ、フォーム送信リクエストが受け入れられます。

    (B) 同一サイト Cookie このプラグインは、Chrome、Firefox、IE、Edge などのサポートされているブラウザーで動作します。 HTTP 要求が送信されると、送信される Cookie が同じサイトからのものであることを保証します。これによりクロスサイト リクエストがブロックされるため、すべての CSRF 攻撃がブロックされます。

    2.総合的な WordPress セキュリティ プラグインをインストール

    たくさんのセキュリティ プラグインがあります WordPress Web サイトで使用できます。これらのプラグインは、CSRF を含むあらゆる種類のハッカーからサイトを安全に保つことができます。ただし、すべてのセキュリティ プラグインが同じレベルのセキュリティを提供するわけではありません。

    さらに、CSRF 攻撃を見つけるのは困難です。ハッカーは、サイトの所有者とユーザーからうまく偽装するため、気付かれません。このような偽装されたマルウェアを検出できるプラグインが必要です。

    セキュリティ プラグインを選択する際は、CSRF 攻撃から保護し続けるために、次のことを確認する必要があります。

    <オール>
  • 定期的にスキャンします 悪意のあるスクリプトがないか確認してください。
  • すべてのファイルとデータベースをくまなく調べる
  • あらゆる種類のマルウェアを発見する能力があります – 新しいもの、隠されたもの、偽装されたものを含む。 (一部のプラグインは、既に発見されたマルウェアのみを検索します。)
  • アラート ウェブサイトで不審なアクティビティがあった場合
  • 独立したダッシュボードを提供します ハッカーによって自分の管理者アカウントがロックアウトされた場合でも、ウェブサイトをクリーンアップできるようにします。
  • このような保護と機能を提供するプラグインが MalCare です。 WordPress Web サイトにプラグインをインストールすると、CSRF 攻撃を取り除くことができます。また、WordPress マルウェアを駆除します。 ハッキング中にハッカーがサイトに追加した可能性があります。

    あなたのウェブサイトは、悪意のある IP アドレスと悪いボットがあなたのウェブサイトにアクセスするのをブロックするプロアクティブなファイアウォールで保護されます.

    ハッカーが悪意のあるクロスサイト リクエストを使用してサイトをハッキングした場合、この WordPress セキュリティ プラグインはすぐに警告します。その後、同じプラグインを使用してすぐにアクションを実行できます。

    3.ウェブサイトを強化する

    WordPress は、ウェブサイトを強化するために特定の対策を講じることを推奨しています。これにより、ハッカーによる侵入が非常に困難になります。いくつかの対策について簡単に説明しましたが、WordPress の強化に関する広範なガイドを読むことをお勧めします。 .

    これらのポイントの多くは少し技術的なものであるため、詳細なガイドはそれをよりよく理解するのに役立ちます. CSRF 攻撃による損害を防止または軽減するためのいくつかの強化策を以下に示します。

    a. 2 要素認証を使用する

    2 要素認証を使用すると、ユーザーの検証レイヤーが追加されます。ユーザーはログイン資格情報を入力する必要があります。その後、2 つ目のパスワードが必要になります。これは、ユーザーの登録済みの電子メールまたは電話番号に送信されるワンタイム パスワードである可能性があります。また、Google Authenticator などのアプリによって生成された認証番号の場合もあります。

    b.信頼されていないフォルダーでの PHP 実行のブロック

    CSRF 攻撃により、ハッカーが Web サイトのファイルにアクセスできるようになった場合、ハッカーは PHP 関数を実行して悪意のあるタスクを実行できます。 (PHP 関数は、プログラムで記述されたコードのブロックです)。また、必要のない場所で PHP の実行を無効にすることもできます。

    c.ファイル エディタを無効にする

    ハッカーが WordPress 管理者アカウントにアクセスすると、Web サイトを完全に制御できます。ダッシュボードでは、プラグインまたはテーマの下にある「エディター」にアクセスできます。ここで、独自のスクリプトを編集またはアップロードして、コンテンツを表示したり、サイトを改ざんしたり、ユーザーに SEO スパムを送信したりできます。

    d.セキュリティ キーの変更

    WordPress アカウントにアクセスするたびにログイン資格情報を入力する必要がないことに気付いたかもしれません。指定されたフィールドにはすでに入力されています。この情報がハッカーから安全であることを保証するために、WordPress はこのデータを暗号化して保存するセキュリティ キーを使用します。ハッカーが CSRF 攻撃を使用してサイトに侵入した場合、彼らはこの情報にアクセスする可能性があります。 .その後、それを別のものに変更し、それを使用して、必要なときに Web サイトの管理者アカウントにログインし続けることができます。

    • 推奨ガイドで説明されているように、これらの強化手段を手動で適用できます。または、MalCare を使用して数回クリックするだけで実装できます。
    WordPress CSRF 攻撃:脆弱性と防御

    4.未使用のテーマとプラグインをすべて削除

    Web サイトにインストールするプラグインやテーマが多いほど、ハッカーが悪用する機会が増えます。未使用のプラグインとテーマを削除し、使用するものだけを保持することをお勧めします。

    これらに加えて、サイトを HTTP から HTTPS に移行する、セキュリティ プラグインをインストールする、ログイン ページを保護するなど、さらにいくつかのセキュリティ対策を講じることもできます。

    [トップに戻る↑]

    最終的な考え

    CSRF 攻撃は、ユーザーと Web サイトの両方に深刻な影響を及ぼします。

    ハッカーが HTTP 要求を介してスクリプトを実行することに成功した場合、Web サイトを乗っ取ることができます。この後、彼らが何ができるかはわかりません。彼らはあなたのウェブサイトを改ざんして独自のプロパガンダを表示したり、違法な製品や薬物を販売したりする可能性があります.また、Web サイトの訪問者を自分の Web サイトにリダイレクトすることもできます。

    これらのサイトは通常、アダルト サイト、違法な製品を販売するサイト、または訪問者をだましてマルウェアをダウンロードさせるサイトです。

    <オール>
  • ウェブサイトの所有者は、これらの攻撃に対して安全を確保するための対策を講じる必要があります。 セキュリティ プラグインを保持することをお勧めします 総合的な保護を提供するため、WordPress サイトでアクティブな MalCare など。
  • ウェブサイトの強化対策を実施することをお勧めします ハッカーの侵入を困難にします。
  • 最後に、プラグインとテーマを使用する際は注意してください。 信頼できるテーマとプラグインをインストールする WordPress リポジトリまたは ThemeForest や CodeCanyon などのマーケットプレイスから。
  • これらの対策を WordPress Web サイトに実装すると、ハッカーから安全になると確信しています!

    MalCare で WordPress サイトを保護しましょう!


    1. WordPress がハッキングされた?ハッキングされた WordPress サイトをスキャンしてクリーンアップ

      あなたのWordPressはハッキングされていますか?それとも、あなたのウェブサイトに何か問題があると思いますか? WordPress がハッキングされている疑いがある場合に最初にすべきことは、Web サイトをスキャンすることです。 これにより、ハッキングに関する疑いが確認され、サイトを正常な状態に戻すための最善の行動方針を決定するのに役立ちます。 ハッキングされたWordPressサイトについてパニックに陥っているウェブサイト管理者から毎日メールが届きます.一部のユーザーは、ウェブ ホストがアカウントを一時停止したため、ウェブサイトにアクセスできなくなりました。また、wp-

    2. WordPress 脆弱性スキャナー

      WordPress サイトの安全性が十分でないことを心配していますか?サイトに存在するセキュリティ上の欠陥を見つけて修正しますか? あなたは正しい軌道に乗っています。ハッカーがサイトの脆弱性を発見すると、それを悪用して、訪問者を未知のサイトにリダイレクトする、顧客にスパムを送信する、サイトを通じて違法な製品を販売するなど、あらゆる種類の悪意のある活動を実行します。 このような行為は、サイトやビジネスに大きな損害を与える可能性があります。 Google などの検索エンジンがハッキングを検出すると、サイトをブラックリストに登録し、訪問者がアクセスできないようにします。同様に、ハッキングを修正す