V2.7.5 Out of Band Verifier
Requirement:#
Verify that the out of band verifier retains only a hashed version of the authentication code.
Explanation:#
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΊΠΎΠ΄Π° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π½Π΅ Ρ ΡΠ°Π½ΠΈΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠ΄ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ° ΠΈΠ»ΠΈ Π² Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΠΎΡΠΌΠ΅, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΡΠ°ΡΡΠΈΡΡΠΎΠ²Π°ΡΡ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ ΡΠ°Π½ΠΈΡΡ Ρ Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΊΠΎΠ΄Π° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΠ΄Π½ΠΎΡΡΠΎΡΠΎΠ½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΡΠΊΡΡΡΡΠΉ ΡΠ΅ΠΊΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠΎΠ·Π΄Π°Π΅Ρ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ (Ρ ΡΡ). Π¦Π΅Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΊΠΎΠ΄Π° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ, ΡΡΠΎ Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° Π±ΡΠ΄Π΅Ρ ΡΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠΈΡΠΎΠ²Π°Π½Π°, Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠ΄Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ Ρ Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ Π²Π΅ΡΡΠΈΡΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π»Ρ Π½ΠΈΡ Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π½Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Ρ Π΅Ρ-ΡΡΠ½ΠΊΡΠΈΡ.
Remediation:#
Π§ΡΠΎΠ±Ρ Π²Π½Π΅Π΄ΡΠΈΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΊΠΎΠ΄Π° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ:
- ΠΡΠ±Π΅ΡΠΈΡΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΡ ΠΎΠ΄Π½ΠΎΡΡΠΎΡΠΎΠ½Π½ΡΡ Ρ Π΅Ρ-ΡΡΠ½ΠΊΡΠΈΡ: Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΡ ΠΎΠ΄Π½ΠΎΡΡΠΎΡΠΎΠ½Π½ΡΡ Ρ Π΅Ρ-ΡΡΠ½ΠΊΡΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ SHA-256, Π΄Π»Ρ Ρ ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ.
- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΎΠ»Ρ: ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΎΠ»Ρ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ. Π‘ΠΎΠ»Ρ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΡ Π΄Π»ΠΈΠ½Ρ, ΡΡΠΎΠ±Ρ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠΈ Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Ρ Π΅Ρ-ΡΠ°Π±Π»ΠΈΡΡ.
- ΠΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅ ΡΠΎΠ»Ρ ΠΈ ΠΊΠΎΠ΄ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ: ΠΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅ ΡΠΎΠ»Ρ Ρ ΠΊΠΎΠ΄ΠΎΠΌ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄ Π΅Π΅ Ρ Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.
- Π₯ΡΡΠΈΡΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠΎΠ»Ρ ΠΈ ΠΊΠΎΠ΄ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ: Ρ Π΅ΡΠΈΡΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠΎΠ»Ρ ΠΈ ΠΊΠΎΠ΄ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π²ΡΠ±ΡΠ°Π½Π½ΡΡ ΠΎΠ΄Π½ΠΎΡΡΠΎΡΠΎΠ½Π½ΡΡ Ρ Π΅Ρ-ΡΡΠ½ΠΊΡΠΈΡ.
- Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ Ρ ΡΡ-ΠΊΠΎΠ΄: ΡΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ Ρ ΡΡ-ΠΊΠΎΠ΄ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°.
- ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΠΈ ΠΊΠΎΠ΄Π°: ΠΊΠΎΠ³Π΄Π° Π²Π½Π΅ΡΠ½Π΅ΠΌΡ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΡ ΠΊΠΎΠ΄Π°, ΠΎΠ½ Ρ Π΅ΡΠΈΡΡΠ΅Ρ ΠΊΠΎΠ΄, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ Π΅Π³ΠΎ Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΠΎΠ»ΡΡ ΠΈ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Ρ Ρ Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ, Ρ ΡΠ°Π½ΡΡΠ΅ΠΉΡΡ Π² Π΅Π³ΠΎ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ . ΠΡΠ»ΠΈ Π΄Π²Π° Ρ ΡΡΠ° ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ, ΠΊΠΎΠ΄ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΡΠΌ.Β
ΠΡΠΏΠΎΠ»Π½ΡΡ ΡΡΠΈ ΡΠ°Π³ΠΈ, Π²Π½Π΅ΡΠ½ΠΈΠΉ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ, ΡΡΠΎ ΠΎΠ½ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΊΠΎΠ΄Π° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΡΡΠΎ Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π΅Π³ΠΎ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ ΡΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠΈΡΠΎΠ²Π°Π½Π°, Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠ΄Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π³ΠΎΠ² ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² Python:
Π ΡΡΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ Ρ ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΎΠ»ΠΈ ΠΈ SHA-256, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΡ ΠΊΠΎΠ΄Π° ΠΏΡΡΠ΅ΠΌ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½Π½ΡΠΌ Ρ Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ.