この製品は、パスワードのような可逆的であってはならない入力に対して一方向暗号ハッシュを使用するが、この製品は入力の一部として予測可能なソルトを使用する。
これにより、攻撃者はレインボーテーブルのような辞書攻撃テクニックを使ってハッシュ値を事前に計算することが容易になり、予測不可能なソルトが提供する保護が効果的に無効になる。
一般的な認識とは裏腹に、ハッシュと共に優れたソルトを使用することは、個々のパスワードを標的とする攻撃者や、クラウドベースのサービスや特殊で安価なハードウェアなど、大量のコンピューティングリソースを利用できる攻撃者の労力を十分に増加させるものではないことに注意する必要があります。多くの暗号関数は効率的に設計されているため、ハッシュが暗号的に強力であっても、大規模なコンピューティングリソースを使用する攻撃に対して脆弱になる可能性があります。多くの暗号関数は効率的に設計されており、ハッシュが暗号的に強力であっても、膨大な計算資源を使用する攻撃には脆弱である。ソルトの使用は、適応型ハッシュ関数などの他の戦略と比較して、攻撃者の計算要件をわずかに増加させるだけである。詳細はCWE-916を参照。
The product uses a one-way cryptographic hash against an input that should not be reversible, such as a password, but the product uses a predictable salt as part of the input.
This makes it easier for attackers to pre-compute the hash value using dictionary attack techniques such as rainbow tables, effectively disabling the protection that an unpredictable salt would provide.
It should be noted that, despite common perceptions, the use of a good salt with a hash does not sufficiently increase the effort for an attacker who is targeting an individual password, or who has a large amount of computing resources available, such as with cloud-based services or specialized, inexpensive hardware. Offline password cracking can still be effective if the hash function is not expensive to compute; many cryptographic functions are designed to be efficient and can be vulnerable to attacks using massive computing resources, even if the hash is cryptographically strong. The use of a salt only slightly increases the computing requirements for an attacker compared to other strategies such as adaptive hash functions. See CWE-916 for more details.