باگ خطرناک OpenSSL موسوم به خونریزی قلبی چیست؟
- آیا کاربران عادی باید آنتیویروسها و نرمافزارهای امنیتی خود را بروز کنند؟
- آیا هماکنون کاربران میتوانند وارد حسابهای بانکی خود شوند یا باید از این کار ممانعت کنند؟
- آیا کمپانیهای بزرگی چون گوگل که تحت تاثیر این باگ امنیتی قرار گرفتهاند، این مشکل را برطرف کردهاند؟
یقینا در روزهای گذشته سوالات این چنین در ذهن تمامی کاربران نقش بسته، اما پاسخهای واضحی به آنها داده نشده است. در ادامه توضیحات روشنی را در مورد ساختار این باگ، دامنهی تاثیرگذاری آن، نحوهی رفع مشکل و اجتناب از سرقت اطلاعات ارائه خواهیم داد.
خونریزی قلبی چیست و چگونه کار میکند؟
این مشکل بخشی از یک نرمافزار را با نام OpenSSL تحت تاثیر قرار میدهد که بهعنوان راهکاری برای مسائل امنیتی در وب سرورها مورد استفاده قرار میگیرد. با استفاده از OpenSSL وبسایتها میتوانند اطلاعات خود را بصورت رمزنگاری شده در اختیار کاربران قرار دهند، از اینرو سایر افراد توانایی دسترسی و استفاده از دادههای رد و بدل شده را که شامل نامهای کاربری، رمزهای عبور و کوکیها است، ندارند.
OpenSSL یک پروژهی متن باز است، یعنی این پروژه توسط مجموعهای از افراد متخصص توسعه داده شده است که در قبال سرویس توسعهداده شده هزینه ای را دریافت نکردهاند. هدف این افراد کمک به توسعهی وب و یاری جامعهی اینترنت بوده است. نسخهی 1.0.1 پروژهی OpenSSL در 19 آپریل 2012 میلادی منتشر شده است. مشکل موجود ناشی از یک اشتباه برنامهنویسی در همین نسخه است که اجازهی کپی برداری از اطلاعات موجود در حافظهی وب سرور را به یک فرد یا نرمافزار مخرب بدون ثبت اثری از آن میدهد. این مشکل پس از اضافه شدن یک ویژگی جدید ایجاد شده که توسط برنامهنویسی آلمانی با نام دکتر رابینسگِلمَن روی OpenSSL اضافه شده است.
خونریزی قلبی یکی از ویژگیهای داخلی OpenSSL را با نام Heartbeat یا ضربان قلب مورد استفاده قرار میدهد. زمانی که رایانهی کاربر به یک وبسایت دسترسی پیدا میکند، وبسایت پاسخی را به مرورگر کاربر ارسال میکند تا رایانهی کاربر را از فعالیت خود و همچنین قابلیت پاسخگویی به درخواستهای بعدی آگاه سازد، این رد و بدل شدن اطلاعات را ضربان قلب گویند. ارسال درخواست و پاسخ به آن با رد و بدل شدن دادهها همراه است. در حالت نرمال، زمانی که رایانهی کاربر درخواستی را از سرور به عمل میآورد، ضربان قلب میزان دادهی مجاز درخواست شده از طرف کاربر را ارسال میکند، اما در مورد سرورهایی که این باگ را در ساختار خود دارند، یک هکر قادر است تا درخواستی را مبنی بر گرفتن دادهها از حافظهی سرور ارسال کرده و دادهای را با حداکثر اندازهی 65,536 بایت دریافت کند.
براساس اطلاعات ارائه شده توسط CloudFlare، اطلاعات درخواست شده شاید دربردارندهی اطلاعاتی از سایر بخشهای OpenSSL نیز باشد. اطلاعات موجود در حافظه کاملا از پلتفرم مستقل هستند. با اتصال رایانههای بیشتر به سرور اطلاعات موجود در حافظهی از بین رفته و اطلاعات جدید جایگزین میشود، از اینرو صدور درخواستهای جدید توسط هکرها منجر به دریافت اطلاعات جدیدتری خواهد شد که شامل اطلاعات ورود، کوکیها و دادههایی میشود که هکرها میتوانند از آنها بهرهبرداری نمایند.
چارهی کار چیست؟
از آنجایی که این ویژگی کمی خاص است و در مورد تمامی ارتباطات ایجاد شده از آن استفاده نمیشود، میزان تاثیرگذاری آن کمتر از حدی است که در برآوردهای اولیه به آن اشاره شده است. در حقیقت، اولین پیشبینیها حکایت از آسیبپذیری 60 درصدی سرورهای اینترنتی در اثر وجود باگ خونریزی قلبی داشت، در حالی که Netcraft مدعی شده است که این میزان بسیار کمتر بوده و در حدود 17.5 درصد از کل سرورهای اینترنتی را تشکیل داده است.
پس از کشف این باگ، دستاندرکاران سریعاً پچی را برای رفع این مشکل منتشر کردند که نسخهی 1.0.1.g نام گرفته و مشکل موجود را کاملاً حل کرد. پیش از آن نیز در صورتی که کاربران در زمان نصب نرمافزار OpenSSL افزونهی Heartbeat را نصب نکرده بودند، مشکلی از جانب این باگ آنها را تهدید نمیکرد.
حال سوال اصلی در مورد نگرانی یک کاربر معمولی اینترنت مطرح است. آیا کاربران اینترنت باید از وجود چنین مشکلی نگران باشند؟ متاسفانه پاسخ این پرسش بلی است. کاربران باید با استفاده از سرویسهایی چون Heartbleed Test ،LastPass Heartbleed Checker یا Qualys SSL Labs Test وبسایتهای حساسی را که به آنها مراجعه میکنند چک کرده و در صورت وجود مشکل، رمز عبور خود را تغییر دهند. این کار باید برای تمامی وبسایتهایی که دربردارندهی این باگ بوده و پس از کشف آن رفع ایراد شدهاند، انجام شود. از جملهی چنین سرویسهایی میتوان به یاهو و گوگل اشاره کرد. اما بصورت کلی باید کاربران از قانون تغییر رمز عبور بصورت متوالی و در فاصلههای زمانی تبعیت کنند.
اقدام برای تغییر رمز عبور یک پیشنهاد احتیاطی است، چراکه اگر هکری از وجود این باگ مطلع بوده و درصدد دستیابی به اطلاعات حساب کاربری شما بود، تا حال این اطلاعات را کسب کرده و به مقصود خود رسیده است. براساس برخی شایعات، احتمالا گواهی رمزگذاری برخی از سرورها نیز به سرقت رفته، اما CloudFlare امکان چنین مسالهای را بسیار پایین عنوان کرده و اعلام کرده است که درصد رخداد چنین موردی بسیار پایین است.
این موسسه مسابقهای را با این مضمون یعنی دستیابی به گواهی رمزگذاری سرور برگزار کرده بود که فردی موفق به انجام این کار شد. وی در فاصلهی ریبوت شدن سرور به گواهی مورد نظر دست یافت. فارغ از امکان به سرقت رفتن کلید رمزنگاری دادهها، کمپانیها علاوه بر اعمال پچ مورد نظر، کلید رمزگذاری خود را نیز تغییر دادهاند تا هکرها قادر به سرقت اطلاعات و دستیابی به اطلاعات رمزنگاری شده نباشند.
در صورتی که از سرنوشت اطلاعات خود نگران هستید، میتوانید رمزهای عبور حسابهای کاربری خود را تغییر دهید. یکی از اصلیترین نکات برای انتخاب رمزعبور، عدم استفاده از الگویی مشابه برای تمامی حسابهای کاربری است. همچنین باید در طول و کارکترهای مورد استفاده در رمزعبور نیز دقت کرده و از ترکیب حروف با اعداد استفاده کرد. ضمنا طول رمزعبور بهتر است بیش از 10 کارکتر باشد.