TLS

تمام مرورگرهای بزرگ وب، ازجمله گوگل کروم، Apple Safari، Microsoft Edge، اینترنت اکسپلورر و موزیلا فایرفاکس در تاریخ ۱۵ اکتبر ۲۰۱۸ اعلام کردند که دیگر از ۲ پروتکل‌ رمزنگاری ارتباطات یعنی نسخه ۱ پروتکل TLS (دارای عمر ۲۰ سال) و نسخه ۱٫۱ این پروتکل (دارای عمر ۱۲ سال) پشتیبانی نخواهند کرد.

پروتکل امنیت لایه انتقال(۱) یا TLS در ابتدا به‌عنوان پروتکل لایه سوکت‌های ایمن(۲) یا SSL پیاده‌سازی شده بود که یک پروتکل به‌روزرسانی شده رمزنگاری برای ایجاد یک کانال ارتباطی ایمن و رمزگذاری شده بین مشتریان و سرورها است.

در حال حاضر چهار نسخه از پروتکل TLS یعنی نسخه‌های ۱٫۰، ۱٫۱، ۱٫۲ و آخرین نسخه یعنی ۱٫۳ وجود دارند [۱]، اما نسخه‌های قدیمی‌تر یعنی نسخه‌های ۱٫۰ و ۱٫۱ به تعدادی از حملات بحرانی، مانند POODLE و BEAST آسیب‌پذیر هستند[۲و۳].

ازآنجایی‌که پیاده‌سازی TLS در تمامی مرورگرها و برنامه‌های کاربردی بزرگ وب از فرآیندdowngrade negotiation پشتیبانی می‌کند، این فرصت را برای مهاجمان فراهم کرده است که از پروتکل‌های ضعیف‌تر بهره‌برداری کنند حتی اگر یک سرور از آخرین نسخه پشتیبانی کند.

تمامی مرورگرهای وب معروف تا سال ۲۰۲۰ به پشتیبانی از TLS نسخه ۱٫۰ و ۱٫۱ پایان خواهند داد.

بر اساس گزارش‌های مطبوعاتی منتشرشده توسط چهار شرکت بزرگ یعنی گوگل[۴]، مایکروسافت[۵]، اپل [۶] و موزیلا[۷]، مرورگرهای وب آن‌ها به‌طور پیش‌فرض در نیمه اول سال ۲۰۲۰ از نسخه ۱٫۰ و ۱٫۱ پروتکل TLS پشتیبانی نخواهند کرد.

TLS نسخه ۱٫۲ که ده سال پیش منتشر شد تا آسیب‌پذیری‌های موجود در نسخه‌های ۱٫۰ و ۱٫۱ را در پروتکل TLS برطرف کند، به‌طور گسترده مورد استقبال قرار گرفت و بنابراین به‌عنوان نسخه TLS پیش‌فرض مورداستفاده قرار گرفت تا اینکه نسخه ۱٫۳ منتشر شود که در حال حاضر در مرحله توسعه می‌باشد.

طبق گفته مایکروسافت، با توجه به اینکه از زمان انتشار نسخه ۱ پروتکل TLS مدت‌زمان زیادی گذشته است، بسیاری از وب‌سایت‌ها در حال حاضر به نسخه‌های جدیدتری از این پروتکل رو آورده‌اند. امروزه ۹۴ درصد از سایت‌ها از نسخه ۱٫۲ پروتکل TLS پشتیبانی می‌کنند، درحالی‌که فقط کمتر از یک درصد از ارتباطات روزانه در Microsoft Edge از TLS نسخه ۱٫۰ یا ۱٫۱ استفاده می‌کنند.

مایکروسافت دراین‌باره می‌نویسد: “دو دهه یک ‌زمان طولانی است تا یک تکنولوژی امنیتی بدون تغییر باقی بماند. درحالی‌که ما از آسیب‌پذیری‌های قابل‌توجه در پیاده‌سازی‌های نسخه ۱٫۰ و ۱٫۱ پروتکل TLS آگاه نیستیم، پیاده‌سازی‌های شخص ثالث آسیب‌پذیر وجود دارد.”

“انتقال به نسخه‌های جدیدتر، استفاده از یک وب امن‌تر را برای همه فراهم می‌کند. علاوه بر این، انتظار می‌رود که IETF به‌طور رسمی نسخه‌های ۱٫۰ و ۱٫۱ را در سال جاری از رده خارج کند، در این صورت آسیب‌پذیری‌های این پروتکل در این نسخه‌ها دیگر توسط IETF موردبررسی قرار نخواهد گرفت.”

اپل همچنین می‌گوید TLS نسخه ۱٫۲ یک استاندارد در سیستم‌عامل‌های آن است و ۹۹٫۶ درصد از ارتباطات TLS ساخته شده از Safari را شامل می‌شود، درحالی‌که نسخه ۱٫۰ و ۱٫۱ پروتکل TLS کمتر از ۰٫۳۶ درصد از تمام ارتباطات است.

گوگل نمی‌تواند بیشتر موافقت کند و می‌گوید که امروزه تنها ۰٫۵ درصد از ارتباطات HTTPS ساخته شده توسط کروم از نسخه ۱٫۰ یا ۱٫۱ پروتکل TLS استفاده می‌کنند.

همه شرکت‌های فن‌آوری توصیه می‌کنند تا وب‌سایت‌هایی که از پروتکل TLS نسخه ۱٫۲ یا جدیدتر پشتیبانی نمی‌کنند در اسرع وقت نسخه‌های قدیمی این پروتکل را از پشتیبانی خارج کنند.

علاوه بر این، توافق امنیت داده (۳)PCI نیز نیازمند وب‌سایت‌هایی است که تا ۳۰ ژوئن ۲۰۱۸ پشتیبانی از پیاده‌سازی نسخه ۱٫۰ پروتکل SSL/TLS را متوقف کنند[۸].

همچنین Gitlab علاوه بر این غول‌های تکنولوژی، اعلام کرد که تا پایان سال ۲۰۱۸ پشتیبانی از نسخه‌های ۱٫۰ و ۱٫۱ را در وب‌سایت خودش و زیرساخت‌های API خاتمه خواهد داد[۹].

SSL

شما همچنین می‌توانید به‌صورت دستی نسخه قدیمی‌تر TLS را در گوگل کروم غیرفعال کنید. به بخش تنظیمات رفته و در زیرمجموعه تنظیمات پیشرفته، تنظیمات مربوط به پروکسی را باز کنید و بر روی قسمت Advanced کلیک کنید و در زیرمجموعه بخش امنیت، گزینه‌های نسخه ۱٫۰ و نسخه ۱٫۱ پروتکل TLS را غیرفعال کنید.

منابع

[۱] https://tools.ietf.org/html/rfc8446

[۲] https://thehackernews.com/2014/12/SSL-Poodle-TSL-attack.html

[۳] https://thehackernews.com/2012/04/90-ssl-sites-vulnerable-to-beast-ssl.html

[۴] https://security.googleblog.com/2018/10/modernizing-transport-security.html

[۵] https://blogs.windows.com/msedgedev/2018/10/15/modernizing-tls-edge-ie11

[۶] https://webkit.org/blog/8462/deprecation-of-legacy-tls-1-0-and-1-1-versions

[۷] https://blog.mozilla.org/security/2018/10/15/removing-old-versions-of-tls

[۸] https://blog.pcisecuritystandards.org/are-you-ready-for-30-june-2018-sayin-goodbye-to-ssl-early-tls

[۹] https://about.gitlab.com/2018/10/15/gitlab-to-deprecate-older-tls

[۱۰] https://thehackernews.com/2018/10/web-browser-tls-support.html


(۱) Transport Layer Security (TLS)
(۲) Secure Sockets Layer (SSL)
(۳) PCI Data Security Standard (PCI DSS) compliance
(۴) type confusion
(۵) integer overflows
(۶) pointers
(۷) Control Flow Integrity (CFI)
(۸) function return addresses