リバースブルートフォースとは

リバースブルートフォース(reverse brute force)とは、ある固有のパスワードを対象にし、アカウントなどのIDを見つけ出そうとする手法のこと。

総当たり攻撃(ブルートフォース)は、通常、ある固定したIDを対象に、そのパスワード(パスフレーズ)を見つけ出すという方法のアタックを指す。リバースブルートフォースでは、その逆になる。つまり、ある固定したパスワードに対して、IDを探し当てるという方法をとる。

総当たり攻撃は、そのままの意味だと、ある範囲内で考えられる文字列を、片っ端から全てフォームなどに送信し、どれか一つをヒットさせるという攻撃のことである。おそらく、最初はIDに対して行われていたものの、防御側が対策を講じるようになったため、今度はパスワードからアカウントなどを探し出そうとする行為が広がったのではないだろうか。これを区別するためにリバースブルートフォースという言葉が生まれたと考えられる。

いずれもやり方は同じである。アカウントの場合、数字を使わないこともあるが、基本的には0から9の数字や大小の英字、記号が使われる。リバースブルートフォース アタックでは、これらの文字列使って、不正ログインを繰り返す。どれかが当たるとリバースブルートフォースは、成功したことになる。

サーバに記録されているデータには、リバースブルートフォースなども含め、様々な手法による不正ログインの足跡が残る。多くの場合、ツールによる繰り返し処理で文字列の送信を行っていると考えられる。また、同一の攻撃者からは一秒間に複数回アクセスされるが、一定時間、もしくは日数が経つと消えていく特徴がある。IPアドレスに関しては偽装されることも多く、「.htaccess」などのファイルによるIP制限は、善良なIPを確実に許可するのであれば、事実上、不可能に近くなっている。偽装の可能性を考えると、リバースブルートフォース対策としてもあまり役には立たない。

リバースブルートフォース対策として最も有効なのは、アタックされるパスフレーズを複雑なものにすることだ。世の中にはパスワードやパスフレーズと言われるものが沢山ある。そもそもその中からターゲットになってしまうこと自体が稀である。しかし、何らかの理由によってログイン制のサイトが攻撃を受け、たまたまそこのアカウントを取得している、というケースはあり得る。その場合でも、パスフレーズを複雑にすることで、ターゲット対象にされにくくなるのは確かである。基本的には、大小の英字、数字、記号などの組み合わせを駆使して設定すると、より安全になる。

尚、パスワードスプレーというのは、ログイン失敗の回数ではじく防御策をすり抜けるタイプの攻撃である。リバースブルートフォースと違い、こちらは複数のIDをまとめて対象にし、それらに同じパスワードを送信するというパターンを繰り返すアタックである。

リバースブルートフォースの意味を簡潔に説明すると

パスフレーズを固定し、IDに対して総当たり攻撃すること。