最近、ASP.NET アプリケーションの 1 つでセキュリティ スキャン (IBM AppScan) が行われ、次のような中程度の脆弱性が報告されました。
セッション ID が更新されていません
重大度: 中
リスク: 顧客のセッションと Cookie を盗んだり操作したりする可能性があります。これは正当なユーザーになりすますために使用される可能性があり、ハッカーがユーザー レコードを表示または変更したり、そのユーザーとしてトランザクションを実行したりできる
原因:安全でない Web アプリケーションのプログラミングまたは構成。
そして、ASP.NET 用のツールによる修正案は次のとおりです。
セッション ID Cookie の新しい値を生成しない ASP などのプラットフォームでは、セカンダリ Cookie を使用します。このアプローチでは、ユーザーのブラウザーのセカンダリ Cookie をランダムな値に設定し、セッション変数を同じ値に設定します。セッション変数と Cookie 値が一致しない場合は、セッションを無効にし、ユーザーに再度ログオンを強制します。
アプリケーションに SSL 証明書をインストールし、すべての Cookie (セッション、認証、AntiForgeryToken) がセキュア (RequireSSL="True")-HttpOnly であることを確認しました。
ここでの私の質問は、SSL 証明書とトラフィックが Https を使用していても、セッションをハイジャックすることは可能ですか? そして、私はすでにセカンダリ Secure-Httponly Cookie(AntiForgeryToken) を使用しているので、アプリケーションをより安全にするために他に何をしなければなりませんか?