Bootkitty اولین بوت کیت UEFI میباشد که به طور خاص سیستمهای لینوکس را هدف قرار میدهد. Bootkit (بوت کیت) نوعی بدافزار است که برای آلوده کردن بوت لودر رایانه یا فرآیند بوت شدن سیستم عامل طراحی شده است.
Bootkit میتواند پیش از بوت شدن سیستم عامل، خود را در حافظه بارگذاری کرده و کد مخرب را اجرا کند و امکان کنترل کامل آن را برای یک مهاجم فراهم آورد. Bootkit به مهاجمان اجازه میدهد تا ویژگی تأیید امضای کرنل را غیرفعال کنند و از طریق فرآیند بوت لینوکس، دو باینری ELF بارگذاری کنند.
Bootkitty تازه کشف شده، از آسیب پذیری مرتبط با LogoFAIL با شناسه CVE-2023-40238 برای نفوذ سیستمهای لینوکس دارای فریمور آسیب پذیر، سوء استفاده میکند.
این موضوع توسط شرکت امنیتی فریمور Binarly تأیید شده است. این شرکت، Logofail را در نوامبر 2023 کشف کرد و در مورد پتانسیل آن برای استفاده در حملات واقعی هشدار داد.
ارتباط میان Bootkitty و Logofail
Bootkitty یک بدافزار UEFI در حال توسعه است که فعلا فقط روی نسخههای خاص اوبونتو جواب میدهد و هنوز یک تهدید گسترده به شمار نمیآید.
LogoFAIL نیز مجموعهای از آسیب پذیریهای امنیتی با تأثیر بالا است که به تازگی کشف شده است و بر کتابخانههای پردازش تصاویر در سیستم عاملهای مختلف در طول فرآیند بوت دستگاه تأثیر میگذارد.
هنگامی که یک لپتاپ روشن میگردد، لوگوی تولیدکننده پیش از بوت شدن سیستمعامل، بر روی اسکرین، نمایش داده میشود. این لوگو میتواند تغییر کند، کارکردی که مقصود آن، استفادهی خود تولیدکنندگان لپتاپ یا کامپیوترهای دسکتاپ بوده است. اما نکته قابل توجه اینجاست که میتوان لوگوی پیشفرض را با تصویر دیگری جایگزین کرد.
لوگو در کدی ذخیره میشود که فوراً بعد از روشن شدن کامپیوتر در فریموری که UEFI نام دارد، اجرا میشود. اینطور به نظر میرسد که کارکرد جایگزینی لوگو، راهی برای دستکاری جدی دستگاه است. مهاجم میتواند آن را هک کرده و در ادامه، کنترل سیستم را در دست گیرد و این کار حتی میتواند به صورت ریموت نیز انجام شود.
امکان چنین حملهای که آن را LogoFAIL مینامند اخیراً توسط متخصصان سازمان تحقیقاتی Binarly مورد بحث قرار گرفته است.
در برخی موارد، تزریق تصویر دارای کد مخرب به بخش EFI کافی میباشد و تصویر در ریبوت بعدی پردازش خواهد شد. نکته مهم این است که انجام چنین عملیاتی از قبل نیاز به دسترسی کامل به سیستم دارد؛ یعنی هر دادهای در کامپیوتر باید از قبل برای مهاجمان موجود باشد.
ممکن است این سوال مطرح گردد که پس فایده پیادهساز حمله LogoFAIL چیست؟ پاسخ اینجاست که LogoFAIL تضمین کننده پایداری کد آلوده در سییستم مورد نظر است حتی اگر سیستم عامل مجددا نصب گردد. این نوع تداوم دسترسی و پایداری معمولاً به شدت مورد علاقه گروههای APT است.
Bootkitty، شل کد را در فایلهای BMP (یعنی “logofail.bmp” و ” logofail_fake.bmp”) که طی فرآیند بوت نمایش داده میشوند، قرار میدهد تا با تزریق سرتیفیکیتهای مخرب به MokList، حفاظتهای بوت امن را دور بزند و به مهاجمان اجازه دهد تا قبل از لود شدن سیستم عامل، کد دلخواه را اجرا کنند.
“logofail.bmp”، شل کد را در انتهای فایل خود قرار میدهد و یک مقدار منفی (0xfffffd00) باعث میشود که آسیب پذیری را در خارج از محدوده بنویسند. Moklist قانونی با یک سرتیفیکیت مخرب جایگزین میشود و به طور موثر یک بوت لودر مخرب (bootkit.efi) را مجوزدهی میکند.
پس از منحرف کردن اجرا به سمت شل کد، Bootkitty مکانهای حافظه رونویسی شده را در تابع آسیب پذیر (RLE8TOBLT) با دستورالعملهای اصلی بازیابی میکند. از این رو، هرگونه نشانهای از دستکاری آشکار، پاک خواهد شد.
تأثیر Bootkitty بر سخت افزارهای خاص
Bootkitty میتواند بر هر دستگاهی که نسبت به آسیب پذیری Logofail پچ نشده است، تأثیر بگذارد، اما شل کد فعلی آن انتظار دارد که کد خاص مورد استفاده در ماژولهای سیستم عامل موجود در رایانههای Acer ، HP ، Fujitsu و Lenovo وجود داشته باشد.
بررسی فایل bootkit.efi نشان میدهد که دستگاههای Lenovo مبتنی بر Insyde، بیش از بقیه مستعد آسیب پذیری هستند چرا که Bootkitty، نام متغیرها و مسیرهای مورد استفاده این برند را ارجاع میدهد.
برخی از دستگاهها که آخرین سیستم عامل آنها هنوز در برابر اکسپلویت Logofail آسیب پذیر مسباشند عبارتند از: Ideaspad Pro 5-16irh8 ، Lenovo Ideapad 1-15iru7 ، Lenovo Legion 7-16iax7 ، Lenovo Legion Pro 5-16irx8 و Lenovo Yoga 9-14IRP8.
چنانچه امکان به روزرسانی دستگاه وجود نداشته باشد، محدود کردن دسترسی فیزیکی، فعال سازی بوت امن، اعمال تنظیمات UEFI/BIOS محافظت از رمز عبور ، غیرفعال کردن بوت شدن توسط رسانههای خارجی و دانلود به روزرسانیهای سیستم عامل تنها از وب سایت رسمی OEM از جمله اقدامات امنیتی در برابر Logofail و Bootkitty میباشند.