ブルートフォース攻撃:技法、種類、対策
Security Shanika Wickramasinghe要点
- 定義と手法:ブルートフォース攻撃とは、攻撃者がパスワード、暗号鍵、その他の認証情報を推測するために、考えられるすべての組み合わせを体系的に試して試行錯誤を繰り返す手法であり、脅威が長期間続きます。
- 種類と亜種:辞書攻撃、クレデンシャルスタッフィング、レインボーテーブル攻撃など、いくつかの種類があります。
- 影響と対策:ブルートフォース攻撃は、データ漏えい、金銭的損失、企業イメージの低下につながる可能性があります。効果的な防止対策には、強力なパスワードや多要素認証の使用などが挙げられます。
ブルートフォース攻撃は、ユーザーの認証情報を侵害し、個人や組織から貴重な情報を盗むための一般的な手法です。この記事では、ブルートフォース攻撃の概要、最近の傾向、組織への影響、種類、そして防御策について説明します。
ブルートフォース攻撃とは
ブルートフォース攻撃とは、試行錯誤を繰り返してパスワード、ログイン情報、暗号鍵を盗み取ろうとするハッキング技術を指します。
ブルートフォース攻撃は、脅威アクターやサイバー攻撃者が用いる比較的古い技法ですが、現在でも広く使用され、依然として効果の高い攻撃となっています。攻撃者は、以下の目的でブルートフォース攻撃を使用します。
- パスワードの解読
- 暗号化されたデータの復号化
- 許可されていないシステム、Webサイト、ネットワークへのアクセス
この技法では、攻撃者は必要な情報を試行錯誤で推測するために、考えられるあらゆる組み合わせをテストします。たとえば、ログイン認証情報やパスワードの組み合わせをできるだけ多く繰り返し試みます。こうした攻撃はしばしば自動化されており、ソフトウェアを利用して短時間で膨大な数の組み合わせを試すことができます。
「ブルートフォース」という名称は理にかなっています。何かを達成するためにブルートフォース(「力任せ」の意味)を使うことは、力尽くで手に入れることであり、必ずしも最高のスキル、戦略、ツール(テクノロジー)を駆使するわけではありません。
ハッキングでは、攻撃者は無理やり目的を果たそうとします。このような攻撃は時間がかかり、成功するとは限らないため、多くの場合、最後の手段として用いられます。ただし、ブルートフォース攻撃が特に効果を発揮するケースが1つあります。それは、システムで脆弱なパスワードが使用されているなど、何らかの脆弱性がある場合です。したがって、ブルートフォース攻撃から保護するには、強力で一意のパスワードを使用し、その他のセキュリティ対策を講じる必要があります。
ブルートフォース攻撃に見られる傾向
サイバー攻撃に対するレジリエンスを高めるには、従業員に最新のサイバー攻撃について十分に周知させる必要があります。Splunkの『サイバーセキュリティの脅威トップ50』では、最近よく見られるサイバー脅威の一覧を紹介しています。Splunk脅威調査チームが最新の知見を盛り込んだこの年次報告書には、以下の情報が記載されています。
- MITRE ATT&CKフレームワークに対応した最も一般的な50のセキュリティ脅威
- セキュリティ脅威の手口
- 組織への影響
- 防止策
2023年においても、ブルートフォース攻撃は依然として一般的なサイバー脅威であり、組織の全体的な脅威インテリジェンスを考える上で重要な要素です。
ブルートフォース攻撃の影響
多くの攻撃と同様に、ブルートフォース攻撃の影響は以下によって異なります。
- 攻撃対象
- 攻撃者の動機
攻撃対象であるユーザーアカウントのシステムやネットワークに攻撃者がアクセスできるようになると、銀行口座やクレジットアカウントの情報、個人識別情報、健康に関する情報といった貴重な個人情報を盗むことが可能になります。攻撃者はその情報を第三者に販売して利益を得ることができ、被害者への影響はほとんど考慮されません。
組織のデータベースアカウントへの侵入は、大規模な機密データの漏えいを引き起こす可能性があります。LastPassのデータ漏えいは、個人や企業にとって大きな問題となりました。(CNETの報道によれば、LastPassのデータ漏えいでは「最も機密性の高いデータは暗号化されている」とされていますが、攻撃者が盗んだローカルファイルに対してブルートフォース攻撃を仕掛けられるという問題は残ります。)
こうした攻撃は、システム面にも影響します。ブルートフォース攻撃は、以下を引き起こす可能性があります。
- CPU時間や帯域幅などのコンピューティングリソースを大量に消費する。
- 標的となるシステムのパフォーマンスに影響を与え、正当なユーザーがシステムにアクセスしにくくなる。
長期的な影響も無視できません。ブルートフォース攻撃により、会社のシステムとデータが侵害された場合、直接的な損失だけでなく、長期的な影響が生じる可能性もあります。たとえば、会社の信頼低下やデータ保護プロトコルに対する顧客の信頼喪失を招き、最終的にはブランドイメージの低下につながることもあります。また、攻撃の性質や適用されるデータ保護法によっては、罰金や懲役刑を含む法的措置が科せられる可能性もあります。
ブルートフォース攻撃は、攻撃者がシステムにマルウェアを拡散する手段にもなります。Webサイトが侵害されると、マルウェアに感染した悪意のあるWebサイトにリダイレクトされるようにリンクを変更し、ユーザーを誘導してダウンロードさせることが可能になります。さらに、攻撃者は侵害されたWebサイトにスパム広告を掲載し、そこから利益を得たり、スパイウェアをインストールしてWebサイト訪問者のアクティビティを追跡したりすることもできます。
このように、ブルートフォース攻撃の影響は重大で、標的となったシステムや組織に広範囲にわたる影響を与える可能性があります。
ブルートフォース攻撃の種類
ブルートフォース攻撃にはいくつかの種類があります。攻撃者は、それぞれの実行方法と攻撃対象に応じて、いずれかの方法を選びます。以下に、ブルートフォース攻撃の一般的な種類をいくつか紹介します。
- シンプルなブルートフォース攻撃
- 辞書攻撃
- ハイブリッドブルートフォース攻撃
- リバースブルートフォース攻撃
- クレデンシャルスタッフィング
- レインボーテーブル攻撃
- パスワードスプレー攻撃
- RDP接続に対するブルートフォース攻撃
シンプルなブルートフォース攻撃
シンプルなブルートフォース攻撃では、攻撃者が少数の単純なパスワードやキーを短時間で試して解読しようとします。この攻撃は、脆弱なパスワードや単純なパスワードポリシーが使われているシステムに効果がある場合があります。たとえば「name12345」のような、大文字と小文字を組み合わせずに一般的な表現を使用する単純なパスワードなら、短時間で簡単に推測できます。
攻撃者が手動で実行する場合も、自動化やスクリプトを使用する場合もあります。自動化された攻撃は効率的ではありますが、セキュリティシステムによって検知されやすく、ブロックされる可能性も高くなります。ただし、この技法は一般的に、強力なパスワードや堅牢なセキュリティ対策を備えたシステムに対しては効果がありません。
辞書攻撃
辞書攻撃では、事前に準備した単語リスト(通常は辞書から作成したもの)を使用して、特定のユーザー名に対してさまざまなパスワードを試行します。攻撃者は、プログラムを使って単語やフレーズのさまざまな組み合わせを試し、最終的に正しいパスワードを推測しようとします。攻撃者は、未編集の辞書や特殊な辞書を使用するだけでなく、単語に数字や特殊文字を含めてバリエーションを増やし、パスワードを作成することもあります。また、過去のデータ漏えいで流出したパスワードを利用して辞書攻撃を行う場合もあります。
辞書攻撃は、多くの人が単純な単語やフレーズをパスワードとして使っているため、効果的な手法となっています。このようなパスワードは、攻撃者のプログラムによって簡単に推測される可能性があります。
ハイブリッドブルートフォース攻撃
ハイブリッドブルートフォース攻撃は、辞書攻撃と従来のブルートフォース攻撃を組み合わせた手法です。ハイブリッド攻撃では、攻撃者は従来のブルートフォース攻撃のようにランダムな文字セットを使用しながら、辞書攻撃のように一般的な単語やフレーズのリストを試すプログラムも使用します。
ハイブリッド攻撃では、これら2つの技法を組み合わせることで、辞書攻撃や従来のブルートフォース攻撃をそれぞれ単体で行った場合よりも成功率を高めることができます。それは、攻撃者が一般的なパスワードとあまり一般的でないパスワードの両方を試せるからです。
リバースブルートフォース攻撃
通常のブルートフォース攻撃では、攻撃者はパスワードを知らず、それを推測します。リバースブルートフォース攻撃では、名前が示すとおり、その逆を行います。たとえば、攻撃者はPINやパスワードを知っており、それに対応するユーザー名を何百万もの候補から探し出そうとします。
このアプローチでは、過去のデータ漏えいでオンラインに流出したパスワードが攻撃者に使用されることが一般的です。攻撃の速度を上げるために、このプロセスが自動化されている場合もあります。
クレデンシャルスタッフィング
多くのユーザーが、複数のユーザーアカウントで同じ認証情報を使用している可能性があります。クレデンシャルスタッフィングとは、盗まれたユーザー名とパスワードの組み合わせリストを再利用して、他のアカウントへの不正アクセスを試みる攻撃のことです。ハッカーは自動化ツールを使用して、こうした盗まれた認証情報をさまざまなWebサイトで試します。成功すれば、機密性の高い個人情報や財務情報にアクセスできる可能性があります。
注意が必要なのは、これらの攻撃ではハッカーが正当なログイン認証情報を使用しているため、攻撃が発覚しにくい点です。
クレデンシャルスタッフィング攻撃は、攻撃者がユーザーに見つかることなく、許可なく悪意のあるアクティビティを長期間行った場合に、特に損害が大きくなる可能性があります。ユーザーが気付いたときには深刻な被害が発生していて、簡単には修復できなくなっています。
レインボーテーブル攻撃
レインボーテーブルとは、パスワードを解読するために使用されるハッシュ値が含まれた計算済みの表です。レインボーテーブル攻撃は、MD5、SHA-1、NTLMなどのさまざまなハッシュアルゴリズムを使用してハッシュ化されたパスワードのハッシュを解読するのに使用できます。攻撃者は、特定のハッシュに対応するプレーンテキストをすばやく検索できるので、考えられるすべてのプレーンテキストをハッシュ化し、その結果を対象のハッシュと比較するという計算負荷の高いプロセスを実行する必要がありません。
パスワードスプレー攻撃
パスワードスプレー攻撃では、1つの一般的なパスワードを膨大な数のアカウントに適用します。この攻撃では、考えられるすべての文字の組み合わせを試すのではなく、いくつかの一般的なパスワードを多くのアカウントで試します。パスワードスプレー攻撃の成功率が高いのは、多くの人が複数のアカウントで同じパスワードを使用しているためです。攻撃者は、多くのアカウントに対して少数の一般的なパスワードを試すことで、比較的少ない労力で多くのアカウントにアクセスできます。
また、このアプローチでは、パスワードの試行回数を制限するロックアウトポリシーを攻撃者が回避できます。この攻撃では、シングルサインオン(SSO)や、フェデレーション認証を使用するクラウドベースのアプリがよく標的になります。
(パスワードスプレー攻撃を検出する方法(英語)をご確認ください。)
RDP接続に対するブルートフォース攻撃
多くの従業員がパンデミックの時代に在宅勤務に切り替えたことで、リモートデスクトッププロトコル(RDP)接続の利用が大幅に増加しました。この増加に伴い、RDP接続に対するブルートフォース攻撃も増加しています。攻撃者がリモートのRDP接続のパスワードを正しく推測できれば、ネットワーク全体で横方向に移動し、マルウェアを注入できるようになります。
ブルートフォース攻撃の防止
ブルートフォース攻撃を100%防ぐことは不可能ですが、多くの対策を講じることで被害を軽減することはできます。ここでは、ブルートフォース攻撃を防ぐ方法をいくつか紹介します。
強力で一意のパスワードを使用する
辞書に載っている単語やフレーズを避けて、強力で一意のパスワードを使用する必要があります。強力なパスワードにするには、8文字以上にし、大文字、小文字、数字、特殊文字を組み合わせてください。
- 一般的な単語や個人情報は簡単に推測できるため、パスワードには含めないでください。
- よく使われるパスワードは避けましょう。
- 脆弱なパスワードを拒否するポリシーを導入し、ユーザーには定期的なパスワード変更を求めるようにします。
パスワード管理システムについては最近セキュリティ侵害がありましたが、それでもパスワード管理システムを使用すべきなのでしょうか(ヒント:答えは「はい」です)。弊社のSURGeチームの見解をご覧ください。
多要素認証(MFA)を有効にする
MFAでは、パスワードに加えて追加の認証方法の提示を複数要求することで、アカウントのセキュリティをさらに強化できます。スマートフォンへのコード送信、生体認証スキャン、セキュリティトークンなどの方法があります。
ログイン操作を定期的に監視する
ログインの失敗回数や、失敗したユーザーのIPアドレスや場所など、ログイン操作の記録を管理しましょう。定期的に監視することで、組織はブルートフォース攻撃を未然に、またはリアルタイムで検知し、対応できるようになります。
帯域制限を導入する
一定期間内に許可されるログイン試行回数を制限し、一定回数を超えたらアカウントをロックします。こうすることで、攻撃者がパスワードを推測しにくくなります。
CAPTCHAを使用する
CAPTCHAを使えば、ユーザーが人間なのかボットなのかを識別できます。自動化されたブルートフォース攻撃の成功率を下げるには、ログインを試みる前にユーザーにCAPTCHAを完了するように要求します。
Splunkでブルートフォース攻撃を検出する
常に最新情報を把握する
攻撃対象領域は日々拡大しています。こうした攻撃を防ぐには、最新情報を把握することが重要です。専門家が推奨するセキュリティに関する記事や書籍に目を通し、対面やオンラインのセキュリティイベントに出席して、企業全体で包括的なレジリエンスを構築するようにしましょう。デジタル環境全体のレジリエンスを強化するレポートはこちら。
エキスパートの視点
このセクションでは、Buckler氏の回答を以下にまとめています。
ブルートフォース攻撃は、主にどのような動機で行われるものですか?
私の経験では、ブルートフォース攻撃は、脆弱なパスワードやその他の設定ミスがあるアカウントを特定するために使用されるのが一般的です。目的は、データの窃取やランサムウェアのインストールなどです。また、標的のサーバーにはマルウェアをインストールするだけで、そのサーバーを利用して他の標的に攻撃を仕掛ける場合もあります。特に興味深いケースとして、私が用意したハニーポットにゲーム『カウンターストライク』用のサーバーをインストールしようとした事例があります。
ブルートフォース攻撃では、どのようなツールが使用されますか?
多くは、パスワードクラッカーを備えたマルウェアボットです。大抵の場合、侵入したマシン上で実行されます。
ブルートフォース攻撃を防ぐ最善策は何ですか?
ログイン試行が一定回数(3回など)失敗した後にアカウントをロックするようにし、さらに、ブルートフォース攻撃を試行した既知のIPアドレスをブロックするのが最善の方法です。または、デセプションテクノロジーを利用するのもよいでしょう。攻撃者のIPアドレスをブロックする代わりに、攻撃をハニーポットにリダイレクトすることで、攻撃者の戦術、技法、手順に関する洞察を得ることができます。
ブルートフォース攻撃はどのくらい一般的な攻撃なのですか?
私が設置したハニーポットでは、Linux/Unixのrootアカウントに対するブルートフォース攻撃が最も一般的な攻撃でした。メールによるフィッシング攻撃を除けば、最もよくある攻撃だと考えられます。
関連記事

テレワークにおけるセキュリティ課題とその対策方法

セキュリティコミュニティWEST-SECとコラボレーションSplunk Workshopを実施
