حفره امنیتی خونریزی قلبی ( HeartBleed ) و راه های مقابله با آن

bleedدر هفته گذشته حفره امنیتی جدیدی کشف گردید که بیش از 66 درصد وب سایت های فعال در اینترنت را به لحاظ امنیتی آسیب پذیر نموده است. حتی گفته می شود که این باگ به مدت 2 سال بر روی سرور های NSA وجود داشته و هیچکس از آن اطلاع نداشته است. باگ هارت بلید یا خونریزی قلبی ( HeartBleed ) یک ضعف امنیتی در سرویس OpenSSL میباشد که اجازه سرقت اطلاعات محافظت شده را به آسانی فراهم میکند و امکان جلوگیری از این حفره امنیتی حتی توسط فایروال های IDS/IPS بدون تنظیمات پیشرفته به سادگی امکان پذیر نمی باشد. این حفره به هکر ها اجازه سرقت اطلاعاتی که توسط  SSL/TLS رمزنگاری شده اند را می دهد که این امر موجب میشود تا اطلاعات مهمی نظیر کلمات عبور وب سایت ها، ایمیل ها، پیام های فوری (IM) و حتی اطلاعات انتقال یافته بر روی برخی شبکه های خصوصی مجازی ( VPN ) قابل کشف باشد. این حفره تا زمانی که نسخه آسیب پذیر OpenSSL بر روی سرور نصب باشد می تواند منشاء سرقت اطلاعات در حال تبادل با سرور باشد. بااستفاده از این حفره امنیتی میتوان بین سرور و کلاینت یک نشست ایجاد کرد و محتویات حافظه RAM را استخراج کرد که امکان کشف اطلاعاتی مانند کلید های رمزنگاری شده را میسر می نماید.

 

 

 

 

بطور مثال میتوان با ردیابی اطلاعات فردی که از طریق سرویس https به سایتی که آسیب پذیر است متصل شده ؛ تمامی مشخصات و اطلاعات مبادله شده مانند نام کاربری و رمزعبور وی را کشف کرد. نکته قابل توجه این است که  این حفره امنیتی چون از سمت پروتکل TLS سرویس را مورد حمله قرار میدهد؛ می تواند امنیت سرویس هایی نظیر HTTP،FTP،SMTP را نیز به خطر بیندازد.
لازم به ذکر است که خونریزی قلبی به طور مستقل توسط یک تیم از مهندسین امنیتی (Riku، Antti & Matti) از Codenomicon و Neel Mehta از تیم امنیتی گوگل، که برای اولین بار آن را به تیم OpenSSL گزارش دادند؛ کشف گردید، اما احتمالا در موارد زیادی پیش از عمومی شدن آن سوء استفاده هایی از آن صورت پذیرفته است.

 

CentOS , Debian  , Ubuntuو اکثر توزیع های لینوکس و خود OpenSSL به سرعت پچ امنیتی ( Security Patch ) جدیدی ارائه کردند که شما با بروزرسانی سیستم عامل در برابر این مشکل امنیتی ایمن خواهید بود. اما اگر در سایت های زیر عضو هستید لازم است که کلمه عبور خود را در اسرع وقت تغییر دهید تا از بروز مشکلات احتمالی جلوگیری شود:
یاهو Yahoo.com
گوگل Google.com
فیس بوک Facebook.com
توئیتر Twiter
جی میل gmail.com
استک اور فلو Stackoverflow.com
ویرچوال باکس Virtualbox.org
دراپ باکس Dropbox.com

 

البته پیش از تغییر کلمه عبور می بایست حتما اطمینان داشته باشید که مشکل قبلا از سوی وب سایت مورد نظر برطرف شده باشد.

ورژن هایی از سرویس OpenSSL که آسیب پذیری آنها مورد بررسی قرار گرفته است:
•  OpenSSL 1.0.1 through 1.0.1f (inclusive) are vulnerable
•  OpenSSL 1.0.1g is NOT vulnerable
•  OpenSSL 1.0.0 branch is NOT vulnerable
•  OpenSSL 0.9.8 branch is NOT vulnerabl

 توزیع های آسیب پذیر لینوکس
•    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)

آیا سایت من در برابر این حفره امنیتی آسیب پذیر است؟

برای اطلاع از اینکه آیا وب سایت شما نیز با این مشکل امنیتی روبرو است یا نه، می توانید از با مراجعه به وب سایت زیر، آدرس سایت خود را وارد نموده و آسیب پذیری آن را مورد ارزیابی قرار دهید:
http://filippo.io/Heartbleed

مقابله با باگ امنیتی خونریزی قلبی

درصورت وجود این حفره امنیتی برروی سرور میتوانید دستورالعمل های زیر را اجرا نمائید :

  • بروز کردن سیستم عامل

برای سرویس های CentOS از دستور زیر استفاده فرمائید.

# yum update

و برای سرویس های Ubuntu از دستور زیر می توانید سیستم عامل را بروزرسانی نمائید.

# apt-get update
# apt-get upgrade

پس از بروز رسانی سیستم عامل بهتر است یکبار سرور را ریبوت نمائید. همچنین تغییر کلمه عبور سرور و صدور مجدد گواهینامه  SSL نیز رای اطمینان بیشتر توصیه می گردد. با انجام این موارد ؛ آسیب پذیری سرور در مقابل حفره امنیتی heartbleed  مرتفع خواهد گردید و برای اطمینان بیشتر از صحت عملکرد ، پیشنهاد می شود تا مجدد وضعیت وب سایت خود را از طریق  http://filippo.io/Heartbleed  مورد ارزیابی قرار دهید.

لازم به توضیح است که با انجام مراحل فوق کلیه نرم افزار های موجود بر روی سرور بروزرسانی می شود، در صورتیکه تنها می خواهید openssl را بروزرسانی نمائید می توانید از دستور زیر استفاده فرمائید:

CentOS :
# yum clean all
# yum update openssl

Ubuntu & Debian :
# sudo apt-get update
# sudo apt-get install -y libssl1.0.0 openssl
# openssl version -a
# sudo lsof -n | grep ssl | grep DEL