技術ノート 特徴 ブルートフォース攻撃の説明: すべての暗号化がいかに脆弱であるか

ブルートフォース攻撃の説明: すべての暗号化がいかに脆弱であるか

ブルートフォース攻撃の説明: すべての暗号化がいかに脆弱であるか

ブルートフォース攻撃は理解するのは非常に簡単ですが、防御するのは困難です。 暗号化は数学であり 、コンピューターの数学が速くなると、すべての解決策を試してどれが適合するかを判断するのも速くなります。

ブルートフォース攻撃の説明: すべての暗号化がいかに脆弱であるか

これらの攻撃は、あらゆる種類の暗号化に対して使用でき、成功の程度はさまざまです。より新しく高速なコンピューター ハードウェアがリリースされるにつれて、ブルート フォース攻撃は日を追うごとに高速化され、より効果的になってきています。

ブルートフォースの基本

ブルートフォース攻撃は理解するのが簡単です。攻撃者は暗号化されたファイル、たとえば LastPass または KeePass の パスワード データベースを持っています。彼らは、このファイルに見たいデータが含まれていること、そしてそのロックを解除する暗号化キーがあることを知っています。それを復号化するには、考えられるすべてのパスワードを試し始め、その結果ファイルが復号化されるかどうかを確認できます。

これはコンピュータ プログラムを使用して自動的に行われるため、利用可能なコンピュータ ハードウェアがますます高速になり、1 秒あたりに実行できる計算量が増加するにつれて、ブルート フォース暗号化を実行できる速度も向上します。ブルートフォース攻撃はおそらく 1 桁のパスワードから始まり、2 桁のパスワードなどに移行し、うまくいくまですべての可能な組み合わせを試します。

「辞書攻撃」も同様で、考えられるすべてのパスワードの代わりに、辞書にある単語、または一般的なパスワードのリストを試行します。多くの人がこのような脆弱で一般的なパスワードを使用しているため、これは非常に効果的です。

ブルートフォース攻撃の説明: すべての暗号化がいかに脆弱であるか

攻撃者が Web サービスにブルートフォース攻撃できない理由

オンラインとオフラインのブルート フォース攻撃には違いがあります。たとえば、攻撃者があなたの Gmail アカウントにブルート フォースで侵入したい場合、考えられるすべてのパスワードを試し始める可能性がありますが、Google はすぐにそれらを遮断します。このようなアカウントへのアクセスを提供するサービスは、アクセス試行を制限し、何度もログインを試行する IP アドレスを禁止します。したがって、オンライン サービスに対する攻撃は、攻撃が停止されるまでに実行できる試行がほとんどないため、あまりうまく機能しません。

たとえば、ログイン試行が数回失敗すると、Gmail は CATPCHA 画像を表示して、パスワードを自動的に試行するコンピュータではないことを確認します。十分に長く続行できた場合、ログイン試行は完全に停止される可能性があります。

一方、攻撃者がコンピュータから暗号化されたファイルを盗んだり、オンライン サービスを侵害してそのような暗号化されたファイルをダウンロードしたとします。攻撃者は暗号化されたデータを自分のハードウェア上に保持しているため、好きなときに好きなだけパスワードを試すことができます。暗号化されたデータにアクセスできる場合、短期間に大量のパスワードを試行することを防ぐ方法はありません。強力な暗号化を使用している場合でも、データを安全に保ち、他の人がデータにアクセスできないようにすることが有益です。

ブルートフォース攻撃の説明: すべての暗号化がいかに脆弱であるか

ハッシュ化

強力なハッシュ アルゴリズムにより、ブルート フォース攻撃の速度が低下します。基本的に、ハッシュ アルゴリズムは、パスワードから得られた値をディスクに保存する前に、パスワードに対して追加の数学的作業を実行します。低速のハッシュ アルゴリズムを使用すると、各パスワードを試行するのに数千倍の数学的作業が必要となり、ブルート フォース攻撃の速度が大幅に低下します。ただし、必要な作業が増えるほど、ユーザーがパスワードを使用してログインするたびにサーバーまたは他のコンピュータが実行しなければならない作業も増えます。ソフトウェアは、ブルート フォース攻撃に対する回復力とリソースの使用量のバランスを取る必要があります。

ブルートフォース攻撃の説明: すべての暗号化がいかに脆弱であるか

ブルートフォーススピード

速度はすべてハードウェアに依存します。ビットコインマイナーがビットコインマイニング用に最適化された独自の特殊なハードウェアを構築するのと同じように、諜報機関はブルートフォース攻撃専用の特殊なハードウェアを構築する可能性があります。コンシューマ ハードウェアに関して言えば、ブルート フォース攻撃に最も効果的なタイプのハードウェアはグラフィック カード (GPU) です。さまざまな暗号化キーを一度に試すのは簡単なので、多数のグラフィックス カードを並行して実行するのが理想的です。

2012 年末、 Ars Technica は、25 GPU クラスターが 8 文字未満のすべての Windows パスワードを 6 時間以内に解読できると報告しました 。 Microsoft が使用した NTLM アルゴリズムは、回復力が十分ではありませんでした。ただし、NTLM が作成された時点では、これらすべてのパスワードを試行するにはさらに長い時間がかかりました。これは、Microsoft にとって暗号化を強化するのに十分な脅威とは考えられていませんでした。

速度は向上しており、数十年後には、現在使用している最も強力な暗号アルゴリズムや暗号鍵であっても、量子コンピューターや将来使用するその他のハードウェアによってすぐに解読されてしまう可能性があることが判明するかもしれません。

ブルートフォース攻撃の説明: すべての暗号化がいかに脆弱であるか

ブルートフォース攻撃からデータを保護する

自分自身を完全に守る方法はありません。コンピューター ハードウェアがどの程度高速になるか、また現在使用されている暗号化アルゴリズムに将来発見され悪用される弱点があるかどうかを言うことは不可能です。ただし、基本は次のとおりです。

  • 暗号化されたデータは、攻撃者がアクセスできない場所に安全に保管してください。データをハードウェアにコピーすると、いつでもそのデータに対してブルート フォース攻撃を試すことができます。
  • インターネット経由でログインを受け付けるサービスを実行している場合は、ログイン試行を制限し、短期間にさまざまなパスワードを使用してログインしようとするユーザーをブロックするようにしてください。セキュリティ対策として、サーバー ソフトウェアは通常、すぐにこれを行うように設定されています。
  • SHA-512 などの強力な暗号化アルゴリズムを使用します。簡単に解読される既知の弱点を持つ古い暗号化アルゴリズムを使用していないことを確認してください。
  • 長くて安全なパスワードを使用してください。 「パスワード」や人気の高い「hunter2」を使用している場合、世界中の暗号化テクノロジーは役に立ちません。

ブルート フォース攻撃は、データの保護、暗号化アルゴリズムの選択、パスワードの選択の際に懸念すべき事項です。これらは、より強力な暗号アルゴリズムを開発し続ける理由でもあります。暗号化は、新しいハードウェアによって無効になる速度に対応する必要があります。

画像クレジット: Flickr の Johan Larsson Jeremy Gosney

「ブルートフォース攻撃の説明: すべての暗号化がいかに脆弱であるか」に関するベスト動画選定!

【時短】情報セキュリティマネジメント試験 2分で覚える「ブルートフォース攻撃」【CBT方式対応】
リバースブルートフォース攻撃/情報セキュリティマネジメント試験【令和元年秋午前問19】