RootKit چیست؟
انواع روتکیتها:
روتکیتها (RootKits) از جمله پیچیدهترین و مخربترین انواع بدافزار محسوب میشوند که به مهاجمان سایبری این امکان را میدهند تا بدون جلب توجه، به سیستم قربانی نفوذ کرده و به اطلاعات حساس او دسترسی یابند. این نوع بدافزار به گونهای طراحی میشود که برای مدت طولانی از دید راهکارهای امنیتی پنهان بماند و شناسایی آن بسیار دشوار باشد. روتکیتها معمولاً مجموعهای از ابزارهای نرمافزاری را در بر میگیرند که هدف آنها فراهمسازی دسترسی از راه دور برای مهاجم، نظارت بر فعالیتهای کاربر، سرقت اطلاعات و در برخی موارد، ایجاد تغییرات در بخشهای حیاتی سیستمعامل است. مهاجمان با بهرهگیری از این ابزار مخرب قادرند کنترل کامل سیستم آلوده را در دست گرفته و اقداماتی نظیر سرقت دادههای بانکی، ثبت ضربات صفحه کلید (Keystroke Logging) و غیرفعالسازی راهکارهای امنیتی را اجرا کنند. با توجه به ماهیت پنهانکارانه روتکیت و توانایی آن در استتار در سطوح پایین سیستم، شناسایی و حذف آن مستلزم به کارگیری ابزارهای پیشرفته امنیتی است. روتکیتها در زمره تهدیدات بسیار خطرناک سایبری قرار دارند و شناخت نحوه عملکرد آنها نقشی کلیدی در تقویت امنیت اطلاعات فردی و سازمانی ایفا میکند.
یک RootKit میتواند شامل مجموعهای از ابزارهای مختلف شود، از جمله:
- باتهایی برای اجرای حملات distributed denial-of-service (DDoS)
- نرمافزارهایی برای غیرفعالکردن آنتیویروس یا سایر ابزارهای امنیتی.
- ابزارهایی برای سرقت اطلاعات بانکی، رمزهای عبور و دادههای حساس.
- کیلاگرهایی برای ثبت ضربات صفحه کلید.
روتکیت معمولاً یک ” backdoor” در سیستم ایجاد میکند تا مهاجم هر زمان که بخواهد بتواند وارد دستگاه شود، به دادهها دسترسی پیدا کند و نرمافزارها یا بخشهایی از سیستم را بدون اینکه کاربر متوجه شود، تغییر دهد یا حذف کند.
- Hardware or firmware rootkit
روتکیتهای سختافزاری یا فریمور میتوانند بر اجزای مختلف سیستم شما مانند هارد دیسک، روتر یا BIOS تأثیر بگذارند. BIOS نرمافزاری است که بر روی یک تراشه حافظه کوچک در مادربورد نصب میشود و مسئول راهاندازی سیستمعامل است. برخلاف روتکیتهای معمولی که سیستمعامل را مورد هدف قرار میدهند، این نوع روتکیتها مستقیماً فریمور دستگاهها را آلوده کرده و بدافزارهایی را نصب میکنند که شناسایی آنها بسیار دشوار است. از آنجا که این روتکیتها به سطح سختافزار نفوذ میکنند، به هکرها این امکان را میدهند که ضربات صفحه کلید شما را ضبط کرده و فعالیتهای آنلاین شما را زیر نظر بگیرند. گرچه روتکیتهای سختافزاری کمتر از سایر انواع روتکیتها رایج هستند، اما تهدیدی جدی برای امنیت سایبری به شمار میآیند.
- Bootloader rootkit
Bootloader مسئول بارگذاری سیستمعامل در کامپیوتر است. Bootloader rootkits این فرآیند را مورد هدف قرار داده و legitimate bootloader کامپیوتر شما را با نسخهی هک شدهای جایگزین میکنند. این تغییر باعث میشود که rootkit قبل از بارگذاری کامل سیستمعامل فعال شده و دسترسی غیرمجاز به سیستم فراهم شود.
- Memory rootkit
روتکیتهای حافظه در حافظه RAM کامپیوتر شما مخفی میشوند و از منابع سیستم شما برای انجام فعالیتهای مخرب در پسزمینه استفاده میکنند. از آنجا که این روتکیتها تنها در RAM سیستم شما زندگی میکنند، پس از راهاندازی مجدد سیستم از بین میروند، اگرچه گاهی ممکن است نیاز به اقدام بیشتر برای حذف آنها باشد. به دلیل عمر کوتاه این روتکیتها، معمولاً به عنوان تهدیدی جدی شناخته نمیشوند.
- Application rootkit
Application rootkit فایلهای استاندارد موجود در کامپیوتر شما را با فایلهای روتکیت جایگزین میکنند و ممکن است حتی نحوه عملکرد برنامههای استاندارد را تغییر دهند. این روتکیتها ممکن است برنامههایی مانند Microsoft Office، Notepad یا Paint را آلوده کنند. مهاجمان میتوانند هر بار که این برنامهها را اجرا میکنید به سیستم شما دسترسی پیدا کنند. از آنجا که برنامههای آلوده معمولاً به طور عادی اجرا میشوند، شناسایی روتکیتها برای کاربران دشوار است، اما برنامههای آنتیویروس قادر به شناسایی آنها هستند.
- Kernel mode rootkits
روتکیتهای Kernel mode از خطرناکترین انواع این تهدیدها محسوب میشوند، زیرا مستقیماً هسته سیستمعامل (Kernel) را مورد هدف قرار میدهند. هکرها با استفاده از این نوع روتکیت نه تنها به فایلهای سیستم دسترسی پیدا میکنند، بلکه میتوانند با افزودن کدهای مخرب خود، عملکرد سیستمعامل را نیز تغییر دهند.
- Virtual rootkits
یک Virtual rootkit در لایهای پایینتر از سیستمعامل بارگذاری میشود و سپس سیستمعامل اصلی را به عنوان یک ماشین مجازی اجرا میکند. این ساختار به روتکیت اجازه میدهد تا تعاملات سختافزاری سیستمعامل را رهگیری، کنترل و دستکاری کند، بدون آن که نیازی به تغییر مستقیم در kernel داشته باشد. به همین دلیل، شناسایی این نوع روتکیت بسیار دشوار است.
چرا Rootkitها تهدیدی جدی برای امنیت سایبری هستند؟
در ادامه، به مهمترین تهدیدات ناشی از حضور Rootkit در یک سیستم اشاره میشود:
- دسترسی مخفی و طولانیمدت: همان طور که پیشتر اشاره شد، روتکیتها به گونهای طراحی شدهاند که بتوانند برای مدت زمان طولانی، بدون اینکه شناسایی شوند، در سیستم فعال باقی بمانند. این ویژگی به مهاجمان اجازه میدهد تا بتوانند ماهها یا حتی سالها به صورت پنهانی به سیستم دسترسی داشته باشند.
- کنترل کامل و پایدار بر سیستم: پس از نفوذ، مهاجم قادر است کنترل کامل سیستم را در دست بگیرد؛ کنترلی که میتواند شامل تغییر در فرآیندهای حیاتی سیستم، مدیریت مجوز اجرای برنامهها و دستکاری در لاگها باشد. این سطح از دسترسی به مهاجم امکان میدهد تا سامانههای امنیتی را غیرفعال کند و یا بدافزارهای بیشتری نصب کند.
- سرقت اطلاعات حساس: یکی از مهمترین کاربردهای Rootkitها، استخراج دادههای محرمانه است.
- فراهم کردن بستری برای نصب بدافزارهای دیگر: مهاجمان ممکن است از Rootkit برای نصب و اجرای سایر بدافزارها، از جمله ransomware یا keylogger، استفاده کنند.
- تهدیدی برای یکپارچگی سیستم: یکی از خطرناکترین جنبههای روتکیتها، تغییرات برگشتناپذیر در فایلها و فرآیندهای اصلی سیستم است. ممکن است پس از حذف روتکیت، همچنان رفتار غیرعادی سیستم ادامه یابد.
نمونههایی از روتکیتها:
در سالهای اخیر، روتکیتها به یکی از تهدیدات جدی در حوزه امنیت سایبری تبدیل شدهاند و مجرمان سایبری به طور گسترده از آنها برای نفوذ و آلودهسازی سیستمهای هدف استفاده میکنند. در ادامه، به نمونههایی از حملات شاخص روتکیت که سازمانها و شرکتها با آنها مواجه شدهاند، میپردازیم:
- Stuxnet: Stuxnet یکی از خطرناکترین روتکیتها در دنیای امنیت سایبری محسوب میشود که در سال ۲۰۱۰ در کانون توجه قرار گرفت.
- Rustock: Rustock یک روتکیت قدرتمند است که برای آلوده کردن Master Boot Record (MBR) در سیستمعامل ویندوز طراحی شده بود.
- Flame: Flame که در سال ۲۰۱۲ شناسایی شد، یکی از پیچیدهترین و شناختهشدهترین روتکیتها در حوزه جاسوسی سایبری به شمار میرود. این روتکیت عمدتاً برای انجام عملیات جاسوسی سایبری در منطقه خاورمیانه به کار گرفته میشد و تمرکز آن بر تسلط کامل بر سیستمهای آلوده بود. Flame قابلیتهایی از جمله ردیابی ترافیک شبکه، ثبت ضربات صفحهکلید، گرفتن تصاویر از صفحه نمایش، ضبط صدا و ارتباطات دستگاه را دارا بود.
- Machiavelli: Machiavelli که در سال ۲۰۰۹ کشف شد، یکی از نخستین روتکیتهایی بود که به طور ویژه سیستمعامل macOS را مورد هدف قرار میداد. این بدافزار با تمرکز بر ایجاد تهدیدات پنهان در سطح هسته سیستم (Kernel) طراحی شده بود.
- Scranos: Scranos که در سال ۲۰۱۹ شناسایی شد، به سرعت به یکی از روتکیتهای معروف در حوزه تهدیدات سایبری تبدیل شد. تمرکز اصلی این روتکیت بر سرقت اطلاعات حساس، نصب نرمافزارهای مخفی و ایجاد دسترسی غیرمجاز به دستگاههای آلوده بود.
شناسایی و حذف روتکیتها:
نشانههای آلودگی به روتکیت میتواند شامل فعالیتهای غیرعادی در شبکه، کند شدن عملکرد سیستم، تغییرات در تنظیمات سیستم و از کار افتادن نرمافزار آنتیویروس باشد. در ادامه، به بررسی دقیقتر برخی از این نشانهها خواهیم پرداخت:
رفتار سیستم:
- قفل شدن یا فریز ناگهانی:
رایانه ممکن است بدون دلیل واضحی متوقف شود یا به کلیکهای ماوس و فشارهای صفحه کلید هیچ واکنشی نشان ندهد.
- عملکرد کند:
عملکرد سیستم کندتر از حد معمول میشود، فرآیند راهاندازی یا خاموش شدن آن طولانیتر میگردد و به طور مکرر با کاهش سرعت مواجه میشود.
- نمایش مکرر Blue Screen of Death:
اگر به طور مداوم شاهد نمایش صفحه Blue Screen of Death و پیامهای خطای متعدد در ویندوز هستید و کامپیوتر دائماً مجبور به راهاندازی مجدد میشود، احتمالاً سیستم شما با مشکلاتی جدی رو به رو است. یکی از دلایل احتمالی این مشکل، آلودگی به روتکیت یا سایر بدافزارهای پیشرفته است که عملکرد هسته سیستمعامل را مختل میکنند.
- فعالیتهای غیرعادی شبکه:
کند شدن قابل توجه سرعت اینترنت یا رفتارهای غیرمنتظره در بارگذاری صفحات وب و اتصالات شبکه، میتواند نشانهای از آلوده شدن سیستم به روتکیت باشد.
نرمافزار و تنظیمات:
- تغییرات غیرمجاز در تنظیمات سیستم:
مانند تغییر پسزمینه دسکتاپ، پیکربندی سیستم، مجوزهای حساب کاربری یا تاریخ و زمان.
- ناسازگاری نرمافزارها:
روتکیتها میتوانند باعث اختلال یا کرش در نرمافزارهای قانونی شوند.
فایلها و فرآیندهای سیستم:
- فایلها و فرآیندهای پنهان:
روتکیتها معمولا فایلها، فرآیندها و ورودیهای رجیستری خود را پنهان میکنند تا شناسایی نشوند.
- دسترسیهای غیرمجاز:
اگر متوجه ورود یا فعالیتهایی در سیستم شدید که شما انجام ندادهاید، ممکن است سیستم از راه دور تحت کنترل باشد.
پس از شناسایی روتکیت، مراحل زیر باید برای حذف آن انجام شود:
پشتیبانگیری از دادههای حیاتی: واکنش روتکیت در هنگام حذف، ممکن است غیرقابل پیشبینی باشد و با تدابیر دفاعی خود تأثیراتی بر عملکرد دستگاه بگذارد. به همین دلیل، ضروری است که از تمامی دادهها و فایلهای مهم که باید حفظ شوند، نسخه پشتیبان تهیه کنید.
راهاندازی در حالت امن: بسیاری از روتکیتها تلاش میکنند تا از نصب راهحلهای امنیتی یا حذف بدافزار جلوگیری کنند. در چنین شرایطی، باید دستگاه را در حالت امن با شبکه راهاندازی کنید تا دسترسی روتکیت محدود شود. برای این کار، در صفحه Windows boot، کلید F8 را فشار دهید.
استفاده از ابزارهای متنوع برای اسکن روتکیتها: با توجه به تنوع گسترده در نوع و ساختار روتکیتها، هیچ ابزار اسکن واحدی قادر به شناسایی تمام آنها نخواهد بود. بنابراین، ضروری است از مجموعهای از ابزارهای اسکن با ویژگیها و توانمندیهای مختلف استفاده کنید تا بتوانید تمامی تهدیدات پنهان را شناسایی و حذف کنید.
مسدود کردن بدافزارهای باقیمانده: همان طور که اشاره شد، در برخی موارد، حذف یک Rootkit به تنهایی برای پاکسازی کامل سیستم کافی نیست. این امکان وجود دارد که بدافزارهای دیگری نیز هم زمان با آن روتکیت، در سیستم فعال باشند یا به گونهای طراحی شده باشند که از شناسایی توسط ابزارهای اسکن Rootkit فرار کنند. در چنین شرایطی، استفاده از راهحلهای امنیتی پیشرفته که بتوانند این بدافزارهای پنهان را موقتاً متوقف یا اصطلاحاً “freeze” نگه دارند، بسیار مؤثر است. این اقدام باعث میشود تا ابزارهای پاکسازی بدافزار با اختلال کمتری عمل کرده و بتوانند با دقت بیشتری کل سیستم را از نرمافزارهای مخرب پاک کنند.
اقدامات پیشگیرانه در برابر روتکیتها:
حذف Rootkitها معمولاً بسیار دشوار است، اما با رعایت اصول پیشگیرانه مشابه سایر انواع بدافزارها، میتوان از آلوده شدن سیستم به آنها جلوگیری کرد. برای کاهش ریسک آلودگی به Rootkit، رعایت چند اقدام کلیدی ضروری است:
- آگاهی از حملات فیشینگ: حملات فیشینگ یکی از شایعترین راههای نفوذ بدافزارها به سیستمها هستند. در این روش، مهاجم ایمیلهایی فریبنده و ظاهراً معتبر ارسال میکند که حاوی فایلهای آلوده یا لینکهای مخرب هستند و هدف آنها نفوذ به دستگاه قربانی است. به همین دلیل، شناخت روشهای رایج فیشینگ، دقت در بررسی آدرس فرستنده و پرهیز از کلیک مستقیم روی لینکهای موجود در ایمیلها، نقش مهمی در جلوگیری از این نوع تهدید دارد.
- به روزرسانی نرمافزارها: نرمافزارهایی که منسوخ شدهاند یا به End of Life (EOL) رسیدهاند، به دلیل دریافت نکردن پچهای امنیتی، آسیبپذیرتر هستند و میتوانند راه نفوذ مناسبی برای روتکیتها و سایر بدافزارها فراهم کنند. بنابراین، به روزرسانی منظم نرمافزارها و فعالسازی قابلیت به روزرسانی خودکار، یکی از مؤثرترین راهکارها برای جلوگیری از آلودگی به روتکیتهاست.
- استفاده از آنتیویروسها: نرمافزارهای آنتیویروس به تنهایی نمیتوانند حفاظت کامل در برابر تهدیدات سایبری را تضمین کنند، اما به عنوان بخشی از راهکارهای امنیتی، نقش کلیدی در شناسایی و مهار روتکیتها دارند. این ابزارها با رصد مداوم فعالیتهای سیستم و تحلیل رفتارهای غیرعادی، میتوانند نقطه شروع مناسبی برای مقابله با تهدیدات پنهان باشند.
- اسکن و فیلتر کردن ترافیک شبکه: برای تقویت امنیت شبکه، تنها به استفاده از آنتیویروسها بسنده نکنید. استفاده از نرمافزارهای فیلترینگ ترافیک شبکه میتواند نقش موثری در شناسایی و مسدودسازی تهدیدات ایفا کند. این ابزارها با تحلیل دادههای ورودی و خروجی، تلاش میکنند بدافزارها، روتکیتها و فعالیتهای مشکوک را پیش از آن که به سیستمهای داخلی نفوذ کنند، شناسایی و متوقف سازند.
- عدم دانلود فایلها از منابع نامعتبر: یکی از مؤثرترین روشهای پیشگیری از آلودگی به روتکیت، پرهیز از دریافت و اجرای فایلها از منابع نامعتبر یا ناشناس است. همواره باید اطمینان حاصل شود که فایلها و نرمافزارها صرفاً از وبسایتهای رسمی یا منابع قابل اعتماد تهیه میشوند. علاوه بر این، نسبت به هشدارهای امنیتی مرورگرها درباره وبسایتهای مشکوک یا ناامن بیتوجهی نکنید، چرا که نادیده گرفتن این هشدارها میتواند زمینه ساز ورود بدافزارهای پیچیده و پنهان به سیستم شود.