ブルートフォース攻撃の概要
①パスワード/暗証番号を破る手法の一つ。
②英語で「brute force attack」。brute forceは「強引な」、attackは「攻撃」。
よって「強引な(=総当たりな)攻撃」。
③一文字ずつ変えながら全ての組み合わせの文字列でパスワード解除を試みる。
④原始的であり確実な手法。ただ他の手法に比べ時間が掛かる。
⑤パスワードに
・使用可能な文字の種類(例:アルファベットの小文字は26文字)と、
・桁数(例:4桁)
によりパスワード解除を試みる回数が決まる。
⑥試みる回数が増えるほど、パスワードを解除までに掛かる時間が長くなる。
ブルートフォース攻撃の例
例として
・宅配ボックスの暗証番号を破る攻撃
を記載します。
前提
暗証番号の条件は以下。
・数字で0~9の10種類
・4桁
流れ
0000で試みる→暗証番号間違いで宅配ボックスは開かない
0001で試みる→暗証番号間違いで宅配ボックスは開かない
0002で試みる→暗証番号間違いで宅配ボックスは開かない
0003で試みる→暗証番号間違いで宅配ボックスは開かない
・
・
・
のように一文字ずつ変えながらパスワード解除を試みる。
合計10,000回試みる
※10(種類)の4(桁)乗。「= 10 * 10 * 10 * 10」
どうすれば防ぐことができるか
対策方法は3つある。
どれか1つではなく3つ全てを実施する。
1.パスワードで使用可能な文字の種類を増やす
2.パスワードの桁数を増やす
例えば
・パスワードの桁数を8桁以上
・パスワードで使用可能な文字の種類を56種類 ※「英字大文字(26種類)、小文字英字(26種類)、+ 数字(10種類)」
にすると、
・総当たり回数の総数は96兆7千億回以上
・やりきるには50年以上の時間が掛かる
ことになる。
よってブルートフォース攻撃によりパスワード/暗証番号を破ることは
・現実的に不可
となる。
※ 総当たり回数の総数は56の階乗8(56 * 56 * 56 * 56 * 56 * 56 * 56 * 56)で
96兆7173億1157万4016回。
3.ログインの試行回数に上限を設定する。
ログインが3回以上失敗したらアカウントロックする等。