V2.6.3 Look-up Secret Verifier
Requirement:#
Verify that lookup secrets are resistant to offline attacks, such as predictable values.
Explanation:#
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π·Π»ΠΎΠΌΠ°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ³ΠΎ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π½Π΅Π½ΡΠΆΠ½ΡΠΉ ΡΠΈΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΠ°ΡΠΊΡΡΡΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.#
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΎΠΏΠ°ΡΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡΒ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ Π²Π·Π»ΠΎΠΌΠ°ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΈ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΠΎΠ΄ ΡΠ³ΡΠΎΠ·Ρ Π»ΡΠ±ΡΠ΅ Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. ΠΠΎΠ³ΡΡ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ ΠΎΡΠΎΡΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π²Π·Π»ΠΎΠΌΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°.
Remediation:#
ΠΡΠ»ΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅ΡΡΡ, ΡΡΠΎ ΡΠ΅ΠΊΡΠ΅ΡΡ ΠΏΠΎΠΈΡΠΊΠ° Π½Π΅ ΡΡΡΠΎΠΉΡΠΈΠ²Ρ ΠΊ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΠΌ Π°ΡΠ°ΠΊΠ°ΠΌ, ΡΠ°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ ΠΏΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ:
- ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ Π½ΠΎΠ²ΡΡ ΡΠ΅ΠΊΡΠ΅ΡΠΎΠ²: Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠΎΠ·Π΄Π°Π½Ρ Π½ΠΎΠ²ΡΠ΅ ΡΠ΅ΠΊΡΠ΅ΡΡ, ΡΡΡΠΎΠΉΡΠΈΠ²ΡΠ΅ ΠΊ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΡΠΌ Π°ΡΠ°ΠΊΠ°ΠΌ. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ³ΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π», ΡΡΠΎΠ±Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΡΡΡ ΡΠ΅ΠΊΡΠ΅ΡΠΎΠ².
- ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ΅ΠΊΡΠ΅ΡΡ: Π½ΠΎΠ²ΡΠ΅ ΡΠ΅ΠΊΡΠ΅ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Ρ ΡΡΠ΅Π΄ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π΄Π»Ρ Π·Π°ΠΌΠ΅Π½Ρ ΡΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ΅ΠΊΡΠ΅ΡΠΎΠ². ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΠΎΡΠΏΡΠ°Π²ΠΈΠ² ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠ΅ ΠΏΠΈΡΡΠΌΠΎ ΠΈΠ»ΠΈ SMS-ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Ρ Π½ΠΎΠ²ΡΠΌ ΡΠ΅ΠΊΡΠ΅ΡΠΎΠΌ ΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ² Π΅Π³ΠΎ Π»ΠΈΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΠ΅ΡΠΈΡΡ ΠΎΡΠΈΡ.
- ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΆΡΡΠ½Π°Π»ΠΎΠ² Π΄ΠΎΡΡΡΠΏΠ°: ΠΡΡΠ½Π°Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ Π»ΡΠ±ΡΡ ΠΏΠΎΠΏΡΡΠΎΠΊ Π½Π΅ΡΠ°Π½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ΅ΠΊΡΠ΅ΡΡ. ΠΡΠ±Π°Ρ ΠΏΠΎΠ΄ΠΎΠ·ΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π΄Π΅ΡΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠ°ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π° ΠΈ ΠΏΡΠΈΠ½ΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΡ.
- Π£Π»ΡΡΡΠΈΡΠ΅ ΠΌΠ΅ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ: ΠΏΡΠΎΡΠ΅ΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΌΠ΅Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π»Ρ Π²ΡΡΠ²Π»Π΅Π½ΠΈΡ Π»ΡΠ±ΡΡ ΡΠ»Π°Π±ΡΡ ΠΌΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³Π»ΠΈ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΠΎΠ²Π°ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΌΠ΅Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠΎΠ² Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ.
- ΠΠ±ΡΡΠ°ΠΉΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ: ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½Ρ ΠΎ Π²Π°ΠΆΠ½ΠΎΡΡΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ²ΠΎΠΈΡ ΡΠ΅ΠΊΡΠ΅ΡΠΎΠ² ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΎ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΡΡΡΡ ΠΌΠ΅ΡΠ°Ρ ΠΏΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π»ΡΠ±ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ°Π³Π°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΡΡΡ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ.Β
ΠΡΠΏΠΎΠ»Π½ΡΡ ΡΡΠΈ ΡΠ°Π³ΠΈ ΠΏΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²Π΅ΡΡΠΈ ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΡ ΡΠΈΡΠΊ Π½Π΅ΡΠ°Π½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠ°ΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΡΠ΅ΡΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Π±ΡΡΡΡΠΎΠ΅ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π»ΡΠ±ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΡ.
ΠΠ±ΡΠ΅Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²Π²ΡΠ΅ ΡΠ΅ΠΊΡΠ΅ΡΡ, ΡΡΡΠΎΠΉΡΠΈΠ²ΡΠ΅ ΠΊ Π°ΡΠ°ΠΊΠ°ΠΌ Π² Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅:
ΠΡΠΎΡ ΠΊΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΌΠΎΠ΄ΡΠ»Ρ secrets Π² Python Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅ΠΊΡΠ΅ΡΠ° ΡΠΎ 128 Π±ΠΈΡΠ°ΠΌΠΈ ΡΠ½ΡΡΠΎΠΏΠΈΠΈ. Π€ΡΠ½ΠΊΡΠΈΡ token_hex Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΡΡ ΡΡΡΠΎΠΊΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅ΠΊΡΠ΅ΡΠ°. ΠΠΏΡΡΡ ΠΆΠ΅, ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΡΠΎ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΠΎΠ±ΡΠ°Ρ ΠΈΠ΄Π΅Ρ, ΠΈ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π²Π°ΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΡΠΈΡΡΠ΅ΠΌΡ.