فاجعه امنیتی eMudhra؛ کلیدهای خصوصی گواهینامه با ارزش تنها ۸ بیت شکسته شدند — Eight Bits of Trust; eMudhra's CA keys cracked in milliseconds
خلاصه
کلیدهای خصوصی چندین گواهینامه میانی صادر شده توسط شرکت eMudhra تنها اعداد بسیار کوچکی مانند ۴ یا ۵۶ بودند. این فاجعه امنیتی باعث شد هر کسی بتواند کلیدها را در کسری از ثانیه روی لپتاپ خود کرک کند و امنیت ارتباطات رمزنگاریشده در بسیاری از ابزارها و کلاینتها به خطر بیفتد.
یک نقص امنیتی تکاندهنده در ساختار کلیدهای خصوصی شرکت eMudhra کشف شده است که نشان میدهد امنیت تعداد زیادی از گواهینامههای دیجیتال روی عددی بسیار کوچک به طول تنها یک بایت بنا شده بود. این ماجرا بار دیگر آسیبپذیریهای پنهان در زیرساخت کلید عمومی (PKI) را به تصویر کشیده است.
ماجرا از چه قرار است؟
در ماه اکتبر، یک پژوهشگر امنیت سایبری گزارش داد که کلیدهای خصوصی متعلق به هشت گواهینامه میانی (Intermediate CA) شرکت eMudhra بهشدت در معرض خطر هستند. شرکتهای بزرگ فناوری مانند گوگل، موزیلا، اپل و مایکروسافت به سرعت دست به کار شدند و این گواهینامهها را از طریق بهروزرسانیهای مختلف مسدود کردند. این گواهینامهها شامل شش مورد برای صدور گواهینامههای TLS و دو مورد برای امضای کد (Code-Signing) بودند که همگی در سال ۲۰۲۵ ایجاد شده و توسط Sectigo نیز کراسساین شده بودند.
نکته فاجعهبار اینجاست که کلیدهای خصوصی این گواهینامهها اعداد تصادفی ۳۸۴ بیتی نبودند، بلکه اعدادی فوقالعاده کوچک مانند ۴، ۵۶ یا ۱۱۵ بودند. به عنوان مثال، کلید خصوصی P-384 باید یک عدد ۳۸۴ بیتی تصادفی باشد، اما در این مورد با رشتهای طولانی از صفرها و یک بایت مقدار واقعی مواجه بودیم.
جزئیات فنی و نحوه کرک کردن کلیدها
در منحنیهای بیضوی (Elliptic Curve) مانند P-384، کلید خصوصی یک عدد بزرگ به نام d است و کلید عمومی از ضرب این عدد در نقطه ثابت G به دست میآید. طبق مدل امنیتی، محاسبه معکوس این رابطه از روی کلید عمومی غیرممکن فرض میشود؛ زیرا فضای جستجو به بزرگی 2³⁸⁴ است.
اما وقتی کلید خصوصی تنها یک بایت باشد، فضای جستجو به تنها ۲۵۶ حالت ممکن محدود میشود. پژوهشگران توانستند با یک جستجوی ساده (Brute-force) در کمتر از یک ثانیه روی لپتاپ شخصی، تمام این کلیدهای خصوصی را از روی گواهینامههای عمومی استخراج کنند. بررسیها نشان داد که شرکت eMudhra دلیل این اتفاق را وجود باگ در اسکریپتهای مراسم تولید کلید (Key Generation Ceremony) و خطای انسانی در انتخاب کلیدهای اشتباه اعلام کرده است.
چرا این مسئله غیرقابل مهار است؟
برخلاف سرقت سنتی کلیدهای خصوصی که معمولاً ردپایی از مهاجم باقی میگذارد، در اینجا کلیدها از روز اول انتشار گواهینامهها عملاً به صورت عمومی در دسترس بودند. هر کسی میتوانست در بازه زمانی هفدهماهه گذشته، این کلیدها را استخراج کند.
مرورگرهای مدرن با استفاده از Certificate Transparency (سیستم CT) و مسدودسازی مستقیم، ایمن شدهاند؛ اما مشکل اصلی در اکوسیستم بزرگ کلاینتهای غیرمرورگر وجود دارد:
- ابزارهای خط فرمان و اسکریپتها: ابزارهایی مانند
curl، پایتون،Node.jsوGoبه طور پیشفرض دستهای از گواهینامههای روی دیسک را اعتماد میکنند و بررسی ابطال (Revocation) را انجام نمیدهند. - پایپلاینهای CI/CD: سرورهای بیلد و اسکریپتهای خودکار که وابستگیها را دانلود میکنند، مستعد حملات مرد میانی (MitM) هستند.
- دستگاههای IoT و سیستمهای جاسازیشده: تجهیزاتی که فریمور آنها تا سالها بهروزرسانی نمیشود و گواهینامههای آسیبدیده را تا زمان انقضا در سال ۲۰۳۹ معتبر میشناسند.
واکنش کاربران در هکرنیوز
بحثهای داغی پیرامون این موضوع در هکرنیوز شکل گرفت. کاربران با اشاره به کاریکاتورهای معروف XKCD درباره تولید اعداد تصادفی، از تکیه بر چنین زیرساختهای حیاتی ابراز شگفتی کردند. بسیاری از مهندسان نرمافزار این اتفاق را مصداق بارز «سهلانگاری جنایی» دانستند و پرسیدند که چرا تعداد زیاد مراجع صادرکننده گواهینامه (CA) همچنان به عنوان یک نقطه ضعف ساختاری در وب باقی مانده است.
چه باید کرد؟
برای سیستمهایی که قابلیت بهروزرسانی دارند، راهحل اصلی آپدیت کردن بستههای سیستمعامل (ca-certificates)، پکیجهای زبانهای برنامهنویسی و ایمیجهای داکر است. با این حال، چالش اصلی همچنان تجهیزات سختافزاری و اینترنت اشیاء است که امکان پچ کردن آنها به سادگی وجود ندارد.
این مطلب بهصورت کاملاً خودکار و با هوش مصنوعی از مقالهٔ اصلی و بحث هکرنیوز تهیه شده و ممکن است خطا داشته باشد. حقوق مطلب اصلی متعلق به نویسندهٔ آن است. قوانین و گزارش مشکل