辞書攻撃:仕組み、特徴、対策
辞書攻撃は、厳選したリストにある可能性の高い単語やフレーズを試すパスワード解読手法です。総当たり攻撃との違い、ソルト、複雑性、試行回数制限による対策を解説します。
概要
辞書攻撃とは、あらかじめ作成されたリストから多数の候補文字列を試し、パスワード、パスフレーズ、暗号鍵などの秘密情報を見つけ出そうとする手法である。こうしたリストはワードリストまたは辞書と呼ばれることが多く、一般的な単語、氏名、フレーズのほか、実際のパスワード漏えい情報や言語の語彙から得られた変種など、選ばれやすい候補を収録する。この技法は、人間の予測可能な選択やよく見られるパターンを利用する、標的を絞った認証情報の推測である。
仕組みと一般的な特徴
辞書攻撃は、あらゆる文字の組合せを列挙するのではなく、成功する可能性がより高い候補を優先した集合を用いる。攻撃者はこのリストを認証処理または解読処理に入力し、各項目を試行する。各辞書項目に数字を加える、文字を似た記号に置き換える、年を末尾に付けるといった単純な変換を加え、1つの項目からさらに多くの試行文字列を生成することも多い。候補集合が網羅性ではなく確率によって導かれる点で、純粋な総当たり探索とは概念上異なる。
代表的な構成要素
- ワードリスト:言語辞書、漏えいしたパスワード、一般的なパターンから集めた候補文字列の選別済みコレクション。
- ルールまたはマングリング:大文字・小文字の変更、接尾辞の追加、文字置換などにより、一般的な変種を生成する機能。
- 対象と検証手段:試した候補が成功したかどうかを示すシステムまたはハッシュ。
歴史と他の攻撃との関係
辞書形式の推測は、利用者が単純で覚えやすいパスワードを選ぶことが一般的だった、コンピュータ認証の初期から存在してきた。時間の経過とともに、攻撃者と防御側の双方が技術を洗練させた。攻撃者はより大規模で代表性の高いワードリストと変換ルールを開発し、防御側はより強力なハッシュ化、ソルト、パスワード方針を採用した。辞書攻撃は、ソーシャルエンジニアリングに依拠する認証情報スタッフィングと、網羅的な総当たり攻撃の中間に位置する。可能性の高い選択肢に集中することで、速度と成功見込みの均衡を図る。
用途、例、重要性
辞書攻撃は、アカウントのテストまたは侵害のために、セキュリティ研究者と悪意ある行為者の双方に利用される。弱く一般的なパスワードに対して、またハッシュ化が高速であるかソルトが付与されていない保存済み認証情報ハッシュに対して有効である。関連する概念については、暗号学文献における暗号技術の資料、対象となる鍵または秘密情報という考え方、パスワードの脆弱性に関するパスワードセキュリティの説明を参照できる。
防御策とベストプラクティス
対策には、より長く予測しにくいパスワードまたはパスフレーズを要求すること、保存する認証情報に一意のソルトと低速なハッシュ関数を用いること、試行回数制限とアカウントロックアウト方針を実装すること、多要素認証を推奨することが含まれる。定期的な監査とパスワードマネージャーの利用も、一般的な単語だけでアクセスを許してしまう危険性を低減する。これらの防御策は、辞書攻撃を成功させるために必要な作業量を増やし、しばしば実行を非現実的にする。
主な相違点
定義された範囲内のすべての組合せを試す総当たり攻撃と異なり、辞書攻撃は効率を高めるためにもっともらしさを優先する。また、漏えいしたユーザー名とパスワードの組を別のサービスで再利用する認証情報スタッフィングとも異なる。実際には、攻撃者はしばしば技法を組み合わせ、辞書リストから始めてマングリングルールを適用し、必要に応じてより広範な総当たり方式へ移行する。
関連項目
著者
AlegsaOnline.com 辞書攻撃:仕組み、特徴、対策 Leandro Alegsa
URL: https://ja.alegsaonline.com/art/27232
出典
- codinghorror.com : "Dictionary Attacks 101"