普段利用するサービスやシステムの多くでは、利用者を識別するためにIDとパスワードの入力を求められます。特にパスワードは、不正アクセスを防止するための重要な情報であり、導入のハードルが低いセキュリティ対策の1つです。
一方で、パスワード認証を突破しようとするサイバー攻撃にはさまざまな種類があり、その代表例がブルートフォースアタックです。仕組みが単純なぶん自動化されやすく、条件がそろうと短時間で突破されるリスクがあります。
この記事では、ブルートフォースアタックの仕組みと手口を整理したうえで、企業・組織が現実的に取り組める対策を「攻撃者に試行を続けさせない」「試行しても意味がない状態を作る」という観点で解説します。読み終えたときに、自社のログイン設計や運用を点検し、優先度の高い対策から着手できるようになることを目指します。
この章では、ブルートフォースアタックの定義と、攻撃が成立しやすい条件を整理します。
「総当たり攻撃」とも呼ばれるブルートフォースアタック(Brute Force Attack)は、考えうるパスワード候補を機械的に試し続け、有効なパスワードを見つけ出そうとする攻撃手法です。パスワードの長さ(桁数)や使用文字種(数字・英字・記号など)が分かるほど、攻撃者は探索範囲を絞り込みやすくなります。

近年はコンピューターの処理能力向上やクラウドの計算資源の普及により、攻撃の自動化が容易になりました。さらに攻撃者は複数の端末や環境から並列に試行できるため、試行回数の制限がない、短い・単純なパスワードが残っているといった条件が重なるほど、突破される可能性が高まります。
なお、ブルートフォースアタックには亜種として「リバースブルートフォースアタック(逆総当たり)」があります。これは、パスワードを固定(またはよく使われるパスワード候補に限定)し、ユーザーID側を総当たりで試行する手法です。ユーザーIDが推測しやすい(メールアドレス形式、社員番号規則、公開名など)場合、攻撃者にとって有利になります。
この章では、攻撃者がどのような手順で総当たりを成立させるのかを、工程に分けて理解します。
ブルートフォースアタックは、次のような流れで実行されます。
まず攻撃者は、攻撃対象となるアカウントのID(ユーザー名)を入手します。漏えいした名簿や、誤って公開された情報、フィッシング、あるいは推測(メールアドレス形式など)によってIDが集められる場合があります。
ユーザーIDがメールアドレス形式や規則的な社員番号になっている場合、攻撃者は「IDの候補」を作りやすくなります。さらにログイン画面のエラーメッセージが「ユーザーが存在しない」「パスワードが違う」を区別していると、ユーザーIDの有効性を判定できてしまい、試行対象の精度が上がる点にも注意が必要です。
IDが用意できたら、総当たりによる試行を開始します。パスワードは文字列の組み合わせであり、攻撃者はコンピューターにより候補を自動生成してログインを試みます。
例えば、0〜9までの数字を2桁使うパスワードは「00〜99」の100通りです。桁数が増えるほど組み合わせは急増します。
ただし、現実の突破可能性は「組み合わせ数」だけで決まりません。ログイン試行の上限(ロックアウト)、待ち時間(レート制限)、多要素認証の有無、監視・遮断(WAFやIDSやIPSなど)によって、攻撃成功の難易度は大きく変わります。逆にいえば、対策が薄い環境ほど短時間で試行が進みやすい点に注意が必要です。
ログイン画面に対して試行する場合は、ロックアウトやレート制限、監視で「試行を続けさせない」設計が効きます。一方、パスワードのハッシュが漏えいしたケースなどでは、攻撃者が手元で解析を進めるため、システム側の試行制限が効かない場合があります。どちらの前提でも被害を抑えるには、認証の多層化と、漏えいを起点にした運用設計の両方が重要です。
この章では、攻撃が成功した場合に起こり得る影響を、業務目線で整理します。
ブルートフォースアタックが成功すると、攻撃者は正規ユーザーになりすましてシステムへ侵入できます。想定される被害例を確認します。

想定事例1
A社はオンラインショップを運営していました。ブルートフォースアタックにより管理者アカウントが不正利用され、顧客情報が窃取されました。さらに、アカウントに紐づく決済情報が悪用され、金銭的被害へと発展しました。
想定事例2
B社は製造業でした。社内システムのログインが突破され、設計データが改ざんされたことで製造ラインに影響が出て、停止や不良品発生といった事態につながりました。
ブルートフォースアタックは「単純だが現実的な攻撃」です。被害の影響範囲が広いため、対策の優先度は高いと言えます。
この章では、ブルートフォース対策を「試行を続けさせない」「試行しても意味がない」に分けて整理します。
ブルートフォースアタックは総当たりである以上、攻撃者に試行を続けさせないこと、試行しても突破に至らない状態を作ることが重要です。代表的な対策は次のとおりです。

桁数が増えるほど組み合わせは増え、総当たりに必要な試行回数が増大します。例えば数字のみ4桁は1万通り、5桁は10万通りです。桁数を増やすほど突破難易度は上がりますが、利用者の負担や運用(リセット対応の増加)も増えやすい点に注意が必要です。
数字だけでなく英字(大文字・小文字)や記号を含めると、探索空間が大きくなります。例えば、数字10種、英小文字26種、英大文字26種、記号(環境により差があります)を含めると、候補は大幅に増えます。
一方で、複雑すぎるパスワードは記憶・入力が困難になり、メモ書きや使い回しなど別のリスクを増やす場合があります。パスワード管理ツールの活用も含めて検討しましょう。
一定回数の失敗でアカウントを一時ロックする、試行間隔に待ち時間を設ける、IPや端末指紋で遮断するといった仕組みは、総当たりの効率を大きく下げます。
ただし、攻撃者により意図的にロックされてしまう可能性もあるため、段階的な遅延(スロットリング)や追加認証(CAPTCHAなど)を組み合わせ、運用影響を考慮した設計にすることが重要です。
パスワード変更の目的は、漏えいしたパスワードの有効期間を短くすることです。しかし頻繁な変更は、覚えやすいパスワードや規則的な変更、使い回しを招きやすいこともあります。
そのため現在は、強度の高いパスワードを安全に管理し、漏えいが疑われる場合や不審な兆候がある場合に変更する、といった条件付き運用を採るケースが増えています。あわせて、変更が必要になったときに迅速に実行できる手順や権限設計を整備しておくことが現実的です。
多要素認証は、パスワードに加えて所持(スマホなど)や生体(指紋や顔など)といった別要素を組み合わせる方式です。パスワードが突破・漏えいしても追加要素がないとログインできないため、ブルートフォースへの耐性が大きく高まります。
運用面では、登録・紛失時の対応、例外運用、ユーザー体験(ログイン手順)を含めて設計しましょう。管理者権限や重要システムから優先して適用すると、効果が見えやすくなります。
パスワードが狙われ続ける状況では、そもそもパスワードに依存しない方式を組み合わせるのも有効です。電子証明書やパスキー(FIDO2など)など、強固な認証方式を取り入れることで、攻撃の成立条件を崩せます。
ただし、パスワードレスを導入すればすべて解決するわけではありません。登録手続き、デバイス紛失時の復旧、端末のライフサイクル管理など、運用設計が成否を左右します。技術選定と同じくらい、現場の運用に落とし込めるかが重要です。
突破を100%防ぐことは難しいため、攻撃の兆候を早期に検知し、遮断や追加認証、パスワード変更などの対応につなげることが重要です。短時間の大量失敗、同一IDへの連続試行、普段使わない端末やIPからの試行といった兆候は、ブルートフォースを疑うきっかけになります。
対策は導入して終わりではありません。アラートが出たときに誰が判断し、どこまでを自動遮断し、いつ利用者へ連絡するのかといった運用ルールまで含めて整備すると、実効性が上がります。
この章では、ブルートフォース以外にも起こり得る攻撃を整理し、対策の抜け漏れを防ぎます。
よく使われる単語やフレーズ、過去に漏えいしたパスワードのリストなどを用いて試行する攻撃です。単純なパスワードほど狙われやすく、推測されやすい単語や規則性を避けることが重要です。
漏えいしたハッシュ化パスワードを、事前計算した対応表で逆引きする攻撃です。対策としては、ソルト付与や適切なハッシュアルゴリズムを用いて、逆引きの効率を下げることが有効です。システム側の設計として、パスワードを平文で保持しないことはもちろん、古い方式のまま運用されていないかを点検することが重要です。
マルウェアによりキー入力を記録され、パスワードが盗まれる攻撃です。パスワードの強度に関係なく成立するため、端末防御、更新、フィッシング対策、権限管理などが重要です。
人をだまして情報を引き出す手口です。教育・訓練、手順整備(本人確認や二重チェック)、フィッシング耐性の向上など、技術と運用の両面が必要です。
ブルートフォースアタックは、仕組みが単純で自動化しやすく、対策が薄い環境ほど現実的な脅威になります。パスワードの強度を上げるだけでなく、試行回数の制限やレート制限、多要素認証の導入などにより、攻撃の成立条件を崩すことが重要です。
加えて、監視・ログ運用・インシデント対応といった運用設計や、利用者教育も含めて継続的に見直すことで、パスワードを狙う攻撃への耐性を高められます。今回の記事をきっかけに、自社の認証方式と運用を点検してみてはいかがでしょうか。
ブルートフォースは候補を機械的に総当たりで試すのに対し、辞書攻撃はよく使われる単語や漏えいリストなど当たりやすい候補を優先して試します。
パスワード候補を固定または少数に絞り、ユーザーID側を多数試して突破を狙う手法です。ユーザーIDが推測しやすいと成立しやすくなります。
長くするほど総当たりへの耐性は上がりますが、漏えいやフィッシング、端末感染など別経路の攻撃には別の対策が必要です。複数対策を併用する前提で考えることが重要です。
有効な対策ですが、意図的にロックされてしまうなど運用影響もあります。レート制限や段階的な遅延、追加認証と組み合わせて設計するのが一般的です。
自動化された試行の難易度を上げる効果があります。ただし万能ではないため、レート制限や多要素認証などと併用することが現実的です。
漏えいが疑われる場合は重要ですが、無条件に頻繁な変更を求めると使い回しや弱いパスワード化を招くことがあります。強度の高いパスワード管理と兆候に応じた変更の運用が現実的です。
非常に有効です。パスワードが突破されても追加要素がないとログインできないため、被害につながりにくくなります。
危険になり得ます。ユーザーIDの収集を助ける場合があるため、IDとパスワードのどちらが誤りかを明示しない設計がよく採られます。
短時間の大量失敗、同一IDへの連続試行、普段使わない端末やIPからの試行などです。検知後に遮断や追加認証、パスワード変更につなげる運用が重要です。
パスワードへの依存を減らすことで、総当たりが成立しにくくなります。電子証明書やパスキーなどを含め、業務要件と運用設計に合わせて検討すると効果的です。