OWASPでは、攻撃者がセッションをハイジャックする時間を最小限に抑えるために、セッションタイムアウトを可能な限り小さい値に設定することを推奨しています。
セッションタイムアウトは、ユーザーのアクションウィンドウ時間を定義するため、このウィンドウは、同時に、攻撃者が既存のユーザーセッションを盗んで使用しようとする遅延を表します...
このためのベストプラクティスは次のとおりです。
- アプリケーションのコンテキストに応じて、セッションタイムアウトを可能な最小値に設定します。
- 「無限」のセッションタイムアウトを回避します。
- すべてのアプリケーションセッションにグローバルタイムアウトを適用するには、セッションタイムアウトの宣言的な定義を優先します。
- 作成の傾向を分析し、通常のセッション番号の作成(攻撃のアプリケーションプロファイリングフェーズ)を検出するために、セッションの作成/破棄をトレースします。
セッションハイジャック攻撃の最も一般的な方法は session-fixation 、パケット sniffing 、 xss および malware による妥協です。しかし、これらはすべて現在のセッションに対するリアルタイムの攻撃です。
乗っ取られたら、攻撃者はアイドルタイムアウトを(アクティビティを介して)防ぐことができ、私はany成功したセッションを検討しますとにかくセキュリティ違反を乗っ取ります(ゼロ秒よりはるかに大きいと主張したい場合を除く)実際にactual違反としてカウントされる前に、攻撃者が持つことができるアクセス。
セッショントークンを取得する元の方法を繰り返すことができる場合、これはタイムアウトの有用性をさらに制限するようです-無期限に繰り返すことができる5分のウィンドウは事実上制限されていません。
セッションタイムアウトが効果的な緩和になる実際の攻撃(理論的にも)はどのようなものですかセッションの有効期限は本当に security-theater の形式
これは、非常に一般的でローテクな攻撃であるデバイスの盗難による被害を防ぎます。
私がトイレにいる間にラップトップが離れた場合、泥棒は逃げるためにわずか5分で隠れてハッキングを開始するほうが、数時間、数日、または数週間にわたっているより柵のあるフェンスにオンラインアクセスを利用できます後で...