معرفی حفره های امنیتی Meltdown و Spectre

اخیرا مشخص شده است که حفره های امنیتی meltdown و spectre در اغلب CPUها وجود دارند. تاملی کوتاه برروی این نامگذاری ( Meltdown (فاجعه) و Spectre (شبح) ) خود گویای میزان خطرناک بودن آنهاست. حفره های امنیتی meltdown و spectre می توانند به سختی به سیستم کامپیوتری مان آسیب برسانند.

ما همه روزه درخصوص امنیت بحرانی مربوط به مشکلات نرم افزاری که آنها را در زندگی روزمره مان بکار می بریم، می شنویم و می خوانیم. این باگ ها یا حفره های امنیتی که توسط اشکالات کوچک در کد نرم افزار ایجاد می شوند، می توانند به نتایج ویرانگر منجر شوند:

افراد می توانند کامپیوترتان را هک کنند، اصلاعات تان را به سرقت ببرند، یا حتی آن را گروگان نگه دارند و از شما باج خواهی کنند. خوشبختانه این مشکل را با به روزرسانی نرم افزار می توانیم حل کنیم. اما از ابتدای ژوئن ۲۰۱۷ یکی از پژوهشگرانی که بر روی پروژه ی زیروگوگل کار می کرد، دو نقص امنیتی عمده در پردازنده های مدرن یافت و آنها را باتوجه به میزان خطرناک بودنشان حفره های امنیتی meltdown و spectre نامگذاری کرد.

برای درک نحوه ی کار و آسیب رسانی این باگ ها اجازه دهید کمی درخصوص برخی پیش نیازهای لازم توضیح دهیم:
 شما مغز کامپیوتر تان، تلفن، تبلت، تلویزیون و غیره را می شناسید. معایب (حفره های امنیتی) به هر برنامه ای اجازه می دهند تا اطلاعات حساس را از حافظه بخوانند. معایب مورد بحث عبارتند از meltdown و spectre. بدلبل اینکه حفره های امنیتی meltdown و spectre بسیار حساس و خطرناک هستند، گوگل تصمیم گرفت که آنها را تا زمانی که فروشندگان با راه حل های محافظتی به آن نرسیده اند، بصورت راز نگه دارد و به اطلاع عموم نرساند.
بنابراین اجازه دهید نگاهی به نحوه کار این اشکالات بیندازیم. اما قبل از انجام این کار، بیایید به سرعت به برخی از مفاهیم اساسی برویم. همانگونه که می دانید پردازنده مغز همه ی وسایل مان است. پردازنده مسئول اجرای همه ی دستوراتی است که به سیستم عامل و به برنامه هایمان می دهیم. اندازه ی سرعت پردازنده (CPU) به سرعت ساعت آن بستگی دارد. بالاتر از این، تعداد کارهایی است که پردازنده می تواند در هر ثانیه انجام دهد. بنابراین برای مدتی، سازندگان تراشه برای افزایش سرعت ساعت در حال رقابت بودند. برای آنها رسیدن به سرعت محدوده ی ۳ الی ۴ گیگاهرتز بالاترین حد بود. افزایش بیشتر آن غیرممکن بود، بنابراین سازندگان تراشه به فکر خلاقیت افتادند و آنها به چیزی به نام اجرای نظری رسیدند. اجرای نظری درواقع بدین معناست که پردازنده حدس میزند که خروجی یک دستورالعمل چیست؟ و تمام مراحل بعدی را در پس زمینه اجرا می کند.
آخرین چیزی که ما باید درک کنیم حافظه است. دستگاه های ما دارای دو نوع حافظه هستند: حافظه اصلی سیستم، که RAM نامیده می شود و حافظه پنهان در پردازنده (Cache). ریزپردازنده بطور مداوم نیازمند خواندن و نوشتن داده ها در حافظه اصلی است. چون حافظه اصلی از ریزپردازنده کندتر است، بنابراین سازندگان تراشه حافظه نهان را به ریزپردازنده اضافه کردند تا داده هایی را که با آن کار می کند در خودش ذخیره کند. هربار که CPU داده ای را از حافظه اصلی نیاز دارد آن را کپی کرده و در حافظه نهان اش ذخیره می کند و از آنجا می خواند.
خوب، حالا که ما این اصول را می شناسیم می توانیم توضیح باگ meltdown را شروع کنیم.
سیستم عامل اطلاعات حساس را در حافظه اصلی دستگاه های مان ذخیره می کند. به عنوان مثال، به کلید وای فای خود فکر کنید. سیستم عامل این داده ها را در حافظه محافظت شده ذخیره می کند و  CPU مطمئن است که هیچ کس به جز عامل خودسیستم به این قسمت از حافظه دسترسی ندارد. تا اینجا خیلی خوب است، مگر آنکه CPUها این قانون را در هنگام اجرای نظری (حدس و گمان)، اجرا نکنند و درنتیجه درب را برای سوء استفاده بازکنند.

اجازه دهید فرض کنیم که شما از وب سایتی بازدید می کنید که می خواهد رمز عبور وای فای تان را سرقت کند که در حال حاضر رمز عبور وای فای تان بطور امن در حافظه محافظت شده ذخیره شده است. درابتدا وب سایت مهاجم سعی می کند مطمئن شود که حافظه نهان CPU شامل رمز واقعی وای فای نباشد. برای انجام این کار بعضی از داده های تصادفی را از حافظه اصلی می خواند و در آن می نویسد. به یاد داشته باشید که هنگام دسترسی به حافظه اصلی، پردازشگر یک کپی از داده ها را در حافظه نهانش برای بازیابی سریعتر نگه می دارد. همچنین تصویری از اینترنت را که بعدا استفاده خواهد کرد را بارگیری می کند. حالا که حافظه CPU از داده های تصادفی پر شده است، وب سایت سعی می کند اولین حرف از رمز وای فای را از حافظه نهان توسط کدی شبیه آنچه که در ویدئوی آموزشی بنظر می رسد را بخواند. اگر رمز عبور شما مثلا با حرف اس شروع می شود، وب سایت اولین پیکسل تصویر را به حافظه می خواند. اما یک دقیقه صبر کنید!. می دانیم که CPU بطور عادی از دسترسی وبسایت به حافظه محافظت شده جلوگیری خواهد کرد. پس چگونه وب سایت سارق امکان دسترسی به حافظه محافظت شده را پیدا کرده و داده های موجود در آن مثلا رمز وای فای مان را می دزدد؟

چون CPU بدلیل اجرای نظری، حدس نادرست می زند، ممکن است این کد را در پس زمینه اجرا کند و در مورد آن چیزی به ما نگوید و شروع دزدی از اینجا استارت می خورد.

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

تقریبا تمام پردازنده های Intel و تعداد انگشت شماری از پردازنده های ARM مستعد پذیرش این اشکال هستند. تنها تراشه های AMD مقاوم هستند زیرا آنها هنگامیکه حافظه محافظت شده مورد دستیابی قرار می گیرد حدس اشتباه نمی زنند.

اجازه دهید به spectre برویم، ضعفی که خیلی شبیه به meltdown است. اما بر روی همه پردازنده های مدرن، نه فقط آنهایی که از اینتل هستند، تاثیر می گذارد. در حالی که meltdown فقط اجازه می دهد که برنامه ها، حافظه محافظت شده ی CPU را بخوانند. spectre به برنامه های مخرب اجازه می دهد داده های موجود در  حافظه مربوط به هر برنامه دیگری که بر روی سیستم در حال اجرا است، را بخوانند.

اجازه دهید با یک مثال خاص کار را نشان دهیم. یک وب سایت می تواند از spectre برای خواندن محتویات یک برگه دیگر مرورگر استفاده کند و ممکن است شما در آن برگه داخل حساب بانکی تان باشید. وای به همین راحتی حسابتان خالی می شود. این حتی در موقعیت های حرفه ای می تواند به مشکلی بزرگتر از این هم بدل شود.  ابرهای عمومی مانند AWS، گوگل و مایکروسافت آژور درتلاشند تا اقدامات لازم را دربرابر  spectre و meltdown بکار برند.  اگر این آسیب پذیری اصلاح نشود می تواند به ماشین مجازی یک کامپیوتر اجازه دهد تا داده ها را از ماشین مجازی کامپیوتر مشتری دیگری بدزدد.

مقابله با spectre در مقایسه با meltdown بسیار مشکل تر است و به این دلیل است که نام این باگ spectre به معنای شبح نامگذاری شده است. شبحی که مدت ها ما را تحقیر خواهد کرد.

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

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

این موضوع باید درخصوص فناوری بلاک چین و قراردادهای هوشمند بیشتر و دقیق تر مدنظر قرار گیرد.

لطفا نظر خودتان رو در مورد این ویدئو با ما در میان بگذارید.

0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *