あなたのチームは時間内に次のゼロデイを受け入れますか?
AI、サイバーセキュリティ、データ、自動化に関する厳選されたニュースをThinkニュースレターで購読しているセキュリティリーダーに加わりましょう。専門家によるチュートリアルと解説をメールで直接配信することで、手軽に学ぶことができます。IBMプライバシー・ステートメントをご覧ください。
ブルートフォース攻撃は、ソフトウェアの脆弱性を悪用する他のサイバー攻撃とは異なり、計算能力と自動化を利用してパスワードや鍵を推測します。基本的なブルートフォースの試みは、自動化されたスクリプトやボットを使って、1分間に何千ものパスワードの組み合わせをテストするもので、泥棒が南京錠が開くまでありとあらゆる組み合わせを試すようなものです。
脆弱なパスワードや単純なパスワードは作業を容易にしますが、強力なパスワードは、この種の攻撃を極めて時間がかかるか非現実的なものにする可能性があります。しかし、より高度なブルートフォース手法が常に開発されています。
今日のサイバー脅威の増大のスピードと規模を理解するために、マイクロソフトが1秒あたり平均4,000件のID攻撃をブロックしていることを考えてみましょう。しかし、攻撃者は限界を押し広げて進み続けます。特殊なパスワードクラッキング装置では、同じ秒間で約7.25兆回のパスワード試行が可能です。
そして現在、量子コンピューティングの出現とポスト量子暗号の必要性により、ブルートフォース攻撃はもはや今日のハードウェアによって制限されなくなりました。RSA暗号化などの認証のための最新の暗号化方式は、大きな数を素数に因数分解する計算上の困難さに依存しています。
2048ビットを超えるファクタリングには、現在のコンピューティング能力では数十億年かかります。しかし、約2,000万量子ビットを備えた十分に高度な量子コンピューターはわずか数時間で2,048ビットのRSAキーを解読できます。
AI、サイバーセキュリティ、データ、自動化に関する厳選されたニュースをThinkニュースレターで購読しているセキュリティリーダーに加わりましょう。専門家によるチュートリアルと解説をメールで直接配信することで、手軽に学ぶことができます。IBMプライバシー・ステートメントをご覧ください。
ブルートフォース攻撃は、セキュリティー防御の最も弱いリンク、つまり人間が選んだパスワードや十分に保護されていないアカウントを狙うため、深刻なサイバーセキュリティーの脅威となっています。
ブルートフォース攻撃が成功すると、即座に不正アクセスにつながる可能性があります。攻撃者はユーザーになりすまして、機密データを盗んだり、ネットワークにさらに侵入したりすることができます。さらに、より複雑なハッキングとは異なり、ブルートフォース攻撃は比較的技術的なスキルを必要とせず、粘り強さとリソースだけを必要とします。
ブルートフォース攻撃の主なリスクの1つは、侵害された単一のアカウントが連鎖的な効果をもたらす可能性があることです。例えば、サイバー犯罪者が管理者の認証情報を総当たり攻撃で見つけた場合、それを悪用して他のユーザー・アカウントを侵害することができます。
通常のユーザー・アカウントであっても、一度アクセスされると、個人情報が漏洩したり、より特権的なアクセスへの足がかりとして利用されたりする可能性があります。多くのデータ侵害やランサムウェア・インシデントは、攻撃者がブルートフォース攻撃を使用して、リモート・デスクトップ・プロトコル(RDP)やVPNログインなどのリモートアクセス・アカウントを解読することから始まります。侵入されると、攻撃者はマルウェアやランサムウェアを展開したり、システムをロックダウンしたりする可能性があります。
ブルートフォース攻撃は、攻撃の試行回数が膨大になる可能性があるため、ネットワーク・セキュリティー上の懸念事項でもあります。大きなネットワーク・ノイズは認証システムを圧倒したり、より静かなサイバー攻撃の煙幕として機能したりする可能性があります。
最近、研究者らは、VPNとファイアウォールを標的として約300万の固有IPアドレスを利用した世界規模のブルートフォース・キャンペーンを観察し、このような攻撃がいかに大規模かつ分散的になる可能性があるかを浮き彫りにしました。
通常、失敗したユーザーパスワードの試行が急増すると、防御側に気づかれるものですが、攻撃者はその活動を隠蔽する手段を持っています。攻撃者は、ボットまたはボットネット(侵害されたコンピューターのネットワーク)を使用して、ソーシャル・メディア・アカウントなどのさまざまなソースに試みを分散できます。これにより、悪意のあるログインの試みが通常のユーザーの行動に紛れ込んでしまいます。
ブルートフォース攻撃は、その重大性に加えて、他の戦術と関連していることが多いことに注意することが重要です。例えば、攻撃者はフィッシングを使用して1つのアカウントの認証情報を取得し、別のアカウントの認証情報を取得するためにブルート・フォース攻撃を行う可能性があります。あるいは、ブルートフォース攻撃の成果(パスワードの窃盗)を利用して、他の場所でフィッシング詐欺や詐欺を実行する可能性があります。
ブルートフォース攻撃がどのように機能するかを理解するために、攻撃者がテストする必要がある可能性のあるパスワードの膨大な数を考えてみましょう。ブルートフォース攻撃は、認証情報を高速に生成してチェックすることで動作します。攻撃者は、すぐに思いつくもの(「password」や「123456」など)から始め、正しいパスワードを発見するまで、可能なすべての文字の組み合わせを体系的に生成していくかもしれません。
現代の攻撃者は、マルチコアのコンピューター処理装置(CPU) からクラウド・コンピューティング・クラスターに至るまで、膨大なコンピューティング能力を活用してこのプロセスを加速します。
例えば、小文字だけを使った6文字のパスワードは、26^6通りの可能性があります。これは、約3億800万通りの組み合わせです。今日のハードウェアでは、この推測の回数はほとんど瞬時に行うことができます。つまり、6文字の弱いパスワードはすぐに解読されてしまうのです。
対照的に、大文字と小文字、数字、特殊文字が混在した長いパスワードは、指数関数的に多くの可能性を生み出し、それを正しく推測するために必要な時間と労力の量が大幅に増加します。
危険にさらされているのはパスワードだけではありません。ブルートフォース方式では、可能な鍵の全範囲(「鍵空間」とも呼ばれます)を網羅的に検索することで、ファイルを暗号化したり、暗号鍵を発見したりすることもできます。このような攻撃が実行できるかどうかは、鍵の長さとアルゴリズムの強度によって異なります。例えば、128ビットの暗号化には天文学的な数の可能性があり、現在のテクノロジーでは総当たり攻撃は事実上不可能です。
実際には、ブルートフォース攻撃は、解読不可能な暗号の解読ではなく、人的要因を悪用すること、つまり一般的なパスワードの推測、パスワードの再利用の想定、またはロックアウト・メカニズムのないシステムの標的とすることで成功することがよくあります。
ブルートフォース攻撃は、2つのコンテキストで適用されることがあります。オンライン攻撃(稼働中のシステムに対するリアルタイムの試行)と、オフライン攻撃(盗まれたデータ、たとえばハッシュ化されたパスワードを使用する攻撃。ハッシュとは、パスワードから生成される短く固定長のコードで、逆算がほぼ不可能とされています)です。
オンライン攻撃では、ハッカーはWebアプリケーションのログインやSSHサービスなどのターゲット・システムと通信し、リアルタイムでパスワードを試行します。攻撃速度はネットワークの遅延と防御メカニズムによって制限されます。
たとえば、レート制限は一定時間内の試行回数を制限し、CAPTCHAは人間とボットを区別する認証方法です。攻撃者は、オンラインの試みを複数のIPアドレスに分散するか、ボットネットを使用して、IPベースのブロックの起動を回避することがよくあります。
オフライン攻撃では、攻撃者は暗号化されたデータやパスワードのハッシュを(例えばデータ侵害から)すでに入手しており、ターゲットに警告を発することなく、自分のマシンを使って1秒間に何百万、何十億もの推測を試みることができます。ブルートフォース戦略を容易にするために、専用のパスワード・クラッキング・ツール(通常はオープンソース)が存在します。
例えば、John the Ripper、Hashcat、Aircrack-ngは、ブルートフォースによるパスワード・クラッキングを自動化する一般的なツールです。これらのツールは、推測の急増を管理するアルゴリズムと、グラフィックス処理装置(GPU) を使用して、驚異的な速度でパスワードをハッシュおよび比較します。
ブルートフォース攻撃にはいくつかの形態があり、それぞれが異なるストラテジーを使用して、認証情報を推測したり再利用したりして不正アクセスを取得します。
このアプローチでは、許可されている文字のすべての組み合わせを段階的に繰り返すことで、考えられるすべてのパスワードを試します。単純なブルートフォース攻撃(網羅的検索とも呼ばれます)では、パスワードに関する予備知識は一切使用されません。「aaaa...」「aaab...」などのパスワードを、文字セットに応じた数字や記号を含め、「zzzz...」を介して体系的に試行します。
十分な時間があれば、単純なブルートフォース攻撃でも、純粋な試行錯誤を通じて最終的に正しい認証情報を見つけるでしょう。ただし、パスワードが長い場合や複雑な場合は、非常に時間がかかることがあります。
辞書攻撃では、考えられるパスワードの組み合わせをすべてやみくもに繰り返すのではなく、可能性の高いパスワードの厳選されたリスト(用語の「辞書」)を使用して推測を迅速化します。
攻撃者は、一般的な単語、フレーズ、パスワード(「admin」「letmein」「password123」など)のリストを作成します。多くのユーザーは単純なパスワードや、辞書の一般的な単語に基づいた弱いパスワードを選択するため、この方法は短期間で成果を上げることができます。
ハイブリッド攻撃は、辞書攻撃のアプローチと単純な総当たりの手法を組み合わせたものです。攻撃者は、可能性のある基本単語のリストを取得し、その単語を中心に総当たりの変更を適用します。例えば、「spring」という語は、複雑さの要件を満たすために大文字、数字、または記号を追加することで、「Spring2025!」として試すことができます。
認証情報スタッフィングは、ブルートフォース攻撃の特殊な攻撃バージョンであり、攻撃者はあるデータ侵害から盗んだログイン認証情報(ユーザー名とパスワードのペア)を使用して、他のWebサイトやサービスでそれを試します。攻撃者は、多くの人が異なるアカウントで同じ認証情報を使用しているという事実に賭けて、新しいパスワードを推測するのではなく、既知のパスワードを複数のログイン・フォームに入力します。
レインボー・テーブル攻撃は、事前に計算されたハッシュのテーブルを使用することで、計算時間とメモリを交換するオフラインのパスワード・クラッキング技術です。攻撃者は、推測したパスワードをその場でハッシュ化するのではなく、多くの可能なパスワードのハッシュ値の巨大なルックアップ・テーブルである「レインボー・テーブル」を使用して、ハッシュと元のパスワードを素早く照合します。
逆ブルートフォース攻撃では、ハッカーは通常の攻撃方法を転換します。1人のユーザーに対して多くのパスワードを試行する代わりに、多数の異なるユーザー・アカウントに対して1つのパスワード(または小さなセット)を試行します。
パスワードスプレー攻撃は、リバース・ブルートフォース手法をよりステルス化したバージョンです。攻撃者は、一般的なパスワードの小さなリスト(「Summer2025!」など)を複数のアカウントにわたって使用します。これにより、1つのアカウントでロックアウト保護をトリガーすることなく、複数のユーザーをターゲットにすることができます。
組織は、ブルートフォース攻撃から保護するために、複数のセキュリティー対策を実装できます。主要なプラクティスには以下が含まれます。
複雑なパスワードを確保するために、より長いパスワード(少なくとも12~15文字)と文字の種類(大文字、小文字、数字、特殊文字)の組み合わせが必要です。パスフレーズを奨励し、 PASSWORD MANAGERを促進することで、ユーザーが安全な認証情報を生成して保管できるようにします。
追加の認証要素を追加します。多要素認証(ワンタイム・コードや認証アプリなど) により、パスワードだけではアクセスできないことが保証されます。
ロックアウト・ポリシーを実装して、ログイン試行が数回失敗した後にアカウントが一時的にロックされるようにします。CAPTCHAはボットと実際のユーザーを区別し、ブルートフォース攻撃を遅らせることができます。
リアルタイム監視と異常検出を導入します。過度に失敗した試行、または通常とは異なるIPアドレスからのログインにフラグを付けます。さらに、自動システムを使用して疑わしいソースを禁止します。
保管パスワード (bcrypt や Argon2 など) には、ハッシュとランダム・データを組み合わせた強力なソルト付きハッシュを使用します。2要素認証などの安全な認証プロトコルを適用し、SSHやRDPなどの機密性の高いアクセス・ポイントにVPNを要求し、デフォルトの認証情報を無効にします。
ロックアウト・ルールや暗号化などの障壁を追加することで、ブルートフォース侵入を阻止するのに役立ちます。人と技術の両方の要因に対応する階層型アプローチを採用することで、組織はブルートフォース攻撃からより適切に保護することができます。