← 攻撃手法一覧
認証攻撃パスワードクラックコンピュータの誕生〜現在

ブルートフォース攻撃とは

ブルートフォース攻撃(総当たり攻撃)はパスワードや暗号鍵を 可能な限りすべての組み合わせで試行することで認証を突破する攻撃です。 「力任せ(Brute Force)」という名前の通り、技術的な脆弱性ではなく 計算リソースによって突破を試みます。 コンピュータの高速化とクラウドの普及により、かつては安全とされていたパスワードも 短時間で解読されるリスクが高まっています。

目次
1. ブルートフォース攻撃の概要2. 攻撃の種類3. 解読にかかる時間4. 主な攻撃ツール5. 被害事例6. 対策・予防方法

1. ブルートフォース攻撃の概要

ブルートフォース攻撃の対象は多岐にわたります。 Webサービスのログイン・SSH・RDP・データベース・暗号化ファイルなど、 パスワードや鍵で保護されたあらゆるシステムが標的になります。

Webサービスへの不正ログイン
銀行・SNS・メールなどのログインフォームにパスワードを繰り返し試行する
SSH・RDPへの侵入
サーバーのリモートアクセスに対して自動化されたツールで大量試行する
パスワードハッシュの解読
漏洩したデータベースのハッシュ化パスワードを解読して元のパスワードを取得する
暗号化ファイルの解読
ZIP・PDF・Office文書などの暗号化ファイルのパスワードを解読する

2. 攻撃の種類

純粋なブルートフォース低速
a, b, c...aa, ab, ac...のようにすべての文字の組み合わせを順番に試す。確実だが時間がかかる。
辞書攻撃(Dictionary Attack)高速
よく使われるパスワード・単語・フレーズのリストを使って試行する。一般的なパスワードに非常に有効。「password」「123456」「qwerty」などが含まれる。
リバースブルートフォース高速
IDを変えながら同じパスワードを試す手法。「123456」などのよく使われるパスワードで大量のアカウントを試す。アカウントロックを回避できる。
クレデンシャルスタッフィング最高速
過去のデータ漏洩で流出したID・パスワードの組み合わせを他のサービスで試す。パスワードの使い回しを悪用する。現在最も被害が多い手法。
パスワードスプレー攻撃高速
多数のアカウントに対して少数のよく使われるパスワードのみを試す。アカウントロックのしきい値を下回るよう設計されている。
レインボーテーブル攻撃超高速
事前に計算したハッシュ値と元のパスワードの対応表(レインボーテーブル)を使い、ハッシュから素早くパスワードを逆引きする。

3. 解読にかかる時間

現代のGPUを使ったパスワードクラックツール(Hashcatなど)は、 1秒間に数十億回のパスワード試行が可能です。 以下はMD5ハッシュを解読する場合の目安です(2024年時点、高性能GPU使用)。

6桁数字のみ(000000〜999999)即時
8桁英数字小文字のみ数分
8桁英数字大文字小文字数時間
10桁英数字大文字小文字+記号数週間
12桁英数字大文字小文字+記号数年
16桁英数字大文字小文字+記号数千年以上

※ 使用するハッシュアルゴリズム・GPU性能・パスワードの複雑さにより大きく変わります

4. 主な攻撃ツール

以下のツールはペネトレーションテストや自分のシステムの強度確認に使われますが、 不正アクセスへの使用は違法です。

Hashcatオフラインクラック
世界最速のパスワードクラッキングツール。GPU並列処理に対応し、多数のハッシュアルゴリズムをサポート。
John the Ripperオフラインクラック
古くから使われているオープンソースのパスワードクラッカー。多くのLinuxディストリビューションに標準搭載。
Hydraオンライン攻撃
SSH・FTP・HTTP・RDPなど多数のプロトコルに対応したオンラインブルートフォースツール。
Medusaオンライン攻撃
並列処理に対応した高速なオンラインブルートフォースツール。

5. 被害事例

2013年Adobe Systems
1億5千万件のアカウント情報が漏洩。パスワードが脆弱な暗号化で保存されていたため、ブルートフォースにより多数のパスワードが解読された。
2016年国内企業多数(クレデンシャルスタッフィング)
他社から漏洩したIDとパスワードを使い、日本の複数のECサイト・ポイントサービスへの不正ログインが多発。ポイントの不正利用被害が急増した。
2019年日本の仮想通貨取引所
ブルートフォース攻撃により複数の顧客アカウントに不正ログインが発生。仮想通貨が不正に引き出される被害が発生した。
2020年〜現在テレワーク環境のRDP・VPN
コロナ禍でのテレワーク普及に伴い、RDP(3389番ポート)へのブルートフォース攻撃が世界中で急増。パスワードが弱いサーバーへの侵入が多発した。

6. 対策・予防方法

最重要長く複雑なパスワードを使用する(12文字以上、英数字大文字小文字+記号)
最重要多要素認証(MFA)を有効化する。パスワードが解読されても不正ログインを防げる
最重要パスワードの使い回しをしない。サービスごとに異なるパスワードを使用する
推奨パスワードマネージャーを使用して複雑なパスワードを管理する
推奨パスキー(FIDO2)を使用してパスワードレス認証に移行する
サーバー向けログイン失敗回数を制限してアカウントロックを実装する
サーバー向けCAPTCHAを導入して自動化された試行を防ぐ
サーバー向けIPアドレスベースのレート制限を実装する
サーバー向けbcrypt・scrypt・Argon2などの計算コストの高いハッシュ関数を使用する
サーバー向けSSH・RDPは公開鍵認証に切り替え、パスワード認証を無効化する

まとめ

ブルートフォース攻撃は古典的ながら現在も最も多く使われる攻撃手法の一つです。 特にクレデンシャルスタッフィングは他社の漏洩データを悪用するため、 自分のシステムに脆弱性がなくても被害に遭う可能性があります。 長くて複雑なパスワードの使用・多要素認証・パスワードの使い回し禁止の3つを 徹底することで大部分の攻撃を防ぐことができます。

参考・関連リンク

IPA - 不正ログイン対策OWASP - Testing for Brute ForceHave I Been Pwned - パスワード漏洩確認