メインコンテンツにスキップする

ブルートフォース攻撃(総当たり攻撃)とは

ブルートフォース攻撃は、ログイン情報や暗号鍵の推測や、認証情報が必要なWebページへの侵入を目的として試行錯誤を繰り返します。サイバー犯罪者は可能なすべての組み合わせを試行し、正しい情報を入手しようとします。

このような攻撃は、「ブルートフォース(総当たり)」によって行われます。つまり、標的のプライベートアカウントへの侵入を「力ずくで」成功させようとするので、非常に強引な攻撃と言えます。

古い攻撃方法ですが現在も効果的であり、サイバー犯罪者がよく使う手口です。解析にかかる時間は、パスワードの長さと複雑さに応じて、数秒から数年になります。

ブルートフォース攻撃によって得られるもの

ブルートフォース攻撃の手口を使用して利益を得るには、ちょっとした努力が必要になります。技術がそれを容易にしているとはいえ、「なぜこんなことをするのだろう」と疑問に思うかもしれません。

ここでは、サイバー犯罪者がブルートフォース攻撃からどのような利益を得ているかを説明します:

  • 広告からの利益や活動データの収集
  • 個人データや貴重品の窃取
  • マルウェアの拡散による混乱状態の誘発
  • 悪用するためにシステムを乗っ取る
  • Webサイトの評判の毀損

広告からからの利益、または活動データの収集

サイバー犯罪者はWebサイトを別のサイトとともに悪用し、広告手数料を得ています。次のような方法がよく使用されます:

  • 利用者が多いサイトにスパム広告を掲載し、訪問者が広告をクリックまたは閲覧するたびに収益を得る。
  • Webサイトのトラフィックを手数料が発生する広告サイトに転送する。
  • 活動追跡マルウェア(一般的にはスパイウェア)にサイトや訪問者を感染させる。データはユーザーの同意なしに広告主に売却され、マーケティング活動の改善に使用されます。

個人データや貴重品の窃取

オンライン口座への侵入は、銀行の金庫破りのようなものです:口座番号から納税情報まで、あらゆるデータがオンラインで入手できます。侵入を成功させさえすれば、サイバー犯罪者は標的の身元情報やお金を盗んだり、盗んだ個人データを売却して利益を得ることができるようになります。企業レベルのデータが侵害されると、組織全体の機密データベースが流出することもあります。

マルウェアの拡散による混乱状態の誘発

トラブルの発生や自分のスキルの実践を目的として、サイバー犯罪者がWebサイトのトラフィックを悪意のあるサイトにリダイレクトさせることがあります。また、隠蔽したマルウェアをサイトに直接感染させて、訪問者のパソコンにインストールさせる場合もあります。

悪用するためにシステムを乗っ取る

1台のマシンでは十分でない場合、サイバー犯罪者はボットネットと呼ばれる無防備なデバイスの一団を参加させ、作業のスピードアップをはかります。スパムフィッシングやブルートフォース攻撃の強化などを目的として、ユーザーのパソコンや モバイルデバイス、オンラインアカウントにマルウェアを侵入させます。ウイルス対策システムを導入していない場合、感染のリスクが高まる可能性があります。

Webサイトの評判の毀損

運営するWebサイトが荒らし行為の標的となった場合、サイバー犯罪者はそのサイトを反道徳的なコンテンツで埋め尽くそうとするかもしれません。暴力、ポルノ、人種差別的な内容のテキスト、画像、音声などが、その手口に使用される場合があります。

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

ブルートフォース攻撃は多様な手法を使用して、機密データを暴き出そうとします。標的に対して実行される典型的なブルートフォース攻撃の手法は次の通りです:

  • 単純なブルートフォース攻撃
  • 辞書攻撃
  • ハイブリッドブルートフォース攻撃
  • 逆ブルートフォース攻撃
  • クレデンシャルスタッフィング

単純なブルートフォース攻撃:ソフトウェアツールやその他の手段による支援を全く受けることなく、認証情報の論理的な推測を試行します。このような方法でも、極めて単純なパスワードや暗証番号であれば見破られてしまう場合があります。たとえば、「guest12345」と設定されたパスワードなどです。

辞書攻撃:標準的な攻撃では、サイバー犯罪者は標的を選び、ユーザー名に対して可能性があるパスワードを試行します。これらの攻撃は、辞書攻撃と呼ばれています。辞書は、ブルートフォース攻撃の最も基本的なツールです。辞書の使用自体が必ずしもブルートフォース攻撃であるとは限りませんが、パスワードクラッキングの重要な要素としてよく使用されます。無修正の辞書を徹底的に調べ、単語を特殊文字や数字で補強したり、特殊な単語辞書を使用したりするサイバー犯罪者も存在しますが、この種の一連の攻撃には手間がかかります。

ハイブリッドブルートフォース攻撃:外部からの手段と論理的な推測を織り交ぜて侵入を試行します。ハイブリッド攻撃は通常、辞書攻撃とブルートフォース攻撃の組み合わせからなります。これらの攻撃は、一般的な単語とランダムな文字からなる複合的なパスワードを見破るために使用されます。このようなブルートフォース攻撃の例として、NewYork1993Spike1234のようなパスワードが挙げられます。

逆ブルートフォース攻撃:その名の通り、攻撃戦略を逆にする方法です。まず既知のパスワードを選ぶことから始めます。次に、そのパスワードを使用しているユーザーが見つかるまで、何百万ものユーザー名を検索します。こうした攻撃の多くは、既知のデータ漏洩によって流出し、オンラインで入手可能となったパスワードから開始されます。

クレデンシャルスタッフィング:あるWebサイトで使用された実績があるユーザー名とパスワードの組み合わせがある場合、他の膨大な数のWebサイトでもその組み合わせを試行します。多くのWebサイトでログイン情報を使い回すユーザーがたくさんいることはよく知られていますが、そんなユーザーがこの攻撃の格好の標的になります。

ブルートフォース攻撃を支援するツール

特定のユーザーやサイトのパスワードの推測には長い時間がかかります。そこでサイバー犯罪者は、作業を高速化するツールを開発しています。

自動化ツールは、ブルートフォース攻撃に役立ちます。これらのツールは可能な限りのパスワードを生成、試行する機能を実装しており、矢継ぎ早に推測が実行されます。ブルートフォース攻撃用のツールは、辞書内の1つの単語を使用するパスワードであれば1秒以内に見つけることができます。

このようなツールには、次のような次善策がプログラムされています:

  • 多くのコンピュータープロトコル(FTP、MySQL、SMPT、Telnetなど)に対する有効性
  • サイバー犯罪者が無線モデムをクラックできるようにします。
  • 脆弱なパスワードの特定
  • 暗号化されたストレージ内のパスワードを解読
  • リートスピーク方式で文字を置換 ー たとえば「don'thackme」は「d0n7H4cKm3」になります。
  • すべての可能な文字の組み合わせを実行します。
  • 辞書攻撃を実行します。

ツールによっては、既知のハッシュ関数の入力と出力のレインボーテーブルを事前にスキャンするものもあります。これらの「ハッシュ関数」とは、パスワードを長い固定長の文字や数字の列に変換するために使用するアルゴリズムベースの暗号化手法です。言い換えれば、レインボーテーブルは、ブルートフォース攻撃の最も困難な点を解決し、プロセスを高速化するということです。

GPUによるブルートフォース攻撃の高速化

ブルートフォース攻撃で使用するパスワード生成ツールの実行には、コンピューターの膨大な演算能力が必要です。残念なことに、サイバー犯罪者は、この部分をより簡単にするハードウェアを既に開発しています。

CPUと画像処理装置(GPU)を組み合わせると、コンピューターの演算能力が加速します。GPUに数千の演算コアを追加して処理することで、システムは複数のタスクを一度に処理できるようになります。GPU処理は、解析、エンジニアリング、その他の計算負荷の高いアプリケーションに使用します。この方法を使用するサイバー犯罪者は、CPUのみを使用する場合よりも約250倍速く、パスワードを解読することができます。

では、パスワードの解読にはどれくらいの時間がかかるのでしょうか?数字を含む6文字のパスワードの場合、約20億個の組み合わせが考えられます。1秒間に30個のパスワードを試行可能な強力なCPUでも、この解読には2年以上かかります。高性能なGPUカードを1枚追加すれば、同じコンピューターで1秒間に7100個のパスワードをテストし、3.5日でパスワードを解読することができます。

IT担当者のためのパスワード保護ステップ

自分自身とネットワークの安全を守るには、自分で予防策を講じるとともに、他のユーザーが同様のことをできるように支援しましょう。ユーザーの行動とネットワークセキュリティのシステムの両方を強化する必要があります。

IT担当者もユーザーも同様に、心に留めておくべき一般的なルールがいくつかあります:

  • セキュリティ強度が高いユーザー名とパスワードを使用しましょう。自分の認証情報に、「admin」や「password1234」などの脆弱な文字列を使用しないでください。セキュリティ強度が高い文字列を使用して、攻撃を防ぎましょう。この組み合わせが強力であればあるほど、誰にとっても侵入が困難になります。
  • 高レベルの権限を持つ未使用のアカウントを削除してください。このようなアカウントはサイバー空間では鍵の弱いドアのようなもので、簡単に侵入を許してしまいます。管理が不十分なアカウントによる脆弱性を放置するリスクは、決して冒すべきではありません。できるだけ早く、そうしたリスクを手放しましょう。

基本を押さえたら、自分のセキュリティを補強しつつ、他のユーザーが自分でセキュリティ対策を講じるのを促進しましょう。

バックエンドでできることから始め、安全性を高める習慣をサポートするためのヒントを紹介します。

パスワードをバックエンドから間接的に保護する方法

高い暗号化率:ブルートフォース攻撃を困難にするには、システム管理者は、システムのパスワードが256ビット暗号化など、可能な限り高い暗号化率で暗号化されていることを確実にする必要があります。パスワードの特定は、暗号化方式のビット数が多いほど難しくなります。

ハッシュのソルト化:管理者は、ハッシュ処理を実行する際、文字と数字のランダムな文字列(「ソルト」)をパスワード自体に付加して、パスワードのハッシュ値をランダム化することを推奨します。このソルトの文字列は別のデータベースに保管し、ハッシュ処理の実行前に取得して、パスワードに追加します。ハッシュのソルト化により、同じパスワードを持つユーザーであっても、ハッシュは異なるものを持つことになります。

二要素認証(2FA):加えて、管理者は二段階認証を要求し、ブルートフォース攻撃を検知する侵入検知システムをインストールすることを推奨します。これにより、ユーザーのログインには物理的なUSBキーや指紋による生体認証スキャンなどの、2つ目の要素が必須となります。

ログインの再試行回数の制限:試行回数を制限することでも、ブルートフォース攻撃の影響を受けにくくなります。たとえば、パスワードの試行回数が3回に達したら、数分間入力できないようロックアウトすると、攻撃が長期間中断されることになります。そうなると、サイバー犯罪者は攻撃を諦めて、もっと簡単な別な標的を探しに行くかもしれません。

一定回数以上のログイン失敗後のアカウントロックダウン:一次的なロックアウト後もパスワードの再試行を延々と続けることが可能だと、サイバー犯罪者によるログインがいつかは成功してしまう可能性があります。このような行為を阻止するには、アカウントをロックし、ロック解除にはユーザーがIT部門に連絡する必要があるという運用を採用します。ロックアウトの解除までの期間を短くするとユーザーは便利ですが、利便性が脆弱性につながることもあります。このバランスを取るために、短期間のロックアウトの後にログイン失敗が多い場合は、長期間のロックダウンを適用することを検討してください。

ログインの繰り返し回数を抑制:1回のログイン試行ごとに間隔を空けることで、サイバー犯罪者のログイン試行をさらに遅らせることができます。一度ログインに失敗したら、タイマーによって、しばらく時間が経過するまでログインを拒否するように設定することができます。これにより、リアルタイム監視チームがこの脅威を発見し、阻止するための時間を確保することが可能です。サイバー犯罪者によっては、待つ価値がないと判断したら攻撃をやめる場合もあります。

ログイン試行の繰り返し後にCaptchaを要求:手動認証は、ロボットがブルートフォースでデータに侵入するのを阻止します。Captchaには、画像内のテキストの再入力、チェックボックスのチェック、画像内のオブジェクトの識別など、多様なタイプがあります。どのタイプであっても、最初のログインの前と、ログインが失敗するたびに要求することで、保護を強化することができます。

IP拒否リストを使用して、既知の攻撃者をブロックしましょう。このリストは、管理者によって常に更新されていることを確認してください。

IT担当者がパスワードの保護を積極的に推進する方法

パスワードの教育: パスワードのセキュリティには、ユーザーの行動が不可欠です。パスワードを管理するための安全な方法とツールについてユーザーを教育しましょう。カスペルスキー パスワードマネージャーのようなサービスを使用すると、複雑で覚えにくいパスワードを付箋紙に書き留める代わりに、暗号化された「ストレージ」に保存することができます。ユーザーは利便性のために安全性を犠牲にしがちです。この便利なツールをユーザーに使用させることで、安全性の維持を支援しましょう。

リアルタイムでアカウントを監視し、不審な活動に注意しましょう:あり得ないログイン場所や、多すぎるログイン試行など。異常な活動の傾向を把握し、想定される攻撃者をリアルタイムでブロックするための対策を講じましょう。IPアドレスのブロック、アカウントのロックダウンに注意し、ユーザーに連絡してアカウントの活動が(不審に見える場合)正当かどうかを判断してください。

ブルートフォース攻撃に対してユーザーがパスワードを強化する方法

ユーザーの立場でも、デジタルライフで自分を保護するためにできることはたくさんあります。パスワード攻撃に対する最善の防御は、パスワードをできる限り強固にすることです。

ブルートフォース攻撃の成否は、パスワードをクラックするための時間に依存しています。したがって、これらの攻撃をできるだけ遅らせるようなパスワードの設定を目標としましょう。侵入にあまりに時間がかかりすぎると、ほとんどのサイバー犯罪者は諦めて次に進んでしまうからです。

ブルートフォース攻撃に対してパスワードを強化する方法をいくつか紹介します:

多様な種類の文字で長いパスワードを設定しましょう。可能であれば、記号や数字を含む10文字のパスワードを使用するようにしましょう。これにより、可能な組み合わせが1垓7130京(1.71 x 1020)個になります。1秒間に103億個のハッシュを試行可能なGPUプロセッサを使用したとしても、このパスワードを解読するのには約526年かかります。もっとも、スーパーコンピューターなら数週間で解読できるかもしれません。この考え方に従えば、文字数が多ければ多いほど、パスワードはより困難になります。

手の込んだパスフレーズを使用しましょう。長いパスワードを使用できないサイトもありますが、その場合は、単純な単語ではなく複雑なパスフレーズを使用するようにしましょう。辞書攻撃は、単一の単語フレーズに特化して構成されており、侵入にかかる手間がほぼありません。パスフレーズ(複数の単語やセグメントで構成されたパスワード)の中に、追加の文字や特殊文字を散在させてください。

パスワードを作成する際のルールを作りましょう。最高のパスワードとは、自分だけが覚えていて、他の人が読んでも意味がわからないものです。パスフレーズを使用する場合は、"wood "を "wd "に置き換えるなど、単語を切り捨てて使用し、自分だけが理解できる文字列を作成することを検討してください。そのほか、母音を削除したり、各単語の最初の2文字だけを使用するのもよいでしょう。

使用頻度の高いパスワードは避けましょう。よく使われるパスワードは避け、高い頻度で変更することが大切です。

使用するサイトごとに独自のパスワードを使用するようにしましょう。クレデンシャルスタッフィングの被害に遭わないためにも、パスワードは決して使い回さないでください。セキュリティをさらに強化したい場合は、サイトごとに異なるユーザー名を使用しましょう。万が一、自分のアカウントに侵入されても、他のアカウントへの侵入は防止できます。

パスワードマネージャーを使用しましょう。パスワードマネージャーをインストールすると、オンラインログイン情報の作成と管理が自動化されます。これにより、まずパスワードマネージャーにログインすることで、すべてのアカウントにアクセスできるようになります。その後、アクセスするすべてのサイト用に非常に長く複雑なパスワードを作成し、安全に保管することができます。覚える必要があるのは、パスワードマネージャーのメインパスワードのみで済みます。

「自分のパスワードはどのくらいの時間で解読されるだろう」と心配な方は、でパスフレーズの強度をテストできます。

カスペルスキー インターネット セキュリティは、インターネットセキュリティ製品として最高のパフォーマンスと保護性能に相当するAV-TEST賞を2021年に2度受賞しています。すべてのテストにおいて、カスペルスキー インターネット セキュリティは傑出したパフォーマンスを発揮し、サイバー脅威からの保護性能の高さを実証しました。

関連記事:

ブルートフォース攻撃: 定義と例

ブルートフォース攻撃:パスワード保護
Kaspersky Logo