A04:2025 Cryptographic Failures (شکستهای رمزنگاری)
Background
این ریسک در سال ۲۰۲۵ دو رتبه سقوط کرده و اکنون در جایگاه شماره ۴ قرار دارد. این دسته شامل خطاهایی است که به دلیل عدم استفاده از رمزنگاری، استفاده از رمزنگاری ضعیف، نشت کلیدهای رمزنگاری، یا اشتباهات مرتبط با تولید اعداد تصادفی رخ میدهند. سه مورد از رایجترین CWEها در این ریسک عبارتاند از:
- CWE-327: Use of a Broken or Risky Cryptographic Algorithm
- CWE-331: Insufficient Entropy
- CWE-1241: Use of Predictable Algorithm in Random Number Generator
- CWE-338: Use of Cryptographically Weak Pseudo-Random Number Generator (PRNG)
جدول امتیازدهی
| CWEs نگاشتشده | بیشترین نرخ وقوع | میانگین نرخ وقوع | بیشترین پوشش | میانگین پوشش | میانگین امتیاز Exploit (وزندار) | میانگین امتیاز Impact (وزندار) | کل وقوعها | کل CVEها |
|---|---|---|---|---|---|---|---|---|
| 32 | 13.77% | 3.80% | 100.00% | 47.74% | 7.23 | 3.90 | 1,665,348 | 2,185 |
توضیحات
رمزنگاری باید برای دادههای حساس چه در حالت ذخیره (at rest) و چه در حالت انتقال (in transit) به درستی پیادهسازی شود. خطاهای رمزنگاری میتوانند منجر به پیشبینی توکنها، جعل نشستها، شکستن رمزگذاری، یا بازیابی کلیدهای خصوصی شوند.
خطرات و اشتباهات معمول
- استفاده از الگوریتمها یا پروتکلهای قدیمی یا ضعیف
- کلیدهای پیشفرض، ضعیف، دوبارهاستفادهشده یا عدم مدیریت کلید و چرخش
- ذخیره کلیدها یا داده حساس رمزنگاریشده در مخازن کد
- عدم اجبار رمزنگاری (TLS / HTTPS)
- نادیده گرفتن یا اشتباه در تولید IV یا nonce
- استفاده از توابع هش منسوخ یا padding الگوریتمی منسوخ (MD5، SHA‑1، PKCS#1 v1.5)
- استفاده از PRNG ضعیف یا قابل پیشبینی
- عدم استفاده از رمزنگاری احراز هویتشده
- امکان downgrade یا دور زدن پروتکل رمزنگاری
- پیامهای خطای رمزنگاری یا کانالهای جانبی قابل سوءاستفاده
چگونه جلوگیری کنیم
- دادههای حساس را طبقهبندی و برچسبگذاری کنید
- کلیدها را در HSM یا سرویس ابری امن ذخیره کنید
- از پیادهسازیهای معتبر الگوریتمهای رمزنگاری استفاده کنید
- دادههای حساس را فقط در صورت نیاز ذخیره کنید؛ حذف یا توکنیزه نمایید
- رمزنگاری برای داده در حال انتقال و ذخیره را اعمال کنید
- از پروتکلهای بدون رمزگذاری مانند FTP و SMTP استفاده نکنید
- توابع هش امن با نمک و تطبیقی استفاده شود (Argon2, bcrypt, scrypt, PBKDF2-HMAC-SHA-256)
- IV/nonce باید صحیح تولید و دوباره استفاده نشود
- از رمزنگاری احراز هویتشده استفاده شود
- توابع منسوخ یا paddingهای قدیمی استفاده نشود
- آمادهسازی برای رمزنگاری پساکوانتومی (PQC)
مثالهای سناریو حمله
سناریو #1: سایت TLS را برای همه صفحات اعمال نمیکند یا TLS ضعیف پیکربندی شده — مهاجم اتصال را downgrade میکند، درخواستها را رهگیری و کوکی نشست را دزدی میکند (OWASP)
سناریو #2: پایگاه داده رمزهای عبور هش ساده یا بدون نمک استفاده میکند، مهاجم دیتابیس را استخراج و هشها را بازیابی میکند (OWASP)
لیست CWEهای مرتبط
- CWE-261 Weak Encoding for Password
- CWE-296 Improper Following of a Certificate’s Chain of Trust
- CWE-319 Cleartext Transmission of Sensitive Information
- CWE-320 Key Management Errors (Prohibited)
- CWE-321 Use of Hard‑coded Cryptographic Key
- CWE-322 Key Exchange Without Entity Authentication
- CWE-323 Reusing a Nonce or Key Pair in Encryption
- CWE-324 Use of a Key Past its Expiration Date
- CWE-325 Missing Required Cryptographic Step
- CWE-326 Inadequate Encryption Strength
- CWE-327 Broken or Risky Cryptography
- CWE-328 Reversible One‑Way Hash
- CWE-329 Not Using a Random IV with CBC Mode
- CWE-330 Use of Insufficiently Random Values
- CWE-331 Insufficient Entropy
- CWE-332 Insufficient Entropy in PRNG
- CWE-334 Small Space of Random Values
- CWE-335 Incorrect Usage of Seeds in PRNG
- CWE-336 Same Seed in PRNG
- CWE-337 Predictable Seed in PRNG
- CWE-338 Cryptographically Weak PRNG
- CWE-340 Predictable Numbers or IDs
- CWE-342 Predictable Values Derived from Previous Values
- CWE-347 Improper Verification of Cryptographic Signature
- CWE-523 Unprotected Transport of Credentials
- CWE-757 Weak Algorithm Choice in Negotiation
- CWE-759 One-way Hash Without Salt
- CWE-760 One-way Hash with Predictable Salt
- CWE-780 RSA Without OAEP
- CWE-916 Password Hashing With Insufficient Work Factor
- CWE-1240 Cryptographic Primitive with Risky Implementation
- CWE-1241 Predictable Algorithm in RNG
منابع
- OWASP Top 10:2025 – A04 Cryptographic Failures
- OWASP Proactive Controls: C2 – Use Cryptography to Protect Data
- OWASP ASVS – Cryptography & Secure Communication & Data Protection (V11, V12, V14)
- OWASP Cheat Sheet: Transport Layer Protection
- OWASP Cheat Sheet: Password Storage
- OWASP Cheat Sheet: Encrypted Storage
- OWASP Cheat Sheet: HSTS
- OWASP Testing Guide: Weak Cryptography
- ENISA: Roadmap for Post-Quantum Cryptography
- NIST: Post-Quantum Cryptography Standards