ブルートフォース攻撃とは?

ブルートフォース攻撃は、文字や数字の組み合わせを総当たりで試し、パスワードやユーザー名を推測して、アカウントへの不正アクセスを試みる攻撃です。

ブルートフォース攻撃とは、文字、数字、記号の組み合わせを体系的に試し、認証および認可の制御を突破してパスワードを特定しようとする攻撃です。多くの場合、単語辞書やパスワードスプレーなどの手法が用いられます。

パスワードクラッキングとも呼ばれるブルートフォース攻撃の仕組みは非常に単純で、考えられるすべてのパスワードパターンを入力するというものです。たとえば、4桁のPINをパスワード(パスコード)として使用している場合、「0000」から「9999」までの10,000通りの組み合わせをすべて試せば、最終的に正しいパスワードにたどり着きます。人が手作業で試すのは困難ですが、自動化ツールを使えば容易に実行できます。1秒に1つのパスワードを試せる場合、最長10,000秒(約2時間47分)でパスワードを特定できます。ブルートフォース攻撃は特に高度なサイバー攻撃ではありませんが、脆弱なパスワードやセキュリティ対策が不十分なシステムに対して有効であることに加え、自動化ツールキットによって大規模かつ効率的に実行でき、攻撃者にとって経済的なメリットがあるため、依然として後を絶ちません。

ブルートフォース攻撃の種類

ブルートフォース攻撃には、さまざまな形態があります。単純なブルートフォース攻撃では、正しい組み合わせが見つかるまで、数字や文字のあらゆる組み合わせを体系的に試します。この方法は、特にパスワードやパスフレーズが長い場合や複雑な場合に、多くの時間とリソースを要する可能性があります。

より対象を絞った手法として、辞書攻撃があります。これは、あらかじめ用意されたパスワードやフレーズの候補リストを使用する手法です。従来のブルートフォース攻撃のように数字や文字のあらゆる組み合わせを試すのではなく、攻撃者は辞書内の単語やフレーズを正しいものが見つかるまで順番に試します。辞書攻撃は単純なブルートフォース攻撃より高速ですが、パスワードが十分に複雑な場合、特殊文字が使用されている場合、または使用する辞書に含まれていない場合は、失敗する可能性があります。また、同じログイン画面に対して辞書攻撃を行うと、レート制限やアカウントロックアウトの制御がすぐに作動します。

ハイブリッド型ブルートフォース攻撃は、辞書攻撃と単純なブルートフォース攻撃の要素を組み合わせたものです。ハイブリッド攻撃では、従来のブルートフォース攻撃と同様にランダムな文字の組み合わせを使用するとともに、辞書攻撃のように一般的な単語やフレーズのリストも使用します。このハイブリッド型の手法では、辞書に含まれる一般的なパスワードと、予測しにくい文字の組み合わせの両方を利用することで、攻撃が成功する可能性を高めます。

別の攻撃形態として、リバースブルートフォース攻撃があります。攻撃者は、特定のアカウントに対してさまざまなパスワードを次々に試すのではなく、一般的に使用されている可能性があると考えられる特定のパスワード(「password1234」など)を、多数のアカウントのユーザー名に対して試します。この手法は、標的とするアカウントの少なくとも一部で選択したパスワードが使用されているという想定に基づいており、ログイン失敗回数に基づく緩和策が作動しにくいという特徴があります。

通常、クレデンシャルスタッフィングはブルートフォース攻撃の一種とは見なされません(攻撃者が既知のユーザー名とパスワードのリストをすでに入手しているため)。しかし、アカウントへの不正アクセスを目的とする点は共通しており、その後、アカウント乗っ取り(ATO)や不正行為につながることも少なくありません。クレデンシャルスタッフィングでは、自動化されたスクリプトやツールを使用し、過去のデータ侵害やダークウェブから入手したユーザー名とパスワードの組み合わせなど、大量の漏えいした認証情報をさまざまなオンラインログインフォームに対して短時間で試行します。ブルートフォース攻撃のように考えられるすべての組み合わせを網羅的に試すわけではありませんが、不正アクセスを自動的に試みる手法であることに変わりはなく、重大なセキュリティ脅威となっています。どちらの攻撃も、OWASP Top 10およびOWASP Automated Threatsプロジェクトで最も重大なリスクの1つと見なされています。

脆弱または不完全な認証も、ブルートフォース攻撃者の侵入経路となります。一部の認証システムには、一定時間内のログイン試行回数を制限するロックアウトやスロットリングの仕組みが実装されていません。こうした保護策がなければ、攻撃者は制限なくパスワードの推測を繰り返すことができ、ブルートフォース攻撃が成功する可能性が高まります。

ブルートフォース攻撃は、セッションIDを推測したり、セッション管理メカニズムの脆弱性を悪用したりして、有効なセッションIDを取得または乗っ取る目的にも使用される可能性があります。攻撃者は有効なセッションIDを入手すると、それを使用して認証済みユーザーになりすまし、保護されたリソースに不正アクセスできます。

ブルートフォース攻撃の動機

ハッカーがブルートフォース攻撃を行う動機は多岐にわたりますが、一般的には、悪意のある目的でシステム、ネットワーク、アカウントへの不正アクセスを試みることです。

一般的な動機の1つは金銭的利益です。たとえば、攻撃者は詐欺や窃盗を行うために、クレジットカード番号や銀行口座の認証情報などの金融情報を盗もうとする場合があります。また、売却可能な個人を特定できる情報(PII)、知的財産、企業の機密データへのアクセスを狙うこともあります。さらに、個人になりすまして不正行為を行うために、個人アカウントへのアクセス権を取得する場合もあります。

犯罪者は、システムを乗っ取り、ボットネットを構築するなど、ほかの悪意ある行為に利用することもあります。ボットネットとは、攻撃者の制御下にあるデバイスのネットワークであり、攻撃者はこれら複数の攻撃元を連携させて、分散型サービス拒否(DDoS)攻撃を仕掛けます。

ブルートフォース攻撃によってシステムやアカウントへの不正アクセスを許すと、マルウェアやスパイウェアを拡散されたり、わいせつまたは不快なテキストや画像を大量に掲載する攻撃の標的にWebサイトがなったりして、企業やWebサイトの評判が損なわれるおそれもあります。また、ハッカーはブルートフォース攻撃で広告やアクティビティデータを悪用することもあります。不正アクセスによってWebサイトにスパム広告を掲載して広告収入を得たり、本来アクセスするはずのWebサイトから悪意のあるサイトへトラフィックを転送し、認証情報を盗んだりユーザーをだましたりします。

ブルートフォース攻撃を防ぐ方法

ブルートフォース攻撃のリスクを軽減する方法はいくつかあります。以下の対策を複数実施することで、攻撃者がパスワードを推測したり、ログインを繰り返して不正アクセスしたりすることがより困難になります。対策には次のものがあります。

  • 強力で複雑なパスワードの使用。強力なパスワードは、システムやデータへの不正アクセスを防ぐための第一の防御策です。明確に定められたパスワードポリシーは、大文字と小文字、数字、特殊文字を組み合わせた安全なパスワードをユーザーが作成し、維持するうえで役立ちます。パスワード解析ツールがますます高度化しているため、現在では長いパスフレーズの方が単純なパスワードよりもはるかに高い保護効果を発揮します。パスワードの再利用は、クレデンシャルスタッフィング攻撃やアカウント乗っ取りの主な原因となるため、ポリシーで禁止する必要があります。
  • 多要素認証(MFA)の使用。MFAでは、ユーザー名とパスワードまたはパスフレーズの入力に加えて、アプリケーション、リソース、オンラインアカウント、その他のサービスにアクセスするために、追加の認証要素を提示する必要があります。一般的には、メールやSMSメッセージで受信したワンタイムパスコードをスマートフォンまたはブラウザに入力するか、指紋認証や顔認証などの生体認証を使用します。
  • アカウントロックアウトポリシーの実装。ログインに一定回数失敗した場合、指定した期間、または管理者が手動でロックを解除するまで、ユーザーアカウントをロックします。これにより、攻撃者がパスワードの推測を繰り返すことを防ぎます。また、レート制限を使用して、指定した期間内に単一のIPアドレスまたはユーザーアカウントから送信できるログインリクエストの数を制限することもできます。
  • 機密データの暗号化。保存中および転送中の機密データを暗号化することで、攻撃者がシステムに不正アクセスした場合でも、暗号鍵がなければデータを読み取れないようにします。データの復号には暗号鍵が必要になるため、ブルートフォース攻撃の有効性を低減できます。
  • ソフトウェアを最新の状態に保つ。 オペレーティングシステム、Webサーバー、アプリケーションを含むすべてのソフトウェアに、定期的にパッチを適用して更新し、攻撃者に悪用される可能性のあるセキュリティ脆弱性に対処してください。
  • ボット管理とWebアプリケーションファイアウォールの導入。自動化された攻撃を抑止するソリューションを導入することで、ブルートフォース攻撃などの不正利用から重要なビジネスロジックを保護できます。

F5はブルートフォース攻撃にどう対処するのか

The OWASP(Open Worldwide Application Security Project)のAutomated Threats to Web Applications Projectでは、ブルートフォース攻撃を認証情報クラッキング攻撃(OAT-007)の一種と位置付けています。F5は、OWASPが挙げる自動化に伴うリスクの多くに対処するソリューションを提供しています。F5 Distributed Cloud Bot Defenseは、ボットや悪意のある自動化を抑止し、既存のボット管理ソリューションを回避する可能性のあるATOと、それに起因する不正行為や悪用を防止します。Distributed Cloud Bot Defenseは、リアルタイムの監視とインテリジェンスに加え、MLベースの事後分析を提供し、ブルートフォース手法を用いる攻撃を含む自動化された攻撃から組織を保護します。

F5 Web Application Firewall (WAF)ソリューションは、OWASPが特定した広範なリスクもブロックし、軽減します。F5 WAFソリューションは、新たな脅威に対応するため、シグネチャベースおよび振る舞いベースの保護に、F5 Labsの脅威インテリジェンスやMLベースのセキュリティを組み合わせています。ブルートフォース攻撃を防ぐため、WAFは設定済みのログインURLへのアクセスに失敗した回数を追跡します。ブルートフォース攻撃のパターンが検出された場合、ログオン失敗率が大幅に上昇したか、ログイン失敗回数が上限のしきい値に達していれば、WAFポリシーは攻撃と見なします。

F5 WAFソリューションは、F5のボット対策ソリューションと連携し、脆弱性の悪用や自動化されたブルートフォース攻撃など、主要なセキュリティリスクを強力に軽減します。