セッションIDの固定化

セッションIDの固定化とは

攻撃手法の一種。 悪意ある人があらかじめ用意したセッションIDを利用者に送り、利用者が気づかずにパスワード入力してログインすると起きる問題。 悪意ある人が用意したセッションIDを使って利用者になりすましてアクセスできてしまう。

対策

  • セッションIDを推測困難なものにする
  • セッションIDをURLに格納しない
  • HTTPS通信で利用するCookieにはsecure属性を加える。Secure属性が設定されたCookieはHTTPS通信のみでりようされる。
  • ログイン成功後にセッションIDを変更する(既存のセッションIDを無効化する)。
  • ログイン成功後にセッションIDとは別の秘密情報を発行してページの遷移ごとにその値を確認する(↑のセッションIDを変更する実装をやっているならここまでやる必要はない。)
    • 秘密情報をCookienにセットし、秘密情報とCookieの値が一致するか確認する。

参考

  • https://www.ipa.go.jp/security/vuln/websecurity/session-management.html
  • 「体系的に学ぶ 安全なWebアプリケーションの作り方 第2版」
    • https://www.sbcr.jp/product/4797393163/