対象試験と出題頻度

詳細をクリックして確認
対象試験:
ITパスポート
情報セキュリティマネジメント
基本情報技術者
応用情報技術者
出題頻度:
★★★★★
ランクS(必須・超頻出)

用語の定義

総当たり攻撃(ブルートフォース攻撃)とは、一言で言うと「パスワードの全パターンを片っ端から試して、正解を見つけ出す攻撃」のことです。

イメージとしては、「4桁の暗証番号を、0000~9999まで全部試して開ける」ようなものです。
「ブルートフォース(Brute Force)」は「力ずく」という意味で、知恵や効率を使わずに、ひたすら全パターンを試し続ける単純だが確実な方法です。時間さえあれば、理論上どんなパスワードも突破できてしまいます。

解説

総当たり攻撃(ブルートフォース攻撃 / Brute Force Attack)は、パスワードクラッキングの最も基本的な手法です。考えられるすべての文字の組み合わせを順番に試していき、正しいパスワードを見つけ出します。例えば、小文字のアルファベット4文字のパスワードなら、「aaaa」「aaab」「aaac」…と約46万通りを試せば必ず正解にたどり着けます。

  • 辞書攻撃との違い:辞書攻撃は「人が使いそうな単語」に絞って効率的に試しますが、総当たり攻撃は単語かどうかに関係なく、すべての組み合わせを網羅的に試します。辞書にない完全ランダムなパスワードにも有効ですが、時間がかかります。
  • 解読にかかる時間:パスワードが長く、使用する文字種が多いほど、組み合わせ数は爆発的に増加します。例えば、英大小文字+数字+記号(約95種)で12文字のパスワードは、現在のコンピュータでも解読に天文学的な時間がかかります。

総当たり攻撃は、オンライン攻撃(ログイン画面に直接試行)とオフライン攻撃(盗んだパスワードハッシュに対して試行)の両方で使用されます。オンライン攻撃はアカウントロックや試行回数制限で比較的防ぎやすいですが、オフライン攻撃は攻撃者が自分のコンピュータで無制限に試行できるため、短いパスワードや単純なパスワードはすぐに解読されてしまいます。近年はGPU(グラフィックボード)を使った高速計算により、攻撃速度が飛躍的に向上しています。

具体的な活用例・対策

総当たり攻撃への対策は、パスワードの強化とシステム側の防御機能の両面から行います。

  • 長く複雑なパスワードの使用: パスワードは最低12文字以上、大文字・小文字・数字・記号を組み合わせて設定します。文字数が増えるごとに組み合わせ数は指数関数的に増加し、総当たり攻撃に要する時間が爆発的に長くなります。
  • アカウントロック機能: 一定回数(例:5回)のログイン失敗でアカウントを一時的にロックすることで、オンラインでの総当たり攻撃を実質的に不可能にします。
  • ログイン試行の遅延(スロットリング): ログイン失敗ごとに待機時間を設けたり、徐々に長くしたりすることで、大量の試行を困難にします。
  • 多要素認証(MFA)の導入: パスワードに加えて、ワンタイムパスワードや生体認証などの追加認証を要求することで、パスワードが解読されても不正ログインを防げます。
  • CAPTCHA(画像認証)の導入: ログイン画面にCAPTCHAを導入し、自動化されたプログラムによる大量試行を防ぎます。
  • パスワードハッシュの強化: システム側では、bcrypt、Argon2などの計算コストの高いハッシュアルゴリズムを使用し、オフライン攻撃での試行速度を低下させます。

試験ではこう出る!

ITパスポート、情報セキュリティマネジメント、基本情報技術者、応用情報技術者のすべてで頻出です。以下のキーワードとセットで覚えましょう。

【重要キーワード】

  • パスワードクラッキング
  • 辞書攻撃との違い
  • アカウントロック・試行回数制限
  • 多要素認証(MFA)
  • パスワードの文字数と組み合わせ数の関係

試験問題で「パスワードに使用できる文字のすべての組み合わせを順番に試していく攻撃」「力ずくであらゆるパターンを試し、パスワードを解読する攻撃」といった記述があれば、それは「総当たり攻撃(ブルートフォース攻撃)」に関する記述です。


【確認テスト】理解度チェック

ここまでの内容を理解できたか、簡単なクイズで確認してみましょう。

Q. 総当たり攻撃(ブルートフォース攻撃)に関する説明として、最も適切なものはどれでしょうか?

  • A. パスワードに使用できるすべての文字の組み合わせを順番に試して、正解を見つけ出す攻撃
  • B. 辞書に載っている単語やよく使われるパスワードのリストを使って試す攻撃
  • C. パスワードのハッシュ値を事前に計算したテーブルと照合して逆算する攻撃

正解と解説を見る

正解:A

解説:
総当たり攻撃(ブルートフォース攻撃)は、パスワードに使用できるすべての文字の組み合わせを順番に試して、正解を見つけ出す攻撃手法です。「ブルートフォース」は「力ずく」という意味で、時間さえかければ理論上どんなパスワードも解読できます。対策としては長く複雑なパスワードの設定、アカウントロック、多要素認証などが有効です。
選択肢Bは「辞書攻撃」の説明です。選択肢Cは「レインボーテーブル攻撃」の説明であり、いずれも総当たり攻撃とは異なる攻撃手法です。