しかし、ハッカーは辞書に載っているすべての単語をチェックして、あなたがその単語をパスワードとして使っているかどうかを確認することができます。特殊なパスワードクラッキングソフトウェアを使って攻撃を仕掛けることで、あなたの情報を盗み出すというのが、「辞書攻撃」と呼ばれるサーバー攻撃のやり方です。
この記事では、辞書攻撃のわかりやすい定義と、仕組み、ブルートフォース攻撃(総当たり攻撃)と辞書攻撃の違い、辞書攻撃から身を守る為の対策方法について詳しく解説します。
辞書攻撃とは、「ディクショナリアタック」とも呼ばれる、暗号解読や文字列を推測するための最も効率的な手法のひとつで、主にパスワードを手に入れるために用いられます。辞書攻撃には、よく使われるパスワード、フレーズ、組み合わせを試すものと、辞書全体をチェックするものがあります。
「123456」、「qwerty」、「iloveyou」、「password」、「admin」などは、最も一般的なパスワードで、世界中で数百万人のユーザーが使っています。もしあなたが、これらの組み合わせでパスワードを作っている場合、辞書攻撃でハッカーに解読される可能性があるため、すぐに変更しましょう。
多くのWebサービスやSNSでは、ユーザーが単純な単語をパスワードとして使用することを防ぐために、パスワードに特殊文字、数字、大文字を含めるように設定しています。しかし、仮に「Password123!」というパスワードを設定したとしても、これでは強力なパスワードとは言えず、辞書攻撃で解読されてしまう可能性が高いです。
パスワードには、自分の子どもやペット、有名人、好きなスポーツチームの名前などがよく使われる傾向にあります。このような情報のほとんどはSNS上で手に入れられるケースが多いため、ハッカーはFacebookなどのプロフィールを調べた後、あなたに対して辞書攻撃を仕掛けることができます。とても便利なコミュニケーションツールである一方、SNSにはデメリットとしてそうした側面もあります。
もしあなたがハリーポッターのファンである場合、犯人はパスワードを解読するために、ハリーポッターに特化したウェブサイトをスキャンして、関連する単語をすべて抽出するでしょう。このようにして、「ホグワーツ」、「グリフィンドール」、「ドビー」などの用語が、パスワードクラッキングソフトウェアのリストに入れられてしまうかもしれません。
またハッカーは、異なる文字のバリエーションを作成し、それらがパスワードと一致するかどうかをチェックすることで、より複雑な組み合わせを推測できる高度な辞書攻撃ツールもよく使用します。そのため、「##Hogw@rts111」のようなパスワードを解読することですら、それほど難しいものではありません。
「111111」のような単純なパスワードなら解読時間は数ミリ秒、「##Hogw@rts111」のようなパスワード解読時間は30分弱かかると言われています。パスワードを解読したり、さまざまな形式のハッシュを取り込んだりすることができる無料のツールさえあるのです。
ブルートフォース攻撃(総当たり攻撃)と辞書攻撃は、どちらも代表的なパスワード攻撃手法ですが、その方法は異なります。辞書攻撃では、あらかじめ用意された単語のリストを使用しますが、ブルートフォース攻撃では、文字、特殊記号、数字の可能な限りの組み合わせを試みます。4桁パスワード解読は数秒で、6桁のパスワードなら1時間以内で推測することが可能です。もし、パスワードが長くて複雑なら、解読には何日も、あるいは何年もかかるでしょう。
ブルートフォース攻撃は、必ずしもすべての可能な文字を試すわけではありません。パスワードクラッキングソフトウェアを使って、より可能性の高い選択肢から始めるようにプログラムすることができます。パスワードに大文字の使用が必須であれば、ほとんどの人は最初の文字に大文字を使うでしょう。これを知っているハッカーは、最初の文字が大文字で始まるようにプログラムを設定します。ブルートフォース攻撃は、辞書攻撃よりもパスワードの解読に時間がかかり、コンピューターの処理能力に大きく依存します。
また、ブルートフォース攻撃は、さまざまな攻撃と組み合わせて使われることが多く、ブルートフォース攻撃を用いてマルウェアを拡散しようとするハッカーも存在します。マルウェアとは、ウイルスを含むあらゆる種類の悪意のあるソフトウェアや悪質なコードの総称です。デバイスがマルウェアに感染すると、さまざまな症状が発生します。
ブルートフォース攻撃と辞書攻撃は、オンラインとオフラインの両方で行うことができます。ハッカーがオンラインでパスワードを解読しようとする場合、攻撃対象のシステム(WebサービスやSNSなど)に接続します。しかし、推測できる回数が限られている場合が多く、ターゲットは誰かがアカウントに侵入しようとしていることに気づく可能性が高いです。
オフラインでの攻撃は、ハッカーがすでに盗んだ暗号化されたパスワードのデータベースを持っているため、より危険です。ハッカーは、そのデータベースを使って、時間をかけてパスワードを解読することができるため、オフライン攻撃の方が成功する確率が高くなります。