آسیبپذیری Heartbleed
یک آسیبپذیری بسیار خطرناک بطور گستردهای وبسایتهای شبکه جهانی را تحت تاثیر قرار داده و اگر شما بر روی سرویس دهنده خود از نسخه OpenSSL 1.0.1 از 1.0 استفاده میکنید در معرض حمله هستید و سریعا بهروزرسانیهای مربوطه را انجام دهید. این هشدار مطلبی بود که فعالان و رسانههای امنیت در فنآوری اطلاعات 8 ماه آوریل بطور گستردهای در خروجیهای وبسایتهای اطلاع رسانی و حسابهای کاربری Twitter خود منتشر کردند.
داستان از این قرار بود که آسیبپذیری فوق بطور مستقل توسط شرکت تجاری Codenomicon و بطور همزمان توسط مهندسین امنیت شرکت Google کشف و کتابخانه نرمافزار محبوب رمزنگاری OpenSSL را هدف قرار میداد. این ضعف به مهاجمین این امکان را میداد تا دادههای حفاظت شده توسط SSL را استخراج کند.
کشف کننده این آسیبپذیری که منجر به استخراج 64KB اطلاعات درون حافظه سرویس دهنده میگردد نامش را به دلیل قرار داشتن آن در extension با نام heartbeat به نام Heartbleed bug عنوان کرده (RFC6520) که با شناسه CVE-2014-0160 به ثبت رسیده است. البته در نظر بگیرید که پروتکل SSL/TLS همچنان امن است و این اشکال تنها در پیاده سازی آن رخ داده است اما مسئله آنکه هنوز بخشهایی دیگر از پیاده سازی ممکن است نا امن باشد پابرجاست.
متاسفانه گستردگی استفاده از OpenSSL بسیار زیاد است و شما ممکن است بصورت مستقیم و یا غیر مستقیم با این آسیبپذیری درگیر بوده باشید. در حالت مستقیم شما به عنوان یک سرویس دهنده به کاربران خود شاید منجر به فاش شدن برخی از اطلاعات آنها و یا شاید بیشتر از کمی شده باشید. اما در حالت غیر مستقیم ممکن است سرویسدهندهای که شما با آن سروکار داشتهاید منجر به فاش شدن اطلاعات شما شده باشد.
به هرحال اگر شما بگونهای با این آسیبپذیری درگیر هستید چند احتمال ممکن قابل بررسی است:
- کلید اصلی به سرقت رفته باشد: یعنی مهاجم کلید رمزشدن اطلاعات شما را دارد و میتواند به محتوا رمز شده دسترسی داشته و آنها را رمزگشایی کند به هر حال باید از صادر کننده اعتبار نامه بخواهید یک مجوز جدید برای شما صادر کند.
- کلید ثانویه به سرقت رفته باشد: اعتبارنامه ها مانند نام کاربری و کلمه عبور توسط مهاجمین به سرقت رفته باشد که باید از کاربران خود بخواهید اطلاعات خود را تغییر دهند.
- دادههای سیستم به سرقت رفته باشد: اگر دادههای شما به سرقت رفته و از محدوده آن خبر ندارید متاسفانه تنها میتوانید برای آنها نگران باشید و کار دیگری نمیتوانید انجام دهید.
- دادههای ثانویه به سرقت رفته باشد: این دادهها شامل آدرسهای حافظه، اطلاعات ابزارهای امنیتی و یا غیره باشد که در این حالت شما باید به فکر امن سازی سیستم از طریق تغییر پیکربندی باشید.
اما سوالی که طرح میشود این است که کدام نسخههای OpenSSL در معرض حمله هستند؟ در پاسخ باید بگوییم آسیبپذیری نسخههای این برنامه به شرح زیر است که از 14 مارس 2012 در این وضعیت قرار داشتهاند:
- نسخه OpenSSL 1.0.1 تا 1.0.1f آسیبپذیر است
- نسخه OpenSSL 1.0.1g آسیبپذیر نیست
- نسخه OpenSSL 1.0.0 branch آسیبپذیر نیست
- نسخه OpenSSL 0.9.8 branch آسیبپذیر نیست
نسخههای سیستمعاملی که از این آسیبپذیری تاثیر گرفتهاند عبارتند از:
- Debian Wheezy (stable), OpenSSL 1.0.1e-2+deb7u4
- Ubuntu 12.04.4 LTS, OpenSSL 1.0.1-4ubuntu5.11
- CentOS 6.5, OpenSSL 1.0.1e-15
- Fedora 18, OpenSSL 1.0.1e-4
- OpenBSD 5.3 (OpenSSL 1.0.1c 10 May 2012) and 5.4 (OpenSSL 1.0.1c 10 May 2012)
- FreeBSD 10.0 - OpenSSL 1.0.1e 11 Feb 2013
- NetBSD 5.0.2 (OpenSSL 1.0.1e)
- OpenSUSE 12.2 (OpenSSL 1.0.1c)
و نسخههای سیستمعامل که نگرانی ندارند عبارتند از:
- Debian Squeeze (oldstable), OpenSSL 0.9.8o-4squeeze14
- SUSE Linux Enterprise Server
- FreeBSD 8.4 - OpenSSL 0.9.8y 5 Feb 2013
- FreeBSD 9.2 - OpenSSL 0.9.8y 5 Feb 2013
- FreeBSD 10.0p1 - OpenSSL 1.0.1g (At 8 Apr 18:27:46 2014 UTC)
- FreeBSD Ports - OpenSSL 1.0.1g (At 7 Apr 21:46:40 2014 UTC)
برای پوشش آسیبپذیری پشتیبانی OpenSSL بهروزرسانی را ارایه کرده است و باید پس از دریافت آن را recompile کنید.