辞書攻撃
辞書攻撃 とは何ですか?
辞書攻撃あらかじめ用意した一般語彙・漏えいパスワード・ルールに基づく派生形を候補とし、対象に試行する標的型パスワード推測攻撃。
辞書攻撃は、もっともらしい候補のみを試すことで総当たりの探索空間を絞り込みます。候補には一般的な単語、人名、日付、漏えいパスワード、ルールによる変形(「Password」→「P@ssw0rd!2025」)などが含まれます。最新のクラッキングツール(Hashcat、John the Ripper)は辞書、マスク、ハイブリッドルール、マルコフモデルを重ね合わせ、捕獲したハッシュを純粋な総当たりより桁違いに速く解読できます。
ワードリストが効果的な理由
実際の人間のパスワードは、鍵空間のごく一部に密集しています。代表的なワードリスト rockyou.txt は、2009 年 12 月の RockYou 侵害に由来します。SQL インジェクションにより約 3,200 万件の認証情報が流出し、同社はそれらを平文で保存していました。重複を除いた 14,344,392 件のパスワードのリストは今も Kali Linux に標準同梱され、捕獲したハッシュに対して侵入テスト担当者が最初に手にする定番です。その後の RockYou2021・RockYou2024 などの集成は多数の侵害から数十億件の文字列を集めていますが、ヒットの大半は依然として当初の数百万件から得られます。
現代的なクラックの流れ
攻撃者は生のリストをそのまま使うことはまれです。ルールファイル(Hashcat の best64、dive など)を適用して leet 置換・大文字小文字の切り替え・年号や接尾辞の付加を行い、ロングテールにはマスク攻撃やマルコフ攻撃を用います。一般的な GPU では、高速ハッシュ(MD5、ソルトなし SHA-1、NTLM)の背後にある弱いパスワードを数秒で回復します。
防御
防御は主に保存層にあります。Argon2id、bcrypt、scrypt(あるいは反復回数を増やした PBKDF2)によるソルト付き memory-hard ハッシュは、1 回の推測を高コストにします。これに漏えいパスワードの照合(例:Have I Been Pwned の k-匿名 API)、長いパスフレーズ、レート制限、アカウントロック、MFA を組み合わせ、回復されたパスワード単体では突破できないようにします。
flowchart LR
A[捕獲したパスワードハッシュ] --> B[ワードリストを読み込む<br/>rockyou.txt]
B --> C[変形ルールを適用<br/>leet・接尾辞・大文字小文字]
C --> D[対象のソルトとアルゴリズムで<br/>各候補をハッシュ化]
D --> E{ダイジェストが一致?}
E -->|一致| F[パスワード回復]
E -->|不一致| G[次の候補]
G --> C● 例
- 01
rockyou.txt と Hashcat のルールファイルで漏えいデータベースを解読する。
- 02
企業テーマのワードリストを捕獲した NTLM ハッシュにぶつける。
● よくある質問
辞書攻撃 とは何ですか?
あらかじめ用意した一般語彙・漏えいパスワード・ルールに基づく派生形を候補とし、対象に試行する標的型パスワード推測攻撃。 サイバーセキュリティの 攻撃と脅威 カテゴリに属します。
辞書攻撃 とはどういう意味ですか?
あらかじめ用意した一般語彙・漏えいパスワード・ルールに基づく派生形を候補とし、対象に試行する標的型パスワード推測攻撃。
辞書攻撃 からどのように防御しますか?
辞書攻撃 に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
辞書攻撃 の別名は何ですか?
一般的な別名: ワードリスト攻撃。