چرا “روشهای لود شدن درایور کرنل” برای مهندس تحلیل بدافزار مهمه؟
1- چون بدافزارهای سطح کرنل (Kernel-mode malware) خطرناکترین نوع بدافزار هستند.
این بدافزارها مستقیماً به هسته سیستمعامل دسترسی دارن.
میتونن خودشونو از آنتیویروس، EDR و حتی ابزارهای forensic مخفی کنن.
مثال: Rootkitها، keyloggerهای کرنلی، درایورهایی که بستههای شبکه رو تغییر میدن.
2- برای تحلیل و درک مکانیزمهای پنهانسازی (Stealth Techniques)
مثلاً یه rootkit ممکنه با:
استفاده از NtLoadDriver
یا تغییر در رجیستری و مقدار Start
یا سواستفاده از signed driver loader
خودش رو خیلی عادی و طبیعی لود کنه.
اگه تحلیلگر ندونه این لایهها چطوری کار میکنن، متوجه ورود مخفیانه نمیشه.
3- برای تشخیص اینکه یه درایور legit هست یا malicious
فقط دیدن یه فایل .sys کافی نیست. باید بررسی کنه:
- زمان بارگذاری (لود) درایور کی بوده؟
- فرآیند یا روش بارگذاری چگونه انجام شده است؟
- امضای دیجیتال توسط چه کسی انجام شده؟
- محل ثبت اطلاعات در رجیستری کجاست؟
- آیا در فهرست درایورهای بارگذاری شده (Loaded Drivers) نمایش داده میشود یا به صورت مخفی است؟
4- برای استفاده از ابزارهای تحلیل low-level مثل:
- ابزار WinDbg برای بررسی memory mapping درایورها
- ابزار Volatility برای بررسی درایورهای لودشده در حافظه dump
- ابزار Sysinternals Suite (autoruns, sigcheck, loadord) برای کشف لودهای مشکوک
5- برای درک نحوه بایپس کردن مکانیزمهای امنیتی
بدافزارها گاهی:
از آسیبپذیری در کرنل یا درایورهای معتبر سوءاستفاده میکنن (Bring Your Own Vulnerable Driver – BYOVD)
درایور unsigned رو با تکنیک خاصی لود میکنن
اگر ندونی این درایورها چطور لود میشن، نمیفهمی چطور اون بدافزار وارد سیستم شده!