クロスサイトリクエストフォージェリ(Cross-Site Request Forgeries)は、Webアプリケーションのサーバー側機能を、ユーザーの意図に反して勝手に実行させる攻撃です。被害を与えるWebサイトの掲示板などに、ユーザーのパソコンのIPアドレスでアクセスして悪意のある書き込みを実施したりします。
略称として「CSRF」と表記する場合もあります。
ユーザーの意図しない情報・リクエストが送信されてしまうため「リクエスト強要」とも呼ばれます。

この対策の方法として、リクエストの照合を強化することがあります。CSRFはユーザーに意図しないリクエスト送信を強要するものですので、リクエスト送信が、正しく送られたものかどうかをサーバー側でチェックし、正しいリクエストの場合のみ処理することでCSRF攻撃を防ぐことができます。
リクエスト照合でよく使われるのは、CAPTCHA(画像認証)と呼ばれる画面に表示される数字や文字をユーザーに入力させる方法があります。複数の画像の中から指定された画像を全て選ぶ「私はロボットではありません」と呼ばれるものもあります。
クロスサイトリクエストフォージェリ攻撃の対策として、効果がないものはどれか。
| ア | Webサイトでの決済などの重要な操作の都度,利用者のパスワードを入力させる。 |
| イ | Webサイトへのログイン後,毎回異なる値をHTTPレスポンスに含め,Webブラウザからのリクエストごとに送付されるその値を,Webサーバ側で照合する。 |
| ウ | Webブラウザからのリクエスト中のRefererによって正しいリンク元からの遷移であることを確認する。 | エ | WebブラウザからのリクエストをWebサーバで受け付けた際に,リクエストに含まれる"<"や">"などの特殊文字を,タグとして認識されない"<"や">" などの文字列に置き換える。 |
答え:エ
クロスサイトリクエストフォージェリ(CSRF)は、利用者がログイン中のWebサイトに対して、攻撃者が用意したページから意図しないリクエストを送信させ、不正な操作を実行させる攻撃です。対策としては、重要な操作時に再認証を求める方法や、リクエストごとに異なるトークンを発行して照合するCSRFトークン、Refererを確認する方法などがあります。したがってア、イ、ウはいずれもCSRF対策として一定の効果があります。一方エは、入力された特殊文字を別の文字列に置き換えてタグとして解釈されないようにする対策であり、これはクロスサイトスクリプティング(XSS)対策です。したがってCSRF対策として効果がないものはエです。