情報セキュリティの基礎

Webアプリケーションで、ログインしたままの利用者が攻撃者の用意した罠のページを開くと、利用者のブラウザから正規のサイトへ、利用者の意図しない送金や設定の変更のリクエストが送られてしまう脆弱性がある。この脆弱性への対策として適切なものはどれか。

  1. A重要な処理のフォームに、セッションごとに推測できないランダムな値(トークン)を埋め込み、リクエストを受けたときにその値が正しいかを確かめる
  2. Bパスワードを入力する欄の文字数の上限を大きくする
  3. CWebサーバのログを毎日バックアップする
答えと解説を見る

正解:A. 重要な処理のフォームに、セッションごとに推測できないランダムな値(トークン)を埋め込み、リクエストを受けたときにその値が正しいかを確かめる

この脆弱性はクロスサイトリクエストフォージェリ(CSRF)と呼ばれます。ブラウザは、正規のサイトへのリクエストには、どのページから送られたものでも、そのサイトのCookie(ログインしているセッションの情報)を自動的に付けて送ります。そのため、サーバがCookieだけでログイン中の利用者からの正しい操作と判断していると、罠のページから送らせたリクエストも受け付けてしまいます。対策の基本は、正規のフォームにだけ、セッションごとに推測できないランダムな値(CSRFトークン)を埋め込んでおき、サーバでその値を確かめることです。罠のページはこの値を知ることができないので、正しいリクエストを作れません。さらに、CookieのSameSite属性で、ほかのサイトから送られたリクエストにCookieを付けないようにしたり、送金のような重要な操作の前にパスワードを再入力させたりする対策もあります。XSSがサイトに不正なスクリプトを埋め込むのに対し、CSRFは利用者のブラウザに正規に見えるリクエストを送らせる点が違います。

  • A. 正しい。罠のページからは知ることのできないトークンを確かめることで、正規のフォームからのリクエストだけを受け付けられます。
  • B. 入力欄の文字数の上限は、意図しないリクエストを送らされることとは関係がありません。
  • C. ログのバックアップは、事後の調査には役立ちますが、意図しないリクエストを防ぐ対策にはなりません。
この分野を解く 分野ページへ

関連する計算ツール

情報セキュリティの基礎の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

情報セキュリティの基礎のほかの問題

  1. Webアプリケーションが、URLのパラメータで指定されたファイル名を、公開用のフォルダの名前とつなげて読み出して表示している。ファイル名に ../ を含む値を指定されると、公開用のフォルダの外にある設定ファイルなどを読み出されてしまう。この攻撃の名前と対策の組み合わせとして正しいものはどれか。
  2. Webアプリケーションで、ログインの前と後で同じセッションIDを使い続けていると、攻撃者があらかじめ用意したセッションIDを利用者に使わせ、利用者がログインした後にそのIDで利用者になりすますおそれがある。この攻撃への対策として最も適切なものはどれか。
  3. DDoS攻撃の説明として正しいものはどれか。
  4. ゼロデイ攻撃の説明として正しいものはどれか。
  5. 脆弱性の管理で使われるCVEとCVSSの説明の組み合わせとして正しいものはどれか。