関連するソリューション
サイバーセキュリティ
ID-Ashura/セキュリティサービス
本稿では、ブルートフォースアタックの概要と対策手法についてご紹介いたします。
考えうる全通りのパスを試すブルートフォースアタック
ブルートフォース(brute force)とは、「強引な」「力ずく」という意味です。この言葉通り、ブルートフォースアタックは力ずくの攻撃手法です。力ずくというのは、未知のユーザIDとパスワードを、あらゆる文字の組み合わせを片っ端から試していくという単純な攻撃手法だからです。
単純な分、攻撃用のプログラムを作りやすいという利点があるため、かなりメジャーな攻撃方法となっています。
たとえば、ダイヤル式の鍵を例に考えてみましょう。4桁のダイヤル式の鍵の場合、0000から9999までを全部試せば、必ずどれかで正解する、というわけです。この攻撃は時間はかかりますが、確実に正解(セキュリティ突破)を導き出すことができるため、防ぐのが難しいともいえます。
パスワードの種類・長さと解読にかかる時間の関係
ブルートフォースアタックは、片っ端から文字列を試して正解を見つけるため、当然ながらパスワードに使用している文字の種類が多ければ時間がかかります。また、パスワードが長いほど組み合わせが多くなり、時間がかかります。文字の種類と長さと、解読にかかる時間の関係を簡単にまとめてみます。
上記は現在の普通の性能のパソコンで計測した場合の目安と考えてください。
将来的にもっと高速なパソコンが登場すれば、この時間は短くなる可能性があります。
パスワードを破れなくてもサーバーに負荷をかけることができる点が悪質
ブルートフォースアタックは、プログラムが片っ端から文字列を作成してサーバーに送信し、ログインを試みます。サーバーの応答速度にもよりますが、1秒間に数回から数十回チャレンジすることもできます。しかし、これをやられたサーバー側はたまったものではありません。常に送られてくるログイン情報について認証チェックを行い、その結果を返すわけですから、それを休みなくやられるとかなりの負荷がかかります。サーバーに負荷をかけてダウンさせる攻撃方法にDoS攻撃やDDoS攻撃がありますが、これと同じようにサーバーの機能を麻痺させることができる可能性があるわけです。
ブルートフォースアタックへの対策手法
先ほどのパスワードに使用する文字種類と長さの表を見ると、4桁のパスワードはブルートフォースアタックで簡単に突破されることがわかります。つまり、4桁のパスワードは使わない方が無難といえます。また、6桁もまだ現実的な範囲で突破されるため、これも推奨できません。ブルートフォース攻撃を防ぐためには、英字+数字(大文字、小文字の区別あり)で8桁以上のパスワードが有効だということがわかります。
また、サーバーにおいては、連続してログインに失敗した場合は、ある程度間隔をあけないと再トライできないような仕組みを設けるのが有効です。こうしておけば、ブルートフォースアタックを受けても、サービスダウンになる可能性はありません。また、ブルートフォースアタックを失敗させる可能性が高くなります。
さらにサーバーの場合、同じアカウントに対して、パスワードを変えながら何度も連続してログインを試みるようなログを見つけた場合は、ブルートフォースアタックが疑われるため、アクセス元のIPアドレスからのアクセスを遮断するという方法もあります。
ブルートフォースアタックは原始的な分たちが悪いが、対策は十分できる
最近では、ほとんどのサーバーで、パスワードに使用する文字種類が多くなるよう規制をかけたり、パスワードの長さを8文字以上としたりしています。また、連続してログインに失敗すると、ある程度時間がたたないと、再度ログインのトライができない仕組みを持っているところも多数あります。このような対策が進んでいる現状では、ブルートフォースアタックはそれほど脅威のある攻撃方法ではないと考えられるでしょう。
お問い合わせ>
当サイトの内容、テキスト、画像等の転載・転記・使用する場合は問い合わせよりご連絡下さい。
エバンジェリストによるコラムやIDグループからのお知らせなどを
メルマガでお届けしています。