泥棒が金庫を開けるためにあらゆる暗証番号のコンビネーションを試すように、ブルートフォースアタック(総当たり攻撃)もあらゆるコンビネーションを試みることによりデータを盗もうとします。
この記事を読み終えると、以下のことができるようになります。
関連コンテンツ
是非、Cloudflareが毎月お届けす る「theNET」を購読して、インターネットで最も人気のある洞察をまとめた情報を入手してください!
記事のリンクをコピーする
ブルートフォース攻撃(総当たり攻撃)は、機密データをデコードするために使用される、トライアルアンドエラーの手法です。ブルートフォース攻撃のための最も一般的なアプリケーションは、パスワードのクラックと暗号化キーのクラックです(暗号化キーについては下記の詳細を参照)。ブルートフォース攻撃のその他の一般的な標的はAPIキーおよびSSHログインです。ブルートフォースパスワード攻撃は、多くの場合、Webサイトのログインページを標的とするスクリプトまたはボットによって実行されます。
ブルートフォース攻撃が他のクラック方法と異なるのは、ブルートフォース攻撃では知的戦略が採用されないことです。正しい組み合わせが見つかるまで、さまざまな文字の組み合わせを使用してみます。これは、ある意味、泥棒が暗証番号式の金庫に侵入するために、金庫が開くまで数字のあらゆる可能な組み合わせを試みるようなものです。
ブルートフォース攻撃の最大の利点は、比較的簡単に実行でき、十分な時間があって標的が適切な緩和戦略を実施していない場合、常に成功するということです。世の中に存在するあらゆるパスワードベースのシステムと暗号化キーは、ブルートフォース攻撃を使用してクラックできます。実際、システムにブルートフォースで侵入するのにかかる時間は、そのシステムのセキュリティレベルを測定するための有用な指標です。
一方、ブルートフォース攻撃は、目標を達成するまでにあらゆる可能な文字の組み合わせを実行する必要がある場合もあり、非常に時間がかかります。この緩慢さは、ターゲット文字列の文字数が増えるにつれて悪化します(文字列は単なる文字の組み合わせです)。たとえば、4文字のパスワードは3文字のパスワードよりもブルートフォースにかなり長くかかり、5文字のパスワードは4文字のパスワードよりもかなり長くかかります。文字数が特定のポイントを超えると、適切にランダム化されたパスワードのブルートフォースは非現実的になります。
標的となる文字列が十分に長い場合、ブルートフォース攻撃者が適切にランダム化されたパスワードをデコードするのには、数日、数ヶ月、場合によっては数年かかる場合があります。より長いパスワードと暗号化キーを求める現在の傾向の結果として、ブルートフォース攻撃はかなり困難になっています。適切なパスワードと暗号化が利用されると、攻撃者は通常、ソーシャルエンジニアリングやオンパス攻撃などの他のコード解読方法を試みます。
承認システムを管理する開発者は、ログインの失敗が多すぎるIPアドレスをロックアウトしたり、パスワードチェックソフトウェアに遅延を組み込むなどの手段を講じることができます。数秒でも遅延すると、ブルートフォース攻撃の効果が大幅に低下する可能性があります。
Webサービスのユーザーは、より長く複雑なパスワードを選択することにより、ブルートフォース攻撃に対する脆弱性を減らすことができます。また、二要素認証を有効にし、サービスごとに一意のパスワードを使用することをお勧めします。攻撃者がブルートフォースを行ってユーザーが使用する1つのサービスのパスワードを盗んだ場合、その攻撃者は他の多くの一般的なサービスで同じログインとパスワードを再利用する恐れがあります。これは、クレデンシャルスタッフィングとして知られています。
強力な暗号化キーを用いてデータを保護していないWebサービスには、パスワード、クレジットカード番号のような個人情報あるいは口座情報を入力するべきではありません。
暗号化キーは、データにスクランブルをかけたりスクランブルを解除したりするために生成されるランダムなビット列です。データがスクランブルされると、正しい暗号化キーでスクランブルが解除されるまで、ランダムでごちゃ混ぜの文字列として表示されます。パスワードと同じように、ブルートフォース攻撃を使用して暗号化キーをクラックできますが、現在使用されている暗号化キーは、最新のコンピューターを使用してもクラックするのには長い時間がかかるため、ほぼ解読不能と見なされています。
暗号化キーが長い方が、短いものよりも指数関数的に安全性が高まります。128ビット暗号化キーには、ブルートフォースの攻撃者が試行しなければならない組み合わせが 2128通りあります。256 ビット暗号化の場合、攻撃者は 2256の異なる組み合わせを試す必要があり、128 ビットキーをクラックするよりも計算能力は 2128倍必要になります。(2128 = 340,282,366,920,938,463,463,374,607,431,768,211,456 の可能な組み合わせ)
これらの数が意味するものは、たとえば、毎秒数兆通りのコンビネーションをチェックすることができる強力なコンピューターでも、256ビットの暗号化キーを解読するには、1000極(1の後ろにゼロ96個)年かかるということです。
高ビットの暗号化キーは現在のブルートフォース攻撃の影響をほとんど受けないため、ユーザー情報を収集するすべてのWebサービスは、256ビット暗号化キーを使用してデータと通信を暗号化することをお勧めします。Cloudflareは、クラス最高のTLS暗号化を使用してブルートフォース攻撃を防止し、量子コンピューティングに対する将来の保証に取り組んでいます。