آلودهسازی UEFI؛ قابلیت جدید TrickBot
نویسندگان TrickBot قابلیت جدیدی به این بدافزار اضافه کردهاند که آن را قادر به تشخیص آسیبپذیر بودن ثابتافزار Unified Extensible Firmware Interface – به اختصار UEFI – و سوءاستفاده از آن میکند.
کدهای مخربی که در ثابتافزار (Firmware) ذخیره میشوند به بوتکیت (Bootkit) معروف هستند. این نوع بدافزارها با دسترسی به ثابتافزار UEFI، نه تنها در صورت تغییر سیستم عامل ماندگار میمانند که حتی جایگزینی دیسک سخت نیز تأثیری در حضور آنها نخواهد داشت.
از آنجا که بدافزارهای بوتکیت قبل از همه چیز از جمله سیستم عامل اجرا میشوند عملاً از دید محصولات امنیتی همچون ضدویروس مخفی میمانند. همچنین این نوع بدافزارها بر روی پروسه راهاندازی سیستم عامل کنترل کامل داشته و میتوانند سیستمهای دفاعی را در بالاترین سطح ناکارامد کنند. ضمن آنکه راهاندازی بوتکیت در اولین مرحله بالا آمدن دستگاه، سازوکار Secure Boot را هم که وابسته به یکپارچگی (Integrity) ثابتافزار است بیاثر میکند.
محققان شرکتهای Advanced Intelligence و Eclypsium در گزارشی که 13 آذر ماه آن را منتشر کردند جزییات فنی ماژول جدید TrickBot را مورد بررسی قرار دادهاند.
این ماژول TrickBot در نقش یک ابزار شناسایی (Reconnaissance) عمل کرده و آسیبپذیر بودن ثابتافزار UEFI ماشین آلوده را بررسی میکند.
در حال حاضر تنها بسترهای ساخت شرکت Intel شامل Skylake،و Kaby Lake،و Coffee Lake و Comet Lake در فهرست اهداف آن قرار دارند
به گفته این محققان اگر چه در نمونههای بررسی شده توسط آنها، ماژول مذکور تنها به تشخیص آسیبپذیر بودن UEFI بسنده میکند اما این احتمال نیز از سوی آنها مطرح شده که دامنه فعالیت آن بر روی اهداف باارزشتر ممکن است گستردهتر و مخربتر باشد. بهخصوص آنکه ماژول مذکور شامل کدی است که امکان خواندن، نوشتن و پاک کردن ثابتافزار را هم فراهم میکند.
این ماژول TrickBot با استفاده از فایل RwDrv.sys فعال بودن Write Protection در UEFI/BIOS را بررسی میکند. RwDrv.sys راهانداز RWEverything – برگرفته از عبارت Read Write Everything – است. RWEverything ابزاری رایگان جهت دسترسی به اجزای سختافزاری نظیر حافظه Serial Peripheral Interface – به اختصار SPI – که بخشی از دادههای ثابتافزار UEFI/BIOS بر روی آن نگهداری میشود است.
دو سال قبل شرکت ESET جزییات بوتکیت دیگری با نام LoJax را بهصورت عمومی منتشر کرد که در آن نیز از RWEverything بهره گرفته شده بود.
اگر چه سیستمهای مدرن امروزی مجهز به Write Protection در ثابتافزار UEFI/BIOS خود هستند اما اغلب یا غیرفعالند یا بهطور نادرست پیکربندی شدهاند.
این محققان نسخه جدید TrickBot را که مجهز به ماژول UEFI است TrickBoot نامگذاری کردهاند.
در این نسخه جدید از توابع و کتابخانه یک ابزار بهرهجوی شناخته شده با نام fwexpl برای اهداف زیر استفاده شده است:
- خواندن دادهها از روی درگاههای ورودی/خروجی (IO) سختافزاری
- فراخوانی راهانداز sys برای نوشتن دادهها بر روی درگاههای ورودی/خروجی سختافزاری
- فراخوانی راهانداز sys برای خواندن دادهها از روی نشانیهای حافظه فیزیکی
- فراخوانی راهانداز sys برای نوشتن دادهها بر روی نشانیهای حافظه فیزیکی
نکته قابل توجه اینکه ماژول جدید TrickBot حاوی باگی است که عملکرد آن را در مواقعی دچار خطا میکند.
در حال حاضر هزاران دستگاه در تسخیر TrickBot قرار دارند.
اطلاعات موسوم به دوریسنجی (Telemetry) شرکت Advanced Intelligence نشان میدهد که در فاصله 12 مهر تا 1 آذر، روزانه حداقل 200 تا 4 هزار دستگاه به TrickBot آلوده میشده است که البته در برخی روزها این تعداد به 40 هزار مورد نیز افزایش مییافته است.
به گزارش شرکت مهندسی شبکه گستر، انگیزههای مالی گردانندگان TrickBot سبب گردیده که در بسیاری مواقع این بدافزار در نقش ناقل بدافزارهای دیگر عمل کند. از جمله این بدافزارها میتوان به باجافزارهای Ryuk و Conti اشاره کرد. در آبان امسال، گردانندگان Ryuk تنها از یک قربانی 2200 بیتکوین – معادل بیش از 171 میلیارد تومان –اخاذی کردند.
ماندگاری TrickBot در سطح UEFI میتواند آن را به ابزاری برای جاسوسی از روی دستگاه اهداف باارزش تبدیل کند. یا با اجرای عملیات مخرب آن را همرده بدافزارهای موسوم به Wiper قرار دهد.
تا پیش از این، بکارگیری این تهدیدات محدود به گروههای نفوذگری با منابع نامحدود و حملات هدفمند بود. اما این اقدام نویسندگان TrickBot میتواند نشانهای از آغاز فراگیری این روش ماندگاری باشد.
تشخیص آلوده بودن دستگاه به بدافزاری در سطح UEFI کار دشواری است.
یکی از مؤثرترین راهکارها، پیشگیری از آلوده شدن دستگاه به این نوع بدافزارهاست. بدینمنظور ارتقا به آخرین نسخ ثابتافزارها برای ترمیم آسیبپذیریهای آنها و بهرهگیری از محصولات پیشرفته امنیت نقاط پایانی توصیه میشود.
شرکت امنیتی McAfee از نخستین شرکتهای امنیتی است که مقابله با تهدیدات مبتنی بر UEFI را در دستور کار قرار داد. در سال ۱۳۹۵ سایت افشاگر WikiLeaks اقدام به انتشار اسنادی سری کرد که در آنها ابزارهای مورد استفاده در عملیاتهای سایبری سازمان اطلاعات مرکزی آمریکا تشریح شده بودند. برخی از این اسناد نشان میداد که این سازمان با بهرهجویی از آسیبپذیریهایی روز صفر، کد مخرب را مستقیماً به ثابتافزار دستگاهها از جمله UEFI تزریق میکرده است. در پی درز اسناد مذکور در آن سال، شرکت McAfee چهارچوبی کد-باز (Open-source) با عنوان CHIPSEC را برای تشخیص وجود کد مخرب بر روی UEFI دستگاهها منتشر و در دسترس قرار داد. آخرین نسخه CHIPSEC که در تاریخ 30 آبان ماه عرضه شد در اینجا قابل دسترس است.
مقایسه درهمساز (Hash) ثابتافزارها نیز میتواند در شناساییUEFI حاوی کد مخرب کارگشا باشد.
مشروح گزارش Advanced Intelligence و Eclypsium از طریق لینک زیر قابل مطالعه است:
همچنین نمونه فایلهای مخرب مورد اشاره در گزارش مذکور با نامهای زیر قابل شناسایی است:
- Bitdefender: Gen:Trojan.Heur.jy5@Ibi!Dxoi
- McAfee: Trojan-FTAQ!491115422A6B
- Sophos: Mal/Generic-S