روابط عمومی شرکت ایدکو (توزیعکنندهی محصولات کسپرسکی در ایران)؛ وقتی لپتاپی را روشن میکنید، لوگوی تولیدکننده پیش از بوت شدن سستمعامل، روی اسکرین پدیدار میشود. این لوگو در واقع میتواند تغییر کند- کارکردی که قصدش استفادهی خود تولیدکنندگان لپتاپ یا کامپیوتر دسکتاپی بوده است. اما هیچچیز مانع استفاده کاربر معمولی از آن و جایگزین کردن لوگوی پیشفرض با تصویر متفاوت نمیشود. لوگو در کدی ذخیره میشود که فوراً بعد از روشن شدن کامپیوتر در سفتافزاری که نامش UEFI است اجرا میشود. اینطور به نظر میرسد که کارکرد جایگزینی لوگو راهی برای دستکاری شدنِ جدیِ دستگاه باز میکند: مهاجمین میتوانند آن را هک کرده و در ادامه کنترل سیستم را به دست گیرند و این کار حتی میتواند به صورت ریموت نیز انجام شود. امکان چنین حملهای که آن را LogoFAIL صدا میزنند اخیراً توسط متخصصین در سازمان تحقیقاتی Binarly مورد بحث قرار گرفت. در این مقاله قصد داریم به زبانی ساده این حمله را شرح داده اما ابتدا بگذارید از خطرات بوتکیتهای به اصطلاح UEFI بگوییم. با ما همراه باشید.
بوتکیتهای UEFI: بدافزاری که قبل از سیستم بارگذاری شده است
به لحاظ تاریخی، برنامهای که با روشن شدن پیسی اجرا میشد BIOS (سیستم ورودی/خروجی پایه) نامیده میشد و به شدت محدود به قابلیتهای خود بود اما به هر حال برنامهای الزامی برای اولیهسازی سختافزار کامپیوتر و بعد انتقال کنترل به لودر سیستم عامل به حساب میآمد. از اواخر دهه 2000، BIOS به تدریج شروع کرد جایگزین شدن با UEFI که نسخه پیچیدهتری از همان برنامه پایه بود. این نسخه قابلیتهای اضافی مانند محافظت در برابر اجرای کد مخرب داشت. مشخصاً UEFI قابلیتی به نام Secure Boot را پیادهسازی میکرد که الگوریتمهای کریپتوگرافیک را برای بررسی کد در هر مرحله از بوت کامپیوتر از روشن کردنش گرفته تا لود سیستم عامل به خدمت میگرفت. این برای مثال جایگزینی کد واقعی سیستم عامل را با کد مخرب سختتر میکرد اما افسوس که این راهکارهای امنیتی کاملاً امکان لود کد مخرب را در مرحله اولیه از بین نبردهاند. و اگر مهاجمین تصمیم گیرند بدافزار یا بوتکیت را در UEFI قاچاق کنند پیامدهایش جدی خواهد بود. مشکل بوتکیتهای UEFI این است که به شدت سخت داخل سیستم عامل شناسایی میشوند. یک بوتکیت میتواند فایل سیستمها را دستکاری کرده و کد مخرب را در سیستم عامل با بالاترین مزیتها اجرا نماید. و مشکل اصلی این است که نه تنها میتواند یک نصب مجدد تمام عیار سیستم عامل را که همچنین جایگزینی هارد درایو را نیز با سلامت از سر بگذارند. بوتکیت پنهانشده در سفتافزار UEFI به دادههای ذخیرهشده روی سیستم درایو وابسته نیست. در نتیجه بوتکیتها اغلب در حملات هدفدار پیچیده استفاده میشوند.
این به تصاویر چه ربطی میتواند داشته باشد؟
از آنجایی که UEFI محافظت قوی در برابر اجرای کد مخرب دارد، معرفی تروجان به پروسه بوت کار چندان آسانی نیست. با این وجود، ایمکان اکسپلویت نقایص در کد UEFI برای اجرای کد دلخواه در مرحله اولیه وجود دارد. برای همین محققین در باینری دلیل خوبی داشتند تا به مکانیزمی که جایگزینی لوگوی کارخانه را ممکن میساخت توجه بیشتری کنند. برای نمایش لوگو برنامهای که دادهها را از فایل تصویری گرافیکی میخواند و این تصویر را روی اسکرین نشان میدهد اجرا میشود. اما اگر کاری کنند که برنامه رفتار ناهنجار از خود نشان دهد چه؟ سه توسعهدهنده اصلی نرمافزار UEFI داریم: AMI, Insyde و Phoenix که هر یک رویکرد جداگانهای به پردازش لوگو دارند. برای مثال Insyde دارای برنامههای مجزای پردازش تصویر برای فرمتهای مختلف، از JPEG تا BMP است. AMI و Phoenix مدیریت همه فرمتها را در یک برنامه واحد ادغام میکنند. آسیبپذیریهایی در هر یک از آنها کشف شد که در مجموع بیست و چهار خطای بحرانی داشتند.
همه چیز نسبتاً ساده است: مهاجم می تواند تصویر لوگوی جدید را به دلخواه تغییر دهد. این شامل، برای مثال، تنظیم وضوح لوگو بهگونهای است که این پارامتر فراتر از محدودیتهای تعریفشده در کد مدیریت پایان یابد. این منجر به یک خطای محاسباتی و در نهایت منجر به نوشتن داده ها از فایل تصویری در ناحیه برای دادههای اجرایی می شود. سپس این داده ها با حداکثر امتیازات اجرا میگردند. با این حال، اگر کد مخرب دارای این سطح دسترسی باشد، مهاجم میتواند تقریباً هر عملی را در سیستم عامل انجام دهد. قابل ذکر است که برخی از مدلهای دستگاه از تولیدکنندگان بزرگ در معرض این حمله قرار نگرفتند و به یک دلیل بسیار ساده:
جایگزین کردن لوگو در UEFI آنها اساساً مسدود شده است. از جمله این مدلها می توان به تعدادی لپ تاپ اپل و دستگاههای دل اشاره کرد.
استفادههای خطرناک تجاری
به لحاظ تئوری، این حمله میتواند به صورت ریموت انجام شود: در برخی موارد، حتی تزریق تصویر خاصه تدارکدیدهشده در بخش سیستم EFI روی دیسک کفایت میکند و در ریبوت بعدی پردازش خواهد شد. نکته این است که اجرای نین عملی نیاز به دسترسی تمام به سیستم دارد؛ یعنی هر دادهای در کامپیوتر باید از قبل برای مهاجمین موجود باشد. ممکن است سوال پیش بیای دکه پس فایده پیادهساز حمله LogoFAIL چیست؟ برای تضمین اینکه کد آلوده حتی اگر سیستم عامل از نو نصب شود جان سالم به در میبرد. این نوع ماندگاری و سماجت معمولاً به شدت مورد نظر عاملین حمله APT است. این مشکل رفتهرفته توسط نسخههای به روزشدهی UEFI که خطاهای داخل هندلرهای تصویر را فیکس میکنند حل خواهد شد. با این حال چون همه شرکتها با جدیت آپدیتهای سفتافزاری را دنبال نمیکنند، تعداد زیادی دستگاه احتمالاً محافظتنشده باقی خواهند ماند. و فهرست دستگاههای آسیبپذیر نه تنها شامل لپتاپها که همچنین مادربوردهای سرور نیز میشود. این یعنی تحقیق باینری را باید به شدت جدی گرفت.
منبع: کسپرسکی آنلاین (ایدکو)
کسپرسکی اسم یکی از بزرگترین شرکتهای امنیتی و سازنده آنتی ویروس است که برخی از کاربران اشتباهاً این شرکت و محصولات آنتی ویروس آن را با عناوینی نظیر کسپرسکای،کاسپرسکی، کسپراسکای، کسپراسکای، و یا کاسپراسکای نیز میشناسد. همچنین لازم به ذکر است مدیرعامل این شرکت نیز یوجین کسپرسکی نام دارد.