ブルートフォース攻撃(総当たり攻撃)とは、パスワードとして考えられるすべての文字の組み合わせを機械的に順番に試し続けることで、正しいパスワードを割り出そうとする攻撃手法です。「力任せ(brute force)」という名称のとおり、理論上はどんなパスワードでもいつかは解読できるという原理に基づいています。
ブルートフォース攻撃の特徴は、特別な情報や技術を必要とせず、時間さえかければ必ず解読できる点にあります。しかし裏を返せば、パスワードが長く複雑であるほど試行回数が膨大になるため、解読に要する時間も指数関数的に増大します。たとえば、4桁の数字のみのパスワードは最大1万通りの試行で解読できますが、英数字・記号を組み合わせた12文字以上のパスワードは現実的な時間内での解読が極めて困難となります。
近年では、高性能なコンピュータやGPUを活用した高速な総当たり処理が可能となっており、短いパスワードや単純な文字列は短時間で解読されるリスクが高まっています。また、あらかじめよく使われるパスワードのリストを用いる辞書攻撃や、ハッシュ値と元のパスワードの対応表を使うレインボーテーブル攻撃など、ブルートフォース攻撃を発展させた手法も多数存在します。
被害を防ぐための対策としては、まず英字(大文字・小文字)・数字・記号を組み合わせた12文字以上の複雑なパスワードを設定することが基本です。また、一定回数のログイン失敗でアカウントをロックする機能の導入や、多要素認証の設定も有効な防御手段です。パスワードの使い回しを避け、サービスごとに異なるパスワードを設定することも、被害の拡大を防ぐうえで重要です。
ブルートフォース攻撃は古典的な手法でありながら、現在も有効な攻撃として多く使用されています。基本的なパスワード管理の徹底こそが、最も確実な対策といえます。
ブルートフォース攻撃に該当するものはどれか。
| ア | WebブラウザとWebサーバの間の通信で,認証が成功してセッションが開始されているときに,Cookieなどのセッション情報を盗む。 |
| イ | コンピュータへのキー入力を全て記録して外部に送信する。 |
| ウ | 使用可能な文字のあらゆる組合せをそれぞれパスワードとして,繰り返しログインを試みる。 | エ | 正当な利用者のログインシーケンスを盗聴者が記録してサーバに送信する。 |