خانه » CVE-2025-9231

CVE-2025-9231

Timing side-channel in SM2 algorithm on 64 bit ARM

توسط Vulnerbyte Alerts
180 بازدید
هشدار سایبری CVE-2025-9231

چکیده

آسیب‌پذیری کانال جانبی زمانی (Timing side-channel) در پیاده‌سازی الگوریتم SM2 در OpenSSL روی پلتفرم‌های 64 بیتی ARM شناسایی شده است. این آسیب‌پذیری به مهاجم از راه دور اجازه می دهد که کلید خصوصی را بازیابی کند.

توضیحات

آسیب‌پذیری CVE-2025-9231 از نوع یک کانال جانبی زمانی پنهان (Covert Timing Channel) مطابق با CWE‑385 است که در پیاده‌سازی عملیات امضای دیجیتال SM2 (استاندارد رمزنگاری ملی چین) در OpenSSL روی پردازنده‌های ARM 64‑bit شناسایی شده است.

این ضعف به دلیل استفاده از یک تابع معکوس‌سازی مدولار (Modular Inversion) غیر زمان‌ثابت در مرحله محاسبه امضای SM2 ایجاد می شود. از آنجا که زمان اجرای این تابع به مقدار کلید خصوصی بستگی دارد، تفاوت‌های زمانی در پاسخ‌دهی باعث افشای اطلاعات و ایجاد یک کانال جانبی زمانی می‌شود که مهاجم می‌تواند از آن برای بازیابی تدریجی کلید خصوصی استفاده کند.

در سناریوی حمله، مهاجم تعداد زیادی درخواست امضای SM2 به سرور ارسال می‌کند (یا در حالت عملی‌تر، درخواست‌های مکرر TLS Handshake که از SM2 استفاده می‌کنند) و با اندازه‌گیری بسیار دقیق زمان پاسخ در مقیاس نانوثانیه می‌تواند بیت‌به‌بیت کلید خصوصی را بازیابی نماید. این حمله کاملاً از راه دور، بدون نیاز به احراز هویت و بدون نیاز به دسترسی فیزیکی قابل انجام است.

با این حال، باید توجه داشت که OpenSSL به‌صورت پیش‌فرض پشتیبانی از گواهی و کلیدهای SM2 در TLS را فعال نمی‌کند. بنابراین بیشتر وب‌سرورها و نرم‌افزارهایی که از OpenSSL استفاده می‌کنند، به‌طور پیش‌فرض در معرض ریسک نیستند. ریسک واقعی زمانی ایجاد می‌شود که یک توسعه‌دهنده یا توزیع‌کننده از Provider سفارشی یا پلاگین های شخص ثالث برای فعال‌سازی پشتیبانی SM2 در TLS استفاده کرده باشد، سناریویی که در چین و برخی سازمان‌های دولتی متداول است. در چنین حالتی، مهاجم با جمع‌آوری صدها هزار تا میلیون‌ها اندازه‌گیری زمانی، می‌تواند حمله را به‌طور کامل خودکار کرده و کلید خصوصی را بازیابی کند؛ بدون اینکه نیاز به دسترسی سطح بالا یا تعامل کاربر داشته باشد. این آسیب‌پذیری با جایگزینی تابع معکوس‌سازی مدولار با نسخه زمان‌ثابت (Constant‑Time Modular Inversion) پچ شده است تا اجرای عملیات امضا مستقل از مقدار کلید باشد و کانال جانبی زمانی حذف گردد.

نسخه‌های FIPS تحت تأثیر قرار نمی‌گیرند، زیرا SM2 در فهرست الگوریتم‌های تأییدشده FIPS وجود ندارد. همچنین نسخه‌های قدیمی‌تر OpenSSL شامل 3.1، 3.0، 1.1.1 و 1.0.2 آسیب‌پذیر نیستند، چراکه در این نسخه‌ها اصلاً پیاده‌سازی SM2 وجود ندارد.

CVSS

Score Severity Version Vector String
6.5 MEDIUM 3.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L

لیست محصولات آسیب پذیر

Versions Product
affected from 3.5.0 before 3.5.4

affected from 3.4.0 before 3.4.3

affected from 3.3.0 before 3.3.5

affected from 3.2.0 before 3.2.6

OpenSSL

لیست محصولات بروز شده

Versions Product
Upgrading to version 3.2.6, 3.3.5, 3.4.3 or 3.5.4 eliminates this vulnerability. OpenSSL

استفاده محصول در ایران

در این جدول، تعداد صفحات ایندکس‌شده در گوگل با دامنه .ir که OpenSSL را ذکر کرده اند، ثبت شده است. این داده صرفاً برای برآورد تقریبی حضور محصولات در وب ایران استفاده شده و نمایانگر میزان نصب دقیق و استفاده واقعی نیست.

Approx. Usage in .ir Domain via Google

(Total Pages)

Search Query (Dork) Product
77,100 site:.ir “OpenSSL” OpenSSL

نتیجه گیری

این آسیب‌پذیری با شدت متوسط، یک کانال جانبی زمانی بسیار حساس در پیاده‌سازی SM2 در OpenSSL روی پلتفرم‌های 64 بیتی ARM است که در سناریوهای خاص می‌تواند منجر به بازیابی کامل کلید خصوصی شود. با توجه به انتشار پچ‌های امنیتی در تمام شاخه‌های پشتیبانی‌شده، اقدامات زیر برای کاهش ریسک توصیه می‌شود:

  • به‌روزرسانی فوری: تمام نصب‌هایOpenSSL روی سیستم‌های ARM64 را به نسخه‌های 3.2.6، 3.3.5، 4.3 و 3.5.4 یا بالاتر به روزرسانی کنید. این اقدام، مؤثرترین و قطعی‌ترین راهکار برای رفع آسیب‌پذیری است و باید در اولویت قرار گیرد. سایر اقدامات نقش مکمل را دارند و می‌توانند به کاهش ریسک این آسیب پذیری و مقابله با حملات مشابه کمک کنند.
  • اجتناب از استفاده از SM2 در TLS: تا زمان اطمینان از اعمال به‌روزرسانی، از استفاده از گواهی‌ها و کلیدهای SM2 در پروتکل TLS (Transport Layer Security) خودداری کرده و از ارائه‌دهندگان سفارشی (Custom Providers) برای فعال‌سازی SM2 استفاده نکنید.
  • غیرفعال‌سازی providerهای SM2 سفارشی: اگر از پیکربندی سفارشی (مثل OSSL_PROVIDER-load یا conf) برای فعال‌سازی SM2 استفاده می‌کنید، آن‌ها را به‌طور موقت غیرفعال کنید.
  • محدودسازی دسترسی به سرویس‌های SM2: اگر استفاده از SM2 ضروری است، دسترسی به پورت‌های TLS را با فایروال یا فهرست سفید IP (IP Whitelisting) محدود کنید. این کار کمک می‌کند تا از اندازه‌گیری زمان از راه دور جلوگیری شود.
  • استفاده از الگوریتم‌های جایگزین: به‌جای SM2 از الگوریتم‌های استاندارد و زمان‌ثابت مانند ECDSA با منحنی‌های P-256/P-384 یا Ed25519 استفاده کنید. این الگوریتم‌ها برای جلوگیری از حملات کانال‌های زمانی امن‌تر هستند.
  • تست و اعتبارسنجی: پیش از استقرار مجدد سیستم، با استفاده از ابزارهایی مانند openssl speed یا تست‌های لوکال زمان امضا (Signature Timing Tests)، اطمینان حاصل کنید که عملیات SM2 به‌طور زمان‌ثابت انجام می‌شود و از کانال جانبی زمانی جلوگیری شده است.

اجرای فوری به‌روزرسانی‌ و اجتناب از فعال‌سازی غیرضروری SM2 در TLS، ریسک ناشی از این آسیب‌پذیری را به‌شدت کاهش می‌دهد و امنیت کلیدهای خصوصی در برنامه‌های مبتنی بر OpenSSL در پلتفرم‌های ARM64 را تضمین می‌کند.

امکان استفاده در تاکتیک های Mitre Attack

Initial Access (TA0001)
در این سناریو مهاجم برای اجرای حمله زمان‌بندی SM2 نیاز به هیچ نقطه ورودی پیچیده‌ای ندارد و تنها با برقراری اتصال TLS به سرویسی که عملیات امضا یا تبادل کلید مبتنی ‌بر SM2 را ارائه می‌کند، ورودی لازم را دریافت می‌کند. این سطح دسترسی کاملاً ریموت، بدون احراز هویت و از طریق ترافیک عادی TLS برقرار می‌شود و تنها پیش‌نیاز آن در معرض‌بودن سرویس SM2 روی اینترنت است.

Credential Access (TA0006)
هدف اصلی حمله، دستیابی غیرمستقیم به کلید خصوصی SM2 از طریق تحلیل زمان اجرای عملیات رمزنگاری است. مهاجم با جمع‌آوری مقادیر کافی از امضاها یا پاسخ‌های handshake و تحلیل تفاوت‌های زمانی می‌تواند مقدار کلید خصوصی را بازسازی کند. این دقیقاً با ماهیت حملات Side‑Channel در سطح رمزنگاری هم‌خوان است.

Collection (TA0009)
فرآیند حمله نیازمند جمع‌آوری حجم بالا و ساختارمند از زمان‌بندی‌های handshake است. مهاجم داده‌های زمانی مرتبط با عملیات SM2 — شامل round-trip times، jitter و الگوهای پاسخ — را ذخیره می‌کند و این مجموعه داده‌ها ماده اصلی تحلیل جانبی برای استخراج کلید محسوب می‌شود.

Exfiltration (TA0010)
پس از بازسازی کلید خصوصی SM2، مهاجم می‌تواند از آن برای امضای جعلی، بازکردن ارتباطات رمز‌شده یا جعل هویت استفاده کند. در این مرحله، مهاجم کلید بازسازی‌شده را به مقصد خارجی منتقل می‌کند یا از همان نقطه‌ای که دسترسی شبکه‌ای داشته از آن استفاده می‌نماید.

Impact (TA0040)
استخراج کلید خصوصی SM2 می‌تواند موجب شکستن محرمانگی ارتباطات TLS، جعل هویت سرور، امضای داده‌های مخرب به‌جای سرور اصلی و اجرای حملات Man‑in‑the‑Middle شود. اثر نهایی یک نقض کامل امنیت رمزنگاری است که محرمانگی و اعتبارسنجی داده را از بین می‌برد.

منابع

  1. https://www.cve.org/CVERecord?id=CVE-2025-9231
  2. https://www.cvedetails.com/cve/CVE-2025-9231/
  3. https://openssl-library.org/news/secadv/20250930.txt
  4. https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-9231
  5. https://vuldb.com/?id.326395
  6. https://github.com/openssl/openssl/commit/fc47a2ec078912b3e914fab5734535e76c4820c2
  7. https://github.com/openssl/openssl/commit/eed5adc9f969d77c94f213767acbb41ff923b6f4
  8. https://github.com/openssl/openssl/commit/567f64386e43683888212226824b6a179885a0fe
  9. https://github.com/openssl/openssl/commit/cba616c26ac8e7b37de5e77762e505ba5ca51698
  10. http://www.openwall.com/lists/oss-security/2025/09/30/5
  11. https://nvd.nist.gov/vuln/detail/CVE-2025-9231
  12. https://cwe.mitre.org/data/definitions/385.html

همچنین ممکن است دوست داشته باشید

پیام بگذارید