نزدیک به دوازده UEFI shim bootloader آسیبپذیر و اکنون باطلشده، برای سالها مورد اعتماد باقی ماندند و به مهاجمان راهی برای دور زدن بوت امن دادند.
محققان اخیراً چند UEFI shim bootloader آسیبپذیر اما همچنان trust را کشف کردهاند که مهاجمان میتوانستند از آنها برای دور زدن بوت امن در سیستمهایی که به گواهی امضای UEFI third-party مایکروسافت اعتماد دارند، استفاده کنند.
Unified Extensible Firmware Interface (UEFI) شامل نرمافزار مادربرد است که سیستم عامل و سختافزار را به هم متصل میکند.
مایکروسافت در ماه ژوئن پس از گزارش ESET در مورد این یافتهها، از طریق بهروزرسانیهای ابطال بوت امن، bootloaderهای آسیبپذیر را باطل کرد، اما سیستمهای وصله نشده ممکن است همچنان این کامپوننت ها را trust دانسته و در معرض حملات سطح بوت قرار گیرند.
bootloaderهای قدیمی و فراموش شده
shim bootloader یک برنامه کوچک است که توسط فریم ور Unified Extensible Firmware Interface (UEFI) در سیستمهای دارای بوت امن راهاندازی میشود و به عنوان پلی بین فریم ور و bootloader سیستم عامل عمل میکند. در محیطهای لینوکس، Shimها با عمل به عنوان یک bootloader مرحله اول trust که بقیه فرآیند بوت لینوکس را تأیید و راهاندازی میکند، به توزیعهای لینوکس اجازه میدهند تا روی سیستمهای UEFI دارای بوت امن بوت شوند.
همانطور که ESET این هفته در گزارشی توضیح داد، یک بوت لودر UEFI shim bootloader «یک bootloader کوچک و حداقلی مرحله اول است که مایکروسافت میتواند یک بار آن را بررسی و امضا کند و سپس یک anchor اعتماد ثانویه برای مابقی استک بوت مخصوص توزیع لینوکس – معمولاً GRUB 2 و هسته لینوکس – ایجاد میکند.» Shimها نیاز مایکروسافت به امضای هر bootloader لینوکس را از بین میبرند، در حالی که یکپارچگی زنجیره اعتماد Secure Boot را حفظ میکنند.
یازده shim bootloader که ESET کشف کرد، نسخه 0.9 یا قدیمیتر بودند که آنها را چندین نسل عقبتر از نسخههای فعلی قرار میدهد. این شرکت امنیتی دریافت که اینshim ها یا طوری پیکربندی شدهاند که bootloaderهای مرحله دوم آسیبپذیر، مانند نسخههای قدیمیتر GRUB2 با نقصهای شناخته شده را راهاندازی کنند، یا فاقد محافظتهای امنیتی موجود در نسخههای جدیدتر باشند و یا حاوی آسیبپذیریهایی باشند که میتوانند به مهاجمان اجازه دهند محافظتهای Secure Boot را دور بزنند.
با وجود این مشکلات، shim bootloaderها همچنان کامپوننتهای قابل اعتمادی در زنجیره بوت امن باقی ماندند، به این معنی که یک مهاجم میتوانست از آنها برای دور زدن محافظتهای بوت امن، اجرای کد مخرب در زمان بوت و ایجاد دسترسی مداوم در زیر سطح سیستم عامل سوءاستفاده کند. طبق گفته ESET، یک مهاجم فقط به یک کپی از یکی از این bootloaderهای قدیمی و درک نحوه عملکرد بوت امن برای دور زدن فرآیند راهاندازی امن نیاز دارد.
یکی از محققین ESET، نوشت: «آنچه این shimهای قدیمی را خطرناک میکند، آسیبپذیری جدید نیست، بلکه این است که برای دور زدن بوت امن UEFI نیازی به آسیبپذیری جدید نیست. یک مهاجم به هیچ ابزار پیچیدهی بهرهبرداری نیاز ندارد – فقط یک کپی از یک فایل باینری shim قدیمی، که هنوز قابل اعتماد است، اما لغو نشده و درک اولیهای از نحوهی کار shimهای UEFI. این برای دور زدن یک ویژگی امنیتی ضروری مانند بوت امن UEFI کافی است.» به گفته این محقق این مشکل بر روی تمام سیستمهای UEFI که امضای Microsoft third-party UEFI در آنها فعال است، تأثیر میگذارد، اگرچه این گزینه معمولاً باید به طور پیشفرض در سیستم های Secured-core ویندوز 11 غیرفعال باشد.
Trustهای قدیمی
کشف ESET توجه را به چالش جلوگیری از باقی ماندن نرمافزارهای قدیمی و آسیبپذیر در اجزای قابل اعتماد در زنجیره بوت امن، مدتها پس از آنکه دیگر نمیتوان به آنها اعتماد کرد، معطوف کرده است.
محقق ESET خاطرنشان میکند که امضای مایکروسافت، shimهای قدیمی را به اجزای بوت قابل حمل و قابل حمل تبدیل کرده است که یک مهاجم میتواند آنها را به هر دستگاهی که هنوز به Microsoft Corporation UEFI CA 2011 اعتماد دارد، صرف نظر از سیستم عامل نصب شده، وارد کند.
این محقق میگوید، لغوهای ماه ژوئن مایکروسافت مانع از آن میشود که سیستمهایی با لیستهای Boot deny Secure بهروز شده به shimهای آسیبپذیر شناخته شده اعتماد کنند. اما shimهای قدیمیتر که قبل از سال ۲۰۱۷ با سوابق ناقص امضا شدهاند، ممکن است شناسایی و لغو هر جزء آسیبپذیر در اکوسیستم را دشوار کنند.
مدیرعامل BreachLock، میگوید که نادیده گرفتن shimها یادآور این است که لایه firmware یکی از بخشهای سطح حمله است که کمتر مورد بررسی قرار گرفته است. «آنچه این نوع آسیبپذیری را به طور خاص جدی میکند این است که یک سوءاستفاده موفقیتآمیز قبل از بارگذاری سیستم عامل اتفاق میافتد، به این معنی که برخی از راهکارهای امنیتی اندپوینت و کنترلهای سطح سیستم عامل، همگی در جهت اشتباه و در زمانی که بیشترین اهمیت را دارد، به دنبال مشکل هستند.»
لغو shimها توسط مایکروسافت تصمیم درستی است، اما این لغو فقط از سیستمهایی محافظت میکند که آپدیت ماه ژوئن را دریافت و اعمال کردهاند. به گفته محققین امنیتی، در عمل، وصله کردن لایه firmware بسیار بیشتر از وصله کردن یک برنامه طول میکشد، به خصوص در محیطهای سازمانی با سختافزار قدیمی، سیستمهای air-gapped یا زیرساختهای مجاور OT که چرخههای کنترل تغییر در هر سه ماه، نه چند روز، اجرا میشوند.» در نتیجه، انتظار میرود که دورههای مواجهه برای بسیاری از سازمانها ماهها یا بیشتر باشد.
مدیرعامل شرکت امنیت اطلاعات Black Hills، یادآوری میکند: «ارزش واقعی آسیبپذیریهایی مانند این، نابودی سریع نیست، بلکه ماندگاری آنهاست.» بسیاری از سازمانها عادت کردهاند که در مورد باجافزار فکر کنند، جایی که آسیب تقریباً فوراً اتفاق میافتد، اما مهاجمان اغلب هدف کاملاً متفاوتی دارند. «آنها میخواهند تا حد امکان ناشناخته بمانند، بیسروصدا اطلاعات جمعآوری کرده و دسترسی خود را حفظ کنند. این همان چیزی است که آسیبپذیریهایی مانند این مورد را بسیار نگرانکننده میکند.»
منبع: