急なログイン試行を防ぐ方法を完全に理解するのに問題があります。私の質問は基本的に フォームベースのWebサイト認証の決定的なガイド から来ています。
最後の推奨事項は、ログインスロットリングの設定、failed試行間の時間遅延の設定です。何か:
簡単に頭に浮かぶいくつかの質問は次のとおりです。
ブルートフォース攻撃や辞書攻撃からシステムを保護しようとしている場合、遅延が非常に制限されているのはなぜですか。例の1つは、無効な試行ごとに2 ** 2の増加を示しています。かなり短い時間ですでに自動化された攻撃者を思いとどまらせることはないでしょうか?.
この保護スキームでは、クライアントは何でしょうか?それはどのように識別されますか? IP +アカウントについて話しているのですか、それとも単にアカウントについて話しているのですか。 IPを考慮せずにアカウントのみについて話している場合、それは正当なユーザーが自分のアカウントにアクセスしようとすることに迷惑をかける可能性はありませんか?。
私は、アカウントにアクセスしようとしている人間について話している読み物を見たことはありませんか?このケースが発生する可能性は非常に低いことを理解しています(パスワードポリシーを導入している場合はさらに高くなります)。ただし、攻撃者が何らかの方法(ソーシャルエンジニアリング)で可能性のあるパスワードのリストを作成した場合はどうなりますか。それも保護されるべきではありませんか?その場合、クライアントがIP +アカウントで識別されるため、非常に制限的であることは、彼が使用しているIPをブロックしようとすることには非常に意味があるためです。
失敗したログインの調整は、単純な調整とどう違いますか?単純なスロットルとは、ログインの試行回数を制御する「ログイン」エンドポイントのスロットルを意味しますが、これらの試行が成功したかどうかを考慮しません。
単純なスロットルで何を意味するかについて、この以前の定義を前提として、時間を指定して、1つのアカウントのログインエンドポイントを呼び出すことができる回数を制御していると仮定しましょう。
ブルートフォース攻撃を止めるのに十分でしょうか?試行が無効であるときに前述のこの遅延を追加すると、より良い結果が得られますか?
ここで誰かが光を放てたら、私はとても感謝しています。
ここでの主なアイデアは、ブルートフォース攻撃のウィンドウをすばやく遅くすることです。通常、次のように実装します。
通常のスロットルとログインスロットルの主な違いは、待ち時間メカニズムです。指数関数的要因とは、パスワードエントリごとに1日以上待たなければならず(そのアカウントを効果的にブロックする)、乱用の検出がはるかに可能になること、および通常のスロットルで時間あたりの接続/スループットがカウントされ、安定した量であること各スロットで許可されたアクション。 (つまり、急激に減少する量ではなく、一定の試行率です)。
攻撃者が自動化されている場合は、待機しても問題ありません。許可すると、ツールが長時間実行される可能性があります。したがって、それらは簡単に「非難」されることはありません(それがツールの目的です)。
アカウントのロックはユーザーエクスペリエンスに影響を与えるため、各サイトでそのリスク分析を実行する必要があります。 「クライアント」を定義する方法は、特定のシナリオ次第です。
「賢い」攻撃者は単一のアカウントを攻撃するのではなく、幅広いユーザーアカウントに対して一般的なパスワードを試みます。
そのため、迅速なログイン試行を防ぐには、1つのアカウントの遅延を増やしても、システム全体を保護することはほとんどできません。
一定の時間制限(たとえば5分)内で、システムの失敗したログイン試行の実行平均を維持することをお勧めします。システムで失敗したログイン試行の数が急増し始めた場合は、移動平均と比較して、すべてのログイン試行のログイン試行フィードバックをシステム全体で遅らせます。
遅延の重みは、移動平均と測定されたスパイクとの差に一致するように調整できます。
遅延がトリガーされると、現在の(平均的に)攻撃者の影響を受けるため、移動平均は信頼できなくなります。したがって、ログイン試行のフィードバックの遅延を減らすか停止するかを決定するために、他の方法を考え出す必要があります。
不正アクセスの意図を考慮する必要があります。誰かにとっては、内部の情報を取得するために、アカウントへのアクセスを取得することです。他の誰かにとっては、正当な所有者のアクセスとアカウントの使用を拒否する可能性があります。さらに別の人にとっては、サービスに効果的なサービス拒否攻撃を開始して、そうでなければパケットストームまたはLOIC攻撃を上流でシャットダウンする可能性があります。
ITセキュリティは、悪意のあるユーザーによる情報へのアクセスを拒否することだけでなく、承認されたユーザーが信頼できる信頼できる方法で情報にアクセスできるようにすることを目的としています。
釘が欲しくて…すべてが失われた。