SSL枯渇攻撃の問題は何年もの間よく知られていますが、THCが最近 exploit-tool をリリースするまで、誰も本当に気にしませんでした。 THCはリリースのカウンター測定について話します:
実際の解決策はありません。次の手順で問題を軽減できます(解決できません):
1。 SSL再ネゴシエーションを無効にする
2。 SSLアクセラレータに投資する
THC-SSL-DOSを変更することで、これらの対策のいずれかを回避できます。より良いソリューションが望まれます。誰かがこれを修正する必要があります。
問題の核心はSSL再ネゴシエーションに基づいていないため、アイデア1は単に機能しません。アイデア2、SSLアクセラレータについてはよくわかりません。大きなSSL-Exhaustion攻撃を防ぐには、SSL高速化専用のシステムがいくつ必要ですか?これは平均的なSSLサーバーにとって意味がありますか?
だから私がここで尋ねていることは、核となる問題の解決策が利用可能になるまで、そのような攻撃を防ぐために何ができるのでしょうか?暗号化に依存しているサーバーをどのように保護できますか?
「SSL枯渇」とは、「ニースをプレイしていない」と呼ばれる、より一般的な攻撃を意味する平均的な表現です。大まかに言うと、サーバーはネットワークサービスを提供していますが、サーバーでは無料ではありません。クライアントが来ると、サーバーはそのクライアントへの応答に貴重なCPUサイクルの一部を投資する必要があります。 「攻撃者」とは、多くの貧しいクライアントをまねてサーバーに負担をかける人のことです。 SSLの場合、暗号化が関係するため、投資はかなりのものになります。しかし、この概念は、サーバーの労力がわずかなCPUであり、RAMが単にTCP接続を確立するために必要な場合 SYN洪水 、しかし、高レベルの観点から、これは同じことです)。
可能な対策(SSLの場合は不可能ですが、プロトコルの変更の一部として追加することができます)は、クライアントからの「作業証明」を要求することです。 SSLでは、ハード暗号化作業を行わなくても、クライアント接続の最初の手順を簡単に模倣できます(単純に、予想されるRSA暗号化されたプレマスターキーまたはクライアントのDiffie-Hellman公開キーの代わりにランダムなジャンクを送信します)。これが変更されるべきです。 ウィキペディアのページ にいくつかの指針があります。
現在指定および展開されているSSLの場合、次のことを行うしかありません。