سازش و لو رفتن کلیدهای خصوصی هشت گواهی میانی CA در eMudhra — EMudhra Intermediate CA Compromise
خلاصه
کلیدهای خصوصی هشت گواهی میانی شرکت eMudhra لو رفته و امنیت ارتباطات وب را به خطر انداخته است. مرورگرهای بزرگ این گواهیها را مسدود کردهاند، اما کاربران و سیستمعاملهای قدیمی همچنان نیازمند بهروزرسانی یا اعمال اقدامات دستی هستند.
مقدمه و زمینه
امنیت وب بر پایه زیرساخت کلید عمومی یا همان PKI و زنجیرهای از گواهیها بنا شده است. در این ساختار، مرورگرها و سیستمعاملها به مراکز صدور گواهی (CA) اعتماد میکنند. اخیراً گزارش مهمی منتشر شده که نشان میدهد کلیدهای خصوصی ۸ گواهی میانی متعلق به eMudhra سازش یافته و لو رفتهاند. این گواهیهای میانی به ریش بانکی معتبری متصل هستند که توسط برنامههای اصلی اعتماد در Mozilla، Microsoft، Apple و Chrome پشتیبانی میشوند.
جزئیات فنی و نحوه کشف
ماجرا از این قرار است که فردی به نام Wayne توانسته است با استفاده از کلیدهای خصوصی هر ۸ گواهی میانی آسیبدیده، یک پیام مشخص را امضا کند و این مستندات را در تاریخ ۱۷ اکتبر به تیمهای مدیریت ریشه (Root Program Teams) گزارش دهد. متن پیام امضا شده به این صورت است:
We have a problem here - Wayne
این پژوهشگر بستهای شامل پیام، گواهیها، کلیدهای عمومی و امضاهای دیجیتال را به عنوان مدرک ارائه کرده است. برای بررسی صحت این موضوع، میتوان با استفاده از دستورات OpenSSL کلید عمومی را استخراج و امضا را تأیید کرد:
openssl x509 -in EM-DV-TLS-CA-G3B.crt.pem -noout -pubkey | diff - EM-DV-TLS-CA-G3B.pub.pem
openssl dgst -sha384 -verify EM-DV-TLS-CA-G3B.pub.pem -signature EM-DV-TLS-CA-G3B.sig message.txt
پیامدها و اقدامات انجام شده
وقتی کلید خصوصی یک گواهی میانی لو میرود، یک مهاجم عملاً قادر است خود را به جای هر وبسایت یا سرویسی جا بزند و حملات Man-in-the-Middle انجام دهد. خوشبختانه واکنش سریع انجام شد:
- مایکروسافت، گوگل، اپل و موزیلا: به سرعت اقدام به مسدودسازی این گواهیها از طریق مکانیسمهای توزیع ابطال مانند CRLSets، OneCRL و CRLite کردند.
- اقدام سمت CA: شرکت eMudhra نیز گواهیهای میانی آسیبدیده را باطل (Revoke) کرد.
با این حال، چالش اصلی سیستمها و کلاینتهایی هستند که اطلاعات ابطال را بهصورت خودکار مصرف نمیکنند و برای رفع خطر نیازمند پچ نرمافزاری یا بهروزرسانی سیستمعامل هستند.
چه اقداماتی باید انجام دهید؟
توسعهدهندگان و کاربران باید در اسرع وقت مرورگرها و سیستمعاملهای خود را به آخرین نسخه بهروزرسانی کنند. در محیطهای سروری و توزیعهای لینوکسی، اگر پکیج ca-certificates هنوز بهروزرسانی رسمی دریافت نکرده باشد، کاربران خبره میتوانند گواهیهای آسیبدیده را به صورت دستی در سیستمعامل مسدود (Blocklist) کنند.
برای نمونه، در توزیعهای مبتنی بر دبیان و اوبونتو میتوانید با ویرایش فایل تنظیمات و اجرای دستور زیر اقدام کنید:
sed -i -e 's|^mozilla/emSign_ECC_Root_CA_-_G3.crt|!&|' /etc/ca-certificates.conf && update-ca-certificates
در سیستمهای مبتنی بر ردهت (Fedora, RHEL, CentOS Stream) نیز میتوان از ابزار trust برای خارج کردن یا مسدود کردن گواهیهای ناامن بهره گرفت. جزئیات کامل اثر انگشتها، هشهای SPKI و کدهای شناسایی در فایلهای مستندات پروژه در گیتهاب قابل دسترسی است.
این مطلب بهصورت کاملاً خودکار و با هوش مصنوعی از مقالهٔ اصلی و بحث هکرنیوز تهیه شده و ممکن است خطا داشته باشد. حقوق مطلب اصلی متعلق به نویسندهٔ آن است. قوانین و گزارش مشکل