سرقت اطلاعات حساس از ماشین مجازی با حملات آدرس‌دهی DRAM

۶آندرس فوگ، تحلیلگر بدافزار و مایکل شوارتز، دانشجوی دکتری در دانشگاه صنعتی گراتس در اتریش مشکلات امنیتی در طراحی فعلی DRAM را تشریح کرده و برخی حملات عملی cross-CPU را نشان دادند. بخش اول از این تحقیق در ماه آگوست در ۲۵امین سمپوزیوم امنیت USENIX ارائه شده بود.

در کنفرانس ۲۰۱۶ Black Hat اروپا، این محققان نشان دادند چگونه می‌توان اطلاعات حساس و خیلی کوچک همچون گذرواژه و یا کلید خصوصی را از روی ماشین مجازی بدون داشتن دسترسی به شبکه و تنها از طریق کد جاوا اسکریپتی که بر روی مرورگر میزبان اجرا می‌شود، به‌سرقت برد. آن‌ها همچنین بهبودی برای حملات Rowhammer ارائه کرده و نشان دادند برخلاف چیزی که قبلاً تصور می‌شد، این روش علیه DDR۴ نیز کار می‌کند.

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

برخلاف حملات حافظه‌ی نهان۱ که مدت زیادی است کشف شده و کارشناسان راه‌های مقابله با آن را ارائه کرده‌اند، حملات DRAMA مزایای کار با CPU را دارند. با این وجود شباهت‌هایی هم بین این حملات وجود دارد.
محققان در مقاله‌ی خود توضیح دادند: «ما فهمیدیم بافرهایی که در DRAM استفاده شده، رفتار مشابهی با حافظه‌ی نهان CPU دارند. ما با بهره‌برداری از اختلاف زمانی در بافرهای DRAM حمله را اجرا می‌کنیم. استفاده از اختلاف زمان تحت عنوان حملات حافظه‌ی نهان شناخته می‌شود. بزرگ‌ترین مزیت حمله‌ی DRAM این است ک به هیچ حافظه‌ی اشتراکی نیاز ندارد. علاوه بر این در بیشتر تنظیمات، حافظه‌ی اصلی بین CPU ها به اشتراک گذاشته شده است و ما می‌توانیم چنین حمله‌ای را در سناریوهای cross-CPU انجام دهیم.»

این دو محقق نشان دادند بدون اجرای باینری بر روی سامانه‌ی میزبان و بدون بهره‌برداری از هیچ آسیب‌پذیری، می‌توانند یک کانال مخفی۲ بین ماشین مجازی و میزبان باز کنند. فرستنده که در داخل ماشین مجازی اجرا می‌شود و گیرنده که بر روی مرورگر میزبان در حال اجرا شدن است، بر روی یک بانک حافظه توافق می‌کنند که این حافظه می‌تواند هارکد شود. زمان‌های دسترسی به حافظه اندازه‌گیری می‌شود و اگر سرعت دسترسی سریع باشد یک بیت «۰» و اگر دسترسی کُند باشد یک بیت «۱» ارسال می‌شود.

محققان همچنین نشان دادند چگونه با استفاده از این روش می‌توانند کلیدهایی که بر روی ماشین مجازی فشرده می‌شود را به سرقت ببرند. در این سناریو مهاجم باید سامانه را کاملاً شناسایی کند تا بداند دقیقاً چه اتفاقاتی را می‌خواهد جاسوسی کند. مهاجمان می‌توانند قربانی را تحریک کنند تا یک صفحه‌ی وب حاوی جاوا اسکریپت مخرب را ببیند یا از حملات تبلیغ‌افزاری استفاده کنند.

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

در حمله‌ی جاوا اسکریپت محققان به نرخ انتقال ۱۱ کیلوبیت بر ثانیه دست یافته‌اند. با این حال این حمله اگر با کد محلی پیاده‌سازی شود و بخشی از بدافزار بر روی دامنه‌ی محافظت‌شده (همچون ماشین مجازی) و بخشی از بدافزار بر روی میزبان در حال اجرا باشد، نرخ انتقال به ۶۰۰ کیلوبیت بر ثانیه و حتی بیشتر نیز می‌رسد اگر که CPU یکسانی استفاده شود.

هرچند که تمرکز اصلی محققان بر روی معماری اینتل x۸۶-۶۴ بوده است ولی آن‌ها تایید کرده‌اند که این مشکل بر روی سایر معماری‌ها نیز وجود دارد و این مشکل اصلی مربوط به RAM است. این مشکل همچنین پردازنده‌های ARM که بر روی تلفن‌های هوشمند استفاده می‌شود را تحت تأثیر قرار می‌دهد.

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

۱. cache attacks
۲. covert channel نوعی از حمله است که در آن اطلاعاتی بین پردازه‌ها منتقل می‌شود. درحالی‌که طبق قوانین امنیتی سامانه این پردازه‌ها اجازه‌ی ارتباط با یکدیگر را نداشتند.

منبع: asis

درباره نماد امنیت وب

“نماد امنیت وب” به عنوان یکی از شرکت های پیشتاز در زمینه امنیت نرم افزار و سرویس های تحت وب، با ارائه سرویس های امنیتی برای تمامی کسب و کار ها و دارای نمایندگی شرکت Acunetix (اکوانتیکس) بعنوان محبوب ترین اسکنر امنیتی black box در دنیا، ایمنی وب سایت شما را در مقابل حمله هکر ها تضمین می کند.

LinkedInFacebookTwitter