pythonでパスワードを解読。総当たり攻撃【brute force attack】ブルートフォースアタック
ITが生活必需品となった現在、私たちは様々なパスワードに囲まれて生活しています。
キャッシュカードの暗証番号やメールアドレスのパスワード、Amazonプライムなど、様々なサービスにログインする際にパスワードを活用しています。
しかし、キャッシュカードの暗所番号の様に、未だに四桁の数字だけを設定しているサービスは多くあります。
今回はこの【四桁の数字のパスワード】が如何に簡単に解読出来るのか❓
を考察します。
まず、簡単な算数でパスワードの組み合わせが何種類存在するのか計算してみます。
【四桁の数字のみの場合】
パスワードに設定できる数字は【0,1,2,3,4,5,6,7,8,9】の10種類です。
一桁目は【0~9】までのどれか。
二桁目も【0~9】までのどれか。
三桁目、四桁目も同様です。
つまり、
10 × 10 × 10 × 10 = 10^4(10の四乗)= 10,000
10,000種類のパスワードが生成できます。
『一万種類もあるのだから、四桁の数字のパスワードでも結構堅牢性が高いのでは?』
と考えてしまうかもしれませんが、コンピューターはこういった単純な作業(数字当てゲーム)が大得意です。
人間と違い、ひたすら解読するまで総当たりで組み合わせをぶつける、といったことが容易なのです。
今回の例では、PDFファイルに設定された四桁の数字のパスワードを解読します。
使用するPDFファイルはこちら。ハーゲンダッツ🍨の成分表です。
このファイルをZIPファイルへ圧縮し、『8497』というパスワードを設定します。
その後、pythonで総当たり攻撃を行い、パスワードを解読します👇。
実行結果は3~4秒ほどでした。
ここから先は
¥ 900
メールやTwitterでもお仕事依頼を受け付けています。 どなたでもお気軽にお問い合わせください。