基本情報技術者令和4年免除 問42

問42

Webシステムにおいて,セッションの乗っ取りの機会を減らすために,利用者のログアウト時にWebサーバ又はWebブラウザにおいて行うべき処理はどれか。ここで,利用者は自分専用のPCにおいて,Webブラウザを利用しているものとする。
  • WebサーバにおいてセッションIDを内蔵ストレージに格納する。
  • WebサーバにおいてセッションIDを無効にする。
  • WebブラウザにおいてキャッシュしているWebページをクリアする。
  • WebブラウザにおいてセッションIDを内蔵ストレージに格納する。
  • [出典]
  • 午前免除試験 R4-6月 問42
  • 応用情報技術者 R3 問44と同題

分類

テクノロジ系 » セキュリティ » セキュリティ実装技術

正解

解説

IPAで公開されているセキュアプログラミング講座では、セッション乗っ取りの機会を低減させるための予防策として「セッションタイムアウト」と「明示的なログアウト機能」を挙げています。
セッションタイムアウト
Webアプリケーションにはセッションタイムアウト機能を設ける。ユーザーはログアウト操作をすることを忘れてしまうことがある。
明示的なログアウトの機能
Webアプリケーションには明示的なログアウトの機能を設ける。できれば、各ページでログアウト操作が行えると良い。
そして利用者がログアウトを要求した場面では、Webアプリケーションは次のような操作を行うべきとしています。
  • Webサーバ側でセッションIDを確実に無効にする。その後同じセッションIDがクライアントから送られてきても受け付けない
  • Webブラウザ側のセッションIDを消去する
一般的なWebページのセッション管理方式では、WebブラウザとWebサーバでセッションIDを共有することで同じ利用者かどうかを判断しています。セッションIDさえ一致すれば、第三者からのアクセスを正規のアクセスとして判断してしまう可能性があるということですから、不要なセッションIDを有効なままにしておくのはセキュリティ上のリスクになります。
セッションIDを必要とするのはログイン中だけですから、ログアウトが要求された(セッションIDが不要になった)時点でWebサーバ側(可能であればWebブラウザも)のセッションIDを無効化し、それ以降は無効化されたセッションIDを拒否することで、セッション乗っ取りの機会を最小限に減らせます。

したがって適切な処理は「イ」です。
© 2010-2024 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop