総当たり攻撃 (ソウアタリコウゲキ) とは | 意味や読み方など丁寧でわかりやすい用語解説

作成日: 更新日:

総当たり攻撃 (ソウアタリコウゲキ) の読み方

日本語表記

総当たり攻撃 (ソウアタリコウゲキ)

英語表記

brute-force attack (ブルートフォースアタック)

総当たり攻撃 (ソウアタリコウゲキ) の意味や用語解説

総当たり攻撃(ブルートフォースアタック)とは、暗号解読やパスワード特定のために、考えられる全ての組み合わせを順番に試行する攻撃手法である。その名の通り、理論上可能なパターンを力ずくで全て試すことから、非常に単純かつ古典的な攻撃手法として知られている。この攻撃は、Webサイトやシステムのログイン認証、暗号化されたファイルのパスワード解除、通信の暗号鍵の特定など、認証や機密性が求められる様々な場面で用いられる。攻撃の成否は、試行する組み合わせの総数に大きく依存するため、対象となるパスワードや鍵が短く、単純な文字種で構成されているほど、短時間で成功する可能性が高まる。 総当たり攻撃には、そのアプローチによっていくつかの種類が存在する。最も基本的なものは、文字種と文字数を仮定し、その範囲内の全パターンを機械的に生成して試行する手法である。例えば、4桁の数字で構成されるPINコードを破る場合、「0000」から「9999」までの1万通りを順番に試していく。コンピュータの計算能力は年々向上しており、英小文字と数字のみで構成された6文字程度の短いパスワードであれば、現代のコンピュータ性能をもってすれば比較的短時間で解読が可能である。より効率的な手法として、辞書攻撃(ディクショナリアタック)がある。これは、予め用意された辞書ファイルに含まれる単語や、過去に漏洩したパスワード、よく使用される安易なパスワードのリストを用いてログインを試行するものである。多くのユーザーが覚えやすい単語や人名、地名などをパスワードに設定する傾向があるため、辞書攻撃は単純な総当たり攻撃よりもはるかに少ない試行回数で成功することが多い。攻撃者は、一般的な辞書だけでなく、特定のコミュニティで使われる専門用語や、ターゲットに関連する情報を組み合わせたカスタム辞書を作成して攻撃の精度を高めることもある。また、攻撃の視点を変えた逆総当たり攻撃(リバースブルートフォースアタック)も存在する。これは、一つのユーザーアカウントに対して多数のパスワードを試すのではなく、一つのよく使われるパスワードを多数のユーザーアカウントに対して試行する攻撃である。多くのシステムでは、同一アカウントでのログイン失敗が一定回数続くとアカウントをロックする機能が実装されているが、この攻撃手法では各アカウントに対する試行は一度きりであるため、アカウントロックを回避しやすいという特徴がある。パスワードスプレー攻撃は、この逆総当たり攻撃をさらに巧妙にしたものであり、少数のパスワードを非常にゆっくりとしたペースで広範囲のアカウントに試すことで、システムによる異常検知を逃れようとする。 総当たり攻撃の成功に要する時間は、パスワードの長さと使用されている文字の種類に大きく左右される。パスワードの文字数が1文字増えるだけで、試行すべき組み合わせの総数は指数関数的に増加する。例えば、使用可能な文字種が90種類(英大小文字、数字、記号)ある場合、8文字のパスワードの組み合わせは約43京通りにも達し、解読には膨大な時間が必要となる。したがって、ユーザーが設定するパスワードの複雑性が、セキュリティ強度を決定する最も重要な要素となる。この攻撃からシステムを守るためには、利用者側とシステム提供者側の双方で対策を講じる必要がある。利用者側でできる最も基本的かつ効果的な対策は、長く、複雑なパスワードを設定することである。英大文字、小文字、数字、記号を組み合わせ、十分な長さ(例えば12文字以上)を確保することが推奨される。また、複数のサービスで同じパスワードを使い回すことは、一つのサービスからパスワードが漏洩した場合に他のサービスも危険に晒すことになるため、絶対に避けなければならない。パスワード管理ツールなどを利用して、サービスごとに固有で複雑なパスワードを生成・管理することが望ましい。 システム提供者側では、より多角的な防御策を実装する必要がある。第一に、アカウントロック機能の実装である。ログイン試行が一定回数失敗した場合に、そのアカウントを一時的に利用不可能にすることで、攻撃者による連続的な試行を阻止する。第二に、ログイン試行回数の制限(レートリミット)である。特定のIPアドレスからのアクセスに対して、単位時間あたりの試行回数に上限を設けることで、攻撃のペースを強制的に遅くさせる。第三に、CAPTCHAの導入である。歪んだ文字の読み取りや画像の選択など、コンピュータプログラムによる自動化が困難な認証プロセスを挟むことで、ボットによる攻撃を効果的に防ぐ。そして、最も強力な対策の一つが、多要素認証(MFA)の導入である。パスワードという知識情報に加え、SMSで送られるワンタイムコードや認証アプリ、指紋などの生体情報といった、所有情報や生体情報を組み合わせることで、たとえパスワードが突破されたとしても、不正ログインを防ぐことができる。加えて、サーバー側でパスワードを保管する際には、ソルトと呼ばれるランダムなデータを付与した上で、複数回のハッシュ化処理を行うなど、漏洩した場合でも元のパスワードを推測されにくい堅牢な形式で保存することが不可欠である。総当たり攻撃は、その仕組みが単純であるからこそ、対策が不十分なシステムに対しては依然として強力な脅威であり続ける。ユーザーは推測されにくいパスワードを設定するという基本的な責務を果たし、システム開発者・管理者はログイン試行の監視や多要素認証といった複数の防御機構を組み合わせることで、この古典的かつ執拗な攻撃から情報資産を保護することが求められる。

総当たり攻撃 (ソウアタリコウゲキ) とは | 意味や読み方など丁寧でわかりやすい用語解説