VirtualBox

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

این آسیب‌پذیری به دلیل مسائل مربوط به تخریب حافظه رخ می‌دهد و هنگامی‌که حالت شبکه بر رویNAT  یا همان Network Address Translation تنظیم شود، بر روی کارت شبکه (E1000) دسکتاپ PRO/1000 MT اینتل (۸۲۵۴۰EM) تأثیر می‌گذارد.

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

بهره‌بردار روز صفر VirtualBox و ویدیوی دموی آن منتشر شد.

Sergey Zelenyuk در روز چهارشنبه ۷ نوامبر ۲۰۱۸ جزئیات فنی این نقص روز صفر را در GitHub منتشر کرد [۱]، که بر تمامی نسخه‌های فعلی (۵٫۲٫۲۰ و قبل از آن) از نرم‌افزار VirtualBox تأثیر می‌گذارد و در تنظیمات این ماشین مجازی به‌طور پیش‌فرض وجود دارد.

به گفته Zelenyuk، این آسیب‌پذیری به یک مهاجم یا برنامه موذی با داشتن دسترسی‌های در حد ریشه یا مدیریتی در سیستم‌عامل مهمان اجازه می‌دهد تا فرار کند و یک کد دلخواه را در لایه برنامه (حلقه ۳) سیستم‌عامل میزبان اجرا کند، که برای اجرای کد از بیشتر برنامه‌های کاربر با کمترین امتیاز استفاده می‌شود.

به دنبال موفقیت‌آمیز بودن این بهره‌برداری، این محقق معتقد است که با بهره‌برداری از آسیب‌پذیری‌های دیگر، یک مهاجم همچنین می‌تواند امتیازات کرنل (حلقه ۰) را بر روی دستگاه میزبان به دست آورد.

Zelenyuk گفت: “E1000 دارای یک آسیب‌پذیری است که به یک مهاجم با دسترسی ریشه/مدیر در یک کاربر مهمان اجازه می‌دهد که به حلقه ۳ میزبان فرار کند. سپس مهاجم می‌تواند از تکنیک‌های موجود برای بالا بردن اختیارات به حلقه ۰ از طریق /dev/vboxdrv استفاده کند.”

همچنین Zelenyuk همراه با جزئیات آسیب‌پذیری روز صفر، تمام زنجیره بهره‌برداری را ضبط کرد و یک اثبات ویدئویی از این حمله را در Vimeo منتشر کرد[۲].

هیچ وصله امنیتی هنوز در دسترس نیست و در اینجا نحوه محافظت در برابر این آسیب‌پذیری آورده شده است.

این پژوهشگر ادعا می‌کند که بهره‌بردار او صد در صد قابل‌اعتماد است. Zelenyuk بهره‌بردار خود را بر روی کاربرهای مهمان Ubuntu نسخه ۱۶٫۰۴ و ۱۸٫۰۴ (۳۲ و ۶۴ بیتی) آزمایش کرد اما معتقد است که این بهره‌بردار بر روی پلتفرم ویندوز نیز کار می‌کند.

درحالی‌که بهره‌بردار منتشر شده توسط این محقق به‌سادگی اجرا نمی‌شود، جزئیات کامل نحوه اجرای آن ارائه شده است.

Zelenyuk تصمیم گرفت تا این آسیب‌پذیری روز صفر و بهره‌بردار آن را منتشر کند. او این کار را به علت “عدم موافقت با وضعیت فعلی Infosec، به‌ویژه از تحقیقات امنیتی و جایزه‌های قرار داده شده برای کشف آسیب‌پذیری‌ها” انجام داد. این محقق بیش از یک سال پیش و زمانی که یک نقص دیگر در VirtualBox را به اوراکل گزارش کرده بود، این وضعیت را تجربه کرده بود.

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

بااین‌حال، تا زمانی که این آسیب‌پذیری وصله شود، کاربران می‌توانند با تغییر کارت شبکه خود از “ماشین‌های مجازی به PCnet یا شبکه Paravirtualized” خود را در مقابل حملات احتمالی سایبری محافظت کنند.”

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

منابع

[۱] https://github.com/MorteNoir1/virtualbox_e1000_0day

[۲] https://vimeo.com/299325088

[۳] https://thehackernews.com/2018/11/virtualbox-zero-day-exploit.html