総当たり攻撃:ブルートフォース

AIの初心者
先生、「ブルートフォース」って、何ですか? 難しい言葉でよくわかりません。

AI専門家
そうですね。「ブルートフォース」とは、簡単に言うと「あらゆる可能性をひとつずつ試していく方法」のことです。例えば、宝箱の鍵の番号を0000から9999まで全部試してみるようなやり方です。

AIの初心者
ああ、なるほど。わかりやすいです。でも、そんなやり方だと、すごく時間がかかってしまいそうですね。

AI専門家
その通りです。時間がかかるのが、この方法の弱点です。組み合わせの数が増えれば増えるほど、とてつもない時間がかかってしまいます。ですが、特別な技術は必要ないので、誰にでもできるという利点もあります。
ブルートフォースとは。
あらゆる可能性をひとつずつ試していく方法のことを「総当たり」と言います。この方法は特別な技術は必要ありませんが、試す場合の数が増えれば増えるほど、時間も大幅にかかってしまうという欠点があります。この総当たり方式を使った攻撃は「総当たり攻撃」と呼ばれ、パスワードのリストを使った攻撃や、パスワードを少しずつかえて試していく攻撃など、様々な種類があります。
総当たりで解を探せ

あらゆる問題を力任せに解く方法、それが総当たり方式です。まるで、鍵のかかった宝箱を開けるために、手持ちの鍵を一つずつ試していくようなものです。この方法は「ブルートフォース」とも呼ばれ、原理的にはどんな難問にも適用できます。
例えば、秘密の暗号を解読したいとします。暗号が4文字の数字で構成されているとしましょう。0000から順番に9999まで、全ての組み合わせを一つずつ試していくことで、いつかは正しい暗号にたどり着くことができます。同様に、複雑に入り組んだ迷路から脱出する方法を探す場合も、一つずつ分かれ道を進んでいくことで、最終的には出口にたどり着くことができます。このように、総当たり方式は単純でありながらも確実な方法と言えるでしょう。
しかし、この力任せの方法には大きな弱点があります。それは、問題の規模が大きくなると、必要な時間が膨大になってしまうことです。先ほどの4桁の暗号の例では、1万通りもの組み合わせを試す必要があります。もし、暗号が10桁に増えると、試すべき組み合わせは100億通りにもなります。さらに桁数が増えれば、現代のコンピューターをもってしても、解にたどり着くまでに途方もない時間がかかってしまうでしょう。そのため、総当たり方式は、比較的単純な問題や、時間制限がない場合にのみ有効な方法と言えるでしょう。
また、最近ではコンピューターの性能が向上し、以前は不可能だった規模の問題も総当たり方式で解けるようになってきています。しかし、それでも限界はあります。問題の複雑さによっては、他の、より効率的な方法を検討する必要があるでしょう。
| メリット | デメリット | その他 |
|---|---|---|
| 単純でありながらも確実な方法 | 問題の規模が大きくなると、必要な時間が膨大になってしまう | 比較的単純な問題や、時間制限がない場合にのみ有効 |
| どんな難問にも適用できる(原理的には) | 最近はコンピューターの性能が向上し、以前は不可能だった規模の問題も解けるようになってきている |
総当たり攻撃の脅威

総当たり攻撃とは、まさにその名の通り、考えられる限りの組み合わせを片っ端から試して、鍵をこじ開けるような攻撃手法です。コンピューターの世界では、この鍵はシステムへの入り口を守るパスワードに相当します。攻撃者は、辞書に載っている単語や数字の羅列、記号を含めた様々な組み合わせを、まるで機械のように自動で入力し続け、正しいパスワードを突き止めようとします。
パスワードが短く、単純な構成の場合、この総当たり攻撃は驚くほど効果を発揮します。例えば、誕生日や電話番号、名前の一部など、容易に推測できる文字列や、数字だけの短いパスワードは、あっという間に解読されてしまう危険性があります。近年のコンピューターは処理能力が飛躍的に向上しており、膨大な数の組み合わせを短時間で試すことが可能になっています。そのため、昔は安全と思われていた単純なパスワードでは、もはや十分な防御力とは言えません。
複雑なパスワードを設定することは、この攻撃を防ぐための最初の砦となります。数字やアルファベットの大文字と小文字、記号を組み合わせた、長く複雑なパスワードは、総当たり攻撃を仕掛ける側の労力と時間を大幅に増大させ、突破を困難にします。また、パスワードに加えて、二段階認証などの多要素認証を導入することで、セキュリティをさらに強化することができます。二段階認証では、パスワードに加えて、スマートフォンに送られてくる確認コードなど、別の要素が必要となるため、たとえパスワードが漏洩した場合でも、不正アクセスを防ぐことができます。
総当たり攻撃は、サイバー攻撃の中でも古くから知られた単純な手法ではありますが、その脅威は今でも軽視できません。個人だけでなく、企業にとっても大きな損害をもたらす可能性があるため、適切な対策を講じることが重要です。
| 攻撃手法 | 概要 | 対策 |
|---|---|---|
| 総当たり攻撃 | 考えられるパスワードの組み合わせを全て試す攻撃。
|
|
パスワードリスト攻撃

暗号鍵一覧攻撃とは、総当たり攻撃の一種で、あらかじめ用意した暗号鍵の組み合わせを次々と試して、正しい暗号鍵を探り当てる攻撃方法です。この攻撃は、よく使われる暗号鍵や、過去に情報漏洩で流出した暗号鍵などをまとめた一覧表を用います。攻撃者は、この一覧表に載っている暗号鍵を一つずつ入力し、合致する暗号鍵を見つけることで、不正に情報機器に入り込もうとします。
この攻撃は、比較的簡単に実行できるため、頻繁に使われる攻撃手法の一つです。たとえば、よく使われる暗号鍵の組み合わせ一覧表は、インターネット上で簡単に見つけることができます。また、専用の道具を使えば、自動的に暗号鍵を入力して試すことも可能です。そのため、推測されやすい誕生日や電話番号などを含む暗号鍵や、他の利用登録で使っているものと同じ暗号鍵は避けるべきです。
暗号鍵一覧攻撃から身を守るためには、いくつかの対策があります。まず、複雑な暗号鍵を使うことが重要です。大文字と小文字のアルファベット、数字、記号などを組み合わせた、12文字以上の暗号鍵を使うことが推奨されています。また、暗号鍵は定期的に変更するべきです。
さらに、情報機器への接続を一定回数以上失敗した場合、一定時間接続を遮断する「接続遮断機能」を導入することも有効な対策です。この機能は、一定回数以上間違った暗号鍵が入力された場合、その接続元からのアクセスを一定時間禁止する仕組みです。これにより、暗号鍵一覧攻撃による不正アクセスを防ぐことができます。
接続遮断機能は、多くの情報機器や利用登録で標準的に備わっている機能です。もし、この機能が利用できない場合は、管理者や利用登録を提供している事業者に問い合わせて、設定方法を確認することをお勧めします。これらの対策を組み合わせることで、暗号鍵一覧攻撃による被害を未然に防ぐことができます。
| 攻撃手法 | 概要 | 対策 |
|---|---|---|
| 暗号鍵一覧攻撃 | あらかじめ用意した暗号鍵の組み合わせを次々と試して、正しい暗号鍵を探り当てる総当たり攻撃の一種。インターネット上で見つかる一覧表や、過去に情報漏洩した暗号鍵などが使われる。 |
|
リバースブルートフォース攻撃

「総当たり攻撃」を意味する言葉に「ブルートフォース攻撃」というものがありますが、これとは少し違う攻撃に「リバースブルートフォース攻撃」というものがあります。この攻撃は、名前や、手紙を送る時に使うインターネット上の住所を固定し、様々な合い言葉を試す方法です。普通の総当たり攻撃では、合い言葉を固定して、名前やインターネット上の住所を様々に変えてログインを試みますが、この攻撃ではその逆を行います。
攻撃する側は、まず標的となる人の名前やインターネット上の住所を手に入れます。そして、その人たちが使いそうな合い言葉をリストアップし、一つずつログインを試みます。例えば、よく使われる合い言葉や、辞書に載っている言葉などが試されます。
この攻撃の狙いは、狙いを絞ることで、効率よく合い言葉を見つけることにあります。例えば、ある会社の社員を狙う場合、その会社に関係する情報や社員の名前などを基に合い言葉を推測します。誕生日や、家族の名前、会社の設立日などが使われる可能性があります。
こうした攻撃から身を守るためには、まず、自分の個人情報や会社に関する情報を不用意に公開しないことが大切です。インターネット上はもちろんのこと、現実世界でも注意が必要です。名札を常に付けていると、名前を知られてしまう可能性があります。また、合い言葉に個人情報や会社に関係する情報を含めないようにすることも重要です。推測されやすい合い言葉は避け、複雑で、他人に推測されにくい合い言葉を設定しましょう。数字や記号を織り交ぜるのも有効な手段です。そして、同じ合い言葉を複数の場所で使い回さないようにしましょう。もし一つの場所で合い言葉が漏洩した場合、他のサービスでも不正アクセスされる危険性があります。こまめに合い言葉を変えることも大切です。
| 項目 | 内容 |
|---|---|
| 攻撃名 | リバースブルートフォース攻撃 |
| 概要 | 名前やインターネット上の住所を固定し、様々な合い言葉を試す攻撃 |
| 攻撃手順 | 1. 標的の 名前やインターネット上の住所を入手 2. 使いそうな合い言葉をリストアップ 3. ログインを試みる |
| 攻撃の特徴 | 狙いを絞ることで効率よく合い言葉を見つける |
| 対策 |
|
パスワードスプレー攻撃

合い言葉吹き付け攻撃は、数多くの利用者に対して、少数の人気の合い言葉を順番に試す攻撃方法です。この攻撃は、利用者を締め出す仕組みを避けるために、試しに使う合い言葉の数を各利用者ごとで制限します。
たとえば、ある建物にたくさんの部屋があるとします。各部屋にはそれぞれ鍵がかかっており、合い言葉を入力することで解錠できます。合い言葉吹き付け攻撃を行う者は、「1234」や「合い言葉」といった簡単な合い言葉をいくつか選びます。そして、各部屋の鍵に、選んだ合い言葉を一つずつ試していきます。一つの部屋で何度も間違えると鍵が閉まってしまうので、一つの部屋で試すのは一度だけです。同じ合い言葉を、他の部屋でも試していきます。すると、たまたま簡単な合い言葉を使っている部屋が見つかり、侵入に成功することがあります。
インターネット上の多くの利用者に対して、同じように簡単な合い言葉を試すことで、たまたま同じ合い言葉を使っている利用者を見つけ出すのが、合い言葉吹き付け攻撃です。この攻撃は、利用者を締め出す仕組みをうまく回避しながら、弱い合い言葉を使っている利用者を効率的に探し出すことができます。
この攻撃から身を守るためには、簡単な合い言葉の使用を避け、複雑で推測されにくい合い言葉を設定することが重要です。推測されにくい合い言葉を作るには、数字や記号、大文字小文字を組み合わせるなど、様々な工夫が必要です。また、複数の確認手順を導入することも有効です。たとえば、合い言葉に加えて、携帯電話に送られてくる確認番号の入力が必要になるなど、複数の確認手順を設けることで、合い言葉が漏洩した場合でも、不正アクセスを防ぐことができます。
合い言葉吹き付け攻撃は、広く普及している簡単な合い言葉を狙う攻撃であるため、一人ひとりが適切な合い言葉管理を行うことで、被害を防ぐことができます。安全なインターネット環境を守るためにも、強い合い言葉の使用と複数の確認手順の導入を心がけましょう。
| 攻撃手法 | 概要 | 対策 |
|---|---|---|
| 合い言葉吹き付け攻撃 | 少数のよく使われる合い言葉を多数のアカウントに対して試す攻撃。アカウントロックを避けるため、各アカウントへの試行回数は制限される。 |
|
