web-dev-qa-db-ja.com

SSL枯渇攻撃からどのように防御しますか?

SSL枯渇攻撃の問題は何年もの間よく知られていますが、THCが最近 exploit-tool をリリースするまで、誰も本当に気にしませんでした。 THCはリリースのカウンター測定について話します:

実際の解決策はありません。次の手順で問題を軽減できます(解決できません):

1。 SSL再ネゴシエーションを無効にする

2。 SSLアクセラレータに投資する

THC-SSL-DOSを変更することで、これらの対策のいずれかを回避できます。より良いソリューションが望まれます。誰かがこれを修正する必要があります。

問題の核心はSSL再ネゴシエーションに基づいていないため、アイデア1は単に機能しません。アイデア2、SSLアクセラレータについてはよくわかりません。大きなSSL-Exhaustion攻撃を防ぐには、SSL高速化専用のシステムがいくつ必要ですか?これは平均的なSSLサーバーにとって意味がありますか?

だから私がここで尋ねていることは、核となる問題の解決策が利用可能になるまで、そのような攻撃を防ぐために何ができるのでしょうか?暗号化に依存しているサーバーをどのように保護できますか?

9
Demento

「SSL枯渇」とは、「ニースをプレイしていない」と呼ばれる、より一般的な攻撃を意味する平均的な表現です。大まかに言うと、サーバーはネットワークサービスを提供していますが、サーバーでは無料ではありません。クライアントが来ると、サーバーはそのクライアントへの応答に貴重なCPUサイクルの一部を投資する必要があります。 「攻撃者」とは、多くの貧しいクライアントをまねてサーバーに負担をかける人のことです。 SSLの場合、暗号化が関係するため、投資はかなりのものになります。しかし、この概念は、サーバーの労力がわずかなCPUであり、RAMが単にTCP接続を確立するために必要な場合 SYN洪水 、しかし、高レベルの観点から、これは同じことです)。

可能な対策(SSLの場合は不可能ですが、プロトコルの変更の一部として追加することができます)は、クライアントからの「作業証明」を要求することです。 SSLでは、ハード暗号化作業を行わなくても、クライアント接続の最初の手順を簡単に模倣できます(単純に、予想されるRSA暗号化されたプレマスターキーまたはクライアントのDiffie-Hellman公開キーの代わりにランダムなジャンクを送信します)。これが変更されるべきです。 ウィキペディアのページ にいくつかの指針があります。

現在指定および展開されているSSLの場合、次のことを行うしかありません。

  • 犯人を十分に早く特定するようにしてください。同じIPからの繰り返される接続要求が多すぎる(つまり、 DDoS ではない DoS をブロックすることを意味します-簡単に言うと、攻撃者は部下/ゾンビを雇う必要があります) ;
  • サーバーにとって「安価」な暗号スイートを選択します(特大のキーは使用しないでください!1536ビットで十分です)(DHE_RSAの代わりにRSAを試してください)。
  • より多くの筋肉を入れることで攻撃者に対抗します。ハードウェアアクセラレータ、またはより多くのPC(PCの方が安いかもしれませんが、より多くのホスティングスペースを使用し、ロードバランシングには追加のシステム管理が必要です)。
10
Tom Leek

THCのツールはシステムの悪用に関するものではありません。自分のシステムをテストして安全であることを確認することについての詳細です。懸念がある場合、最初にすべきことは、自分のシステムに対してTHC-SSL-DOSを実行して、攻撃の持続可能性を確認することです 。 SSLは壊れていませんが、それでも私たちが持っている最高のものです。

この攻撃を緩和する方法は 軽量の暗号スイート を使用することです。そして、指摘したように Cisco推奨 SSLハードウェアアクセラレータ($$$)を使用し、SSLの「安全な再ネゴシエーション」を無効にします。

2
rook