ProHoster > وبلاگ > اخبار اینترنتی > آسیب پذیری حیاتی در بوت لودر GRUB2 که به شما امکان می دهد بوت امن UEFI را دور بزنید.
آسیب پذیری حیاتی در بوت لودر GRUB2 که به شما امکان می دهد بوت امن UEFI را دور بزنید.
در بوت لودر GRUB2 آشکار کرد 8 آسیب پذیری خطرناک ترین یک مشکل (CVE-2020-10713) که با اسم رمز BootHole، فرصت دادن مکانیسم UEFI Secure Boot را دور بزنید و بدافزار تایید نشده را نصب کنید. ویژگی این آسیب پذیری این است که برای از بین بردن آن، به روز رسانی GRUB2 کافی نیست، زیرا مهاجم می تواند از رسانه قابل بوت با نسخه آسیب پذیر قدیمی تایید شده توسط امضای دیجیتال استفاده کند. مهاجم می تواند نه تنها فرآیند تأیید لینوکس، بلکه سایر سیستم عامل ها، از جمله، را نیز به خطر بیندازد ویندوز.
مشکل فقط با به روز رسانی سیستم قابل حل است لیست ابطال گواهی (dbx، UEFI Revocation List)، اما در این صورت امکان استفاده از رسانه نصب قدیمی با لینوکس از بین خواهد رفت. برخی از سازندگان تجهیزات قبلاً فهرست بهروزرسانیشدهای از گواهیهای ابطال را در میانافزار خود گنجاندهاند؛ در چنین سیستمهایی، تنها نسخههای بهروزشده توزیعهای لینوکس را میتوان در حالت راهاندازی امن UEFI بارگیری کرد.
برای از بین بردن آسیبپذیری در توزیعها، همچنین باید نصبکنندهها، بوتلودرها، بستههای هسته، سیستمافزار fwupd و لایه shim را بهروزرسانی کنید و امضاهای دیجیتال جدیدی برای آنها تولید کنید. کاربران باید تصاویر نصب و سایر رسانه های قابل بوت را به روز کنند، و همچنین لیست لغو گواهی (dbx) را در سیستم عامل UEFI بارگذاری کنند. قبل از بهروزرسانی dbx به UEFI، سیستم بدون توجه به نصب بهروزرسانیها در سیستمعامل آسیبپذیر باقی میماند.
آسیب پذیری باعث یک سرریز بافر که می تواند برای اجرای کد دلخواه در طول فرآیند بوت مورد سوء استفاده قرار گیرد.
این آسیبپذیری هنگام تجزیه محتوای فایل پیکربندی grub.cfg رخ میدهد، که معمولاً در ESP (پارتیشن سیستم EFI) قرار دارد و میتواند توسط مهاجمی با حقوق مدیر بدون نقض یکپارچگی فایلهای اجرایی امضا شده و فایلهای اجرایی GRUB2 ویرایش شود. به خاطر اینکه خطاها در کد تجزیه کننده پیکربندی، کنترل کننده خطاهای تجزیه مهلک YY_FATAL_ERROR فقط یک هشدار نمایش می دهد، اما برنامه را خاتمه نمی دهد. خطر آسیبپذیری با نیاز به دسترسی ممتاز به سیستم کاهش مییابد؛ با این حال، در صورت دسترسی فیزیکی به تجهیزات (اگر امکان راهاندازی از رسانه شخصی شما وجود دارد) ممکن است مشکل به معرفی روت کیتهای مخفی نیاز باشد.
اکثر توزیع های لینوکس از یک کوچک استفاده می کنند لایه شیم، به صورت دیجیتالی توسط مایکروسافت امضا شده است. این لایه GRUB2 را با گواهینامه خود تأیید می کند، که به توسعه دهندگان توزیع اجازه می دهد تا هر هسته و به روز رسانی GRUB را تأیید شده توسط مایکروسافت نداشته باشند. این آسیب پذیری اجازه می دهد تا با تغییر محتویات grub.cfg، به اجرای کد خود در مرحله پس از تأیید موفقیت آمیز شیم دست پیدا کنید، اما قبل از بارگیری سیستم عامل، زمانی که حالت Secure Boot فعال است و کنترل کامل را به دست آورید، به زنجیره اعتماد متصل شوید. در فرآیند بوت بعدی، از جمله بارگذاری سیستم عامل دیگر، اصلاح اجزای سیستم عامل و دور زدن حفاظت قفل کردن.
آسیب پذیری های دیگر در GRUB2:
CVE-2020-14308 - سرریز بافر به دلیل عدم بررسی اندازه ناحیه حافظه اختصاص داده شده در grub_malloc.
CVE-2020-14309 - یک سرریز اعداد صحیح در grub_squash_read_symlink، که می تواند منجر به نوشتن داده ها فراتر از بافر اختصاص داده شده شود.
CVE-2020-14310 - سرریز اعداد صحیح در read_section_from_string، که می تواند منجر به نوشتن داده های فراتر از بافر اختصاص داده شده شود.
CVE-2020-14311 - یک سرریز عدد صحیح در grub_ext2_read_link، که میتواند منجر به نوشتن دادهها فراتر از بافر اختصاصیافته شود.
CVE-2020-15705 - به شما این امکان را می دهد که هسته های بدون امضا را در هنگام بوت مستقیم در حالت Secure Boot بدون لایه شیم بارگذاری کنید.
CVE-2020-15706 - دسترسی به یک منطقه حافظه از قبل آزاد شده (استفاده پس از آزاد) هنگام تعریف مجدد یک تابع در زمان اجرا.
CVE-2020-15707 - سرریز اعداد صحیح در کنترل کننده اندازه initrd.
بهروزرسانیهای بسته Hotfix منتشر شده است دبیان, اوبونتو, ریل и سوس. برای GRUB2 پیشنهادی مجموعه ای از تکه ها