هارتبلید
هارتبلید (به انگلیسی: Heartbleed) (به فارسی: خونریزی قلبی) یک اشکال نرمافزاری در کتابخانه رمزنگاری متن باز اپناساسال است که به مهاجم اجازه خواندن حافظه رایانهای که در حال اجرای این نرمافزار است را میدهد. این باگ همچنین به مهاجم اجازه بازیابی کلیدهای شخصی اساسال را میدهد. این اشکال در پی یک اشتباه در کدنویسی اپناساسال به وجود آمدهاست.[1][2][3][4]
برخی محققان در پی بررسی لاگهای سیستمی دریافتند که این مسئله امنیتی حداقل پنج ماه پیش از اینکه به اطلاع عموم برسد ممکن است توسط هکرها کشف شده و مورد استفاده برای نفوذ به سرورها و سیستمهای کاربران قرار گرفته باشد.[5][6][7]
تاریخچه
در روز هفتم آوریل ۲۰۱۴، Neel Mehta یکی از مهندسین تیم امنیتی گوگل اعلام کرد که اپناساسال ویرایش 1.0.2-beta، و همچنین تمام ویرایشهای سری ۱٫۰٫۱ این نرمافزار تا قبل از ویرایش 1.0.1g دارای اشکال امنیتی خطرناکی مرتبط با مدیریت حافظه در ماژول Heratbeats این برنامه هستند.[8][9] این مشکل امنیتی میتواند در هر تپش اکستنشن Heartbeat اپناساسال، تا ۶۴ کیلو بایت اطلاعات از حافظهٔ مربوط به همین نرمافزار در RAM رایانه را در اختیار مهاجم قرار دهد.[10] این باگ درون ماژول Heartbeats از پکیج openssl قرار دارد که به همین دلیل این باگ را خونریزی قلبی (Heartbleed) نامگذاری کردهاند که میتوانید گزارش آن را درون سایت openssl ببینید. کد cve mitro باگ CVE-2014-0160 است.[11][12]
سازوکار این حفره امنیتی به این صورت است که شخص مهاجم یک در خواست هارت بیت (تپش قلب) دستکاری شده را به سروری که در حال اجرای اپناساسال است میفرستد و منتظر پاسخ سرور میماند. از آنجایی که مشکل کنترل طول متغیر در برنامهنویسی اپناساسال ویرایشهای اشاره شده در بالا وجود دارد، برنامه نمیتواند صحت درخواست مهاجم را ارزیابی نماید و این مسئله موجب میشود که برنامه به درخواست مهاجم پاسخ دهد و ۶۴ کیلوبایت از حافظه برنامه را به شکل تصادفی بخواند و برای مهاجم ارسال نماید. در حین حمله، هر تپش قلب 64KB از پکتهایی که با استفاده از پروتوکل Transport Layer Security V1 با سرور رد و بدل میشوند و در حافظه سیستم ذخیره میشوند را آشکار میکند و به مهاجم ارسال میکند. حال اگر این عمل تکرار شود اطلاعاتی از جمله نام کاربری و پسورد سرور یا پسورد مدیران یا اطلاعات کاربران یا هر اطلاعات امنیتی دیگری مانند کوکیها نیز به دست خواهند آمد.[13]
این مشکل امنیتی از تاریخ ۳۱ دسامبر ۲۰۱۱ در کد برنامه وجود داشتهاست و بعد از انتشار نسخه پایدار برنامه (ویرایش ۱٫۰٫۱) در تاریخ ۱۴ مارس ۲۰۱۲ به شکل گستردهای در وب سرورهای دنیا انتشار یافتهاست.[14][15][16]
نامگذاری این حفره امنیتی توسط مهندس تیم شرکت امنیتی Codenomicon انجام گرفت. وی همچنین لوگوی مربوطه را طراحی نمود و وب سایت Heartbleed.comرا برای اطلاعرسانی به عموم مردم به راه انداخت.[17] طبق گزارش شرکت امنیتی Codenomicon، پیداکننده این مشکل امنیتی، Neel Mehta، ابتدا این حفره را به برنامه نویسان OpenSSL گزارش میدهد اما این گوگل و Codenomicon بودند که به شکل مستقل این حفره را شناسایی میکنند.[14] Mehta همچنین در صفحه توییتر خود بدون اینکه وارد جزئیات و نقش گوگل در کشف این حفره امنیتی شود به شرکت Codenomicon تبریک گفتهاست.[18]
آسیبشناسی
خواندن بخشی تصادفی از حافظه سرور میتواند اطلاعات حساسی را در اختیار مهاجم قرار دهد و در پی آن امنیت سرور و کاربران در حال استفاده از آن را به خطر بیندازد. اطلاعات حساسی که از این طریق قابل دسترسی میباشند میتواند شامل کلیدهای شخصی باشد که نفوذگر را قادر میسازند تا با انجام یک حمله مرد میانی غیرفعال (passive) یا فعال (active) (انجام حمله مرد میانی فعال در صورتی توسط هکر انجام میشود که perfect forward secrecy بر روی سرور فعال باشد) به رمزگشایی دادههای ذخیره شده بر روی سرور یا دادههای در حال ارسال و دریافت آن بپردازد و به آنها دستیابی داشته باشد. شخص مهاجم کنترلی بر روی اینکه چه دادههایی در این ۶۴ کیلوبایت توسط سرور به او تحویل داده میشود ندارد و سرور تنها در پاسخ به درخواست مهاجم به شکل تصادفی دادههایی را در اختیار وی میگذارد.
هرچند این باگ تهدید جدی برای ارتباط امن ایجاد شده توسط اپناساسال محسوب میشود، اما همچنین میتواند درخواستها و اطلاعات رمزگذاری نشده کاربر را نیز در اختیار نفوذگران قرار دهد، این اطلاعات میتوانند شامل پستهای کاربر، کوکیها و پسوردهای کابران سرور باشد که درصورتی که مهاجم به آنها دستیابی داشته باشد میتواند به انجام عملیات استراق نشست کاربر بپردازد و به اطلاعات حساب کاربران و شاید مدیران آن وب سرور دستیابی پیدا کند.[19] در زمان شناسایی این حفره امنیتی (هفتم آوریل ۲۰۱۴)، چنین تخمین زده شد که میبایست حدود ۱۷ درصد، معادل نیم میلیون عدد، از وب سرورهایی که توسط مراجع صدور گواهی دیجیتال برای آنها گواهی امنیتی SLL صادر شدهاست، در برابر این نوع از حمله آسیبپذیر باشند.[20]بنیاد مرزهای الکترونیکی،[21] ارز تکنیکا،[22] و رمز نگار آمریکایی بروس شِنایر،[23] همگی در توصیف این حفره امنیتی از واژه "catastrophic" به معنی "فاجعه آفرین" استفاده کردند. ستون نگار امنیت سایبری مجله فوربز، جوزف اشتاینبرگ، در توصیف این اشکال امنیتی مینویسد که "از زمانی که بانکداری الکترونیکی در اینترنت به راه افتاد، هیچ اشکال امنیتی مانند این باگ دارای چنین پتانسیل تخریبی نبوده است."[24]
ویرایشهای آسیبپذیر OpenSSL
- OpenSSL 1.0.2-beta
- OpenSSL 1.0.1 تا ویرایش OpenSSL 1.0.1f
سیستم عاملهایی که مورد خطر و دارای این باگ هستند
اگر پچ مربوط به اشکال امنیتی CVE-2014-0160 در این سیستم عاملها نصب نشده باشد، این سیستم عاملها میتوانند در برابر این حمله آسیبپذیر باشند.
- دبیان و سیستم عاملهایی که بر اساس آن طراحی شدهاند مانند اوبونتو و لینوکس مینت و همچنین تمام زیر خانوادههای آنها
- 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 1۰ مه ۲۰۱۲) and 5.4 (OpenSSL 1.0.1c 1۰ مه ۲۰۱۲
- FreeBSD 10.0 - OpenSSL 1.0.1e 1۱ فوریه ۲۰۱۳
- (NetBSD 5.0.2 (OpenSSL 1.0.1e
- (OpenSUSE 12.2 (OpenSSL 1.0.1c
- تمامی سیستم عاملها و نرمافزارهایی که برای ایجاد ارتباطات امن خود از ویرایشهای آسیبپذیر اپناساسال استفاده میکنند.
ویرایشهایی که این اشکال امنیتی در آنها وجود ندارد
- (OpenSSL 1.0.2-beta2 (upcoming
- OpenSSL 1.0.1g
- (OpenSSL 1.0.0 (and 1.0.0 branch releases
- (OpenSSL 0.9.8 (and 0.9.8 branch releases
برنامههای رایانهای آسیبپذیر
- آیپیکوپ: ویرایش ۲٫۱٫۴ این نرمافزار به روز رسانی شده و فاقد این باگ است.[25]
- لیبرهآفیس: ویرایش ۴٫۲٫۳ این نرمافزار به روز رسانی شده و فاقد این باگ است.[26]
- LogMeIn: مدیران این پروژه چنین اظهار کردهاند که بخشهایی که مبتنی بر OpenSSL بودهاند بروز رسانی شدهاند و امن هستند.[27]
روشهای جلوگیری و شناسایی
برای جلوگیری از نفوذهای ناخواسته به سرور، به مدیران وب سرورها توصیه میشود تا یا از نسخههایی که بدون این اشکال امنیتی میباشند استفاده کنند، مانند ویرایش توصیه شدهٔ OpenSSL 1.0.1g، یا اگر امکان بروز رسانی برای ایشان فراهم نیست میتوانند با کامپایل مجدد نسخههای قدیمی به شکل موقت، با استفاده از سوئیچ DOPENSSL_NO_HEARTBEATS- در زمان کامپایل، ماژول Heartbeats را غیرفعال کنند و در اولین زمان ممکن به بروزرسانی نرمافزار اقدام نمایند. هرچند بروز رسانی یا برطرف کردن این اشکال امنیتی به روشهای فوق این اشکال را برطرف میسازد، اما اگر برنامه OpenSSL و سرویسهای مرتبط با آن یا نرمافزارهایی که از آن استفاده میکنند متوفق نشوند و دوباره راهاندازی نگردند(restart)، کد مخرب همچنان در حافظه سیستم باقیمانده و نفوذگران همچنان میتوانند به اطلاعات حساس سرور دستیابی داشته باشند. علاوه بر این برای بازیابی امنیت سیستم میبایست تمامی اطلاعات حساس مانند کلیدها، رمزها، کوکیها، و توکنها (token)ی قدیمی پاک و تعویض شوند.[28] اطلاعاتی که باید تعویض شوند شامل:
- کلیدهای امنیتی عمومی و خصوصی که احتمال به سرقت رفتن آنها میرود.
- تمامی certificateهای در ارتباط با این کلیدها باید مجدداً ایجاد شوند.
- تمامی پسوردهای موجود بر روی سرورهایی که احتمال مورد حمله قرار گرفتن آنها میرود باید تعویض شوند.
بعد از شناسایی این حفره امنیتی برنامهها و اپلیکشنهایی برای شناسایی این باگ ایجاد شدند که مدیران سرورها میتوانند از آنها برای تشخیص این حفره بر روی سرورهای خود استفاده نمایند و سپس به روش فوق اقدام به از بین بردن این باگ نمایند. لیست زیر شامل این ابزارها است.
- https://github.com/rapid7/metasploit-framework/blob/master/modules/auxiliary/scanner/ssl/openssl_heartbleed.rb
- https://web.archive.org/web/20191003131208/http://amn.bayan.ir/
- https://www.ssllabs.com/ssltest/
- http://filippo.io/Heartbleed/
- http://possible.lv/tools/hb/
- https://blog.lookout.com/blog/2014/04/09/heartbleed-detector/
- https://lastpass.com/heartbleed/
عکس العملها
در روز شناسایی این حفره، کارشناسان امنیتی پروژه تور در وبلاگ خود به کاربران دنیای اینترنت توصیه کردند که «به تمامی افرادی که نگران امنیت سایبری خود هستند توصیه میشود تا در چند روز آینده از ورود به اینترنت خودداری کنند، تا زمانی که مشکل به شکل کامل شناسایی و برطرف شود».[29]
سازمان Canada Revenue Agency که مربوط به انجام امور مالیاتی کانادا است، به دنبال خبر این حفره امنیتی حساس اقدام به بستن سایتهای اینترنتی خود نمود.[30]
مدیران پلت فورمها، مانند مدیران بنیاد ویکیمدیا، در پی شناسایی این باگ به کاربران خود توصیه نمودند تا رمزهای کاربری خود را عوض کنند.[31]
یک آنالیز آماری انجام شده بر روی ۱۰۰۰ سایت پر بیننده دنیا، که در GitHub منتشر شدهاست، چنین نشان داد که سایتهایی از قبیل یاهو، Imgur, Stack Overflow، مجله Slate، و DuckDuckGo در تاریخ ۸ آوریل ۲۰۱۴ در برابر این اشکال نرمافزاری آسیبپذیر بودهاند.[32][33]
در کنار سایتهای خارجی نام برده سایتهای ایرانی بسیاری نیز دارای این باگ بودهاند و تلاشها در زمینه از بین بردن این باگ ادامه دارد.[34][35]
تئو درات، بنیانگذار و مدیر پروژههای اپناساساچ و اوپنبیاسدی سازندگان اپناساسال را برای مد نظر قرار ندادن استانداردهای امنیتی برنامهنویسی به زبان C و کتابخانه استاندارد سی مورد انتقاد قرار داد و خطاب به آنها چنین گفت: «تولیدکنندگان اپناساسال احساس مسئولیت کافی ندارند».[36][37]
برنامهنویسی که این قسمت از اپناساسال را برنامهنویسی کرده و این اشکال امنیتی در اپناساسال به دنبال کدنویسی او ایجاد شدهاست، Robin Seggelmann,[38] چنین ابراز داشت که او تنها در حین برنامهنویسی «کنترل و چک کردن متغییری که طول و تعدادی رکورد داشته است را یادش رفته است» و هرگونه سوء نیت و تعمدی را نسبت به ایجاد این اشکال امنیتی در برنامهٔ اپناساسال رد کردهاست.[39]
جستارهای وابسته
- لیبرهاساسال
منابع
مقاله ویکیپدیا انگلیسی: https://en.wikipedia.org/wiki/Heartbleed
- Perlroth, Nicole; Hardy, Quentin (April 11, 2014). "Heartbleed Flaw Could Reach to Digital Devices, Experts Say". New York Times. Retrieved April 11, 2014.
- Chen, Brian X. (April 9, 2014). "Q. and A. on Heartbleed: A Flaw Missed by the Masses". New York Times. Retrieved April 10, 2014.
- Wood, Molly (April 10, 2014). "Flaw Calls for Altering Passwords, Experts Say". New York Times. Retrieved April 10, 2014.
- Manjoo, Farhad (April 10, 2014). "Users' Stark Reminder: As Web Grows, It Grows Less Secure". New York Times. Retrieved April 10, 2014.
- Gallagher, Sean (April 9, 2014). "Heartbleed vulnerability may have been exploited months before patch". Ars Technica. Retrieved April 10, 2014.
- "No, we weren't scanning for hearbleed before April 7"
- "Were Intelligence Agencies Using Heartbleed in November 2013?", April 10, 2014, Peter Eckersley, EFF.org
- Seggelmann, R.; et al. (February 2012). "Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) Heartbeat Extension". RFC 6520. Internet Engineering Task Force (IETF). Retrieved April 8, 2014.
- OpenSSL.org (April 7, 2014). "OpenSSL Security Advisory [07 Apr 2014]". Retrieved April 9, 2014.
- OpenSSL (April 7, 2014). "TSL heartbeat read overrun (CVE-2014-0160)". Retrieved April 8, 2014.
- https://www.openssl.org/news/secadv_20140407.txt
- "CVE - CVE-2014-0160". Cve.mitre.org. Retrieved April 10, 2014.
- Troy Hunt (April 9, 2014). "Everything you need to know about the Heartbleed SSL bug". Retrieved April 10, 2014.
- Codenomicon Ltd (April 8, 2014). "Heartbleed Bug". Retrieved 2014-04-08.
- Goodin, Dan (April 8, 2014). "Critical crypto bug in OpenSSL opens two-thirds of the Web to eavesdropping". Ars Technica. Retrieved April 8, 2014.
- Hagai Bar-El (April 9, 2014). ""OpenSSL Heartbleed bug: what's at risk on the server and what is not"". Archived from the original on 13 April 2014. Retrieved April 9, 2014.
- ""Why is it called the 'Heartbleed Bug'?"".
- Mehta, Neel. "Don't forget to patch DTLS". Twitter. Retrieved 2014-04-11.
- "Why Heartbleed is dangerous? Exploiting CVE-2014-0160". IPSec.pl. 2014. Archived from the original on 8 April 2014. Retrieved 11 April 2014.
- Mutton, Paul (April 8, 2014). "Half a million widely trusted websites vulnerable to Heartbleed bug". Netcraft Ltd. Retrieved April 8, 2014.
- "Why the Web Needs Perfect Forward Secrecy More Than Ever | Electronic Frontier Foundation". Eff.org. March 18, 2011. Retrieved April 10, 2014.
- Goodin, Dan. "Critical crypto bug exposes Yahoo Mail, other passwords Russian roulette-style". Ars Technica. Retrieved April 10, 2014.
- "Schneier on Security: Heartbleed". Schneier.com. Retrieved April 10, 2014.
- Steinberg, Joseph. "Massive Internet Security Vulnerability -- Here's What You Need To Do". Forbes. Retrieved April 10, 2014.
- IPCop (8 April 2014). "IPCop 2.1.4 is released". SourceForge electronic mailing lists. 139697815506679. Retrieved 11 April 2014.
- italovignoli (10 April 2014). "LibreOffice 4.2.3 is now available for download". The Document Foundation. Archived from the original on 12 April 2014. Retrieved 11 April 2014.
- "LogMeIn and OpenSSL". LogMeIn. Retrieved April 10, 2014.
- "Patched Servers Remain Vulnerable to Heartbleed OpenSSL | Hayden James". Haydenjames.io. Retrieved April 10, 2014.
- "OpenSSL bug CVE-2014-0160". Tor (anonymity network). April 7, 2014. Retrieved April 9, 2014.
- "Security concerns prompts tax agency to shut down website". CTV News. April 9, 2014. Retrieved April 9, 2014.
- Grossmeier, Greg (April 8, 2014). "[Wikitech-l] Fwd: Security precaution - Resetting all user sessions today". Wikimedia Foundation. Retrieved April 9, 2014.
- "heartbleed-masstest/top1000.txt". GitHub. April 8, 2014. Archived from the original on 10 April 2014. Retrieved April 9, 2014.
- Cipriani, Jason (April 10, 2014). "Which sites have patched the Heartbleed bug?". CNET. Retrieved April 10, 2014.
- ««هارتبلید» و کاربران بیدفاع اینترنت». وبگاه فارس. ۲۲ فروردین ۱۳۹۳. دریافتشده در ۱۱ فروردین ۱۳۹۳.
- «خونریزی قلبی دو سوم وب را متأثر کرده است». فروردین ۱۳۹۳. دریافتشده در ۱۱ فروردین ۱۳۹۳.
- "Theo De Raadt's Small Rant On OpenSSL - Slashdot". It-beta.slashdot.org. Retrieved 2014-04-11.
- "Re: FYA: http: heartbleed.com". Gmane. Archived from the original on 11 April 2014. Retrieved 2014-04-11.
- Lia Timson. "Who is Robin Seggelmann and did his Heartbleed break the internet?". Smh.com.au. Retrieved 2014-04-11.
- "Man who introduced serious 'Heartbleed' security flaw denies he inserted it deliberately". The Sydney Morning Herald. April 11, 2014. Retrieved April 11, 2014.