私が使用するサービスには、ログインWebページでの資格情報の入力に時間制限があります(おそらくかなり短い-10〜20秒)。この期間の後にログインしようとすると、次のメッセージが表示されます。
[セキュリティ上の理由から、ユーザーは所定の期間内に資格情報を入力する必要があります。この期間を超えました。再度ログインしていただきますようお願いいたします。]
次にページが更新され、問題なくログインできます。
このサービスが「所定の期間」内にログインを要求することで対処しようとしているセキュリティ上の懸念は何ですか?
これは、バックエンドセッション管理向けのソリューションのようです。
匿名ユーザーはいかなる種類のセッションも開始しないと推測していますが、ログインページにアクセスすると、セッションがインスタンス化されます。ログインすると、セッションに記録され、サイトとサービスを使用できるようになります。一定の時間内にログインしないと、先に進んでセッションを終了します。
それらが動作する市場(セキュリティ)を考えると、それらはリソース消費を介してDDoSingのターゲットであることがわかり、これは何よりもリソース管理ソリューションのようになります(開いているセッションの数が特定のしきい値を超えないようにします)。
つまり、インフラストラクチャのセキュリティであり、アカウントのセキュリティではありません。
ログインの一部としてサーバーにポストバックする形式で、ある種の検証トークンを発行した可能性があります。これは、一定期間後にタイムアウトになります。それが良い解決策であるかどうかではなく、それが理由かもしれません。
OWASPには次の情報があります。 https://www.owasp.org/index.php/Session_Management_Cheat_Sheet#Initial_Login_Timeout
はい、ログインタイムアウトは セッション固定攻撃 と呼ばれる次の攻撃に対する緩和策です。
悪意のあるユーザーは、一連の偽のファイルを含む彼自身のPandaCloudアカウントを持っています。
悪意のあるユーザーが公共のコンピュータ(例:図書館、大学、またはコーヒーショップで、サインオンします。
MaliciousはセッションCookieのコピーを作成します。
悪意のあるユーザーがPandaCloudサインオンページに戻りますが、サインオンしません。
PandaCloudページは、ロード時に、ブラウザーをクリーンな状態にリセットするために、すべてのCookieをドロップします。
悪意のあるユーザーがブラウザのCookieストアにあるCookieを置き換えます。
悪意のあるユーザーが机を離れ、隅に行って見守っています。
世間知らずのユーザーがやって来てサインオンします。既存のCookieをクリアするスクリプトは、手順5ですでに実行されており、再度実行されないため、悪意のあるユーザーのCookieがPandaCloudに送信されます。
ナイーブユーザーは自分のアカウントにアクセスしていると思っていますが、実際には悪意のあるユーザーのアカウントにアクセスしています。
ナイーブユーザーは機密ファイルをアップロードしてからサインアウトします。
悪意のあるユーザーがサインオンし、機密ファイルをダウンロードします。
時間制限の目的は、手順5と8の間に発生する危険を減らすことです。十分に短い場合、この攻撃を阻止することはほぼ不可能です。
ただし、複数のCookieを使用したり、ユーザー情報のサーバー側の一部を保存したりするなど、これを処理するより優れた方法があります。おそらく、これらの他の方法は、他の技術的な制約のために実行不可能でした。
これに基づく必要がある情報を考えると、私はすでに与えられた多くの推測が好きです。いくつかは他よりも優れています。だから私たちには資格があるように思われるすべての推測を与えられて、私は本当に別の本当にエッジのケースシナリオを投げ入れましょう:
気が散りやすいユーザーを保護する
ユーザーは資格情報を入力しますが、まだ送信ボタンを押していません。気が散ってしまい、呼び戻されて、ソーシャルメディアの通知やその他の理由で別のページの閲覧を開始することにしました。基本的に、彼らはすべての資格情報を記入しましたが、提出しませんでした。
その後、彼らは自分のマシンを離れます:公共のマシン、ライブラリ、ラップトップがバスルーム休憩中にコーヒーショップにあります(コンビニに行くときに人々が車を走らせたままになっているのを見てきました...
潜在的な攻撃者はマシンにアクセスしてフォームを送信できますが、タイムアウトが短いと、セッションが期限切れになります。もちろん、送信する代わりに、******フィールドからパスワードを回復して、アクセスのために適切に再利用できるようにするための、より興味深い方法がおそらくあります。しかし、それは別のセキュリティ問題です。
次の理由が考えられます。
1)ユーザー名と資格情報を提供し、送信ボタンを押す前に何かが原因でコンピューターを離れる
2)攻撃者がコンピュータにアクセスし、送信ボタンを押します。最後に、攻撃者はアプリケーションを使用できます。
たとえば、Keycloak OpenIDConnectプロバイダーは、ログインプロセス時間を制限します。