رفتن به محتوای اصلی
امنیت ابریتوضیح و تشریح۱۶ تیر ۱۴۰۵، ۱۵:۲۱· 7 دقیقه مطالعه· در فناوری

بسته شواهد: چگونه محققان «جانوسکِیپ»، نقص ۱۶ ساله فرار از ماشین مجازی ابری را خنثی کردند

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

به قلم کیان راد

محققان امنیتی 40%ارائه‌دهندگان خدمات ابری 35%نگه‌دارندگان متن‌باز 25%
محققان امنیتی
بر دستاورد فنی کشف یک باگ ۱۶ ساله و نقش حیاتی انگیزه‌های مالی جوایز باگ‌یابی تأکید دارد.
ارائه‌دهندگان خدمات ابری
بر چالش عملیاتی وصله کردن هایپروایزرها در مقیاس بزرگ و حفظ ایزوله‌سازی دقیق چندمستأجری تمرکز دارد.
نگه‌دارندگان متن‌باز
واکنش سریع جامعه هسته لینوکس در توسعه و ادغام وصله‌های پیچیده بالادستی را برجسته می‌کند.

برای بیش از یک دهه و نیم، یک آسیب‌پذیری حیاتی در عمق معماری فراگیرترین سیستم عامل اینترنت، به صورت خاموش امنیت بنیادی محاسبات مدرن را تهدید می‌کرد. این نقص که «جانوسکِیپ» (Januscape) نامیده می‌شود و به طور رسمی با شناسه CVE-2026-53359 پیگیری می‌شود، در هایپروایزر ماشین مجازی مبتنی بر هسته لینوکس (KVM) وجود داشت. این هایپروایزر موتور نامرئی است که بخش عظیمی از زیرساخت ابری جهان را تأمین می‌کند و به سرورهای فیزیکی واحد اجازه می‌دهد به ده‌ها ماشین مجازی ایزوله تقسیم شوند. کشف این نقص ۱۶ ساله، پیچیدگی عظیم پایگاه‌های کد قدیمی را برجسته می‌کند، اما مهم‌تر از آن، خنثی‌سازی موفقیت‌آمیز آن نشان‌دهنده یک پیروزی بزرگ برای تحقیقات امنیتی پیشگیرانه و مبتنی بر جامعه است.[2]

این آسیب‌پذیری نشان‌دهنده چیزی است که متخصصان امنیت سایبری آن را «جام مقدس» بهره‌برداری ابری می‌دانند: فرار از ماشین مجازی مهمان به میزبان. در یک محیط ابری چندمستأجری، مانند مواردی که توسط خدمات وب آمازون، گوگل کلود یا مایکروسافت آژور اداره می‌شوند، هزاران مشتری مجزا از یک سخت‌افزار فیزیکی مشترک استفاده می‌کنند. تضمین امنیتی اساسی مدل ابری، ایزوله‌سازی مطلق است؛ ماشین مجازی مشتری باید به عنوان یک جعبه شنی غیرقابل نفوذ عمل کند. اگر یک بازیگر مخرب بتواند از ماشین مجازی اجاره‌ای خود خارج شده و به سیستم عامل سرور میزبان زیرین دسترسی پیدا کند، می‌تواند به طور نظری داده‌ها، برنامه‌ها و اسرار سایر مستأجران مقیم در آن ماشین مشترک را به خطر اندازد.[3]

جانوسکِیپ تهدید می‌کرد که این تضمین حیاتی ایزوله‌سازی را در هم بشکند، اما در یک پیروزی مهم برای امنیت دفاعی، این نقص توسط بازیگران مخرب یا گروه‌های هکری دولتی کشف نشد. در عوض، توسط محقق امنیتی مستقل، Hyunwoo Kim، که با نام آنلاین @v4bel شناخته می‌شود، کشف و از طریق برنامه پاداش آسیب‌پذیری kvmCTF گوگل به طور مسئولانه افشا شد. کشف و وصله متعاقب جانوسکِیپ، گواهی قدرتمندی بر اثربخشی طرح‌های مدرن جایزه باگ‌یابی است. گوگل برنامه kvmCTF را به طور خاص برای تقویت هایپروایزری که زیربنای سیستم عامل اندروید و گوگل کلود است، راه‌اندازی کرد و انگیزه‌های مالی هنگفتی – تا ۲۵۰,۰۰۰ دلار – برای محققانی که بتوانند فرار کامل مهمان به میزبان را در یک محیط کنترل‌شده نشان دهند، ارائه داد.[2][3]

برای درک کامل مکانیک آسیب‌پذیری جانوسکِیپ، باید فرآیند پیچیده مجازی‌سازی حافظه را بررسی کرد. هنگامی که یک ماشین مجازی کار می‌کند، سیستم عامل داخلی آن معتقد است که دسترسی مستقیم و بدون مانع به سخت‌افزار حافظه فیزیکی دارد. در واقعیت، هایپروایزر باید به طور مداوم و یکپارچه آدرس‌های حافظه «فیزیکی» مهمان را به آدرس‌های واقعی RAM فیزیکی سرور میزبان ترجمه کند. از لحاظ تاریخی، هایپروایزر KVM این ترجمه را با استفاده از یک مکانیسم نرم‌افزاری بسیار پیچیده معروف به «واحد مدیریت حافظه سایه» (shadow MMU) انجام می‌داد. این مؤلفه جداول صفحه پیچیده و چندلایه را برای پیگیری این ترجمه‌های حافظه و اطمینان از اینکه یک ماشین مجازی نمی‌تواند حافظه اختصاص داده شده به دیگری را بخواند، حفظ می‌کند.[1][2][4]

نحوه تبدیل آدرس‌های حافظه مجازی به سخت‌افزار فیزیکی توسط واحد مدیریت حافظه سایه KVM قدیمی.

جانوسکِیپ به عنوان یک آسیب‌پذیری «استفاده پس از آزادسازی» (use-after-free) طبقه‌بندی می‌شود و دقیقاً در این کد قدیمی shadow MMU قرار دارد. این نقص ناشی از منطق پاکسازی ناقصی است که به طور ناخواسته ارجاعات قدیمی به ساختارهای ردیابی جدول صفحه آزاد شده را باقی می‌گذارد. طبق افشای فنی ارائه شده توسط محقق، یک وضعیت رقابتی بسیار خاص به سیستم میزبان اجازه می‌دهد تا یک ورودی جدول صفحه سایه را با شماره فریم مهمان نادرست مرتبط کند. این خطای ظریف زمان‌بندی، یک سردرگمی خطرناک در شماره فریم و نوع در جداول صفحه مدیریت شده توسط میزبان ایجاد می‌کند و اساساً هایپروایزر را در مورد اینکه کدام صفحه حافظه را فعالانه مدیریت و ایمن می‌کند، فریب می‌دهد.[1][4]

جانوسکِیپ به عنوان یک آسیب‌پذیری «استفاده پس از آزادسازی» (use-after-free) طبقه‌بندی می‌شود و دقیقاً در این کد قدیمی shadow MMU قرار دارد.

با هدایت دقیق این نقشه‌برداری اشتباه حافظه، مهاجمی که از قبل دسترسی روت در داخل یک ماشین مجازی مهمان دارد، می‌تواند هسته میزبان را فریب دهد تا حافظه انتخابی مهاجم را نقشه‌برداری کند. این فساد حافظه کنترل‌شده، مکانیسم دقیقی است که فرار مهمان به میزبان را امکان‌پذیر می‌سازد و به مهاجم اجازه می‌دهد کد دلخواه را روی سرور میزبان با امتیازات کامل سیستم اجرا کند. آنچه جانوسکِیپ را در تاریخ آسیب‌پذیری‌های ابری به ویژه قابل توجه می‌سازد، ماهیت چندسکویی آن است. از آنجا که آسیب‌پذیری در پایگاه کد مشترک shadow MMU قرار دارد، این اولین بهره‌برداری مستند عمومی از KVM برای فرار مهمان به میزبان است که می‌تواند به طور قابل اعتماد در معماری‌های پردازنده اینتل (VMX/EPT) و AMD (SVM/NPT) فعال شود.[1][2]

کد آسیب‌پذیر shadow MMU در ابتدا در آگوست ۲۰۱۰، در طول دوره توسعه هسته ۲.۶.۳۶، به هسته لینوکس معرفی شد. این جدول زمانی شگفت‌انگیز به این معنی است که تقریباً هر هسته لینوکسی که در ۱۶ سال گذشته عرضه شده، این نقص را حمل می‌کرده و منتظر ترکیب مناسبی از شرایط برای بهره‌برداری بوده است. با این حال، حمله به پیش‌نیازهای خاصی از سمت مهمان نیاز دارد: مهاجم باید امتیازات روت در داخل ماشین مجازی داشته باشد – که پیکربندی استاندارد برای نمونه‌های ابری اجاره‌ای است – و میزبان باید مجازی‌سازی تودرتو را فعال کرده باشد. حتی در سرورهای میزبان مدرنی که به طور پیش‌فرض از مجازی‌سازی با کمک سخت‌افزار استفاده می‌کنند، فعال کردن مجازی‌سازی تودرتو، هایپروایزر KVM را مجبور می‌کند به کد آسیب‌پذیر قدیمی shadow MMU بازگردد.[2][4]

فراتر از سناریوی فاجعه‌بار فرار مهمان به میزبان، جانوسکِیپ یک مسیر حمله ثانویه و بسیار مخرب را ارائه می‌دهد. در سیستم‌های لینوکس که گره دستگاه KVM برای دسترسی عمومی پیکربندی شده است – یک تنظیم پیش‌فرض در چندین توزیع سازمانی، از جمله Red Hat Enterprise Linux 8 و نسخه‌های بعدی – یک کاربر محلی بدون امتیاز می‌تواند همان باگ را برای از کار انداختن کامل سرور میزبان فعال کند. این مسیر کاربر محلی یک خطر متمایز «انکار سرویس» (denial-of-service) ایجاد می‌کند، به ویژه برای محیط‌های میزبانی مشترک. یک مهاجم با داشتن تنها یک حساب شل محدود و پایه می‌تواند دستگاه را باز کند، یک ماشین مجازی موقت ایجاد کند و هسته میزبان را در عرض چند دقیقه به یک خطای مهلک بکشاند و تمام کاربران دیگر را آفلاین کند.[1]

شاخص‌های اصلی پیرامون کشف و وصله‌گذاری آسیب‌پذیری جانوسکِیپ.

خوشبختانه، جامعه متن‌باز و فروشندگان لینوکس سازمانی به سرعت و قاطعانه برای خنثی کردن این تهدید پیش از آنکه بتواند در فضای عمومی به سلاح تبدیل شود، اقدام کردند. نگه‌دارندگان هسته لینوکس وصله‌های لازم و بسیار پیچیده را توسعه داده و ادغام کردند – به طور خاص، کامیت 81ccda30b4e8 برای رفع مسیر فرار و کامیت همراه 0cb2af2ea66a برای رفع عدم تطابق شماره فریم زیرین – در هسته اصلی در ۱۹ ژوئن ۲۰۲۶. ارائه‌دهندگان خدمات ابری و مدیران سیستم در سراسر جهان به سرعت این وصله‌ها را برای ایمن‌سازی ناوگان خود مستقر کرده‌اند، که نشان‌دهنده چابکی دستگاه امنیتی متن‌باز مدرن است.[1][2]

برای سازمان‌هایی که نمی‌توانند فوراً سرورهای حیاتی خود را برای اعمال به‌روزرسانی هسته راه‌اندازی مجدد کنند، شرکت‌های امنیتی راه‌حل‌های موقت مؤثری ارائه کرده‌اند. کارشناسان به شدت توصیه می‌کنند که مجازی‌سازی تودرتو را با تنظیم پارامترهای هسته غیرفعال کنند، که به طور مؤثر مسیر حمله اصلی برای مهمانان غیرقابل اعتماد را قطع می‌کند. علاوه بر این، راه‌حل‌های وصله زنده (live-patching) با موفقیت به‌روزرسانی‌هایی را منتشر کرده‌اند که اصلاحات امنیتی پیچیده را مستقیماً روی سرورهای در حال اجرا اعمال می‌کنند بدون نیاز به پنجره نگهداری مخرب، و تضمین می‌کنند که زیرساخت‌های ضروری هم آنلاین و هم کاملاً در برابر بهره‌برداری محافظت می‌شوند.[1][2]

کشف جانوسکِیپ، سومین افشای مهم بهره‌برداری از هسته لینوکس توسط محقق Hyunwoo Kim در عرض چند ماه است، که پس از زنجیره افزایش امتیاز «Dirty Frag» و فرار KVM/arm64 «ITScape» صورت می‌گیرد. این روند قابل توجه، ارزش عظیم و فزاینده محققان متعهد و بسیار ماهر را که به طور سیستماتیک کدهای بنیادی متن‌باز را ممیزی می‌کنند، برجسته می‌سازد. در نهایت، حل آسیب‌پذیری جانوسکِیپ یک داستان موفقیت‌آمیز برای بخش فناوری است. این ثابت می‌کند که چارچوب‌های امنیتی مشارکتی، انگیزه‌های مالی قابل توجه برای افشای مسئولانه، و وصله سریع متن‌باز می‌توانند به طور مؤثر ابر را در برابر حتی عمیق‌ترین نقص‌های قدیمی و پنهان، ایمن کنند.[2][3][4]

محققان امنیتی مستقل نقش حیاتی در ممیزی کدهای بنیادی متن‌باز ایفا می‌کنند.

همانطور که صنعت رایانش ابری به گسترش خود ادامه می‌دهد، شناسایی فعال آسیب‌پذیری‌هایی مانند جانوسکِیپ تنها حیاتی‌تر خواهد شد. این واقعیت که یک نقص ۱۶ ساله می‌تواند بدون گزارش حتی یک مورد بهره‌برداری مخرب در فضای عمومی کشف و رفع شود، گواهی بر بلوغ چشم‌انداز امنیت سایبری است. با سرمایه‌گذاری مستمر در برنامه‌های جایزه باگ‌یابی، حمایت از محققان مستقل، و حفظ شیوه‌های دقیق ممیزی متن‌باز، جامعه فناوری به طور فعال در حال ساختن یک زیرساخت دیجیتال انعطاف‌پذیرتر است. حادثه جانوسکِیپ نه به عنوان هشداری در مورد شکنندگی ذاتی، بلکه به عنوان یک طرح کلی برای چگونگی همکاری موفقیت‌آمیز صنعت برای حذف خطرات سیستمی قبل از وقوع آن‌ها عمل می‌کند.[2][3]

نکات کلیدی

  1. یک آسیب‌پذیری ۱۶ ساله در هایپروایزر KVM لینوکس به مهاجمان اجازه می‌داد از ماشین‌های مجازی فرار کنند.
  2. این نقص که «جانوسکِیپ» (Januscape) نامیده می‌شود، معماری‌های پردازنده اینتل و AMD را تحت تأثیر قرار می‌دهد.
  3. این نقص توسط یک محقق امنیتی از طریق برنامه جایزه باگ kvmCTF گوگل به طور مسئولانه افشا شد.
  4. آسیب‌پذیری ناشی از یک نقص «استفاده پس از آزادسازی» (use-after-free) در کد قدیمی shadow MMU است.
  5. نگه‌دارندگان هسته لینوکس با موفقیت وصله‌هایی را برای خنثی کردن این تهدید در ژوئن ۲۰۲۶ ادغام کردند.
  6. غیرفعال کردن مجازی‌سازی تودرتو (nested virtualization) به عنوان یک راه‌حل موقت مؤثر برای سرورهای وصله‌نشده عمل می‌کند.

اصطلاحات کلیدی

Virtual Machine Escape
یک رخنه امنیتی جدی که در آن مهاجم از یک ماشین مجازی ایزوله شده خارج می‌شود تا مستقیماً با سیستم عامل میزبان زیرین تعامل کند.
Hypervisor (KVM)
نرم‌افزاری که ماشین‌های مجازی را ایجاد و اجرا می‌کند. KVM ماژول مجازی‌سازی است که مستقیماً در هسته لینوکس تعبیه شده است.
Shadow MMU
یک مکانیسم قدیمی واحد مدیریت حافظه است که توسط هایپروایزرها برای ترجمه آدرس‌های حافظه ماشین مجازی مهمان به آدرس‌های حافظه فیزیکی میزبان استفاده می‌شود.
Use-After-Free
یک دسته از آسیب‌پذیری‌های فساد حافظه که در آن یک برنامه تلاش می‌کند پس از آزادسازی حافظه به آن دسترسی پیدا کند و به طور بالقوه منجر به اجرای کد دلخواه می‌شود.
Nested Virtualization
قابلیتی که به یک ماشین مجازی اجازه می‌دهد هایپروایزر خود را اجرا کرده و ماشین‌های مجازی خود را در داخل آن میزبانی کند.

منابع

پوشش منابع

5 منبع

3 دیدگاه شناسایی‌شده

محققان امنیتی 40%ارائه‌دهندگان خدمات ابری 35%نگه‌دارندگان متن‌باز 25%
  1. [1]CloudLinuxارائه‌دهندگان خدمات ابری

    Januscape (CVE-2026-53359): Mitigation and Kernel Update on CloudLinux

    مطالعه در CloudLinux
  2. [2]The Hacker Newsمحققان امنیتی

    16-Year-Old Linux KVM Flaw Lets Guest VMs Escape to Host on Intel and AMD x86 Systems

    مطالعه در The Hacker News
  3. [3]SecurityWeekمحققان امنیتی

    Linux Kernel Vulnerability Allows VM Escape on Intel and AMD Systems

    مطالعه در SecurityWeek
  4. [4]Security Affairsنگه‌دارندگان متن‌باز

    Januscape: 16-Year-Old Linux KVM Bug Enables Cloud VM Escape Attacks

    مطالعه در Security Affairs
  5. [5]BackBoxنگه‌دارندگان متن‌باز

    Linux Kernel Vulnerability Allows VM Escape on Intel and AMD Systems

    مطالعه در BackBox

نظرات

همیشه در جریان باشید

هر زاویه. هر روز.

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