ブルートフォース攻撃(総当たり攻撃)とは?
ブルートフォース攻撃(Brute Force Attack)は、日本語で「総当たり攻撃」とも呼ばれるサイバー攻撃の一種です。 この攻撃は、パスワードや暗号化キーなどを解読するために、考えられるすべての文字の組み合わせを力ずくで試すという非常にシンプルな手法です。 コンピューターの計算能力を使って、膨大な数のパターンを高速で試行し、正しい組み合わせを見つけ出して不正なアクセスを試みます。
ブルートフォース攻撃の仕組み
ブルートフォース攻撃の基本的な仕組みは、その名の通り「総当たり」です。例えば、4桁の数字の暗証番号を解読する場合を考えてみましょう。
攻撃者は「0000」から始まり、「0001」「0002」…と順番に「9999」まで、1万通りの組み合わせをすべて試します。人間が手作業で行うと時間がかかりますが、プログラムを使えば非常に短時間で完了してしまいます。
パスワードが長くなったり、使用される文字の種類(英大文字・小文字、数字、記号)が増えたりすると、組み合わせの数は爆発的に増加し、解読にかかる時間も長くなります。 しかし、コンピューターの性能向上に伴い、より複雑なパスワードでも短時間で解読される危険性が高まっています。
もしブルートフォース攻撃によってログインされてしまうと、以下のような深刻な被害につながる可能性があります。
- 個人情報や機密情報の漏洩: アカウント内の個人情報や、企業の機密データが盗まれます。
- アカウントの乗っ取り: SNSアカウントやオンラインサービスが乗っ取られ、なりすまし投稿や不正な操作をされます。
- 金銭的被害: ネットバンキングやECサイトのアカウントが不正利用され、金銭を盗まれたり、勝手に商品を購入されたりします。
- Webサイトの改ざん: Webサイトの管理権限を乗っ取られ、内容を書き換えられたり、ウイルスを仕込まれたりします。
ブルートフォース攻撃の主な種類
ブルートフォース攻撃には、いくつかの派生した手法が存在します。それぞれ少しずつ特徴が異なります。
攻撃の種類 | 説明 |
---|---|
単純なブルートフォース攻撃 | 特定のユーザーIDに対し、考えられるすべてのパスワードの組み合わせを試す、最も基本的な総当たり攻撃です。 |
辞書攻撃(Dictionary Attack) | 辞書に載っている単語や、よく使われるパスワードのリスト(例:「password」「123456」など)を使ってログインを試す手法です。総当たりよりも効率的にパスワードを破ろうとします。 |
逆ブルートフォース攻撃(Reverse Brute Force Attack) | パスワードを一つに固定し(例:「password123」)、そのパスワードを使って様々なユーザーIDでログインを試す手法です。「逆総当たり攻撃」とも呼ばれます。 |
パスワードスプレー攻撃(Password Spraying) | 逆ブルートフォース攻撃に似ていますが、少数のよく使われるパスワードを、時間をかけて広範囲のユーザーIDに対して試行する攻撃です。アカウントロックを回避する目的で行われます。 |
ハイブリッドブルートフォース攻撃 | 辞書攻撃とブルートフォース攻撃を組み合わせた手法です。辞書の単語に数字や記号を付け加えるなどして、より複雑なパスワードの解読を試みます。 |
実際に発生した事故事例
ブルートフォース攻撃による被害は、国内外で実際に発生しています。
- 決済サービスの不正利用(2019年7月)
国内のある決済サービスで、ブルートフォース攻撃などを含む不正アクセスが発生しました。その結果、約900人のアカウントが被害に遭い、合計で約5,500万円もの金額が不正に利用されるという大規模な事件に発展しました。 このサービスはIDとパスワードのみでログインできる仕組みだったことが、被害拡大の一因とされています。
- 送金・決済サービスの不正出金(2020年9月)
複数の銀行と連携していた送金・決済サービスで、リバースブルートフォース攻撃などの可能性が疑われる不正出金が相次いで発生しました。 他人になりすまして口座が開設され、銀行口座から不正にお金が引き出される被害が確認されました。
- 大学病院での個人情報流出
ある国立大学の附属病院で、職員のメールアカウントがブルートフォース攻撃を受け、不正ログインされました。これにより、患者416人分の個人情報が外部に流出したとされています。
ブルートフォース攻撃への対策
ブルートフォース攻撃から身を守るためには、利用者側とサービス提供者側の両方で対策を講じることが重要です。
利用者(ユーザー)側でできる対策
1. 複雑で長いパスワードを設定する
英大文字、小文字、数字、記号を組み合わせ、できるだけ長いパスワードを設定しましょう。 短く単純なパスワードは、非常に短い時間で解読されてしまいます。
2. 多要素認証(MFA)を有効にする
IDとパスワードに加えて、スマートフォンアプリへの通知やSMSで送られる確認コードなどを認証に使う方法です。 万が一パスワードが突破されても、不正ログインを防ぐことができます。
3. パスワードを使い回さない
複数のサービスで同じパスワードを使い回していると、一つのサービスからパスワードが漏れた場合に、他のサービスでも不正ログインされる危険性が高まります。
サービス提供者(企業)側でできる対策
対策 | 内容 |
---|---|
アカウントロック機能の実装 | ログイン試行回数に上限を設け、一定回数以上失敗したアカウントを一時的にロックします。 これにより、攻撃者が連続してパスワードを試すことを防ぎます。 |
CAPTCHA(画像認証)の導入 | 「私はロボットではありません」のチェックボックスや、歪んだ文字を読み取らせる画像認証を導入し、プログラムによる自動的な攻撃を防ぎます。 |
IPアドレスによるアクセス制限 | 不審なIPアドレスからのアクセスを遮断したり、特定のIPアドレスからのみアクセスを許可したりすることで、攻撃の試行自体を防ぎます。 |
WAFの導入 | WAF(Web Application Firewall)を導入することで、不正なアクセスパターンを検知し、ブルートフォース攻撃を含む様々なサイバー攻撃をブロックできます。 |
まとめ
ブルートフォース攻撃は、単純ながらも非常に強力で、誰でも被害に遭う可能性のあるサイバー攻撃です。しかし、その仕組みを理解し、適切な対策を講じることで、リスクを大幅に減らすことができます。