۸ اسفند ۱۳۹۵

بزرگنمایی رسانه‌ای درباره مشکل امنیتی کلودفلر

مشکل امنیتی cloudbleed

ابتدای اسفند ۱۳۹۵ تیم امینتی گوگل خبر از یک مشکل امنیتی بزرگ در سرویس شرکت معروف Cloudflare داد که به Cloudbleed یا خونریزی ابری معروف شد.

بسیاری از رسانه‌های داخلی و خارجی از افشای اطلاعات محرمانه بیش از ۵٫۵ میلیون وبسایت از جمله بسیاری از وبسایت‌های مهم ایرانی خبر دادند. اما اوضاع واقعا به این وخامت نبود.

در این مقاله می‌خواهم درباره بزرگنمایی صورت گرفته در این خبر بگویم؛ به عنوان مثال وب سایت دیجیکالا که به عنوان بزرگترین فروشگاه اینترنتی ایران خیلی زود در مظان لو رفتن رمزهایش قرار گرفت، تنها از سرویس DNS ابری کلودفلیر استفاده می‌کرده و در اصل محتوای خود را از طریق CDN ابر آروان توزیع می‌کند، و در نتیجه هیچ آسیبی از این مشکل امنیتی ندیده است (در زمان نگارش این مقاله DNSهای ابری دیجی‌کالا نیز به ابر آروان انتقال یافته است). همچنین کلید خصوصی (Private Key) مشتریان نیز برخلاف اعلام اولیه به هیچ‌وجه منتشر نشده است.

پس چه اتفاقی افتاده؟

۱۷ فوریه ۲۰۱۷  (۱ اسفند ۱۳۹۵) یکی از کارشناسان تیم امنیتی گوگل به نام Tavis Ormandy یک مشکل امنیتی شبکه توزیع محتوای Cloudflare را به صورت عمومی منتشر کرد. این مشکل امنیتی Cloud Bleed یا خونریزی ابری نام گرفت، و به سرعت در فضای رسانه‌ای سراسر جهان منتشر شد.

Ormandy در وبلاگ Project-Zeroاعلام کرد تنها پس از اینکه این مشکل امنیتی را به کلودفلر اعلام کرده و آن­ها رفع این مشکل را اعلام نموده‌اند دست به انتشار عمومی آن زده است.

برخی از رسانه­‌ها این مشکل امنیتی را حتی بزرگتر از Heartbleed معرفی کردند و آن را باعث افشای نام کاربری، رمز عبور، کلیدهای خصوصی، محتوای امنیتی و بسیاری از داده‌های حساس بیش از ۵٫۵ میلیون وب سایت در سراسر جهان دانستند.

ابر آروان و مشکل امنیتی Cloudflare

شاید ما هم در ابر آروان به عنوان یک شبکه توزیع محتوا می‌توانستیم از جو کنونی استفاده کنیم تا اعتماد وبسایت‌های بزرگ را به خودمان جلب کیم، یا اینکه با دامن زدن به موج خبری ایجاد شده به بزرگنمایی ماجرا بپردازیم و مثل خیلی از رسانه‌های خارجی و داخلی، امنیت وبسایت‌هایی که از کلودفلر استفاده می‌کرده‌اند را زیر سوال ببریم. اما این کار در نهایت به نفع جو و فضای وب نخواهد و باعث تردید و بی‌اعتمادی کاربران و شرکت‌ها خواهد شد. چون واقعیت با آن چیزی که نشان داده شده فاصله دارد، و حتی اگر شرکتی که امروز دچار این مشکل شده رقیب ما باشد، باز هم نباید نادرست به این موج دامن زد.

جزئیات گزارش رسمی Cloudflare

۵ روز پس از این اتفاق Cloudflare در وبسایت خود مقاله‌ای منتشر کرد و به بررسی جزئیات فنی این مشکل امنیتی پرداخت. این مقاله را به صورت کامل می‌توانید از اینجا ببینید. طبق این گزارش، مشکل امنیتی به وجود آمده در یک مفسر HTML رخ داده است. این مفسر در ۳ قابلیت جانبی این شرکت یعنی "email obfuscation"، "Server-side Excludes" و "Automatic HTTPS Rewrite" استفاده شده بود. عملکرد این مفسر که به عنوان یک افزوده NGINX مورد استفاده قرار می‌گرفت بر پایه بررسی کدهای HTML و ایجاد تغییرات با توجه به درخواست صاحب محتوا بوده است.

Cloudflare می‌گوید از یک سال پیش روند جایگزینی این مفسر با یک مفسر سریع‌تر و سازگار با HTML5 را شروع کرده بوده، ولی همچنان مفسر قدیمی در جاهایی مورد استفاده قرار می‌گرفته است.

اوج این مشکل امنیتی بین روزهای ۱۳ تا ۱۸ فوریه و با درصد بسیار پایین رخ داده است. در واقع از هر ۳،۳۰۰،۰۰۰ درخواست تنها یک درخواست دچار چنین مشکلی می‌شده، یعنی چیزی نزدیک به ۰٫۰۰۰۰۳ درصد از تمامی درخواست‌هایی که از این شبکه توزیع محتوا عبور کرده است.

یکی از مهم‌ترین نگرانی‌هایی که همزمان با گزارش این مشکل امنیتی بیان شد، ذخیره این اطلاعات توسط موتورهای جست‌وجو از جمله گوگل، بینگ و… بود.

شرکت Cloudflare می‌گوید که تنها ۷۷۰ آدرس یکتا مربوط به ۱۶۱ دامنه یکتا در موتورهای جست‌وجو ذخیره شده که بلافاصله با همکاری Google، Yahoo، Bing، و Duckduckgoبه صورت کامل حذف شده است.

اما مهم‌ترین نکته در گزارش Cloudflare تکذیب انتشار کلیدهای خصوصی کاربران است. کلودفلر به صراحت گفته که کلید خصوصی مشتریان در یک نمونه جداگانه از NGINX با حافظه مستقل مورد استفاده قرار می‌گرفته و همین باعث شده که مشکل به وجود آمده به هیچ‌وجه باعث لو رفتن کلیدهای خصوصی کاربران نشود.

بزرگنمایی کجا اتفاق افتاده است؟

برخی مثل اینجا بلافاصله پس از اعلام این مشکل نام تمام وبسایت‌هایی که به هر نحو از خدمات شرکت Cloudflare استفاده می‌کنند را منتشر کردند و از کاربران تمام این وبسایت‌ها خواستند نسبت به تغییر رمز عبور خود اقدام کنند. در ایران نیز برخی نام چند وب سایت ایرانی را منتشر کرده و از کاربران خواستند که نام کاربری خود را تغییر دهند. بزرگترین مشکل این لیست، نام بردن از وبسایت‌هایی است که تنها از سرویس DNS ابری کلودفلر استفاده کرده‌اند و به هیچ‌وجه محتوای خود را از داخل شبکه ابری کلودفلر عبور نداده‌اند. در ایران معروف‌ترین شرکت در این لیست «دیجی‌کالا» است. دیجی‌کالا اگرچه از خدمات DNS ابری این شرکت استفاده می‌کرده است، اما با توجه به اینکه تمامی محتوای خود را به کمک CDN ابر آروان توزیع می‌نموده، به هیچ‌وجه مشمول این مشکل امنیتی نشده است. (رجوع کنید به مقاله منتشر شده توسط مجله دیجی‌کالا)

مشکل دیگری که این گزارش‌ها ادعا می‌کنند، لو رفتن کلید خصوصی مشتریان است. در بیانیه شرکت کلودفلر این موضوع به صورت کامل رد شده و گفته که کلیدی که انتشار یافته نه کلید خصوصی مشتریان، بلکه کلید مورد استفاده قرارگرفته در رمزنگاری بین پاپ‌سایت‌های این شرکت جهت تبادل اطلاعات بوده است.

حمایت از شفافیت

گرچه اتفاق افتاده همانند هر کشف هر حفره‌­ی امنیتی دیگری برای کسانی که سعی می‌کنند جهان را امن‌تر کنند تلخ است، اما کلودفلر واکنش سریع و شفاف به این ماجرا داشت. رسانه‌های بسیاری از جمله اینجا در این مورد مقاله‌ای را منتشر کرده‌اند. همچنین این شرکت در اینجا تمام جزئیات این مشکل امنیتی را با بررسی کدهای مربوطه منتشر کرده است. زمان‌بندی واکنش این شرکت به این رویداد نیز منتشر شده (رفع مشکل در کمتر از ۷ ساعت صورت گرفته است).

حمایت از سرویس‌های ابری

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

این یک تقابل همیشگی است. تقابل بین هکرها و کسانی مثل ما که سعی می‌کنیم اینترنت را برای همه جای امن‌تری کنیم. امروز نیز خوشحالیم که تیم کلودفلر توانسته‌ است با واکنش سریع مشکل به وجود آمده را حل کند.