セッションハイジャックの対策|情報処理安全確保支援士 平成29年 秋期午前Ⅱ試験 問14

出典:平成29年秋期 午前Ⅱ 問14 分野:セキュリティ / セキュリティ実装技術
攻撃者が,Webアプリケーションのセッションを乗っ取り,そのセッションを利用してアクセスした場合でも,個人情報の漏えいなどに被害が拡大しないようにするために,重要な情報の表示などをする画面の直前でWebアプリケーションが追加的に行う対策として,最も適切なものはどれか。
  • ア:Webブラウザとの間の通信を暗号化する。
  • イ:発行済セッションIDをCookieに格納する。
  • ウ:発行済セッションIDをHTTPレスポンスボディ中のリンク先のURIのクエリ文字列に設定する。
  • エ:パスワードによる利用者認証を行う。
解説

セッションを乗っ取られた場合、攻撃者は正規利用者としてWebアプリケーションにアクセスできる状態になります。そのため、個人情報の表示や重要な設定変更などを行う直前に、パスワードを再入力させて利用者本人であることを改めて確認する対策が有効です。

このような再認証を行えば、攻撃者がセッションIDを不正に入手していても、正規利用者のパスワードを知らなければ重要な画面へ進みにくくなり、被害の拡大を防止できます。

したがって、が適切です。

❌他選択肢が誤りの理由
ア:Webブラウザとの間の通信を暗号化する。
⇒TLSによる通信の暗号化は、通信経路上での盗聴や改ざんを防ぐ対策です。既にセッションを乗っ取った攻撃者によるアクセスを防ぐことはできません。
イ:発行済セッションIDをCookieに格納する。
⇒セッションIDをCookieに格納すること自体は一般的な管理方法ですが、既にセッションIDを乗っ取られている場合の追加対策にはなりません。
ウ:発行済セッションIDをHTTPレスポンスボディ中のリンク先のURIのクエリ文字列に設定する。
⇒セッションIDをURIのクエリ文字列に含めると、アクセスログやRefererなどを通じて漏えいする危険性が高まります。セッション乗っ取りへの対策としては不適切です。
TSUNAGARU-ADVICE

まず押さえたいこと

セッションが乗っ取られた場合でも被害を広げないためには、重要な情報を表示する直前に、改めてパスワードによる利用者認証を行うことが有効です。すでにログイン済みのセッションであっても、個人情報の表示や重要操作の前に再認証を求めることで、なりすましによる被害を抑えられます。

迷ったときの判断軸

通信の暗号化は盗聴対策として重要ですが、すでにセッションを乗っ取られた後の追加確認にはなりません。セッションIDをCookieに格納すること自体は一般的な管理方法ですが、被害拡大を防ぐ直接の対策ではありません。また、セッションIDをURIのクエリ文字列に入れると、ログやRefererなどから漏えいしやすくなり危険です。重要画面の直前では、本人しか知り得ない情報で再確認すると判断しましょう。

科目Bにつなげるために

科目Bでは、セッションハイジャック・Cookie属性・HTTPS・セッションIDの管理・重要操作時の再認証などを組み合わせて問われることがあります。ログイン済みかどうかだけで判断せず、個人情報表示・パスワード変更・送金・設定変更などの前では、追加認証で操作権限を再確認する視点を持ちましょう。