見出し画像

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秒ほどでした。

ここから先は

1,321字 / 4画像

¥ 900

メールやTwitterでもお仕事依頼を受け付けています。 どなたでもお気軽にお問い合わせください。