Virtual Machine Escape یکی از جدیترین تهدیدهای امنیتی در محیط های مجازی سازی است که می تواند با عبور از مرز ماشین مجازی، دسترسی به سیستم عامل میزبان را امکانپذیر کند.

مدت هاست که مجازی سازی تبدیل شده به ستون فقرات زیرساخت های محاسباتی. از دیتاسنتر های بزرگ گرفته تا لپتاپ شخصی شما که شاید Parallels روی آن نصب باشد تا ویندوز را کنار مک اجرا کنید. اما یک سؤال که خیلی وقت ها ازش غافل می شویم این است: آیا آن جداسازی که فکر می کنیم بین سیستم مهمان و میزبان وجود دارد، واقعاً نفوذناپذیر است؟

جواب کوتاه: نه. و اینجاست که با مفهومی به اسم VM Escape طرف می شویم.

ماجرا Virtual Machine Escape از کجا شروع شد؟

بگذارید ساده بگویم. شما یک ماشین مجازی دارید که داخلش ویندوز اجرا می شود. سیستم اصلی شما مک است. منطقاً هر اتفاقی که داخل ویندوز بیفتد نباید به مک سرریز کند. این همان مرز امنیتی است که Hypervisor موظف به حفظ آن است.

اما حالا فرض کنید مهاجمی که کنترل کامل ویندوز داخل VM را به دست آورده، بتواند از این مرز عبور کند و روی سیستم مک خودش کد اجرا کند. این دقیقاً همان سناریویی است که به آن Virtual Machine Escape می گوییم و از نظر من یکی از خطرناکترین انواع آسیب پذیری در حوزه مجازی سازی است.

چرا خطرناکترین؟ چون کل مدل امنیتی مجازی سازی بر اساس همین فرض بنا شده که Guest در محدوده خودش محبوس است. اگر این فرض به هم بریزد، تمام زیرساختی که روی مجازیسازی بنا شده زیر سؤال میرود.

معماری ماجرا سیستم مجازی سازی

برای اینکه بهتر درک کنید مشکل کجاست، باید ساختار یک سیستم مجازی سازی را بشناسید:

Guest OS روی Virtual Hardware اجرا می شود، Virtual Hardware توسط Hypervisor مدیریت می شود و Hypervisor روی Host OS قرار دارد. ماشین مجازی برای اینکه کار کند، نیاز دارد به CPU، حافظه، دیسک، کارت شبکه و کلی سخت افزار دیگر دسترسی داشته باشد. طبیعتاً این دسترسی مستقیم نیست. Hypervisor وسط ایستاده و درخواست های Guest را مدیریت می کند.

حالا اگر در همین لایه مدیریت، یک باگ وجود داشته باشد؟ مثلاً Hypervisor یک درخواست خاص از Guest را اشتباه پردازش کند؟ در این صورت مهاجم شانس این را پیدا می کند که از محدوده مجاز خودش خارج بشود.

اسیب سیستم مجازی سازی

چند راه اصلی برای عبور از مرز مجازی سازی

در تجربه ای که من از بررسی آسیب پذیری های این حوزه دارم، مسیرهای اصلی برای VM Escape معمولاً از این نقاط عبور می کنند:

  • خود Hypervisor: این مهمترین مقصد است. هر نقصی در پردازش درخواست های Guest میتواند پتانسیل عبور از مرز را داشته باشد.
  • تجهیزات مجازی: ماشین مجازی برای اینکه Guest فکر کند روی سخت افزار واقعی اجرا می شود، کلی دستگاه مجازی شبیه سازی می کند. کارت شبکه، کارت گرافیک، کنترلر دیسک و هرچه فکرش را بکنید. هرچه این تعامل بیشتر باشد، کد بیشتری نوشته شده و احتمال باگ بیشتر است. این یک واقعیت ساده مهندسی نرم افزار است.
  • پوشه های اشتراکی: این یکی را جدی بگیرید. تقریباً همه نرم افزارهای مجازی سازی دسکتاپ قابلیتی دارند که اجازه میدهد Guest به فایل های Host دسترسی داشته باشد. در Parallels Desktop این قابلیت وجود دارد و در نسخه های جدید از ساختار C:\Mac برای دسترسی ویندوز به فایلهای مک استفاده می شود. یک کانال مستقیم بین دو محیط است و هر نقصی در این لایه از نظر امنیتی حیاتی محسوب می شود.
  • Clipboard و Drag & Drop: این قابلیت ها که همه عاشقشان هستیم، در واقع سطوح تعامل اضافی بین Guest و Host ایجاد می کنند. هرچی تعامل بیشتر، سطح حمله بزرگتر.

پرونده Parallels Desktop

حالا برویم سراغ مورد مشخص. سال ۱۳۹۶، پژوهشگر امنیتی ایرانی محمدرضا اسپرغم یک آسیب پذیری از نوع VM Escape در Parallels Desktop شناسایی و منتشر کرد. مقاله ای که در ۲۱ خرداد ۱۳۹۶ منتشر شد به این موضوع پرداخته بود و لینک Exploit و Demo هم در آن قرار داشت.

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

اما یک نکته را صادقانه باید بگویم: آن آسیبپذیری مربوط به همان نسخه و همان دوره زمانی است. نمی شود و نباید آن را به نسخه های امروزی Parallels تعمیم داد.

وضعیت فعلی Parallels Desktop

Parallels در طول سالها آسیب پذیری های مختلفی را در محصولش ثبت و اصلاح کرده است. در صفحه رسمی Security Updates شرکت، مواردی مثل CVE-2024-54189، CVE-2024-52561، CVE-2024-36486، CVE-2025-31359 و CVE-2025-30074 قابل مشاهده هستند.

در فوریه ۲۰۲۵ هم یک آسیب پذیری روی Macهای Intel گزارش شد که به مهاجم با دسترسی محلی (اما غیر Root) اجازه میداد از طریق فرایند ایجاد VM در Parallels سطح دسترسی خود را بالا ببرد. Parallels بعد از انتشار Exploit آن را با Hotfix رفع کرد. این مورد یک VM Escape کلاسیک نبود اما پیام مشابهی داشت: لایه مجازی سازی بخشی از سطح حمله سیستم میزبان است.

چه کار باید بکنیم؟

بعد از سال ها کار در این حوزه، به این جمع بندی رسیده ام که هیچ راه حل جادویی برای صفر کردن ریسک VM Escape وجود ندارد. اما چند اقدام مشخص می تواند ریسک را به شکل معناداری کاهش دهد:

  1. بروزرسانی. این بدیهی ترین توصیه است اما متأسفانه بیشترین نادیده گرفته شدن را هم دارد. Security Updateها را جدی بگیرید.
  2. محدود کردن قابلیت های Integration. اگر به Shared Folders یا Clipboard Sharing یا USB Passthrough نیاز ندارید، خاموش شان کنید. هر قابلیتی که بین Guest و Host ارتباط ایجاد میکند، یک سطح تعامل اضافی است.
  3. جداسازی محیط های غیرقابل اعتماد. اگر برای تحلیل Malware یا اجرای فایل مشکوک از VM استفاده می کنید، آن را مثل یک VM معمولی پیکربندی نکنید. Parallels هم در مستنداتش توصیه کرده که در این سناریوها Shared Folders غیرفعال بشود یا VM کاملاً از Mac جدا باشد.
  4. امنیت Host. بروزرسانی مجازی سازی به تنهایی کافی نیست. سیستم میزبان هم باید امن باشد.
  5. واقع گرایی. این جمله را جایی خوانده اید که “فایل مشکوک را داخل VM اجرا کردم پس سیستمم امن است”؟ این تفکر خطرناک است. ماشین مجازی یک لایه دفاعی ارزشمند است، اما Sandbox مطلق نیست.

در نتیجه:

آنچه از این ماجرا باید برداشت کنیم این است که VM Escape یک کلاس مهم از تهدیدات در دنیای مجازی سازی است که همچنان فعال است و نخواهد رفت. سازمان هایی که روی مجازیسازی و Cloud کار می کنند باید این تهدید را در مدل امنیتی خود جدی بگیرند و بهجای تکیه بر یک لایه دفاعی واحد، از رویکرد Defense in Depth استفاده کنند.

Avatar
مجید ساوالان

متخصص امنیت سایبری و مشاور راهکارهای امنیت اطلاعات کسپرسکی با بیش از 10 سال تجربه در زمینه طراحی، پیاده‌سازی و ارائه راهکارهای سازمانی در حوزه راهکارهای Endpoint Security، EDR/XDR، امنیت شبکه و مشاوره فنی برای پروژه‌های امنیتی سازمان‌های بزرگ.

سوالات متداول

Virtual Machine Escape چیست؟

+

Virtual Machine Escape نوعی آسیب پذیری است که در آن مهاجم از داخل سیستم عامل Guest عبور کرده و به منابع یا سیستم عامل Host دسترسی پیدا می کند.

آیا VM Escape فقط در Parallels Desktop وجود دارد؟

+

خیر. VM Escape می تواند در هر Hypervisor یا پلتفرم مجازی سازی در صورت وجود آسیب پذیری امنیتی رخ دهد. Parallels Desktop تنها یکی از نمونه های شناخته شده است.

چگونه می توان خطر Virtual Machine Escape را کاهش داد؟

+

بروزرسانی مداوم Hypervisor و سیستم عامل، محدودکردن قابلیت هایی مانند Shared Folders و Clipboard و استفاده از تنظیمات ایزوله سازی ماشین مجازی، از مهمترین اقدامات کاهش این ریسک هستند.

یک دیدگاه
  • سحر 8 سال پیش

    خیلی خوب بود، دستتون درد نکنه

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

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