セッション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/