パスワードスプレーとは

パスワードスプレー(Password spray)とは、複数IDに対してパスフレーズの一斉送信を繰り返す攻撃方法のこと。

ブルートフォースとパスワードスプレーの違い

パスワードスプレーは、総当たり攻撃の一種である。総当たり攻撃は、ブルートフォースとリバースブルートフォースがある。前者は、ID(アカウントやユーザ名など)を固定し、パスワード(パスフレーズ)に対して片っ端からヒットするまでアタックする方法である。後者は、パスフレーズを固定してIDを片っ端から、当たりが出るまでアタックし続けるタイプ。いずれも短時間かつ連続でアクセスする傾向がある。

一方、パスワードスプレーは、いくつかのIDをまとめて固定し、一つのパスフレーズに対して攻撃することを、時間をおいて繰り返すタイプである。このため、「low and slow」とも呼ばれている。

パスワードスプレーのシステム

防御側は通常、ある一定回数のログインの失敗が行われると、一定時間そのアカウントをロックしたり、本人確認を要求したりして対応している場合が多い。パスワードスプレーでは、複数のアカウントをひとまとめにし、これらに同じpasswordを割り当てて、ほぼ同時、もしくはずらしながら送信し、アタックする。例えば、防御側が5回の失敗でロックをかけたとする。パスワードスプレー攻撃では、ひとまとめにしたアカウントに対し、最大5回までpasswordを変更しながらログインできるかどうかを確認することができる訳だ。そして、その全てが失敗した場合、ツールによって新たに用意されているひとまとめのアカウントを使って、同じようにpasswordを変えながら試すことができるのである。

これらの一連作業を連続でやるとサーバ側で検知されやすくなるため、IPを偽装したり、時間をずらすなどしてゆっくりと試行していく。通常の総当たり攻撃ならIPを偽装していても、不正アクセスの特徴をつかまれてはじかれることもあるはずだが、パスワードスプレーのアタックだとそれを見つけにくくするという特徴がある。また、連続アクセスできない分、アカウントをまとめて処理できるため、ゆっくり試行していたとしても効率は良い。

パスワードスプレーの対策

サービス提供している防御側は、数多くの要素を使って認証し、不正アクセスと通常のアクセスを振り分ける、といった方法しかないようだ。多要素認証という。もちろん、セキュリティーに関してはこれだけでなく、考えられる全てに対し、適切な処理が求められる。

サービスを受ける防御側は、単純にpasswordで使われる文字数を増やし、更に数字や大小英文字、記号などを組み合わせることで、より堅固な守りとなる。

パスワードスプレーの意味を簡潔に説明すると

複数ユーザを対象に一個のpasswordへの試行を繰り返すアタック。