ブルートフォースアタック(総当たり攻撃)とは、「ブルートフォース(brute force)」という言葉の意味(「強引な」とか「力ずく」)を表すような攻撃手法のことで、ユーザのアカウント・パスワードを解読するため、考えられる全てのパターンを試す方法の事を言います。
力ずくの攻撃なので、なかなか防ぐのが難しいと不安に思うかとも多いかと思いますが、しっかりと対策方法があります。
この記事では、その攻撃の特徴と防ぐための対策方法を整理しますので、ぜひ最後までご覧ください。
この記事の目次
ブルートフォースアタックとは
前述の通り、ユーザのアカウント・パスワードを解読するため、考えられる全てのパターンを試す方法で、文字通り総当たりの攻撃です。
さらにわかりやすくご理解いただくために、サイバ課長に説明してもらいましょう!
サイバが持っている「鍵」よく見ると3桁の数字のダイヤルがあるサイね。この3つの数字を合わせて鍵を開けるサイが、サイバは確実に開けることができるサイね。
このように3桁の数字のみであれば、1000回試せば確実に開く。
このように無差別にパスワードを組み合わせてログインを試みるのが「ブルートフォースアタック」サイね!
「0〜9」の10桁の数値の3桁 → 103 → 10×10×10 = 1000通りサイね
簡単な説明がわかったところで、もう少し具体的にどのような攻撃かを説明すると、
例えば、パソコンやサーバなどのログインを試みたい機器に対してのブルートフォース攻撃をイメージしてください。
なんらかの情報により、攻撃者がアカウント情報(ID)を知っている場合、考えられるパスワードを全て試す形でログインを試みます。
この方法は、自力でやることを考えると気が遠くなるほどの時間がかかるものですが、多くの場合プログラムされたコンピューターが行っている場合がほとんどです。
上記のように例えばアルファベットと数字の組み合わせであることがわかっていた場合、その4桁の文字の組み合わせを全て試して強引にログインしようとするものです。
パスワードの組み合わせパターンとその試行時間は?
上記に書いたアルファベット(大文字と小文字)と数字の組み合わせの4桁の文字列で利用できる文字数は62あります。
そのような文字を組み合わせたパスワードの組み合わせを一通り試すにはどのくらいの時間がかかるのでしょうか?
前述したようにこのような天文学的な数値の試行を人間がやろうとすると、おそらく、、、一生かかっても終わりません。。。
しかしパソコンが行う場合、約2分で破られてしまうと言われています。(下表参照)
使用する文字の種類 使用できる
文字数 最大解読時間 入力桁数 4桁 6桁 8桁 10桁英字(大文字、小文字区別無) 26 約3秒 約37分 約17日 約32年英字(大文字、小文字区別有)+数字 62 約2分 約5日 約50年 約20万年英字(大文字、小文字区別有)+数字+記号 93 約9分 約54日 約1千年 約1千万年※現在の処理能力のパソコンで計測すると異なる結果となる点、ご了承ください。(2015年9月)
※すべての組み合わせを試すために必要な時間を計算。記号は31文字使用できるものとした。使用パソコンOS:Windows Vista Business 32bit版、プロセッサ:Intel Core 2 Duo T7200 2.00GHz、メモリ:3GB
上記の表に整理したように、8桁以上のパスワードにすると、急激に施工時間も長くなりますね。
当然ながら、10桁、12桁など、文字数は多く、種類も英数字・記号なども利用するパスワードを設定するのが良いでしょう。
ログインが強行されてしまうとどうなる?
その他のサイバー攻撃による不正アクセスと同じですが、下記のような被害が考えられます。
どれも大きな被害になりうるものなので、確実に防ぎたいところです。
金銭的な被害
ネットバンキングなどの直接金銭につながるサービスや、ポイントサイトなどの金銭に近いものを管理するサービスが多くあります。
このようなサービス上でパスワードを破られてしまうと不正に出金、送金されるなどの被害が発生する恐れがあります。
個人情報などの情報が漏洩
パスワードによって保護されていた個人情報などの情報が漏洩してしまう被害が発生します。
メールで機密情報を送る際には、多くの方がそのファイルにパスワードを設定するかと思います、そのパスワードは大丈夫ですか?
簡単なパスワードを設定して、もしそのパスワードが破られてしまった場合、そこから情報が漏洩する可能性があります。
特にPDFファイルなどは、簡単なパスワードしか設定できない場合がありますので要注意です。
Webサイト改ざん、SNSの不正利用
Webサイトなどでは、システム上よく利用されるWordPressなどがこの被害に遭いやすいと言えます。管理するためのログインパスワードが破られると、Webの内容を改ざん、破壊することができるようになります。
また、FacebookやTwitteなどの乗っ取りも多発しています。SNSの改ざんもパスワードを破ることによって可能になり、ログインされて全く関係のない投稿をされてしまったりするので注意が必要です。
特別な技術を必要としないブルートフォースアタック
ブルートフォースアタックは、その他のサイバー攻撃と比較して、ネットワークやサーバの知識など、特別な知識がなくても実現できてしまうもの。
もちろん人間が自分の手をかけて一つ一つやるのは大変ですが、それをコンピュータにやらせることによって飛躍的に効率がアップします。それがブルートフォースアタックなのです。
ブルートフォースアタックの効果的な対策方法は?
8桁以上のパスワードを設定する
まずは上記の表からもわかるように8桁以上のパスワードにすることにより、パソコンを使ってもパスワードを破るまでに数年かかります。
また当然ですが、桁数が多ければ多いほど、文字数が多ければ多いほど時間がかかるので、可能であれあば10桁、12桁などの文字数で設定し、英字だけでなく、数字さらには記号を組み合わせることが効果的です。
ログインロックを設定する
ログイントロックとは、複数回パスワードを間違えるなどログインできない試行が続いた場合に、数分間アカウントを停止するなどの設定のことです。
理論上ブルートフォースアタックを試みられると、時間をかければどんなパスワードでも解読できてしまいます。
しかし、例えば「5回失敗したらアカウントをロック」するというログインロックを設定することにより、さらに大幅な時間がかかることになるので、この対策がブルートフォースアタックには効果的であると言えます。
世界中で現在公開されているWEBサイトの約30%が「WordPress」で構築されていると言われているほどの普及率を誇るCMSですが、これだけ多く使われていると、ハッカーからのターゲットになりやすいのも事実です。
そんなWordPressへのブルートフォースアタックを防ぐ方法は簡単!プラグインにより「ログインロック」を設定することです。
その導入がオススメのプラグインが「SiteGuard WP Plugin」。こちらインストールして、下記の画面で「アカウントロック」を設定するだけです。
期間:この期間内に
回数:この回数ログイン失敗をしたら、
ロック時間:この時間だけロックしますよ。という設定になります。WordPressを利用している方は、ぜひ導入しておきましょう。
2要素認証を設定する
IDとパスワードだけでログインするサービスの多くは、ブルートフォースアタックによってパスワードが解析されてしまうと手も足も出ません。
そのようなサービスでは、2要素認証を導入しておくと、仮にパスワードが知られてしまったとしても、それだけではログインできなくなるので、ブルートフォースアタックが怖くなくなります。
2要素認証を導入すると、あらかじめ登録しておいた「電話番号」や「メールアドレス」に認証コードが送られてきて、それを入力してはじめてログインが可能になります。
色々なサービスで導入していますので、ぜひご利用のサービスでもご確認ください。
WordPressでの二要素認証の導入は下記記事もぜひご覧ください。
まとめ
難しい技術的な知識やノウハウがなくても実施できてしまうのが「ブルートフォースアタック」です。
その対策としては、パスワードはなるべく桁数と多くして、ログインロックの設定もする。さらに可能であれば2要素認証の導入も実施しましょう。
この3つの施策を行うことにより、ブルートフォースアタックを防げる可能性が高まりますので、ぜひ実施しておきましょう。
IPA(独立行政法人 情報処理推進機構)では、中小企業の情報セキュリティ対策ガイドライン付録の「情報セキュリティ5か条」では、「パスワードは英数字記号含めて10文字以上にする」と書かれていますので、そのようなパスワードを設定すると良いでしょう。
参考情報セキュリティ5か条※上記の「情報セキュリティ5か条」に取り組むと、セキュリティアクション一つ星を取得できます。
参考セキュリティアクション