2013-06-10 18 views
14

ほとんどのWebアプリケーションは、ユーザーのセッションを管理するためにCookieを使用し、ブラウザが閉じられてもログインしたままにすることができます。マシンからクッキーを単にコピーするだけで、セッションハイジャックを防ぐ方法を教えてください。

私たちは本の中のすべてをやって、クッキー自体が保存されていることを確信しています。

  • セットはhttpのみ
  • セット
  • SSLを確保

    • 暗号化コンテンツは
    • たちは

    が、それはありますクッキーの内容を改ざんをチェックし、接続のために使用されていますマシンへの物理的なアクセス権を持つ誰かがクッキーをコピーして別のマシンに再利用してセッションを盗むのを防ぐことができますか?

  • +0

    改ざんされていないクッキーを物理的に新しい場所にコピーすることを、提案された小切手の中には誰も止めることはありません。 – Deadron

    +0

    セッションをIPアドレスに結びつけることはできますが、さまざまな状況で正当なユーザーが壊れるので、それ自体は良い考えではありません。 (IPチェックはより幅広いリスクレーティング戦略の一部として役立ちますが) – bobince

    +0

    @bobince:ネットワークを変更するたびにCookieを無効にするため、IPアドレスはオプションではありません。 – Sam

    答えて

    14

    これを「保護」することは意味がありません。この種のコピーが発生した場合は、

    • のいずれかを使用します。エンドユーザーは、コンピュータを変更したかったので、目的に応じて使用しました。もちろん、これは気にする必要がある、または心配すべきではありません。
    • 攻撃者が既にユーザーのブラウザを侵害し、内部に保存されているCookieにアクセスできました。定義上、このクッキーは、HTTPクライアントの身元を証明する秘密です。攻撃者がすでにアクセス権を持っている場合、攻撃者は選択した任意の方法でこれを使用して、サーバーに正当にアクセスしている実際のユーザーを正当に阻止または区別することはできません。
    +1

    なぜそれはすでにゲームオーバーですか?あなたの答えを精緻化してください。Gmail、Facebook、Githubなどのすべての大きなアプリはクッキーを使用します。彼らは、動作中のクッキーをチェックするだけで、トロイの木馬を避けるために何をしていますか? – Sam

    +0

    私は少し明確にしようとしました。基本的には、秘密が攻撃者にさらされた場合、攻撃者が秘密を知るのを防ぐことができないという事実になります。それは同音異義語です。 – Celada

    +1

    私がそれに同意するかどうかわかりません - あなたがクッキーを侵害したとしても、まったく異なる別のマシンでの使用を防ぐことができるはずです。それをするのは簡単ではありませんが、私は "それを気にしないでください"と思うのは良い方法ではありません。 –

    6

    このリスクは、セッションを認証するためにクッキーを使用することに固有のものです。クッキーはベアラトークンであり、そのクッキーを提示できる人は誰でも認証されます。次のような更なる保護を参照してください理由

    は、これは次のとおりです。

    • 自動一定の時間、または一定の時間後にログアウト。
    • device fingerprinting;
    • 重要な操作(銀行振込やパスワード変更など)の再認証が必要です。
    関連する問題