ブルートフォース攻撃の入門
ブルートフォース攻撃とは、サイバー犯罪者がパスワード、暗号化キー、ログイン資格情報などの機密情報にアクセスするために用いる試行錯誤の手法です。基本的には、正しいパスワードが見つかるまで、考えられるすべてのパスワードの組み合わせを体系的に試します。これは、泥棒が考えられるあらゆる数字の並びを試して組み合わせ錠を開けようとするのに似ています。
一見するとやや粗雑な手法であるにもかかわらず、十分な時間とリソースさえあれば成功することが多いため、ブルートフォース攻撃はサイバー犯罪者にとって好まれる手口のままです。ブルートフォース攻撃が人気であり続ける理由として、ほかにも次のような点があります。
- これらの攻撃はシンプルで実行も容易であり、高度なハッキングスキルは必要ありません。
- サイバーセキュリティ上のリスクについての認知は広く浸透しているにもかかわらず、多くの人がいまだに弱い、または使い回しのパスワードを複数のアカウントで利用しています。
- ブルートフォース攻撃はパスワードで保護されているあらゆるシステムに適用できるため、ハッカーにとって汎用性の高い手段になります。
- ボットの活用や、Graphics Processing Unit(GPU)の処理能力が急増したことで、ブルートフォース方式によるパスワード解読に必要な時間が大幅に短縮されました。
メールや Web アプリケーションのオンラインアカウントは、総当たり攻撃(brute force attacks)の理想的な標的です。総当たり攻撃は、ネットワーク機器を含む、あらゆるコンピューターにも仕掛けられる可能性があります。システムが Windows、Linux、macOS のいずれで動作しているかに関係なく、これらの種類の攻撃に対して脆弱であり続けます。
Netwrix Password Secure
Netwrix のエンタープライズ向けパスワード管理ソフトウェアは、機密情報を保護し、コンプライアンスを証明するのに役立ちます
Netwrix Account Lockout Examiner の無料トライアルを依頼する
総当たり攻撃の種類を理解する
単純な総当たり攻撃
最も基本的なレベルでは、単純なブrute Force攻撃(総当たり攻撃)は、自動化とスクリプトを使って高速で、パスワードを体系的に推測します。この方法は、「password1」や「12345678」のような弱いパスワードに対して非常に有効であることが分かっています。
Dictionary Attack
Dictionary attacks(辞書攻撃)は、一般的な単語や人気のパスワード組み合わせを事前にコンパイルしたリストを利用します。この手法は、人が覚えやすいパスワードを選びがちな傾向を悪用します。リストは、地域ごとの用語、文化的な参照、対象となる属性に基づいてカスタマイズできます。
Hybrid Brute Force Attack
Hybrid brute force attacks は、辞書攻撃と単純な総当たり(ブrute Force)技術を組み合わせ、一般的な単語と典型的なバリエーションの両方を考慮することで有効性を高めます。攻撃は、辞書リストにある一般的なベースとなる語から始まり、その後に文字の置き換えや組み合わせを適用する場合があります。
リバースブルートフォース攻撃
リバースブルートフォース攻撃は、既知のパスワードから開始して一致するユーザー名を見つけようとすることで、従来のアプローチを逆転させます。この手法では、1つのパスワードを複数の候補となるユーザー名に対して試し、異なるアカウント間でのパスワード再利用を悪用する点で効果的です。
クレデンシャルスタッフィング
クレデンシャルスタッフィングは、過去の data breach で盗まれたユーザー名とパスワードの組み合わせを活用します。前提は、ユーザーが複数のプラットフォームで同じ認証情報を単純に使い回しているということです。この手法は、自動化ツールによって盗まれた認証情報を人気のWebサイトに投げ込むことに依存します。大量に出回っている盗難認証情報があるため、このアプローチは効果的です。
ブルートフォース攻撃の仕組み
繰り返しになりますが、目的は正しいものが見つかるまで、考えられるあらゆる文字の組み合わせを当てていくことなので、プロセスはかなりシンプルです。基本的には、手順は次のとおりです:
- オンラインのユーザーアカウントなど、攻撃対象を特定する
- 対象の環境について、ユーザー名の形式など パスワードポリシー、そしてパスワードの可能性を絞り込める手がかりを集める
- 攻撃を実行する。まずは単純なパスワードから始め、必要に応じて複雑さを拡大する
- 正しいパスワードまたはキーが見つかると、攻撃者は不正なアクセス権を得て、何らかの悪意ある行為を行えるようになります。
よく使われるツールとソフトウェア
ブルートフォース攻撃を支援できるさまざまなツールが市場にあります。例:
- John the Ripper:複数のプラットフォームおよびパスワードハッシュ形式に対応する、高度にカスタマイズ可能なパスワード解読ツールで、辞書攻撃とブルートフォース攻撃の両方を実行できます
- Hydra:HTTP、FTP、SSH、Telnet など多数のプロトコルに対応する、広く使われているブルートフォース(brute force)ツールです。カスタマイズ機能が充実しているため、Web アプリケーション、サーバー、ネットワーク機器全体でログイン資格情報をテストするのに適しています。
- Aircrack-ng: 主に Wi‑Fi パスワードの解読に使用され、無線ネットワークに対して辞書攻撃を実行します
- L0phtCrack: Windows のパスワードを監査し(auditing)復元するために設計された専門ツールで、Windows ベースのシステムに対するペネトレーションテストやセキュリティ監査で人気の選択肢です。複数の攻撃手法を用い、悪意ある目的にも利用され得ます。
- Hashcat: GPU の並列処理能力を活用するように設計されており、パスワードのクラック(破解)を非常に高速で実行できます。
- Rainbow Crack:事前に計算されたレインボウテーブル(rainbow tables)を利用して、パスワード解析(クラック)に必要な時間を短縮します
ブルートフォース攻撃(Brute Force Attacks)における自動化の役割
多くの事柄と同様に、自動化はブルートフォース攻撃の成功速度を大幅に加速させます。なぜなら、毎秒何千もの組み合わせを試すことができるからです。これらの自動化ツールは、人の介入なしに継続して動作させることができます。
計算能力の強化
攻撃者は、ボットネットやその他の侵害されたデバイスで構成された分散ネットワークにアクセスできることが多く、これを活用して大規模な総当たり攻撃(brute force)を実行できます。これにより、複数のシステムに計算負荷を分散でき、検知の回避にも役立ちます。GPUは並列計算を行うことで、総当たり攻撃の速度を大幅に向上させました。さらに攻撃者は、計算能力を必要に応じてクラウド資源として活用するために、クラウドコンピューティングも利用しています。GPUとクラウドコンピューティングの組み合わせは、攻撃者が複雑な総当たり処理を実行する能力を大きく高めます。
総当たり攻撃の動機
データ窃取と個人的利益
総当たり攻撃(brute force)の主な目的は、データの窃取または個人的な金銭的利益です。攻撃者は、直接的な金銭の盗難や詐欺のために、銀行口座、クレジットカード情報、その他の金融データを狙うことがあります。盗まれた情報は、なりすまし(ID theft)、将来のクレデンシャルスタッフィング(credential stuffing)攻撃に利用されたり、ダークウェブで販売されたりします。場合によっては、ハッカーが侵害されたアカウントを使って、機密のビジネスデータ、営業秘密、または知的財産にアクセスし、競争上の優位性や金銭的利益を得ようとすることもあります。
システムのハイジャックとマルウェアの配布
クラック用のブルートフォース攻撃は、システム侵害の入口として頻繁に用いられます。これにより、マルウェア、ランサムウェア、トロイの木馬の投入など、より高度な攻撃への道が開かれます。デバイスが侵害されると、それがボットネットに組み込まれ、攻撃者がより大規模な作戦を展開できるようになることもあります。サイバー犯罪者は、ネットワーク内の特権ユーザーアカウントを標的にすることが多いのは、これらのアカウントにアクセスできれば、企業の基盤インフラにおける重要領域の入口を開くことにつながるためです。
Webサイトの破壊(改ざん)と評判の毀損
攻撃者は、政治的な活動(活動主義)や個人的な復讐の名目で、Webサイトを改ざんして見た目を破壊したり、サイトの機能を妨害したりするために標的にしたいと考えることがあります。ハッカーは、組織の対外的なイメージを損なうために、Webサイトへわいせつまたは攻撃的なコンテンツを注入することもあります。別のケースでは、Webサイトがアクセスしている機密情報を盗み、それを公に公開して組織の評判を傷つけ、顧客の不信感を生み出そうとします。
アドウェアと活動データによる金銭的利益
攻撃者が金銭的利益のためにブルートフォース攻撃を用いることには、複数の間接的な方法があります。これには ad インジェクションによる広告収益の創出、正当なWebサイトのトラフィックを悪意のあるサイトや競合サイトへリダイレクトすること、または、侵害されたサイトからデータを収集して関心のある当事者に販売するデータの収奪などがあります。
ブルートフォース攻撃でよく使われるツール
ブルートフォース攻撃を行う際に役立つさまざまなツールが市場に存在します。これらのうち一部は正当な目的に使用されますが、その他は純粋に悪意のある目的のために使われます。現在よく知られているツールには、例えば次のようなものがあります:
- John the Ripper: 複数のプラットフォームとパスワードハッシュ形式に対応し、ディクショナリ攻撃とブルートフォース攻撃の両方を実行できる、高度にカスタマイズ可能なパスワードクラックツール。
- Hydra: HTTP、FTP、SSH、Telnet など多数のプロトコルに対応した、広く使われているブルートフォースツールです。高いカスタマイズ性により、Webアプリケーション、サーバー、ネットワーク機器全体でログイン資格情報をテストする用途に最適です。
- Aircrack-ng: 主に Wi‑Fi パスワードの解読(クラック)に使用され、無線ネットワークに対して辞書攻撃を行います。
- L0phtCrack: Windows のパスワードを監査(auditing)し、回復(recovering)することを目的に設計された専門ツールで、Windows ベースのシステムに対する侵入テストやセキュリティ監査でよく選ばれます。複数の攻撃手法を用いており、悪意ある目的に使われることもあります。
- Hashcat: GPU の並列処理能力を活用することを目的に設計されており、パスワードの解読(クラック)を非常に高速に実行できます。
- Rainbow Crack:事前計算されたレインボーテーブルを利用して、パスワード解読に必要な時間を短縮します。
これらのツールの多くは、Linux、Windows、macOS を含む複数のオペレーティングシステムに対応しています。攻撃者が特定の脆弱性を狙ったり、異なる環境に適応したりできるよう、多くのツールはカスタマイズも可能です。内蔵の辞書やパスワードリストなど、定期的に更新される機能もいくつか備えています。ほとんどはモジュール型のアーキテクチャで構築されており、進化するセキュリティ対策やプロトコルに合わせて適応できます。
状況に応じて、さまざまなツールが使われます。弱い SSH パスワードを悪用するのに適したものもあれば、Web アプリケーションのログインフォームや認証メカニズムをテストするのに長けたものもあります。その他の具体的な用途としては、WIFI の暗号化を解読したり、ブルートフォースで RDP の認証情報を使って対象システムに対するリモート制御を取得したりすることなどが挙げられます。
ブルートフォース攻撃で悪用される脆弱性
弱いパスワードとよくあるパスワードのパターン
弱いパスワード は、考えられるあらゆるパスワードの組み合わせに注力する代わりに、よく使われる弱いパスワードに集中できるため、ブルートフォース攻撃を容易にします。弱いパスワードの特徴は次のとおりです。
- 8文字以下の短いパスワード
- 「123456」や「qwerty」のような予測可能なパターンは、最初の候補としてよく試されます
- 「abcdef」や「1111111」のような繰り返し文字や連続した文字は、あまりにも簡単になってしまいます。
- 地域のスポーツチーム名、都市名、または「hello123」などの一般的な単語やフレーズは予測しやすいです。
システムが弱いパスワードに依存している場合、総当たり攻撃は非常に効果的になります。攻撃者は考えられるすべての組み合わせを試す必要はありません。代わりに、最もよく使われる弱いパスワードに集中できます。
保護されていない認証情報とデフォルト認証情報
デフォルトの認証情報は、多くのデバイスやソフトウェア アプリケーションが標準のユーザー名とパスワードの組み合わせで事前設定された状態で提供されるため、企業環境では大きなセキュリティ リスクになります。典型的な例として「admin/admin」があります。これらのデフォルト設定は、製品マニュアルに記載されていることが多く、オンラインでも容易に入手できるため、IT 専門家もサイバー犯罪者も同様に広く知られています。その結果、変更されないデフォルトの認証情報が見落とされてしまい、攻撃者が悪用しやすい侵入口が生まれます。さらに、これらのデバイスにはパスワード変更を強制するポリシーがないため、放置されやすくなり、攻撃者が悪用しやすい侵入口として機能してしまいます。
シングルファクター認証システム
ブルートフォース攻撃(brute force)がいかに簡単に実行できるかを見れば、パスワードベースの認証のみに頼る時代が終わりを迎えたことがよく分かります。補完的な認証手段がない場合、侵害されたパスワードは直ちに攻撃者へ完全なアクセス権を付与します。さらに、単一要素のシステムは、資格情報の詰め込み(credential stuffing)や パスワードスプレー(password spraying) など、他の攻撃手法にもより影響を受けやすいのが実情です。現在、多くの保険会社がサイバー保険の対象となるために、多要素認証(MFA)ソリューションを求めています。加えて、増え続けるコンプライアンス規制においても要件化されつつあります。
予防および軽減のための戦略
ブルートフォース攻撃(brute force)を防ぐには、個人レベルと組織レベルの両方で先回りした対策が必要です。個人としてできることは次のとおりです:
- 少なくとも14文字の強力なパスワードおよびパスフレーズを作成してください
- 大文字と小文字、数字、記号を組み合わせて使用してください
- 一般的な単語やフレーズ、または簡単に推測できる情報は避けてください
- 生年月日やペットの名前などの個人情報は使用しないでください
- 複数のアカウントで同じパスワードを使い回さないでください
各アカウントごとに、固有で長くて複雑なパスワードを把握し続けるのは難しいことがあります。そのため、パスワードマネージャーはパスワードを生成して保存し、簡単に呼び出して適用できる仕組みを提供します。
組織のためのセキュリティ戦略
組織のサイバーセキュリティにおける最前線として、従業員は潜在的な脅威に最もさらされやすい立場にあります。そのため、セキュリティリスクを識別し、対応する能力を高めるには、サイバーセキュリティのトレーニングを不可欠なものとして検討するべきです。教育を受けたユーザーは、ブルートフォース攻撃(総当たり攻撃)への対抗における非常に強力な手段の一つです。定期的にセキュリティ意識向上トレーニングを実施し、パスワード運用が不適切な場合に伴うリスクを必ず説明してください。進化する脅威に対応できるよう、トレーニング内容は定期的に更新しましょう。
前述のとおり、組織は生体認証、ワンタイムコード、または FIDO キーなどの追加の認証要素を要求する MFA を導入すべきです。無制限のログイン試行を防ぐために、一定回数の失敗後はアカウントをロックする仕組みを実装するか、自動化された攻撃を防ぐために CAPTCHA のチャレンジを使用してください。
何かを安全にするためには、可視性(Visibility)が不可欠です。リアルタイムの脅威検知システムを導入することで、組織はネットワークのアクティビティやユーザーの行動を継続的に監視できます。これにより、IT およびセキュリティチームは潜在的なセキュリティインシデントを迅速に特定し、対応することが可能になります。
ブルートフォース攻撃に関するよくある質問
よくある質問の1つは、攻撃者がブルートフォース攻撃によってパスワードを正常に侵害するまでにどれくらいの時間がかかるかです。もちろん答えは「状況による」です。たとえば、パスワードが6文字しかない場合、複雑さに関係なく数分以内に解読できてしまいます。しかし、複雑さが攻撃の所要時間に影響し始めるのは8文字からです。文字のみの8文字パスワードは数秒で解読できる一方、大小文字の混在、数字、記号で構成された8文字パスワードは数年かかることがあります。さらに、大小文字、数字、記号が混在した16文字パスワードをブルートフォース攻撃で解読するには、考えられる組み合わせが膨大であるため、1世紀以上かかる可能性があります。
ブルートフォース攻撃は違法なのだろうか、と思うかもしれません。ここでは攻撃の動機によって異なります。組織は定期的にセキュリティチームを雇い、自社の企業環境に対して攻撃を実施し、脆弱性を特定して防御を強化することがあります。倫理的なハッカーは、バウンティ(報奨)イニシアチブの一環として、システムの堅牢性をテストする権限を与えられています。
ブルートフォース攻撃は、システム、ネットワーク、または個人データへの無許可のアクセスを得る目的で使用される場合、通常は違法です。たとえば米国では、Computer Fraud and Abuse Act (CFAA) により、コンピュータシステムへの不正アクセスは刑事犯罪とされています。また、そのような攻撃から身を守ることを組織に求める規制もあります。例えば、欧州連合の General Data Protection Regulation (GDPR) では、組織に対してデータ漏えいからユーザーデータを保護する責任を負わせています。
結論
ブルートフォース(総当たり)攻撃は、そのシンプルさと潜在的な有効性により、依然として大きな脅威です。実際、このような攻撃は、技術的な専門知識がほとんどない個人でも、すぐに利用できるツールを使って実行できてしまいます。とはいえ、組織は従業員向けの定期的なセキュリティ意識向上トレーニングの実施、強力なパスワードポリシーおよびアカウントロックアウトポリシーの適用、そしてMFA(多要素認証)の導入といった、わかりやすい防御策を実装できます。さらに、近代化されたモニタリングおよび監査(アラート/ログ)ツールを追加すれば、ほとんどの種類のパスワード攻撃に対して、どの組織でも強靭な防御を構築でき、全体的なサイバーセキュリティ態勢を大幅に強化できます。
よくある質問(FAQs)
攻撃者がブルートフォース方式を用いることを可能にするのは、どのような種類の攻撃ですか?
ブルートフォース攻撃のアプローチは、試行錯誤(trial-and-error)の手法に依存します。最もわかりやすい例は、攻撃者が何らかの自動化ツールを使って、正しいものが見つかるまでアカウントに考えられるあらゆるパスワードの組み合わせを次々と投入する攻撃です。その他の例としては、辞書攻撃、リバースブルートフォース攻撃、クレデンシャルスタッフィングがあります。
ブルートフォース攻撃とはどういう意味ですか?
ブルートフォース攻撃(brute force attack)とは、攻撃者が考えられるあらゆる組み合わせを順に試して、パスワード、暗号化キー、またはログイン認証情報を突き止めようとする、体系的な手法です。これは、泥棒が鍵穴で動く組み合わせを見つけるまで、考えられる組み合わせを一つずつ計画的に試すのと似ています。
ブルートフォース攻撃の有名な例は何ですか?
ブルートフォース攻撃の有名な例としては、2012 年の LinkedIn の攻撃と、2015 年に発生した Dunkin Donuts のインシデントがあります。LinkedIn は、サイバー犯罪者がブルートフォース手法を用いて、そのプラットフォームのユーザーデータベースに不正にアクセスし、何百万ものユーザーアカウントが侵害されるという被害に遭いました。Dunkin’ Donuts も同様の脅威に直面し、攻撃者がブルートフォースで約 5 日間という短期間に、約 20,000 のユーザーアカウントへ侵入しました。Dunkin’ Donuts の侵害では、侵害されたアカウントから報酬用の現金が数万ドル規模で盗まれる結果となりました。
パスワード攻撃とブルートフォース攻撃の違いは何ですか?
パスワード攻撃は、ユーザーの認証情報を侵害(compromise)することを目的とした、より広い範囲のサイバー攻撃の総称です。さまざまな技術的・非技術的手法を利用することがあります。ブルートフォース攻撃は、パスワード攻撃の中でも特定のタイプで、パスワードを当てるために体系的な試行錯誤(trial and error)を行います。この攻撃アプローチでは自動化ツールを用い、社会的操作ではなく計算能力に依存します。
ブルートフォース攻撃の別名は何ですか?
ブルートフォース攻撃は、正しい解決策を見つけるために考えられるあらゆる組み合わせを順序立てて試すため、「総当たり攻撃(exhaustive search)」とも呼ばれます。ブルートフォース攻撃に関連する別の用語としては、戦術が少し異なる場合もありますが、辞書攻撃、パスワードクラック、クレデンシャル・スタッフィングなどがあります。
ブルートフォース攻撃の兆候にはどのようなものがありますか?
ブルートフォース攻撃の兆候には、しばしば不自然なアクティビティのパターンや、システムまたはネットワーク上で確認できる特定の指標が含まれます。注目すべき主な兆候は次のとおりです:
- 短時間のうちに、同一のIPアドレスまたはユーザーアカウントからのログイン失敗が多数発生すること
- 単一の送信元から複数のアカウントにアクセスしようとする試み
- サーバーの活動量または帯域幅の使用量が異常に急増している
- 見知らぬ、または想定外の場所からのログイン試行
- 休眠中、またはほとんど使用されていないアカウントでの不審な活動
Netwrix Password Secure
共有する
もっと詳しく
著者について
Dirk Schrader
セキュリティ リサーチの VP
Dirk Schrader は Netwrix の Resident CISO (EMEA) であり、セキュリティ リサーチの VP です。CISSP (ISC²) および CISM (ISACA) の資格を持つ、IT セキュリティ分野で 25 年のベテランとして、サイバー脅威に取り組むための現代的なアプローチであるサイバー レジリエンスの推進に取り組んでいます。Dirk はキャリアの初期に技術およびサポートの役割からスタートし、その後、大規模な多国籍企業から小さなスタートアップまでで、営業、マーケティング、プロダクト マネジメントのポジションへと移行しながら、世界中のサイバーセキュリティ プロジェクトに携わってきました。彼はサイバー レジリエンスを実現するために、変更管理と脆弱性管理に取り組む必要性について、多数の記事を発表しています。