Skip to main content

V6.2.2 Algorithms

Requirement:#

Verify that industry proven or government approved cryptographic algorithms, modes, and libraries are used, instead of custom coded cryptography. (C8)

Explanation:#

ΠšΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ β€” это ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Π΅ ΡΠΊΡ€Π΅ΠΌΠ±Π»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ для прСдотвращСния наблюдСния ΠΈΠ»ΠΈ влияния Π½Π΅Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΡΡƒΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². НСбСзопасная криптография ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована для раскрытия ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, измСнСния Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹ΠΌΠΈ способами, ΠΏΠΎΠ΄Π΄Π΅Π»ΠΊΠΈ удостовСрСний Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈΠ»ΠΈ устройств ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… воздСйствий.

НадёТныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡhttps://owasp.deteact.com/cheat/cheatsheets/Cryptographic_Storage_Cheat_Sheet.htmlΠžΠ±Ρ‰Π°Ρ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ трСбования ΠΊ Π΄Π»ΠΈΠ½Π΅ ΠΊΠ»ΡŽΡ‡Π° Π² зависимости ΠΎΡ‚ сцСнарияKey exchange: Diffie–Hellman key exchange with minimum 2048 bitsMessage Integrity: HMAC-SHA2Message Hash: SHA2 256 bitsAsymmetric encryption: RSA 2048 bitsSymmetric encryption: AES 128 bitsPassword Hashing: Argon2, PBKDF2, Scrypt, Bcrypt

Π’Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ гласит, Ρ‡Ρ‚ΠΎ вмСсто использования кастомной ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ использованиС Π² своСй систСмС ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ»ΠΈ ΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎΠΌ криптографичСских Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π½Π° установлСнныС ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎ принятыС криптографичСскиС стандарты ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π° Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ собствСнныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ.

ΠšΠ°ΡΡ‚ΠΎΠΌΠ½Π°Ρ криптография - это ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ криптографичСских Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ², Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ систСмы ΠΈΠ»ΠΈ прилоТСния. Однако Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° бСзопасной ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π³Π»ΡƒΠ±ΠΎΠΊΠΈΡ… Π·Π½Π°Π½ΠΈΠΉ, Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ всСстороннСго тСстирования. Π’Ρ€ΡƒΠ΄Π½ΠΎ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΆΠ΅ уровня надСТности ΠΈ бСзопасности, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Π΅ ΠΎΡ‚Ρ€Π°ΡΠ»ΡŒΡŽ ΠΈΠ»ΠΈ ΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΡˆΠ»ΠΈ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΈ ΠΎΡ†Π΅Π½ΠΊΡƒ экспСртов.

Remediation:#

1.Β Choose Industry-Proven Algorithms and Modes#

Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ криптографичСскиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΈ Ρ€Π΅ΠΆΠΈΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΏΡ€ΠΈΠ·Π½Π°Π½Ρ‹ ΠΈ приняты Π² отрасли. ΠžΠ±Ρ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Advanced Encryption Standard (AES) для симмСтричного ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ, Secure Hash Algorithm (SHA) для Ρ…ΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Rivest-Shamir-Adleman (RSA) для асиммСтричного ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ. Π­Ρ‚ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΏΡ€ΠΎΡˆΠ»ΠΈ всСсторонний Π°Π½Π°Π»ΠΈΠ·, Π²Ρ‹Π΄Π΅Ρ€ΠΆΠ°Π»ΠΈ испытаниС Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΈ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌΠΈ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ извСстныС ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π·Π°Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π²ΡˆΠΈΠ΅ сСбя криптографичСскиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ этих Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ².

2. Refer to Government-Approved Standards#

ΠŸΡ€Π°Π²ΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²Π° ΠΈ Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΡ€Π³Π°Π½Ρ‹ часто ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ ΠΈ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‚ криптографичСскиС стандарты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ трСбованиям бСзопасности. Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ привСсти Π€Π΅Π΄Π΅Ρ€Π°Π»ΡŒΠ½Ρ‹Π΅ стандарты ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ (FIPS) Π² БША ΠΈΠ»ΠΈ Π Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚ eIDAS ЕвропСйского союза. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ этим стандартам, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ криптографичСскиС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, Ρ€Π΅ΠΆΠΈΠΌΡ‹ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π½Ρ‹Π΅ Π°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½Ρ‹ΠΌΠΈ ΠΎΡ€Π³Π°Π½Π°ΠΌΠΈ ΠΈ ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠΈΠ΅ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΎΡ†Π΅Π½ΠΊΡƒ.

3. Utilize Reputable Cryptographic Libraries#

ВмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡŽ с нуля, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½Ρ‹Π΅ ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ криптографичСскиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΎ протСстированныС ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ². ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ Ρ‚Π°ΠΊΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΡΠ²Π»ΡΡŽΡ‚ΡΡ OpenSSL, Bouncy Castle, Libsodium ΠΈΠ»ΠΈ криптографичСскиС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, прСдоставляСмыС Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ, ΠΊΠ°ΠΊ .NET Cryptography API ΠΈΠ»ΠΈ Java Cryptography Architecture.

Additional:#

CWE - CWE-327: ИспользованиС сломанного ΠΈΠ»ΠΈ рискованного криптографичСского Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° (4.10) (mitre.org)