8文字の複雑なパスワードも1時間で解読 GPU使う攻撃とその対策
上記に記事を参考にブログ記事を書きました。
はじめに
現代のデジタル社会では、パスワードの漏洩や盗難事件が頻発しています。通常、私たちのパスワードはハッシュ関数を使ってハッシュ値に変換され、安全に保存されています。しかし、技術の進歩に伴い、ハッシュ値から元のパスワードを推測する総当たり攻撃が現実の脅威となっています。この記事では、最新のGPUを使った総当たり攻撃の現状と、その対策について詳しく解説します。
総当たり攻撃とは?
総当たり攻撃とは、可能なパスワードの組み合わせを一つずつ試して、そのハッシュ値を計算し、保存されたハッシュ値と照合する手法です。この攻撃方法は非常に単純ですが、計算リソースが豊富であれば非常に効果的です。特に、画像処理半導体(GPU)の進化により、総当たり攻撃の効率が飛躍的に向上しました。
セキュリティーベンダーの米ハイブシステムズの調査によれば、8桁の数字のみのパスワードは瞬時に、8文字の複雑なパスワードでも1時間以内に解読できるとされています。これには、RTX 4090を使用した場合、複雑な8文字のパスワードの解読には約59分かかると報告されています。
ハッシュ関数の選択の重要性
一般に、ハッシュ関数としてMD5はセキュリティー強度が低いため、米国や日本の政府機関では利用が推奨されていません。最近では、より安全性の高いbcryptの利用が広まっています。bcryptを使用することで、解読時間は飛躍的に延びます。例えば、8文字の複雑なパスワードをbcryptでハッシュ化した場合、解読には99年もかかります。
GPUの進化とその影響
ハイブシステムズは、総当たり攻撃でパスワードを解読するのにかかる時間を計算し、「パスワードテーブル」として公開しています。2024年版のパスワードテーブルは、RTX 2080、RTX 3090、RTX 4090、A100×8基、A100×12基、A100×1万基といったさまざまなGPUを使用して計算されています。
例えば、A100×1万基を使えば、全ての文字種類を使った複雑な8文字のパスワードでもわずか1秒で解読できるとされています。しかし、この方法はコストが高すぎて現実的ではありません。個人ユーザーが現実的に利用できるのは、RTX 2080からRTX 4090までの結果です。RTX 4090を使用した場合、複雑な8文字のパスワードの解読には59分かかります。
辞書攻撃とリスト型攻撃の脅威
総当たり攻撃以外にも、辞書攻撃やリスト型攻撃といった効率の良い攻撃方法があります。辞書攻撃では、一般的に使用されるパスワードや単語を収めた辞書を使ってログインを試みます。リスト型攻撃では、漏洩したユーザーIDとパスワードの組み合わせを使ってログインを試みます。これらの方法に対しては、どんなに複雑で長いパスワードでも、使い回しや一般的なパスワードを使用している場合、瞬時に破られる可能性が高まります。
安全なパスワードのための対策
ユーザーとして、パスワードのセキュリティーを強化するためには以下の点に注意する必要があります。
一般的なパスワードを避ける:「123456」や「password」などのよく使われる文字列を避けることが重要です。これらのパスワードは簡単に推測され、瞬時に解読される可能性があります。
パスワードの使い回しをしない:異なるサービスで異なるパスワードを使用することが推奨されます。一度漏洩したパスワードが他のサービスでも使われている場合、全てのアカウントが危険にさらされる可能性があります。
パスワードマネージャーの利用:安全かつ複雑なパスワードを生成・管理するために、パスワードマネージャーを利用することが推奨されます。これにより、異なるサービスで強力なパスワードを使用することが容易になります。
多要素認証(MFA)の導入:パスワードに加えて、別の認証手段を用いることでセキュリティーを強化します。例えば、SMSによるコード送信や認証アプリを利用する方法があります。
パスワードの定期的な変更:定期的にパスワードを変更することで、万が一パスワードが漏洩しても被害を最小限に抑えることができます。
まとめ
GPUの進化により、パスワードのセキュリティー対策は一層重要となっています。適切な対策を講じることで、パスワードの安全性を確保し、サイバー攻撃から身を守ることができます。この記事を参考に、今一度自身のパスワードセキュリティーを見直してみてください。