web-dev-qa-db-ja.com

マシンから別のマシンにCookieをコピーするだけでセッションハイジャックを防ぐにはどうすればよいですか?

ほとんどのWebアプリケーションはCookieを使用してユーザーのセッションを管理し、ブラウザーが閉じられていてもログインしたままにすることができます。

Cookie自体が確実に保存されるように、本のすべてを行ったとしましょう。

  • コンテンツを暗号化する
  • httpのみを設定
  • 安全に設定する
  • sslは接続に使用されます
  • クッキーの内容が改ざんされていないかチェックします

マシンに物理的にアクセスできる誰かがCookieをコピーして別のマシンで再利用してセッションを盗むのを防ぐことはできますか?

25
Sam

これに対して「保護」することは意味がありません。この種のコピーが発生した場合、次のいずれかになります。

  • エンドユーザーはコンピュータを変更したかったため、故意にそれを行いました。もちろん、これはあなたが気にかけたり心配したりするべきことではありません。
  • 攻撃者は既にユーザーのブラウザを危険にさらしており、内部に保存されているCookieにアクセスしています。定義上、このCookieは、HTTPクライアントのIDであることを証明する秘密です。攻撃者が既にそれにアクセスしている場合、サーバーは正当な方法でサーバーにアクセスしている実際のユーザーを阻止または区別できないように、選択したさまざまな方法ですでにそれを使用できます。
24
Celada

このリスクは、セッションを認証するためにCookieを使用することに固有です。Cookieは無記名トークンであり、Cookieを提示できる人は誰でも認証されます。

このため、次のような保護がさらに強化されます。

  • 一定時間または非アクティブな期間が経過すると、自動ログアウトします。
  • デバイスのフィンガープリント ;
  • 重要なアクション(銀行振込やパスワードの変更など)のために再認証を要求する.
12
Michael