حمله poodle در SSLv3 (سگ پشمالوی گوگل)+ وصله آسیب پذیری

سلام

قشنگ ترین باگ ها، اون هایی هستند که در نرم افزار ها و برنامه ای ظاهر می شوند که خودشان برای یک مکانیسم امنیتی ساخته شده اند... مثل Heartbleed در OpenSSL و حالا هم POODLE در SSLv3!

مثل همیشه سعی می کنم، خلاصه توضیح بدم...

این آسیب پذیری در ۱۴ اکتبر یعنی ۲۳ مهر توسط گوگل کشف شد و اسم این حمله، poodle به معنایی نوعی سگ پشمالو گذاشته شده است!

poodle

SSL چیست؟

SSL یک مکانیسم امنیتی است که مرورگرها برای رمزنگاری داده ها از آن استفاده می کنند تا در برابر حملاتی مثل MitM و استراق سمع در شبکه جلوگیری کند. وقتی هکر داده های شما را استراق سمع می کند، فقط با یک سری «چرت و پرت» مواجه می شود. آخرین نسخه ی SSL نسخه ۳ آن است اما مرورگرها و وب سرویس های جدید از TLS در نسخه های 1.0 و 1.1 و 1.2 استفاده می کنند. اما این به معنای این نیست که در صورتی که سرویس دهنده ی وب شما از TLS 1.2 استفاده می کرد، شما در برابر این حمله مقاوم خواهید بود...

این آسیب پذیری چگونه عمل می کند؟

هکری که داخل شبکه ی شماست و یا از روش های دیگر شبکه ی شما را آلوده کرده است، مرورگر شما را (از راه دور) وادار می کند که به جای TLS 1.2 از SSLv3 استفاده کند. به این کار downgrade می گویند. SSLv3 در تمام مرورگرهای جدید پشتیبانی می شود و بنابراین هکر در وادار کردن مرورگر شما به این کار با مشکلی مواجه نمی شود. در نهایت وب سرور هم که می بینید شما درخواست چنین کاری را دارید با شما موافقت می کند و از این به بعد تعاملات خود با شما را تحت SSLv3 انجام می دهد و ادامه ی حمله...

تاثیر این آسیب پذیری چیست؟

مثلا هکر می تواند کوکی شما را سرقت کند و از آن جهت ایجاد نشستی از طرف شما اقدام کرده و با حساب کاربری شما وارد سرویس دهنده ی مورد نظر شود. بنابراین این رخنه یک باگ خطرناک است... اما خطر این رخنه به این موضوع خلاصه نمی شود و کلا هر چیزی که با RC4 که توسط SSLv3 رمز می شوند در معرض خطر خواهد بود.

راه حل چیست؟

راه حل این است که مرورگر خود را وادار کنید که تحت هیچ شرایطی از SSLv3 استفاده نکند و همیشه حداقل از TLS v1.0 استفاده نماید. البته ممکن است در استفاده ی بعضی از سرویس ها با مشکل مواجه شوید. اما مطمئن باشید که سرویس دهنده های بزرگ حتما از TLS v1.0 به بالا پشتیبانی می کنند.

ترمیم و جلوگیری از آسیب پذیری:

  • موزیلا فایرفاکس

هم می توانید به راحتی از این افزونه استفاده کنید و هم:

به صورت دستی در قسمت نوار آدرس مقدار about:config را وارد کنید و در نوار جستجو security.tls.version.min را تایپ کنید و مقدار آن را به 1 تغییر دهید و سپس مرورگر خود را ریست کنید.

poodle firefox

  • کروم

در لینوکس دستور زیر را وارد کنید:

sudo nano /usr/share/applications/google-chrome.desktop

و به تمام خطوطی که با =Exec شروع می شود مقدار ssl-version-min=tls1-- را اضافه کنید. مثلا خطی مثل:

Exec=/usr/bin/google-chrome-stable %U

تبدیل خواهد شد به:

Exec=/usr/bin/google-chrome-stable --ssl-version-min=tls1 %U

در ویندوز هم یک shortcut از کروم روی دسکتاپ بسازید -> منوی properties -> فیلد target -> بعد از عبارت "chrome.exe یک space زده و مقدار --ssl-version-min=tls1 را وارد نمایید.

chrome

  • اینترنت اکسپلورر IE

روی منوی Internet Options کلیک می کنیم -> تب Advanced -> تیک های مربوط به Use SSL 3.0 و Use SSL 2.0 را بر می داریم.

ie

  • Apache HTTPD Server

مقدار SSLProtocol All -SSLv2 -SSLv3 را در تنظیمات وارد کنید و با دستور زیر آپاچی سرور را از نو راه اندازی کنید:

sudo service apache2 restart

در صورتی که سایتی دارید و می خواهید از امنیت آن مطمئن شوید می توانید از این سایت با نام Qualys' SSL Labs نمایید.

  • Nginx server

مقدار زیر را در تنظیمات وارد کنید:

ssl_protocols: TLSv1 TLSv1.1 TLSv1.2;

و با دستور زیر  سرور را از نو راه اندازی کنید:

sudo service nginx restart

در صورتی که سایتی دارید و می خواهید از امنیت آن مطمئن شوید می توانید از این سایت با نام Qualys' SSL Labs نمایید.

منابع:

این مطلب به صورت عمومی نوشته شده و حمله ی پودل به صورت تخصصی، طی یک مقاله کار و ترجمه خواهد شد.

http://www.openssl.org/~bodo/ssl-poodle.pdf

http://askubuntu.com/questions/537196/how-do-i-patch-workaround-sslv3-poodle-vulnerability-cve-2014-3566

https://zmap.io/sslv3/