نگاهی کلی بر حمله Logjam

سلام

هشدار! مرورگر شما نسبت به Logjam آسیب‌پذیره و ممکنه از نوع ضعیفی از رمزنگاری استفاده کنه => به روزرسانی

تبادل کلید به روش دیفی-هلمن یکی از مشهور ترین الگوریتم‌های رمزنگاریه که به پروتکل‌های اینترنتی اجازه‌ به اشتراک‌گذاری کلید و برقراری یک ارتباط امن رو میده. این روش به عنوان پایه و اساس خیلی از پروتکل‌هاست مثل HTTPS, SSH, IPsec, SMTPA و کلا پروتکل‌هایه که بر TLS تکیه دارند.

logjam attack

که در ادامه نقاط ضعفی که در این روش وجود داره رو آوردم:

حمله‌ Logjam در برابر پروتکل TLS: حمله‌ Logjam در حملات مردی-در-میان این امکان رو به هکر می‌ده که کانکشن‌های آسیب‌پذیر TLS رو مجبور کنه تا خروجی رمزنگاری به صورت ۵۱۲ بیتی باشه.(اسم این رو downgrade میذاریم) این موضوع به هکر اجازه‌ی خواندن و دستکاری هر داده‌ای رو میده که از طریق این کانکشن جابجا می‌شه. حمله بسیار شبیه روش FREAK attackـه با این تفاوت که در حمله‌ Logjam به جای تبادل کلید RSA از دیفی-هلمن استفاده می‌شه و آسیب‌پذیری هم مربوط به قسمت پیاده‌سازی نبوده و مستقیما به دلیل پروتکل TLSـه. این حمله تمام سرورهایی که از رمزنگار DHE_EXPORT پشتیبانی می‌کنند و تمام مرورگرهای وب جدید رو تحت تاثیر قرار می‌ده. بین ۱ میلیون دامینی که چک کردیم ۸.۴٪ از اون‌هاا آسیب‌پذیر بودند.

تهدیداتی از جانب دولت‌ها: میلیون‌ها سرور HTTPS, SSH و VPN از اعداد اول یکسانی برای تبادل کلید دیفی-هلمن استفاده می‌کنند. خیلی‌ها معتقدند که این نوع از استفاده تا زمانی که پیامِ تبادلِ کلیدِ جدید برای هر کانکشن به صورت جداگانه تولید میشه مشکلی نداره و امنه. البته اولین گام در غربالگری فیلد اعداد -مهم‌ترین الگوریتم برای هک دیفی-هلمن- فقط به این اعداد اول بستگی داره. بعد از این گام، هکر به سرعت می‌تونه به کانکشن‌های مورد نظر نفوذ کنه.
ما این حمله رو روی رایج‌ترین اعداد اول ۵۱۲ بیتی که در TLS استفاده می‌شه اجرا کردیم و معلوم شد که حمله Logjam در ۸۰٪ـه سرورهایی که از DHS_EXPORT استفاده می‌کنند می‌تونه باعث downgrade کانکشن‌ها بشه. با تخمینی که ما زدیم یک تیم دانشگاهی توان شکستن اعداد اول ۷۶۸بیتی و دولت‌ها توان شکستن اعداد اول ۱۰۲۴بیتی رو دارند!

لینک‌های مرتبط:

weakdh.org
Imperfect Forward Secrecy: How Diffie-Hellman Fails in Practice
Logjam Server Test
Guide to Deploying Diffie-Hellman for TLS
proof of concept demos

چه کسایی آسیب‌پذیرند:

تمام وب‌سایت‌ها، میل‌سرورها و سایر سرویس‌های مبتنی بر TLS که از DHS_EXPORT پشتیبانی می‌کنند در خطر این حمله قرار دارند. برای چک کردن اون‌ها می‌تونید به سایت zmap.io مراجعه کنید.

Protocol Vulnerable to Logjam
HTTPS — Top 1 Million Domains 8.4%
HTTPS — Browser Trusted Sites 3.4%
SMTP+StartTLS — IPv4 Address Space 14.8%
POP3S — IPv4 Address Space 8.9%
IMAPS — IPv4 Address Space 8.4%

 

سایت‌هایی که از یکی از اعداد اول ۱۰۲۴ بیتی مشهور و رایج استفاده می‌کنند به این موضوع باید مشکوک باشند که از طرف ارگان‌های دولتی تحت استراق سمع قرار داشته باشند.

  Vulnerable if most common 1024-bit group is broken
HTTPS — Top 1 Million Domains 17.9%
HTTPS — Browser Trusted Sites 6.6%
SSH — IPv4 Address Space 25.7%
IKEv1 (IPsec VPNs) — IPv4 Address Space 66.1%

چه کار کنیم:

اگر سرور دارید...
باید از گروه ۲۰۴۸ بیتی و منحصر به فرد در دیفی-هلمن استفاده کنید. (راهنما Guide to Deploying Diffie-Hellman for TLS). اگر از SSH استفاده می‌کنید خودتون و کاربرهاتون باید از آخرین ورژن OpenSSH استفاده کنند که در اون از تبادل کلید به روش خم بیضوی دیفی-هلمن استفاده می‌شه.

اگر از مرورگرهای وب استفاده می‌کنید....
مطمئنا شوید که نسخه‌ی به‌روزرسانی شده رو در اختیار دارید.

اگر توسعه‌دهنده یا sysadmin هستید...
اولا مطمئنا شید که از کتابخانه‌های به‌روزرسانی شده در TLS استفاده می‌کنید و دوم اینکه سرور شما از اعداد اول ۲۰۴۸ بیتی یا بزرگ‌تر پشتیبانی می‌کنه و کاربرهای شما هم به صورت خودکار اعداد اول کوچکتر از ۱۰۲۴ بیت رو در دیفی-هلمن رد می‌کنند.