web-dev-qa-db-ja.com

失敗したログイン試行に対して偽陽性の回答を与えることにより、総当たり攻撃を無効にすることは可能ですか?

セキュリティに関する経験や科学的な知識はありません。興味があるので、これが可能かどうかを尋ねたかっただけです。

データを暗号化し、すべてのパスワードで復号化しても、正しいものだけでは無意味なデータが乱雑にならない場合はどうなりますか?ログインでも同じことができます。誤ったログインデータは偽のダミーアカウントにつながり、正しいログイン詳細のみが正しいアカウントにアクセスできます。

パスワードを試してみるだけでなく、正しい結果であるかどうかを確認するために結果を確認する必要があるため、これはより優れた暗号化方法ではないでしょうか。

90
Tweakimp

答えは常に脅威モデルに依存します。セキュリティは常に、セキュリティとユーザビリティのバランスに織り込まれています。あなたのアプローチは、アカウントに侵入しようとするハッカーに不便をもたらすだけでなく、単にパスワードを誤って入力するユーザーにも不便をもたらします。偽のアカウントが攻撃者をだますのに十分なほど信頼できる場合は、有効なユーザーをだますのにも十分な可能性があります。それはとても悪いことかもしれません。

これは、非常にリスクの高い環境では望ましい場合があります。核の秘密をインターネットの外に保管する必要がある場合、すべての失敗したパスワードを使用すると、実際には国家の秘密を明らかにしない偽の文書にアクセスできるアカウントにつながりますが、非常に強力です。ただし、ほとんどの場合は不要です。

代替案も検討する必要があります。非常に人気のあるアプローチは、N回の試行後にアカウントをロックアウトすることです。これは、基本的にすべてのブルートフォースの試行を停止し、ほとんどのユーザーが喜んで受け入れるユーザビリティ動作を備えています。

112
Cort Ammon

誤検知で攻撃者をだますことは悪い考えではなく、新しいことでもありません。以下に興味があるかもしれません。

暗号迷彩

CAテクノロジーは Cryptographic Camouflage として知られるテクノロジーの特許を取得しています。

公開キー暗号化の重要なポイントは、秘密キーを保護する方法です。暗号化迷彩を使用して秘密鍵を保護する方法の概要を説明します。具体的には、完全な攻撃には長すぎるパスワードで秘密鍵を暗号化しません。代わりに、1つのパスワードのみが正しく解読できるように暗号化しますが、多くのパスワードは解読して、攻撃者をだますのに十分有効なキーを生成します。特定のアプリケーションでは、この方法は、スマートカードと同じように、完全にソフトウェアで、辞書攻撃から秘密キーを保護します。

これはまさにあなたが話していることではありません(アクセスを保護するのではなく、キーを保護します)が、概念は同じです。実際にコードをクラックしたかどうかを判別することを困難または不可能にすることにより、ブルートフォース攻撃を阻止します。

ネズミ捕り

1984年、マイケルクリクトン(アンドロメダストレインや他の多くの作者)が、極秘ファイルを盗んでいると思ったハッカーを中心に短編小説を書きました。彼は正しいパスワードを推測していましたが、知らないうちに、コンピューターは実際にはパスワードではなく、キーボードとマウスを使用した速度と方法で認証していました-一種の生体認証メカニズムです。彼は認証に失敗しました。しかし、コンピューターは彼に失敗したことを彼に知らせませんでした-その代わりに、彼は秘密の文書の偽のコピーを彼に提示し、それから彼はそれをダウンロードして闇市場で売ろうとしました。

繰り返しますが、これはあなたが要求しているものと正確には同じではありませんが、攻撃を阻止するための誤検知の使用を示しています(いずれにしても)。

47
John Wu

yesという正解を与えるには、ブルートフォース攻撃の効果を減らすことが可能であり、提案した方法で実行できますが、すべきではない。失敗した各試行と次の推測との間にタイミング遅延を実装するだけで、非常に類似した結果を得ることができます。また、(ご参考までに)非常に洗練された同様のテクノロジーが、まさにこのために設計および実装されています。 Canary 、Honey Pots、Honey Docsなどの製品はすべて、偽の環境、デバイス、サーバー、アカウントなどのような同様のものを提供します。

16

効果が小さい

システムが最初の4バイト(実際には最初のはるかに大きなブロックですが何でも)を解読することから、完全な力を解読する必要があるまで、実際の総当たりを変換するとします。 4ギガバイトの暗号化データ。ブルートフォース攻撃を約10倍または2 ^ 30倍遅くします。

さて、それはあなたにとって大きな違いに思えるかもしれませんが、実際にはその効果は他の選択肢と比較してtinyです。単に「10億倍遅い」という規模は、暗号化の世界ではそれほど大きくありません。単純に暗号化キーの長さに30ビットを追加するだけで同じことを行い、キーサイズをたとえば128ビット(まだ十分ではない場合)から256ビットでは、比類のないそれよりはるかに大きな効果がありますか?

9
Peteris

ほとんどはすでに述べられていますが、私は別の視点を提供したいだけです。

あなたがこのテクニックで家を確保しようとすると想像してみてください。侵入者がしばらくの間ドアを開けようとした場合、地下室へのアクセスを許可します。

問題は、そこに侵入者を入れたいですか?侵入者は、しばらくすると自分が望んでいたものを手に入れられなかったことに間違いなく気づき、そこからさらに離れようとします。そして、あなたはあなたが準備した地下室のための余分なセキュリティを維持する必要があります。

つまり、ある意味、自分の仕事量を増やして、(経験の浅い)攻撃者をだますだけにします。

7
gpinkas

暗号のコンテキストで「拒否可能な暗号化」または「もっともらしい拒否可能性」の形式について話しているように聞こえます。つまり、もっともらしいが本物でない平文に復号化する代替の秘密です。詳細は https://en.wikipedia.org/wiki/Deniable_encryption を参照してください。

しかし厳密に言えば、誰かがあなたの暗号文をブルートフォースする能力を持っている場合、彼らは潜在的にすべてのもっともらしい平文を発見し、その後、彼らが文脈に関してすでに持っている知識に基づいて、どの平文が本物のオリジナルであるかを決定することができます1。最初の部分は疑似AIで実行できますが、2番目の部分では依然として人間が必要です。

7
bernz

キーの問題は、キーが実行中のコードとしてではなく、データとして存在することです。 CAとCrichtonの例を使用しても、解読の試行ごとに適切な応答を提供する帯域外手順が発生します。数学的には、これは暗号文や総当たり攻撃のレベルでは不可能です。

2
m.kin

このようなことは、実際にはRAR圧縮ソフトウェアの一部のバージョンで行われていました(初期の頃は、まだこのようになっているかどうかはわかりません)。暗号化されたアーカイブは、入力されたパスワードによって復号化されますが、間違ったパスワードは意味不明な出力になります。これは、当時は「間違ったパスワード」エラーをすぐに返していたZipアーカイブに対して実行可能であった、パスワードの総当たり攻撃を防ぐために行われました。

1
Tom

他の人が言ったように、リモートアクセスの場合、単純なロックアウトと遅延が機能します。

パスワードの場合は、一方向ハッシュです。パスワードを検証するには、パスワードを再ハッシュし、2つのハッシュを比較します。複数の単純なパスワードが1つのハッシュに対して有効な一致を生成することは望ましくないと見なされます。これは、ハッシュが脆弱で「衝突」があることを意味します。

したがって、暗号化されたドライブに関心があることはよくあります。

あなたが説明すること-暗号化された "内部"ドライブを保護する偽のデータで満たされた偽の "外部"ドライブは可能であり、truecryptで行われました(悲しいことに、それはその後亡くなりました)。

以下は私自身の素朴な理解であり、一部またはすべてが間違っている可能性があります。私はこの機能を使用したことはありませんが、面白いと思いました。

Truecryptを使用すると、暗号化されたドライブの「レイヤー」のロックを解除する2番目のパスワードを指定できます(忘れてしまったのは、1つの外部コンテナーに制限されている可能性があります)。これには明らかな問題がありました。外部ドライブは、暗号化された外部ドライブの「空きスペース」に格納されている内部ドライブを認識していませんでした。したがって、外側のドライブを変更すると、内側のドライブが破壊される可能性があります。また、内部ドライブの日付スタンプは、暗号化されたドライブにアクセスしたときに自動的に更新されませんでした。そのため、マシンにアクセスできる誰かが、暗号化されたドライブのファイルを最後に変更した日時を知り、それらの日付スタンプを暗号化されたドライブで最後に変更された時刻と比較して、すぐにそれを最近使用していたことを知らせることができます。内部ドライブが必要です。

しかし、アイデアは、外付けドライブにpassword123のような推測しやすいパスワードを設定し、そこに漠然とした秘密のものを入れて、それが相手に暗号化されたドライブに入ったと思わせることでした。

それより少ないもの-ガベージ(フォーマットされていないドライブと同等のランダムノイズ)を返しただけのものは、実際のドライブで必要となるがガベージドライブではありそうにない、復号化されたドライブの「マジックストリング」をチェックすることで回避できます。 。

暗号化されたドキュメントと同じ:ほとんどのファイルタイプはマジックストリングを持っているので、含まれているファイルタイプがわかっている場合は、実行されたスクランブルをブルートフォースして、マジックストリングを生成するすべての方法を見つけることができます。

だからといって、それが悪い考えだというわけではありません。たとえば、魔法の文字列が "jfif"である場合、約1600万のパスワードのうち約1つだけがその魔法の文字列になります。しかし、キーの長さが2 ^ 1024の場合、2 ^ 1000にしか減らされませんでした。確かに、クラックするのに1600万倍速くなりますが、文字通りforever =割れる。

カジュアルなパスワードの入力ミスは、誰かにファイルを復号化したと思わせることはありませんが、魔法の文字列を探すだけでは十分ではありません。

1
Dewi Morgan