対象試験と出題頻度
詳細をクリックして確認
ITパスポート
情報セキュリティマネジメント
基本情報技術者
応用情報技術者
★★★☆☆
ランクB(標準)
用語の定義
辞書攻撃とは、一言で言うと「辞書に載っている単語や、よく使われるパスワードのリストを使って、パスワードを次々と試して解析する攻撃」のことです。
イメージとしては、「金庫の暗証番号を、『1234』『0000』『誕生日』など、人がよく使いそうな番号リストを使って順番に試していく」ようなものです。
多くの人が覚えやすい単語や簡単なパスワードを使いがちなため、この攻撃は意外と高い成功率を持っています。
解説
辞書攻撃(Dictionary Attack)は、パスワードクラッキング(パスワード解析)の代表的な手法の一つです。攻撃者は、辞書に載っている単語、人名、地名、よく使われるパスワード(password、123456、qwertyなど)、過去に漏えいしたパスワードリストなどを集めた「辞書ファイル」を用意し、それらを順番に試してパスワードを特定しようとします。
- ブルートフォース攻撃との違い:ブルートフォース攻撃(総当たり攻撃)がすべての文字の組み合わせを試すのに対し、辞書攻撃は「人が使いそうな単語」に絞って試すため、効率的にパスワードを解析できます。ただし、辞書にない完全にランダムなパスワードには効果がありません。
- ハイブリッド攻撃:辞書攻撃とブルートフォース攻撃を組み合わせた手法で、辞書の単語に数字や記号を付加したパターン(例:password1、Password!)も試します。「password」を「p@ssw0rd」に変えるような簡単な置換も突破されやすいです。
辞書攻撃は、オンライン攻撃(ログイン画面に直接試行)とオフライン攻撃(盗み出したパスワードハッシュに対して試行)の両方で使用されます。オンライン攻撃はアカウントロックや試行回数制限で防げますが、オフライン攻撃はハッシュ値さえ入手すれば無制限に試行できるため、より危険です。毎年発表される「最もよく使われるパスワードランキング」では、「123456」「password」「qwerty」などが常に上位を占めており、辞書攻撃の有効性を示しています。
具体的な活用例・対策
辞書攻撃への対策は、強力なパスワードの設定とシステム側の防御機能の両面から行います。
- 強力なパスワードの使用: 辞書に載っている単語や推測しやすい文字列を避け、大文字・小文字・数字・記号を組み合わせた長いパスワード(12文字以上推奨)を設定します。パスフレーズ(複数の単語を組み合わせた長いフレーズ)も有効です。
- パスワードマネージャーの活用: 完全にランダムで複雑なパスワードを生成・管理できるパスワードマネージャーを使用することで、辞書攻撃に強いパスワードを各サービスに設定できます。
- アカウントロック機能: 一定回数のログイン失敗でアカウントを一時的にロックすることで、オンラインでの辞書攻撃を防ぎます。
- 多要素認証(MFA)の導入: パスワードに加えて、スマートフォンアプリや生体認証などの追加認証を要求することで、パスワードが解析されても不正ログインを防げます。
- パスワードハッシュのソルト付与: システム側では、パスワードを保存する際にソルト(ランダムな文字列)を付加してからハッシュ化することで、事前計算攻撃(レインボーテーブル攻撃)を困難にします。
- CAPTCHA・レート制限: ログイン画面にCAPTCHAを導入したり、同一IPからの試行回数を制限したりすることで、自動化された攻撃を防ぎます。
試験ではこう出る!
ITパスポート、情報セキュリティマネジメント、基本情報技術者、応用情報技術者で出題されます。以下のキーワードとセットで覚えましょう。
【重要キーワード】
- パスワードクラッキング
- ブルートフォース攻撃(総当たり攻撃)との違い
- 辞書ファイル・パスワードリスト
- アカウントロック・多要素認証
- ハイブリッド攻撃
試験問題で「辞書に載っている単語やよく使われるパスワードを順番に試してパスワードを解析する攻撃」や「ブルートフォース攻撃より効率的に、人が設定しそうなパスワードを試す攻撃」といった記述があれば、それは「辞書攻撃」に関する記述です。
【確認テスト】理解度チェック
ここまでの内容を理解できたか、簡単なクイズで確認してみましょう。
Q. 辞書攻撃に関する説明として、最も適切なものはどれでしょうか?
- A. 辞書に載っている単語やよく使われるパスワードのリストを使って、パスワードを次々と試して解析する攻撃
- B. すべての文字の組み合わせを総当たりで試して、パスワードを解析する攻撃
- C. パスワードのハッシュ値を事前に計算したテーブルを使って、パスワードを逆算する攻撃
正解と解説を見る
正解:A
解説:
辞書攻撃は、辞書に載っている単語やよく使われるパスワード(password、123456など)のリストを使って、パスワードを次々と試して解析する攻撃手法です。人が設定しそうなパスワードに絞って効率的に試行するため、単純なパスワードは短時間で突破されます。対策としては強力なパスワードの設定、多要素認証の導入、アカウントロック機能などが有効です。
選択肢Bは「ブルートフォース攻撃(総当たり攻撃)」の説明です。選択肢Cは「レインボーテーブル攻撃」の説明であり、いずれも辞書攻撃とは異なる攻撃手法です。