CSRF攻撃とは何ですか?どのようにそれらを防ぐことができますか?

CSRF攻撃とは何ですか?どのようにそれらを防ぐことができますか?

クロスサイトリクエストフォージェリ(CSRF)は、Webサイトの脆弱性を悪用する最も古い方法の1つです。これは、通常、ログインなどの認証を必要とするサーバー側のWebスイッチを標的とします。CSRF攻撃中に、攻撃者は被害者に代わりに不正な悪意のあるWeb要求を行わせることを目的としています。

CSRF攻撃が成功する一般的な原因には、Webサイトのセキュリティ慣行が弱い、または不十分である、ユーザーの経路が不注意であるなどがあります。

CSRF攻撃とは何か、そして開発者またはユーザーとしての攻撃を防ぐための可能な方法を見てみましょう。

CSRF攻撃はあなたにどのような影響を与えますか?

CSRFは、ユーザーのログインまたは認証を必要とするWebアクション中に不正な要求を実装するために使用される攻撃です。CSRF攻撃は、セッションID、Cookie、およびその他のサーバーベースの脆弱性を利用して、ユーザーの資格情報を盗む可能性があります。

たとえば、アンチCSRFプロシージャを有効にすると、クロスドメインの悪意のある相互作用が防止されます。

その障壁が破られると、攻撃者はユーザーのブラウザによって作成されたCookieを介してユーザーのセッションIDをすばやく利用し、脆弱なWebサイトにスクリプトタグを埋め込むことができます。

攻撃者はIDを操作することで、訪問者を別のWebページにリダイレクトしたり、電子メールなどのソーシャルエンジニアリング手法を悪用してリンクを送信したりして、被害者に悪意のあるソフトウェアのダウンロードを促すこともできます。

被害者がそのようなアクションを実行すると、HTTPリクエストをユーザーのサービスページに送信し、攻撃者に有利なリクエストアクションを承認します。これは、疑いを持たないユーザーにとっては壊滅的なものになる可能性があります。

CSRF攻撃が成功すると、特にパスワードやユーザー名の変更要求などのサーバーベースのアクション中に、許可されたユーザーが攻撃者へのアクセスクレデンシャルを失う可能性があります。最悪のシナリオでは、攻撃者はセッション全体を乗っ取り、ユーザーに代わって行動します。

CSRFは、Web上の資金取引を乗っ取ったり、ユーザー名とパスワードを変更したりするために使用されてきました。これにより、ユーザーは影響を受けるサービスにアクセスできなくなります。

攻撃者がCSRFを使用してセッションをハイジャックする方法:例

CSRF攻撃の主なターゲットは、ユーザーの認証を含むWebアクションです。成功するためには、犠牲者からの意図しない行動が必要です。

CSRF攻撃中は、GET、DELETE、PUTアクション、および脆弱なPOSTリクエストが攻撃者の主な標的になります。

これらの用語の意味を見てみましょう。

  • GET:データベースから結果を収集するリクエスト。たとえば、Google検索。
  • POST:通常、Webフォームを介してリクエストを送信します。POSTリクエストは、ユーザーの登録またはログイン時に一般的であり、認証とも呼ばれます。
  • DELETE:データベースからリソースを削除します。特定のWebサービスからアカウントを削除するたびにこれを行います。
  • PUT: PUTリクエストは、既存のリソースを変更または更新します。例として、Facebookの名前を変更します

実際には、攻撃者はセッションハイジャックを使用してCSRF攻撃をバックアップします。この組み合わせを使用すると、攻撃者はハイジャックを使用して被害者のIPアドレスを変更できます。

次に、IPアドレスの変更により、被害者は新しいWebサイトにログインし、攻撃者は、CSRFを介して作成した複製フォームまたは変更されたサーバー要求を送信する不正なリンクを挿入します。

疑いを持たないユーザーは、リダイレクトがサービスプロバイダーからのものであると考え、攻撃者のWebページ上のリンクをクリックします。これを行うと、ハッカーは知らないうちにページの読み込み時にフォームを送信します。

GETリクエストのCSRF攻撃の例

安全でないeコマースプラットフォームを介してオンライン支払いを行おうとしていると想像してみてください。プラットフォームの所有者は、GETリクエストを使用してトランザクションを処理します。そのGETクエリは次のようになります。

https://websiteurl/pay?amount=$10&company=[company ABC's account]

ハイジャック犯は、GETリクエストのパラメータを変更することで、トランザクションを簡単に盗むことができます。これを行うには、彼らがする必要があるのはあなたの名前を彼らの名前と交換することだけであり、さらに悪いことに、あなたが支払うつもりの金額を変更することです。次に、元のクエリを次のように微調整します。

https://websiteurl/pay?amount=$20000&company=[attacker's account]

その変更されたGETリクエストへのリンクをクリックすると、攻撃者のアカウントに意図せずに転送することになります。

GETリクエストを介したトランザクションは悪い習慣であり、アクティビティを攻撃に対して脆弱にします。

POSTリクエストのCSRF攻撃の例

ただし、多くの開発者は、POSTリクエストを使用する方がWebトランザクションを行うのにより安全であると考えています。それは事実ですが、残念ながら、POSTリクエストはCSRF攻撃の影響も受けやすくなっています。

POSTリクエストを正常にハイジャックするために必要なのは、現在のセッションID、複製された非表示のフォーム、場合によっては小さなソーシャルエンジニアリングだけです。

たとえば、POSTリクエストフォームは次のようになります。





 

ただし、攻撃者は新しいページを作成し、上記のフォームを次のように変更することで、クレデンシャルを交換できます。





 

操作されたフォームでは、攻撃者は金額フィールドの値を「30000」に設定し、受信者のアカウント番号を自分のアカウント番号に交換し、ページの読み込み時にフォームを送信し、ユーザーからフォームフィールドを非表示にします。

彼らがその現在のセッションを乗っ取ると、あなたのトランザクションページは攻撃者のページへのリダイレクトを開始し、あなたがアクセスする可能性が最も高いと彼らが知っているリンクをクリックするように促します。

これをクリックすると、複製されたフォームの送信が読み込まれ、攻撃者のアカウントに資金が送金されます。つまり、JavaScriptは次のウェブページの読み込み時に自動的にこれを行うため、トランザクションを実行するために「送信」などのボタンをクリックする必要はありません。

または、攻撃者は、同じページ読み込みフォームの送信を実行するためにリンクをクリックするように求めるHTML埋め込み電子メールを作成することもできます。

CSRF攻撃に対して脆弱な別のアクションは、PUTリクエストの例であるユーザー名またはパスワードの変更です。攻撃者はリクエストフォームを複製し、メールアドレスを自分のメールアドレスに置き換えます。

次に、セッションを盗み、ページにリダイレクトするか、魅力的なリンクをクリックするように求めるメールを送信します。

次に、パスワードリセットリンクをあなたのメールアドレスではなくハッカーのメールアドレスに送信する操作フォームを送信します。このようにして、ハッカーはパスワードを変更し、アカウントからログアウトします。

開発者としてCSRF攻撃を防ぐ方法

CSRF攻撃とは何ですか?どのようにそれらを防ぐことができますか?

CSRFを防ぐための最良の方法の1つは、サーバーで状態変更を実行するためにセッションCookieに依存するのではなく、頻繁に変更されるトークンを使用することです。

関連:デジタルセキュリティを理解し、プライバシーを保護するための無料ガイド

最新のバックエンドフレームワークの多くは、CSRFに対するセキュリティを提供します。したがって、CSRFに対する強化の技術を自分で避けたい場合は、組み込みのアンチCSRFトークンが付属するサーバー側フレームワークを使用して簡単に取り組むことができます。

アンチCSRFトークンを使用すると、サーバーベースのリクエストは、より静的で脆弱なセッションCookieの代わりにランダムな文字列を生成します。そうすることで、ハイジャック犯による推測からセッションを保護することができます。

Webアプリでトランザクションを実行するための2要素認証(2FA)システムを実装すると、CSRFの可能性も低くなります。

コメントフォームなどのユーザーフィールドへのスクリプトインジェクションを含むクロスサイトスクリプティング(XSS)を介してCSRFを開始することができます。これを防ぐには、Webサイト全体のすべてのユーザーフォームフィールドでHTML自動エスケープを有効にすることをお勧めします。このアクションにより、フォームフィールドがHTML要素を解釈できなくなります。

ユーザーとしてのCSRF攻撃を防ぐ方法

認証を伴うWebサービスのユーザーとして、攻撃者がCSRFを介して資格情報やセッションを盗むのを防ぐ役割があります。

送金を伴う活動中は、信頼できるWebサービスを使用していることを確認してください。

これに加えて、セッションの露出からユーザーを保護する 安全なWebブラウザー、および検索データの漏洩から保護する安全な検索エンジンを使用します。

関連: あなたのデータを尊重する最高のプライベート検索エンジン

ユーザーとして、ウェブ上で本人確認を行うために、Google認証システムやその代替手段などのサードパーティの認証システムに依存することもできます。

攻撃者によるセッションの乗っ取りを阻止するのは無力だと感じるかもしれませんが、ブラウザにパスワードやその他のログイン情報などの情報が保存されないようにすることで、これを防ぐことができます。

Webセキュリティを強化する

開発者は、開発および展開中にセキュリティ違反がないかWebアプリを定期的にテストする必要があります。

ただし、他の脆弱性を防止しようとしているときに、他の脆弱性を導入することは一般的です。したがって、CSRFをブロックしようとしているときに、他のセキュリティパラメータに違反していないことを確認するように注意してください。


Windowsの仮想化ベースのセキュリティとは何ですか?

Windowsの仮想化ベースのセキュリティとは何ですか?

仮想化ベースのセキュリティは、何年もの間Windows10の機能でした。マイクロソフトがそれを実施していなかったので、それは多くの人々のためにレーダーの下で飛んだ。ただし、これはWindows11で変更されます。

ペネトレーションテストとは何ですか?また、ネットワークセキュリティをどのように改善しますか?

ペネトレーションテストとは何ですか?また、ネットワークセキュリティをどのように改善しますか?

新しいセキュリティシステムを設定するときは、脆弱性をできるだけ少なくして正しく機能することを確認する必要があります。数千ドル相当のデジタル資産が関係している場合、間違いから学ぶ余裕はなく、ハッカーが以前に悪用したセキュリティのギャップを埋めるだけです。

メニューのQRコードはあなたのプライバシーにリスクをもたらしますか?

メニューのQRコードはあなたのプライバシーにリスクをもたらしますか?

COVID-19の蔓延を防ぐために、レストラン業界は昔ながらのメニューカードを捨て、デジタルメニューまたはスキャン可能なクイックレスポンス(QR)コードに移行しています。

VPNのログなしの主張を信頼できますか?

VPNのログなしの主張を信頼できますか?

特に公共のWi-Fiに接続している場合、Webサーフィンは危険を伴う可能性があります。少しのノウハウを持っている人なら誰でもあなたの個人情報とウェブ閲覧履歴を見ることができます。

Googleストリートビューで家をぼかす必要がある理由(および方法)

Googleストリートビューで家をぼかす必要がある理由(および方法)

ストリートビューモードのスナップ映像で、カメラが取り付けられたGoogleの車を見たことがあるでしょう。コンピューターや電話を使って、今まで訪れたことのない場所を見ることができるのは驚くべきことです。

新しいマルウェア株がゲームアカウントを盗んでいる:ここに方法

新しいマルウェア株がゲームアカウントを盗んでいる:ここに方法

オンラインゲームライブラリは、どこにいてもゲームをするのに最適な方法ですが、不正アクセスを防ぐためにアカウントを安全に保つ必要があることを意味します。ハッカーがユーザー名とパスワードを覚えるだけで、緊急のカスタマーサポートチケットを最高の状態で手に入れることができます。

PS5の脱獄は、PlayStationのハッカーが新しいエクスプロイトを明らかにした後、一歩近づきました

PS5の脱獄は、PlayStationのハッカーが新しいエクスプロイトを明らかにした後、一歩近づきました

PlayStation 5の脱獄の初期の世界では、2つの別々のハッキンググループが、PS5の脱獄が以前に考えられていたよりも早く到着する可能性があるという大きな発見をしたことで、数日が荒れ狂っていました。

NISTサイバーセキュリティフレームワークとは何ですか?

NISTサイバーセキュリティフレームワークとは何ですか?

オンラインで情報を保存することが一般的になっています。より多くの組織が、この相互接続の時代に関連性を保つためにこの部分を牽引しています。

どのVPNがWireGuardをサポートしていますか?

どのVPNがWireGuardをサポートしていますか?

WireGuardは、最先端の暗号化を使用してオンラインアクティビティを保護する比較的新しいVPNプロトコルです。これは、既存のプロトコルよりもプライバシーを高め、接続速度を高速化し、電力を節約することを目的としています。

Braktooth Bluetoothのバグとは何ですか?あなたは危険にさらされていますか?

Braktooth Bluetoothのバグとは何ですか?あなたは危険にさらされていますか?

サイバーセキュリティの世界に目を向けたことがあれば、ハッカーは確立されたテクノロジーに重大な欠陥を見つける傾向があり、世界中の何十万ものデバイスに悪用される可能性があることをご存知でしょう。これは、世界中のBluetoothデバイスに問題を引き起こすことを目的としたBrakToothエクスプロイトの場合です。

エンドポイントセキュリティとは何ですか?なぜそれが重要なのですか?

エンドポイントセキュリティとは何ですか?なぜそれが重要なのですか?

マルウェア攻撃は増加しており、最近ではさらに進んでいます。組織は、サイバー脅威からITネットワークを絶えず保護するという課題に直面しています。

NordVPNとExpressVPN:2021年にどのVPNを使用する必要がありますか?

NordVPNとExpressVPN:2021年にどのVPNを使用する必要がありますか?

VPNに投資したい場合は、NordVPNとExpressVPNが当然の選択肢です。どちらも高速を提供し、どちらも肯定的な顧客レビューの長い歴史があります。

Androidでアプリをロックする方法

Androidでアプリをロックする方法

ほとんどの人は、セキュリティ上の理由から、Androidデバイスで何らかの形の生体認証ロックまたはPIN保護をすでに使用する傾向があります。ただし、セキュリティを強化するために、デバイス上の特定のアプリをロックしたい場合があります。パスワードマネージャーやバンキングアプリなどの一部のアプリは、組み込みのアプリロック機能を提供しますが、他のほとんどのアプリにはありません。

NordVPNとIPVanish:どちらがあなたに最適なVPNですか?

NordVPNとIPVanish:どちらがあなたに最適なVPNですか?

仮想プライベートネットワーク(VPN)は、インターネットを安全に閲覧するために不可欠なツールです。しかし、市場で入手可能なすべてのオプションがあるため、決断の疲れに陥り、VPNがまったくない状態で保護されていない状態に陥るのは簡単です。

タイポスクワッティングとは何ですか?それから身を守る方法

タイポスクワッティングとは何ですか?それから身を守る方法

タイピングするときに太った運指になりがちですか?お気に入りのWebサイトのアドレスを入力するときに、aの代わりにeを入力したり、ハイフンを忘れたりすることは一見無害に見えますが、タイポスクワッティングと呼ばれる悪質な行為の犠牲になる可能性があります。

Bitwarden vs. LastPass:あなたに最適なパスワードマネージャーはどれですか?

Bitwarden vs. LastPass:あなたに最適なパスワードマネージャーはどれですか?

LastPassとBitwardenはどちらも、セキュリティ、機能、および計画の点で優れたパスワードマネージャーです。ただし、2つから選択する必要がある場合、どちらが一番上に表示されますか?

ControlDについて知っておくべきことすべて:VPNアプリのないVPN

ControlDについて知っておくべきことすべて:VPNアプリのないVPN

安全なDNSサービスを使用すると、オンラインプライバシーを簡単に強化できます。ただし、一部のDNSサービスは、オンラインエクスペリエンスをカスタマイズするためのコントロールとともに追加の機能を提供します。

iPhone、iPad、またはMacでAppleリカバリキーを設定する方法

iPhone、iPad、またはMacでAppleリカバリキーを設定する方法

Appleデバイスの利点の1つは、そのような防水セキュリティを可能にすることです。ただし、リカバリキーを設定することで、実際にデバイスにセキュリティを追加できます。

ゼロトラストネットワークとは何ですか?それはどのようにデータを保護しますか?

ゼロトラストネットワークとは何ですか?それはどのようにデータを保護しますか?

VPNは、すべての企業の標準的な運用手順の不可欠な部分になっています。VPNは、オンライン活動中にあなたの身元を効果的に隠します。それにもかかわらず、最近これらのソフトウェアアプリケーションを使用することにはかなりの欠点があります。

あなたのバーコードスキャナーは安全ですか、それともAndroidマルウェアを隠しますか?

あなたのバーコードスキャナーは安全ですか、それともAndroidマルウェアを隠しますか?

バーコードは、物理的な表面でデータを共有するための最良の方法の1つです。興味のある人は、スマートフォンでコードを直接スキャンして、ウェブサイトやアプリにアクセスするだけです。

ペネトレーションテストとは何ですか?また、ネットワークセキュリティをどのように改善しますか?

ペネトレーションテストとは何ですか?また、ネットワークセキュリティをどのように改善しますか?

新しいセキュリティシステムを設定するときは、脆弱性をできるだけ少なくして正しく機能することを確認する必要があります。数千ドル相当のデジタル資産が関係している場合、間違いから学ぶ余裕はなく、ハッカーが以前に悪用したセキュリティのギャップを埋めるだけです。

メニューのQRコードはあなたのプライバシーにリスクをもたらしますか?

メニューのQRコードはあなたのプライバシーにリスクをもたらしますか?

COVID-19の蔓延を防ぐために、レストラン業界は昔ながらのメニューカードを捨て、デジタルメニューまたはスキャン可能なクイックレスポンス(QR)コードに移行しています。

VPNのログなしの主張を信頼できますか?

VPNのログなしの主張を信頼できますか?

特に公共のWi-Fiに接続している場合、Webサーフィンは危険を伴う可能性があります。少しのノウハウを持っている人なら誰でもあなたの個人情報とウェブ閲覧履歴を見ることができます。

Googleストリートビューで家をぼかす必要がある理由(および方法)

Googleストリートビューで家をぼかす必要がある理由(および方法)

ストリートビューモードのスナップ映像で、カメラが取り付けられたGoogleの車を見たことがあるでしょう。コンピューターや電話を使って、今まで訪れたことのない場所を見ることができるのは驚くべきことです。

新しいマルウェア株がゲームアカウントを盗んでいる:ここに方法

新しいマルウェア株がゲームアカウントを盗んでいる:ここに方法

オンラインゲームライブラリは、どこにいてもゲームをするのに最適な方法ですが、不正アクセスを防ぐためにアカウントを安全に保つ必要があることを意味します。ハッカーがユーザー名とパスワードを覚えるだけで、緊急のカスタマーサポートチケットを最高の状態で手に入れることができます。

NISTサイバーセキュリティフレームワークとは何ですか?

NISTサイバーセキュリティフレームワークとは何ですか?

オンラインで情報を保存することが一般的になっています。より多くの組織が、この相互接続の時代に関連性を保つためにこの部分を牽引しています。

どのVPNがWireGuardをサポートしていますか?

どのVPNがWireGuardをサポートしていますか?

WireGuardは、最先端の暗号化を使用してオンラインアクティビティを保護する比較的新しいVPNプロトコルです。これは、既存のプロトコルよりもプライバシーを高め、接続速度を高速化し、電力を節約することを目的としています。

Braktooth Bluetoothのバグとは何ですか?あなたは危険にさらされていますか?

Braktooth Bluetoothのバグとは何ですか?あなたは危険にさらされていますか?

サイバーセキュリティの世界に目を向けたことがあれば、ハッカーは確立されたテクノロジーに重大な欠陥を見つける傾向があり、世界中の何十万ものデバイスに悪用される可能性があることをご存知でしょう。これは、世界中のBluetoothデバイスに問題を引き起こすことを目的としたBrakToothエクスプロイトの場合です。

エンドポイントセキュリティとは何ですか?なぜそれが重要なのですか?

エンドポイントセキュリティとは何ですか?なぜそれが重要なのですか?

マルウェア攻撃は増加しており、最近ではさらに進んでいます。組織は、サイバー脅威からITネットワークを絶えず保護するという課題に直面しています。

NordVPNとExpressVPN:2021年にどのVPNを使用する必要がありますか?

NordVPNとExpressVPN:2021年にどのVPNを使用する必要がありますか?

VPNに投資したい場合は、NordVPNとExpressVPNが当然の選択肢です。どちらも高速を提供し、どちらも肯定的な顧客レビューの長い歴史があります。