Skip to main content

クロスサイトの偽造を防ぐにはどうすればよいですか?

cross部位のリクエスト偽造、セッションライディング、ワンクリック攻撃など、さまざまな名前でも知られているクロスサイトの偽造(XSRFまたはCSRF)は、防止するのが難しいタイプのウェブサイトのエクスプロイトです。Webブラウザをトリックして、不正なコマンドをリモートサーバーに送信するように動作します。クロスサイトの偽造攻撃は、本物の資格情報を持つWebサイトにログインしたユーザーに対してのみ動作します。その結果、ウェブサイトからのログアウトは、シンプルで効果的な予防策になる可能性があります。Web開発者は、ランダムに生成されたトークンを使用して、このタイプの攻撃を防ぐことができますが、リファラーのチェックやCookieに依存しないようにすることができます。cross部位の偽造エクスプロイトは、「混乱した副攻撃」として知られているもののWebブラウザーをターゲットにすることが一般的です。ユーザーに代わって行動していると信じて、ブラウザは不正なコマンドをリモートサーバーに送信するようになります。これらのコマンドは、Webページのマークアップコードの一見無邪気な部分内に隠すことができます。つまり、画像ファイルをダウンロードしようとするブラウザは、実際に銀行、オンライン小売業者、またはソーシャルネットワーキングサイトにコマンドを送信している可能性があります。一部のブラウザには、クロスサイトの偽造攻撃を防ぐために設計された対策が含まれており、サードパーティのプログラマーは、これらの手段を欠く拡張機能またはプラグインを作成しています。また、これらのプログラムはクロスサイトの偽造攻撃に対しても脆弱であるため、ハイパーテキストマークアップ言語(HTML)電子メールをオフにすることをお勧めします。Crossサイトの偽造攻撃は、合法的にWebサイトにログインしたユーザーに依存しているためです。それを念頭に置いて、このような攻撃を防ぐ最も簡単な方法の1つは、使用が完了したサイトから単純にログアウトすることです。銀行や証券会社を含む機密データを扱う多くのサイトは、一定の期間の不活動の後にこれを自動的に行います。他のサイトは反対のアプローチを取り、ユーザーを数日または数週間永続的にログインすることができます。この便利なことはありますが、CSRF攻撃にさらされます。「このコンピューターで私を覚えておいてください」または「ログインしてください」オプションを探して無効にし、セッションを完了したら、必ずログアウトリンクをクリックしてください。web Web開発者にとって、クロスサイトの偽造の脆弱性を排除することは、特に挑戦的な作業になる可能性があります。CSRFエクスプロイトが正当なユーザー資格情報を利用しており、この情報は簡単にスプーフィングできるため、リファラーとCookieの情報をチェックしても多くの保護は提供されません。より良いアプローチは、ユーザーがログインするたびに単一使用トークンをランダムに生成し、トークンをユーザーが送信した任意のリクエストに含めることを要求することです。購入や資金の移転などの重要なリクエストの場合、ユーザーがユーザー名とパスワードに再入力することを要求することで、リクエストの信頼性を確保するのに役立ちます。