ニュース

複雑な8文字のパスワードでも、MD5ハッシュだとGeForce RTX 4090で1時間以内に解読されてしまう

MD5でハッシュ化された8文字のパスワードにおけるビデオカードごとの解読の最長時間(出典:Hive Systems)

 セキュリティ企業のHive Systemsは、NVIDIAビデオカードを用いたパスワード解読にかかる時間についての調査結果を発表した。2024年版として発表された同調査では、パスワードの文字数や構成およびビデオカードごとに、MD5とbcryptという2つのハッシュ方式の解読にかかる時間を測定している。

 パスワードはセキュリティ上の理由からハッシュ化して保存することが多く、ハッシュから元のパスワードを復元することはできない。これにより攻撃者がハッシュ化されたパスワードを解読する際には、可能性のある文字列をすべてハッシュ化し、盗んだハッシュと一致するかを試す「ブルートフォース攻撃」が用いられる。

 同社は、MD5とbcryptそれぞれにおいてハッシュ化されたランダムなパスワードをブルートフォース攻撃で解読するのに必要な最長時間を、ビデオカードごとに計測した。その結果、NISTが推奨する8文字のパスワードを使用した場合、MD5ではGeForce RTX 4090を使用すると、数字や大文字、小文字、記号をすべて使用しても1時間以内に解読できてしまうという。

 一方より、強固な32回反復のbcryptでハッシュ化された同8文字のパスワードにおいては、GeForce RTX 4090だと解読に最長99年かかる。1万基のNVIDIA A100とChatGPTによる解読も試しており、この環境では5日以内に解読ができてしまうという。ただ、1万基のA100とChatGPTによるパスワード解読は費用面で非現実的だ。

 現実的なA100を12基採用したシステムでbcryptハッシュ化された同8文字のパスワードを解読した場合は、約12年かかる。もちろんその間の演算性能向上を考慮する必要はあるが、パスワードを変更すれば安全性は高まるとしている。

 ちなみに、MD5の代わりとなるSHA-256ハッシュ付きでソルトを付加した鍵導出関数PBKDF2を用いたものは、強固なパスワードソリューションで採用が進んでおり、NISTでも推奨しているものの、実際のところ多くの企業などでは、解読に必要なリソースがより多いbcryptのほうが導入が進んでいるという。これは良い傾向であり、そのため同社が公開しているパスワードの文字列の長さや複雑さ別に解読できる時間を試算した「Hive Systems Password Table」を従来のMD5からbcryptに変更した。

bcryptでハッシュ化された8文字のパスワードにおけるビデオカードごとの解読の最長時間(出典:Hive Systems)

 同社はこのほか、以前に盗まれていたり、辞書にある単語を使用していたり、複数のWebサイト間で利用したりしているパスワードの解読結果も公開しており、このような場合、文字数や複雑さに関わらず即座に解読できてしまうと注意を呼びかけている。

過去に盗まれたり、辞書の単語を使用したり、複数のWebサイトで利用したりしているパスワードを解読した場合の調査結果(出典:Hive Systems)