辞書攻撃 / dictionary attack / ディクショナリアタック

icon IT

利用者認証などのパスワード破りに応用する場合には、辞書に掲載されている単語やフレーズを片端から入力して認証を突破できるか試みる。

文字通り語学辞書(英英辞典など)の見出し語などから候補リストを作る場合と、これに加えて何らかのリストから地名や人名、社名、製品名などの固有名詞を抽出して追加する場合がある。

人間はまったくランダムな文字列は覚えにくいため何らかの意味のある単語を使いたがるという心理を利用したもので、ありとあらゆる文字の組み合わせを試行する総当り攻撃(ブルートフォースアタック)よりも効率的に探索を進めることができる。

試行回数は増えるが、より確実性を増すために、同じ単語の大文字と小文字の組み合わせが異なるパターンや、綴りを逆さにした文字列、先頭や末尾に数字や記号を加えたものなどを自動生成して追加する場合もある。

対処法としては、パスワードなどの一部または全体をまったく無意味でランダムな文字の並びにしたり、認証の試行回数に制限(一定回数の連続失敗でアカウントをロックするなど)を設け、攻撃者が大量のパターンを自動試行できないようにするといった手法がよく知られる。

暗号文やハッシュ値への辞書攻撃

暗号やハッシュ関数の解読手法として使われる場合には、辞書にある単語や無作為に集めた平文を暗号化あるいはハッシュ化し、目的の暗号文やハッシュ値と突き合わせて一致するかどうかを調べる。

対策法としては、平文に毎回変化する無意味なデータ(ソルトと呼ばれる)を連結してから暗号化やハッシュ化などを行うようにするなどの手法がある。

タイトルとURLをコピーしました