総当たり攻撃(ブルートフォース)とは?仕組みと防御法

各項目をタップして、総当たり攻撃の概念と防御の仕組みを確認してみましょう。

総当たり攻撃(ブルートフォース)の概念

考えられるパスワードの組み合わせを一つずつ順番に自動で試し、正解を見つけ出す方式の攻撃です。人ではなくプログラムが短時間に非常に多くの試行を繰り返す点が特徴です。

辞書攻撃という亜種

すべての組み合わせをやみくもに試すのではなく、よく使われるパスワードのリストや辞書に載っている単語を優先的に試す方式で、短く単純なパスワードほど早く突破されるリスクが高くなります。

ログイン試行制限(アカウントロック)ポリシー

多くのサービスは、短時間に一定回数以上ログインに失敗すると、一時的にアカウントをロックしたり追加認証を求めたりするポリシーを設けており、これによって総当たり攻撃の試行自体を難しくしています。

CAPTCHAが自動化プログラムを排除する役割

ログインや会員登録の画面で表示されるCAPTCHAは、人間と自動化プログラムを区別するための仕組みで、総当たり攻撃に使われる自動化された試行を難しくするのに役立ちます。

長く予測しにくいパスワード(パスフレーズ)を使う

組み合わせの数が多いほど総当たり攻撃にかかる時間は大きく増えるため、個人情報と関係のない、長く予測不可能なパスワードや、複数の単語をつなげた文章形式のパスフレーズを使うことが効果的です。

サービス側のリクエスト速度制限(レートリミット)

サービスの運営側は、同じIPアドレスやアカウントから短時間に過度に多くのログインリクエストがあった場合、速度を制限したり遮断したりする対応を取ります。これは利用者自身が設定できるものではありませんが、サービスを選ぶ際に参考になるセキュリティ要素です。

パスワードが長いほど安全な理由

パスワードに使える文字の種類と長さが増えるほど、可能な組み合わせの数は指数関数的に増えていきます。それに伴い総当たり攻撃で正解にたどり着くまでに必要な時間も大きく伸びるため、短いパスワード一つよりも、長く予測しにくいパスワードのほうがはるかに安全です。

二段階認証を併用するとさらに安心です

万が一パスワードが突破されても、二段階認証(2FA)を設定しておけば追加の認証段階でもう一度防ぐことができるため、両方の対策を組み合わせておくことをおすすめします。

よくある質問

パスワードに特殊記号を混ぜれば絶対に安全になりますか?

特殊記号を混ぜると組み合わせの数が増えて有効ではありますが、長さが短ければそれでも脆弱になり得ます。文字の種類を増やすことよりも、全体の長さを長くするほうが効果的な場合が多いです。

ログインに何度も失敗してアカウントがロックされたという通知が来ました。攻撃を受けたのでしょうか?

自分がパスワードを間違えて入力した可能性もありますが、見覚えのない繰り返しの試行だったという内容の通知であれば、総当たり攻撃の対象になった可能性もあります。いずれの場合も、パスワードを変更し二段階認証を有効にしておくのが安全です。