هارت‌بلید

هارت‌بلید (به انگلیسی: Heartbleed) (به فارسی: خونریزی قلبی) یک اشکال نرم‌افزاری در کتابخانه رمزنگاری متن باز اپن‌اس‌اس‌ال است که به مهاجم اجازه خواندن حافظه رایانه‌ای که در حال اجرای این نرم‌افزار است را می‌دهد. این باگ همچنین به مهاجم اجازه بازیابی کلیدهای شخصی اس‌اس‌ال را می‌دهد. این اشکال در پی یک اشتباه در کدنویسی اپن‌اس‌اس‌ال به وجود آمده‌است.
برخی محققان در پی بررسی لاگ‌های سیستمی دریافتند که این مسئله امنیتی حداقل پنج ماه پیش از اینکه به اطلاع عموم برسد ممکن است توسط هکرها کشف شده و مورد استفاده برای نفوذ به سرورها و سیستم‌های کاربران قرار گرفته باشد.

تاریخچه

در روز هفتم آوریل ۲۰۱۴، Neel Mehta یکی از مهندسین تیم امنیتی گوگل اعلام کرد که اپن‌اس‌اس‌ال ویرایش 1.0.2-beta، و همچنین تمام ویرایش‌های سری ۱٫۰٫۱ این نرم‌افزار تا قبل از ویرایش 1.0.1g دارای اشکال امنیتی خطرناکی مرتبط با مدیریت حافظه در ماژول Heratbeats این برنامه هستند. این مشکل امنیتی می‌تواند در هر تپش اکستنشن Heartbeat اپن‌اس‌اس‌ال، تا ۶۴ کیلو بایت اطلاعات از حافظهٔ مربوط به همین نرم‌افزار در RAM رایانه را در اختیار مهاجم قرار دهد. این باگ درون ماژول Heartbeats از پکیج openssl قرار دارد که به همین دلیل این باگ را خونریزی قلبی (Heartbleed) نام‌گذاری کرده‌اند که می‌توانید گزارش آن را درون سایت openssl ببینید. کد cve mitro باگ CVE-2014-0160 است.
سازوکار این حفره امنیتی به این صورت است که شخص مهاجم یک در خواست هارت بیت (تپش قلب) دستکاری شده را به سروری که در حال اجرای اپن‌اس‌اس‌ال است می‌فرستد و منتظر پاسخ سرور می‌ماند. از آنجایی که مشکل کنترل طول متغیر در برنامه‌نویسی اپن‌اس‌اس‌ال ویرایش‌های اشاره شده در بالا وجود دارد، برنامه نمی‌تواند صحت درخواست مهاجم را ارزیابی نماید و این مسئله موجب می‌شود که برنامه به درخواست مهاجم پاسخ دهد و ۶۴ کیلوبایت از حافظه برنامه را به شکل تصادفی بخواند و برای مهاجم ارسال نماید. در حین حمله، هر تپش قلب 64KB از پکت‌هایی که با استفاده از پروتوکل Transport Layer Security V1 با سرور رد و بدل می‌شوند و در حافظه سیستم ذخیره می‌شوند را آشکار می‌کند و به مهاجم ارسال می‌کند. حال اگر این عمل تکرار شود اطلاعاتی از جمله نام کاربری و پسورد سرور یا پسورد مدیران یا اطلاعات کاربران یا هر اطلاعات امنیتی دیگری مانند کوکی‌ها نیز به دست خواهند آمد.
این مشکل امنیتی از تاریخ ۳۱ دسامبر ۲۰۱۱ در کد برنامه وجود داشته‌است و بعد از انتشار نسخه پایدار برنامه (ویرایش ۱٫۰٫۱) در تاریخ ۱۴ مارس ۲۰۱۲ به شکل گسترده‌ای در وب سرورهای دنیا انتشار یافته‌است.
نامگذاری این حفره امنیتی توسط مهندس تیم شرکت امنیتی Codenomicon انجام گرفت. وی همچنین لوگوی مربوطه را طراحی نمود و وب سایت Heartbleed.comرا برای اطلاع‌رسانی به عموم مردم به راه انداخت. طبق گزارش شرکت امنیتی Codenomicon، پیداکننده این مشکل امنیتی، Neel Mehta، ابتدا این حفره را به برنامه نویسان OpenSSL گزارش می‌دهد اما این گوگل و Codenomicon بودند که به شکل مستقل این حفره را شناسایی می‌کنند. Mehta همچنین در صفحه توییتر خود بدون اینکه وارد جزئیات و نقش گوگل در کشف این حفره امنیتی شود به شرکت Codenomicon تبریک گفته‌است.

آسیب‌شناسی

خواندن بخشی تصادفی از حافظه سرور می‌تواند اطلاعات حساسی را در اختیار مهاجم قرار دهد و در پی آن امنیت سرور و کاربران در حال استفاده از آن را به خطر بیندازد. اطلاعات حساسی که از این طریق قابل دسترسی می‌باشند می‌تواند شامل کلیدهای شخصی باشد که نفوذگر را قادر می‌سازند تا با انجام یک حمله مرد میانی غیرفعال (passive) یا فعال (active) (انجام حمله مرد میانی فعال در صورتی توسط هکر انجام می‌شود که perfect forward secrecy بر روی سرور فعال باشد) به رمزگشایی داده‌های ذخیره شده بر روی سرور یا داده‌های در حال ارسال و دریافت آن بپردازد و به آن‌ها دستیابی داشته باشد. شخص مهاجم کنترلی بر روی اینکه چه داده‌هایی در این ۶۴ کیلوبایت توسط سرور به او تحویل داده می‌شود ندارد و سرور تنها در پاسخ به درخواست مهاجم به شکل تصادفی داده‌هایی را در اختیار وی می‌گذارد.
هرچند این باگ تهدید جدی برای ارتباط امن ایجاد شده توسط اپن‌اس‌اس‌ال محسوب می‌شود، اما همچنین می‌تواند درخواست‌ها و اطلاعات رمزگذاری نشده کاربر را نیز در اختیار نفوذگران قرار دهد، این اطلاعات می‌توانند شامل پست‌های کاربر، کوکی‌ها و پسوردهای کابران سرور باشد که درصورتی که مهاجم به آن‌ها دستیابی داشته باشد می‌تواند به انجام عملیات استراق نشست کاربر بپردازد و به اطلاعات حساب کاربران و شاید مدیران آن وب سرور دستیابی پیدا کند. در زمان شناسایی این حفره امنیتی (هفتم آوریل ۲۰۱۴)، چنین تخمین زده شد که می‌بایست حدود ۱۷ درصد، معادل نیم میلیون عدد، از وب سرورهایی که توسط مراجع صدور گواهی دیجیتال برای آن‌ها گواهی امنیتی SLL صادر شده‌است، در برابر این نوع از حمله آسیب‌پذیر باشند.بنیاد مرزهای الکترونیکی، ارز تکنیکا، و رمز نگار آمریکایی بروس شِنایر، همگی در توصیف این حفره امنیتی از واژه "catastrophic" به معنی "فاجعه آفرین" استفاده کردند. ستون نگار امنیت سایبری مجله فوربز، جوزف اشتاینبرگ، در توصیف این اشکال امنیتی می‌نویسد که "از زمانی که بانکداری الکترونیکی در اینترنت به راه افتاد، هیچ اشکال امنیتی مانند این باگ دارای چنین پتانسیل تخریبی نبوده است."

عکس العمل‌ها

در روز شناسایی این حفره، کارشناسان امنیتی پروژه تور در وبلاگ خود به کاربران دنیای اینترنت توصیه کردند که «به تمامی افرادی که نگران امنیت سایبری خود هستند توصیه می‌شود تا در چند روز آینده از ورود به اینترنت خودداری کنند، تا زمانی که مشکل به شکل کامل شناسایی و برطرف شود».
سازمان Canada Revenue Agency که مربوط به انجام امور مالیاتی کانادا است، به دنبال خبر این حفره امنیتی حساس اقدام به بستن سایت‌های اینترنتی خود نمود.
مدیران پلت فورم‌ها، مانند مدیران بنیاد ویکی‌مدیا، در پی شناسایی این باگ به کاربران خود توصیه نمودند تا رمزهای کاربری خود را عوض کنند.
یک آنالیز آماری انجام شده بر روی ۱۰۰۰ سایت پر بیننده دنیا، که در GitHub منتشر شده‌است، چنین نشان داد که سایتهایی از قبیل یاهو، Imgur, Stack Overflow، مجله Slate، و DuckDuckGo در تاریخ ۸ آوریل ۲۰۱۴ در برابر این اشکال نرم‌افزاری آسیب‌پذیر بوده‌اند.
در کنار سایت‌های خارجی نام برده سایت‌های ایرانی بسیاری نیز دارای این باگ بوده‌اند و تلاش‌ها در زمینه از بین بردن این باگ ادامه دارد.
تئو درات، بنیان‌گذار و مدیر پروژه‌های اپن‌اس‌اس‌اچ و اوپن‌بی‌اس‌دی سازندگان اپن‌اس‌اس‌ال را برای مد نظر قرار ندادن استانداردهای امنیتی برنامه‌نویسی به زبان C و کتابخانه استاندارد سی مورد انتقاد قرار داد و خطاب به آن‌ها چنین گفت: «تولیدکنندگان اپن‌اس‌اس‌ال احساس مسئولیت کافی ندارند».
برنامه‌نویسی که این قسمت از اپن‌اس‌اس‌ال را برنامه‌نویسی کرده و این اشکال امنیتی در اپن‌اس‌اس‌ال به دنبال کدنویسی او ایجاد شده‌است، Robin Seggelmann, چنین ابراز داشت که او تنها در حین برنامه‌نویسی «کنترل و چک کردن متغییری که طول و تعدادی رکورد داشته است را یادش رفته است» و هرگونه سوء نیت و تعمدی را نسبت به ایجاد این اشکال امنیتی در برنامهٔ اپن‌اس‌اس‌ال رد کرده‌است.