ブルートフォース攻撃 ぶるーとふぉーすこうげき
簡単に言うとこんな感じ!
「0000」「0001」「0002」…って暗証番号を片っ端から試し続ける、まさに力まかせの鍵破り攻撃だよ!コンピュータはこれを猛スピードでやるから、短くて単純なパスワードはあっという間に突破されちゃうんだ。
ブルートフォース攻撃とは
ブルートフォース攻撃(Brute Force Attack)とは、パスワードや暗号鍵など考えられる組み合わせをすべて機械的に試し続けることで、正解を見つけ出そうとするサイバー攻撃の手法です。「ブルートフォース」とは「力まかせ」を意味し、知性ではなく計算力でごり押しするアプローチが特徴です。
たとえば4桁の数字パスワードなら「0000〜9999」の1万通りを試せば必ずヒットします。現代のコンピュータは1秒間に数十億回の試行が可能なため、短いパスワードや単純なパスワードは数秒〜数分で突破されてしまう危険があります。
ビジネスの現場では、社内システムや業務アプリのログイン画面が標的になりやすく、攻撃を受けてもすぐ気づかないケースが多いため、発注・選定段階で「対策が組み込まれているか」を必ず確認すべき脅威です。
攻撃の種類と仕組み
ブルートフォース攻撃にはいくつかのバリエーションがあります。攻撃方法を理解すると、どんな対策が有効かが見えてきます。
| 攻撃の種類 | 内容 | 特徴 |
|---|---|---|
| 純粋な総当たり | a, b, c … aa, ab … と全組み合わせを試す | 確実だが時間がかかる |
| 辞書攻撃 | 「password」「123456」など実際に使われやすい単語リストを使う | 効率が高く被害が多い |
| リバースブルートフォース | パスワードを固定して、多数のIDを試す | アカウントロックをすり抜ける |
| クレデンシャルスタッフィング | 過去の漏洩データ(ID+パスワードのセット)を使い回す | 成功率が高く非常に危険 |
| ハイブリッド攻撃 | 辞書単語+数字・記号の組み合わせを試す | 「password1!」などに有効 |
覚え方:「総・辞・逆・詰・混」
「総当たり → 辞書 → 逆引き → 詰め込み(クレデンシャル) → 混合(ハイブリッド)」と段階的に”賢く”なっていくイメージで覚えると整理しやすいですよ。
パスワード長と解読時間の目安
パスワードが1文字増えるだけで試行回数は数十倍に膨れ上がります。
| パスワードの長さ | 使用文字種 | 組み合わせ数 | 突破時間の目安 |
|---|---|---|---|
| 4文字 | 数字のみ | 約1万通り | 即時〜数秒 |
| 6文字 | 英小文字のみ | 約3億通り | 数秒〜数分 |
| 8文字 | 英大小文字+数字 | 約218兆通り | 数時間〜数日 |
| 12文字 | 英大小+数字+記号 | 約4京通り超 | 現実的には解読不能 |
※ 攻撃機材の性能・ハッシュ化方式によって大きく変わります。あくまで目安として。
歴史と背景
- 1960〜70年代:コンピュータ黎明期から、暗号解読の手法として総当たり探索は研究されていた
- 1977年:DES(データ暗号化標準)が制定。当初56ビット鍵は安全とされたが、後にブルートフォースで破られることが証明された
- 1997年:RSAセキュリティが主催したDES解読コンテストで、分散コンピューティングにより96日で解読成功
- 1999年:専用ハードウェア「EFF DES Cracker」がDESを22時間で解読。鍵長の短い暗号の危険性が広く認識される
- 2000年代:インターネット普及に伴い、Webアプリへのログイン攻撃が急増。自動化ツール(Hydra、Medusaなど)が出回り始める
- 2010年代:GPUを使った並列処理によりパスワードハッシュの解析速度が爆発的に向上。クラウドも攻撃基盤として悪用されるように
- 2020年代:クレデンシャルスタッフィングが主流化。SNSや EC サイトの認証情報漏洩が連鎖的な被害を引き起こすケースが激増
対策の全体像と各手法の比較
ブルートフォース攻撃への対策は「試行を困難にする」「試行を検知・遮断する」「パスワード以外の要素を加える」の3軸で考えます。
対策の実務チェックポイント
システム発注・選定時に必ず確認したい項目をまとめました。
| チェック項目 | 確認内容 | 優先度 |
|---|---|---|
| アカウントロック | 何回失敗でロックか?ロック解除方法は? | ★★★ |
| MFA対応 | 多要素認証に対応しているか | ★★★ |
| レートリミット | 短時間の大量アクセスを制限できるか | ★★★ |
| ログイン監視 | 不審なログインを検知・通知できるか | ★★☆ |
| パスワードポリシー | 最低文字数・複雑さ要件が設定できるか | ★★☆ |
| CAPTCHA | ボットによる自動試行を防止できるか | ★☆☆ |
関連する規格・RFC
| 規格・RFC番号 | 内容 |
|---|---|
| RFC 8018 | PKCS #5: パスワードベース暗号化仕様。パスワードからの鍵導出に反復処理を使い、ブルートフォースを困難にする |
| RFC 9106 | Argon2 メモリハード関数の仕様。総当たり攻撃耐性を高めるパスワードハッシュアルゴリズム |
| RFC 4226 | HOTP(HMAC-Based One-Time Password)。ワンタイムパスワードによるMFAの基盤仕様 |
| RFC 6238 | TOTP(Time-Based One-Time Password)。時刻ベースのワンタイムパスワード仕様(Google Authenticatorなど) |
関連用語
- 多要素認証(MFA) — パスワード以外の要素を加えて認証強度を高める仕組み
- 辞書攻撃 — よく使われるパスワードリストを使った効率的なパスワードクラック手法
- クレデンシャルスタッフィング — 漏洩したID・パスワードを別サービスに使い回す攻撃
- アカウントロック — 一定回数の認証失敗でアカウントを一時停止する防御機能
- レートリミット — 短時間の大量リクエストを制限してボット攻撃を防ぐ仕組み
- パスキー(FIDO2) — パスワード不要の公開鍵認証。ブルートフォースを根本的に無効化する
- シングルサインオン(SSO) — 一度の認証で複数サービスにアクセス。認証の集約管理でリスクを低減
- ハッシュ関数 — パスワードを保存する際に使われる一方向変換処理