2017-04-26 5 views
0

データベースにセッションデータを格納するのが一般的なアプローチです。主なPHPフレームワークで広くサポートされています(symfony2ではPdoSessionHandler、laravelではDatabaseSessionHandlerを参照してください)。データベースに格納されているときにphpセッションPHPがタイミング攻撃に脆弱ですか?

このようなセッションハンドラの基本的な原則は、セッションIDをデータベーステーブルに保存し、セッションIDをあるカラムに保存し、別のカラムに保存することです。セッション・データを読み取るとき、ハンドラーは、ユーザーのCookieによって提供された、指定されたセッションIDで表の行を読み取るデータベース照会を実行します。

別のstackoverflow質問によると、データベースクエリcan be vulnerable to timing attacksの文字列を比較します。

したがって、タイミング攻撃とsession hijackingを組み合わせて、別のユーザーが使用しているセッションIDを盗むことは可能ですか?もしそうなら、なぜそれが主要なフレームワークによって考慮されないのですか?

+2

私はこのタイプの質問に最適な場所は[情報セキュリティ](https://security.stackexchange.com/)です –

答えて

0

データベース層に対するタイミング攻撃がの実用的なですが、それは可能ですが、それは可能です。

しかし、Redisのような(ファイルのデフォルトの)ファイルストレージやキャッシュストアは安全であるとは限りません。すべての種類のストレージ(セッションに限定されません)は可能な限り速くしようとしますが、これはまさにタイミング攻撃が悪用するものです。

ちょうど短い時間を設定してください。とにかくそれを心配しないでください。セッションは短命であるはずですが、タイミング攻撃には時間がかかります。

関連する問題