🦔

パスワード解析されるまでの時間をまとめてみた【パスワードクラッキングについて】

2020/12/19に公開

悪い奴にパスワードが解析されるまでの時間とその方法についてまとめてみました。
redditの記事によると解析されるまでの時間は下記の通りです。

設定方法 数字 小文字 小+大文字 小+大+数 小+大+数+記号
6文字 1秒以下 1秒以下 1秒以下 1秒 5秒
7文字 1秒以下 1秒以下 25秒 1分 6分
8文字 1秒以下 5秒 22分 1時間 8時間
9文字 1秒以下 2分 19時間 3日 3週間
10文字 1秒以下 1分 1ヶ月 7ヶ月 5年
11文字 2秒 1日 5年 41年 400年
12文字 25秒 3週間 300年 2,000年 34,000年

こうしてみるとパスワードに大文字+小文字を必要にしてるサイトが多い理由が分かりますね。

どうやってパスワードを解析してるの?

他のユーザーが設定したパスワードを抜き出す攻撃をパスワードクラッキングといいます
抜き出したパスワードで本人に成りすましてアクセスし、不正に操作します。
成りすました後は不正にクレジットカードを利用したり、サイトを書き換えたりやりたい放題されます。
悪いやつらがどういう攻撃を仕掛けてくるのか。そして開発者はどのように対策しているのかを紹介していきます。

攻撃方法について

##ブルートフォース攻撃
スクリーンショット 2020-12-10 9.33.36.png
「総当たり攻撃」とも呼ばれる攻撃手法で、特定のIDに対してパスワードとして使用可能なすべての文字列を組み合わせてログインを試みます。時間さえかければ確実に認証の突破が可能となる。

辞書攻撃

スクリーンショット 2020-12-10 9.33.57.png
最近ではパスワードの文字数(8文字~32文字)が長く設定されているため、上記でご紹介した総当たり攻撃は効率が悪くなってしまっています。
そこでサイバー攻撃者が考案したのが、辞書攻撃というものです。
辞書攻撃は総当たり攻撃と比較して、効率的にパスワードを解読でき、解読時間が短いです。
パスワードが名前、誕生日、地名等、分かりやすいパスワードの場合、パスワードを解読されやすいです。

##リバースブルートフォース攻撃
スクリーンショット 2020-12-10 9.34.10.png
バースブルートフォース攻撃とは、パスワードを固定して、IDを解読する方法です。
そのため、リバースブルートフォース攻撃は一つのアカウントに対し1回しか仕掛けないため、アカウントロックという方法は使用することができません。
IDはパスワードと比較して、名前等を使用している場合があるので、比較的解読されやすい傾向にあります。
リバースブルートフォース攻撃の対策として強度を確認するパスワードチェッカーを導入することが有効となります。

開発者の対策

アカウントロックを設定する

IDやパスワードを入力するWebシステムで一定回数続けてログインに失敗した場合、ログインを不可能にする設定のことです。
アカウントロックを設定する方法は総当たり攻撃に有効です。

パスワードを複雑なものに設定を促す

登録時パスワードの桁数、英数字、記号等の組み合わせた値をユーザーにお願いするパターン。これにより辞書攻撃されにくくなります。

ログイン試行を監視する

特定のIPアドレス(インターネットの住所)から大量のログイン試行、存在しないIDへのログイン試行があった場合、IPアドレスをもとに通信を遮断するなど適切な対処を行うことでサイバー攻撃の被害を防ぐことができる

2段階認証を利用する

ワンタイムパスワードやトークンを用いた2段階認証によるセキュリティ強化も有用です。仮にリスト攻撃による不正ログインが確認されても、被害の発生を抑制することができます。

Discussion