ブルートフォースアタックとは? 被害内容と対策など
普段利用するサービスやシステムの多くでは、利用者を識別するためにIDとパスワードの入力を要求します。特にパスワードは不正アクセスを防止するための重要な情報であり、最も手軽なセキュリティ対策の1つでしょう。一方、そんなパスワードによるセキュリティを突破するためのサイバー攻撃にはさまざまな種類が存在しており、「ブルートフォースアタック」は代表的もののひとつです。仕組みが単純なこともあり、比較的手軽に実行される攻撃手法です。
この記事では、ブルートフォースアタックの仕組みや手口とあわせて、具体的な対策方法について解説します。
ブルートフォースアタックとは
日本語で「総当たり攻撃」と表現されることのあるブルートフォースアタックとは、その名前が示す通り("brute force"は英語で「無理矢理な力」を意味し、"attack"は「攻撃」)、力ずくで突破しようとする一種のサイバー攻撃の手法です。この手法では、パスワードが何文字で構成され、何種類の文字が使用されているかといった情報を基に、可能性のある全てのパスワード候補を試行し、有効なパスワードを探し出そうとします。
現在のIT技術の進化とともに、コンピューターの計算能力は大幅に向上しました。1971年のインテルの初代マイクロプロセッサーでは、1秒間に約6万命令を実行するにとどまっていましたが、最近のプロセッサーは1秒間に数兆命令を実行できます。時間の経過とともに処理能力が指数関数的に増加しており、高性能なコンピューターやクラウドベースの計算資源を誰でも手に入れられるようになりました。これにより、資金や知識がなくても、比較的短時間でパスワードの解読をおこなえる状況になったのです。
なお、ブルートフォースアタックには亜種として「リバースブルートフォースアタック」という手法も存在します。この攻撃では、パスワードではなくユーザーIDを総当たりで試行します。パスワードは固定か、あるいは既知のものとされ、一方でユーザーIDが変動します。これはユーザーIDがパスワードと比べてより予測しやすい場合や、一部のシステムではユーザーIDが公に見える場合があるため、攻撃者にとって有利な状況を作り出すことがあります。
ブルートフォースアタックの仕組みと手口
ブルートフォースアタックの一連の流れは、まず、対象となるアカウントのIDを何かしらの方法で入手します。手段としては、誤って公開されたデータベースからID情報を入手する、あるいはフィッシング攻撃を通じて収集するといったものが考えられます。
IDを入手したら次に総当たりによる攻撃が開始されます。
一般にパスワードは数字や文字の組み合わせであり、その組み合わせの範囲と数を知ることができれば、地道に試していけば(理論的には)必ずいつかは突破できます。
ブルートフォースアタックの本質的な考え方もこの総当たり戦略に基づいていており、単純な作業の繰り返しを得意とするコンピューターの特性を活かして、パスワードのすべての組み合わせを自動的に試すことで、正しいパスワードを見つけ出してしまうのです。
0~9までの数字を2組使ったパスワードは00~99までの100通りとなります。
パスワードが数字だけでなく英字を含む組み合わせによって数万通り、数百万通り、あるいはそれ以上のパターンが存在したとしても、コンピューターを利用すれば自動的に行われるため攻撃者にとっては苦になりません。特に性能が高くなった近年のコンピューターや高速なネットワーク環境を活用すれば、4桁のパスワードならば数分、6桁のパスワードであれば数十分から数日程度で、理論上すべての組み合わせを試行することが可能です。
ブルートフォースアタックは時間と計算力さえあれば、あらゆるパスワードを解読する可能性を持っているのです。
ブルートフォースアタックによって発生しうる被害
以下にブルートフォースアタックによって発生した具体的な被害のシナリオを2つ示します。
被害シナリオ
(想定事例1)
A社は、大手オンラインショップを運営していました。ある日、ブルートフォースアタックによって管理者のアカウントが不正に利用され、多数の顧客データが盗まれるという事態が発生しました。窃取されたデータには顧客の氏名、住所、電話番号、購入履歴などの個人情報が含まれていました。さらに攻撃者は、登録されていたクレジットカード情報を利用して大量の不正な購入を行ったため、大きな金銭的被害が発生しました。
(想定事例2)
B社は、国内外に幅広いネットワークを持つ製造業でした。しかし、ブルートフォースアタックにより、社内システムのログイン情報が突破され、攻撃者によって重要な設計データが改ざんされるという事態が発生しました。これにより、製造ラインが停止し、大量の不良品が生産されるという深刻な事態になりました。
ブルートフォースアタックによる被害は多岐にわたります。
金銭的被害
ブルートフォースアタックによってアカウントが突破され、不正アクセスが可能になれば、そのアカウントに紐づけられた金銭的なリソース(クレジットカード情報、銀行口座、電子マネー等)が攻撃者に利用されるリスクがあります。
情報漏えい
ブルートフォースアタックによって得られたアクセス権限を使用して、個人情報や企業秘密を含むデータベースに不正にアクセスし、情報を盗むことが可能になります。
データの改ざん
攻撃者がシステムに不正アクセスできれば、システム内のデータを自由に改ざんすることが可能になります。これにより、製造ラインの停止や不正な情報の表示、ウェブサイトの改ざんなど、一般的なサービス運営に大きな影響を及ぼす可能性があります。
企業の信用失墜とブランドイメージの低下
一度情報漏えいやデータ改ざんなどの事故が起こると、その企業の信用は大きく損なわれます。特に、個人情報の漏えいは、ユーザーからの信頼を大きく失う要因となり、その結果、ブランドイメージの低下や売上減少に直結する可能性があります。
これらの被害を避けるためには、ブルートフォースアタックに対する適切な防御策を講じることが不可欠です。被害を十分に理解し、その危険性を認識することもまた、サイバーセキュリティの観点から重要なことです。
ブルートフォースアタックへの効果的な対策
ブルートフォースアタックの仕組み自体は非常に単純です。効果的な対策手段としては次のようなものが挙げられるでしょう。
パスワードの桁数を多くする
パスワードの桁数が多いほど、それだけ組み合わせが増え、ブルートフォースアタックにかかる時間が大幅に増えます。例えば、数字のみ4桁のパスワードは1万通りの組み合わせですが、5桁にすると10万通りになり、攻撃にかかる時間が10倍になります。ただし、桁数が多いとパスワードの管理が難しくなるというデメリットがあります。
パスワードの文字種を多くする
数字・英字(大文字・小文字)だけでなく、記号などもパスワードに組み入れることで組み合わせは大幅に増えます。たとえば、数字4桁だけのパスワードは1万通りですが、英数字(大文字・小文字)と記号を加えた場合、その組み合わせは非常に多くなります。
英数字(大文字・小文字)と記号を使った場合、一般的なキーボードでは以下の文字が使えます。
数字: 10種類 (0-9)、小文字英字: 26種類 (a-z)、大文字英字: 26種類 (A-Z)、記号: 33種類 (一般的なキーボードに含まれるもの)
これらを全て使った場合、95種類の文字が使えます。
この場合、パスワードが4文字であれば、組み合わせの数は95^4 = 81,450,625通りとなります。単純な数字だけのパスワードと比較すると、大幅に組み合わせの数が増え、ブルートフォースアタックにかかる時間も長くなります。
しかし、記号を含む複雑なパスワードは記憶・入力が困難になるというデメリットがあります。
試行回数に制限をつける
一定の間違った認証試行があった場合にアカウントを一時的にロックするなどの試行回数の制限は、ブルートフォースアタックの効果を大きく減らします。(ただし、ID側の組み合わせを変える「リバースブルートフォースアタック」には有効とはいえません)。
しかし、誤ってパスワードを何度も間違えた場合に、本人でもアカウントにログインできなくなるというデメリットがあります。
パスワードの定期的な変更
定期的なパスワード変更の主な目的は、パスワードが何らかの形で漏洩してしまった場合、その漏洩パスワードの有効期間を限定することです。しかし、頻繁にパスワードを変えると、ユーザーが新しいパスワードを忘れてしまう可能性があり、結果として簡単なパスワードを選びがちになる、あるいは同じパスワードを再利用するといった問題が生じることが指摘されています。
そのため、現在では強度の高いパスワードを設定し、それを安全に管理(パスワード管理ツールの使用など)すること、そして不審な活動があった場合にのみパスワードを変更する、というアプローチが推奨されることが多いです。
多要素認証を導入する
多要素認証とは、パスワードだけでなく、ユーザー自身しか持っていないもの(携帯電話など)や、ユーザー自身の生体情報(指紋、顔認証など)を使用する認証方法です。これにより、パスワードが漏洩したとしても、他の要素がなければアカウントにアクセスできないため、安全性が高まります。ただし、複数の認証手段を用意・管理する必要があり、また、ユーザーにとってはログイン手続きが煩雑になるというデメリットがあります。
その他のパスワードを狙う攻撃手法
ディクショナリーアタック(辞書攻撃)
事前に準備された単語やフレーズのリスト(辞書)を使用してパスワードを解読します。ユーザーが簡単に記憶できる一般的な単語やフレーズをパスワードに設定している場合に有効です。したがって、この攻撃を防ぐためには、パスワードとして一般的な単語や簡単に推測可能なフレーズを避け、パスワードに特殊文字や数字を含めることが推奨されます。
レインボー攻撃
パスワード文字列に対応する一連の計算済みハッシュ値をレインボーテーブルという一覧表に保存し、これを使用してパスワードのハッシュ値と照合する方法です。ハッシュ化されたパスワード情報が漏洩した場合に有効です。この攻撃から自己を守るためには、「ソルト」(ランダムなデータ)を使用してハッシュ値を計算することが推奨されます。これにより、同じパスワードでも生成されるハッシュ値が異なり、レインボーテーブル攻撃を無効化することができます。
キーロガー攻撃
キーロガー攻撃は、キーロガーと呼ばれるマルウェアを使用してユーザーのキーストロークを記録し、それを解析してパスワードを盗み出す攻撃です。この攻撃はパスワードの強度に関係なく効果的です。この攻撃から守るためには、定期的なセキュリティソフトウェアの更新と、不審なメールやリンクから来るファイルのダウンロードを避けることが重要です。
ソーシャルエンジニアリング
ソーシャルエンジニアリングは、ユーザーをだましてパスワードや他の重要な情報を明かさせる詐欺的な手法です。この攻撃から守るためには、ユーザー自身のセキュリティ意識を高めることが最も重要です。信頼できる第三者を装って情報を求めてくる者から情報を与えないようにし、自身の情報を守るための教育を受けることが推奨されます。
これらの攻撃手法は全て、ブルートフォースアタックと同じくパスワードの突破を目指しますが、それぞれの攻撃には特有の状況と戦術があります。それらを理解し、適切な防御策を取ることで、より効果的なセキュリティ対策を計画することが可能となります。
この記事のまとめ
パスワードは、我々が最も頻繁に利用するセキュリティ手段の一つです。しかし、パスワードはブルートフォースアタックをはじめとした多種多様なサイバー攻撃の対象となります。パスワードが狙われるのは常態化しており、それを守るための戦略は絶えず進化させる必要があります。
特に、テレワークの普及やクラウドサービスの利用増加に伴い、パスワード管理はより複雑になってきています。安易なパスワードの設定は、ブルートフォースアタック等による重大なセキュリティ事故を引き起こす可能性があります。
ブルートフォースアタックは比較的単純な攻撃手法ですが、これに対する有効な対策は確かに存在します。パスワードの文字列を強化することが必要です。それに加え、定期的なパスワード変更の実施やセキュリティ教育を通じて運用の徹底を図ることが重要です。
しかし、人間の努力には限界があります。
パスワードのみに頼らない多要素認証(MFA)の導入や、パスワードを使用しない電子証明書の利用も同時に検討することをお奨めします。これらは、パスワードによるセキュリティリスクを大幅に軽減する助けとなります。
セキュリティの維持強化は継続すべき取組みです。それぞれの脅威に対し、最適な対策を講じることが求められます。今回の記事をきっかけに、自身のパスワード管理について見直してみてはいかがでしょうか。
Pickup ピックアップ
-
インタビュー
「切れない」VPNに認証の側面から安心をプラス|Absolute Secure Access ✕ Soliton OneGat...
-
イベント報告
【ウェビナー】知っておきたい「医療ガイドライン第6.0版」のポイントと、求められるセキュリティ対策とは?|アクシオ×ソリトンシ...
-
インタビュー
フルマネージドの連携ソリューションで快適かつ安全な無線環境を負荷なく実現|Hypersonix × Soliton OneGa...
-
インタビュー
「まずは認証から」現場の課題に寄り添い、実現可能なゼロトラストセキュリティソリューションを提案|萩原テクノソリューションズ×ソ...
-
インタビュー
新たな脅威への対応まで『任せられる』。「Prisma SASE」で、組織のセキュリティ対策をシンプルに強化|パロアルトネットワ...