روت کیت چیست؟ نحوه مقابله با rootkit
انواع مختلفی از بدافزارها وجود دارند که مجرمان سایبری به کمک آن ها اثرات خود را در سیستم و یا سازمان ها به جای می گذارند و به دستکاری اطلاعات و یا سرقت داده های حساس اقدام می کنند. rootkit نیز یکی از انواع بدافزارهایی است که بدون اطلاع وارد سیستم شما شده و کنترل سیستم شما را در اختیار مجرم سایبری قرار می دهد.
روت کیت چیست؟
روت کیت یک برنامه و یا مجموعه ای از نرم افزارهای مخرب است که باعث ایجاد دسترسی از راه دور و کنترل سیستم، توسط هکر می شود. اگرچه این نرم افزار کاربردهای قانونی نیز دارد و برای پشتیبانی از راه دور استفاده می شود، اما اکثرا برای ورود نرم افزارهای مخرب دیگر از جمله ویروس ها، باج افزارها و یا انواع دیگر بدافزارها، از طریق درب پشتی (backdoor)، به کار گرفته می شود. روت کیت اغلب با غیرفعال کردن آنتی ویروس ها از شناسایی نرم افزار های مخرب وارد شده به سیستم جلوگیری می نماید.
Rootkit ها را می توان از Dark web خریداری نمود و ممکن است در حین حملات فیشینگ نصب شوند یا با فریب کاربران، مجوز نصب روت کیت از آن ها گرفته شود و روی سیستم اجرا شود. بدین ترتیب به مجرمان سایبری دسترسی و کنترل کل سیستم عامل، از راه دور داده می شود. آنتی ویروس های قدیمی اغلب در شناسایی روت کیت ها مشکل داشتند، اما امروزه اکثر برنامه های ضد بدافزار می توانند روت کیت های پنهان شده در سیستم را اسکن کرده و آن را حذف کنند.
انواع Rootkit
روت کیت ها بر اساس نحوه آلوده کردن، عملکرد یا ماندگاری آن ها در سیستم هدف به چند گروه تقسیم بندی می شوند:
روت کیت حالت هسته(Kernel mode rootkit)
این نوع برای تغییر عملکرد سیستم عامل طراحی شده است. روت کیت معمولا کد و یا ساختارهای داده خود را به بخش هایی از هسته سیستم عامل (به Kernel) اضافه می کند. بنابراین روت کیت ها با سوء استفاده از این حالت، باعث می شوند سیستم عامل به مواردی شبیه درایورهای دستگاه یا ماژول های قابل بارگذاری، اجازه دسترسی دهد. در نتیجه این موارد در دسته فایل های مجاز شناخته شده و توسط آنتی ویروس قابل شناسایی نخواهند بود.
روت کیت حالت کاربر(User mode rootkit)
چنین روت کیت هایی که به عنوان روت کیت اپلیکیشن نیز شناخته می شوند، به روش کاربر معمولی اجرا می شود. این نوع از روت کیت ها ممکن است مانند سایر برنامه های معمولی در هنگام راه اندازی سیستم مقدار دهی اولیه شوند یا به مرور وارد سیستم شوند. روش مورد استفاده به نوع سیستم عامل بستگی دارد. به عنوان مثال روت کیت ویندوز عملکردهای اساسی فایل های کتابخانه ویندوز را دستکاری می کند اما در سیستم یونیکس(Unix)، روت کیت جایگزین یک اپلیکیشن می شود.
بوت کیت یا روت کیت بوت لودر(Bootkit or bootloader rootkit)
این نوع روت کیت، Master Boot Record یک هارد دیسک یا سایر دستگاه های ذخیره سازی متصل به سیستم مورد نظر را آلوده می کند. بوت کیت ها فرآیند بوت را دستکاری می کنند و کنترل آن را پس از بوت شدن به دست می گیرند. بنابراین برای حمله به سیستم هایی که از رمز گذاری کامل هارد استفاده می کنند، بسیار مناسب هستند.
روت کیت میان افزار(Firmware rootkit)
با کمک نرم افزار تعبیه شده در سیستم عامل، روت کیت ها خود را در تصاویر سیستم عامل، که توسط کارت های شبکه، سیستم های اصلی ورودی و خروجی، روتر ها یا سایر لوازم جانبی استفاده می شود، نصب می کنند.
روت کیت های حافظه(Memory rootkit)
برخی روت کیت ها با نصب روی دستگاه ذخیره سازی دائمی سیستم، تا مدت طولانی در سیستم باقی می مانند. اما روت کیت های نصب شده در حافظه RAM فقط تا زمانی که RAM سیستم پاک نشود، باقی می مانند.
روت کیت مجازی(Virtualized rootkit)
این نوع روت کیت ها به عنوان یک Hypervisor که یک یا چند ماشین مجازی (VM) را کنترل می کند، اجرا می شود. در چنین محیطی روت کیت ها متفاوت عمل می کنند. زیرا در محیط مجازی، به نظر می رسد ماشین های مجازی، عادی و بدون افت در عملکرد کار می کنند. بنابراین روت کیت ها قادر هستند تا عملیات مخرب خود را با شانس شناسایی کمتری انجام دهند.
روت کیت چطور کار می کند؟
روت کیت ها به طور خودکار در سیستم نصب نمی شوند و به همین دلیل برای آلوده کردن سیستم ها، به روش های مخفی وابسته هستند. زمانی که کاربران ناآگاه به برنامه های نصب روت کیت اجازه دسترسی می دهند، روت کیت ها نصب می شوند و تا زمانی که هکرها آن را فعال کنند، پنهان می مانند. دزدیدن اطلاعات بانکی، رمزهای عبور، کی لاگرها، غیرفعال کردن آنتی ویروس ها و ربات ها برای حملات انکار سرویس توزیع شده (distributed denial-of-service) از طریق این بدافزار صورت می گیرد.
روت کیت ها نیز از طریق روش های معمولی مانند هر نرم افزار مخرب دیگری نصب می شوند. از جمله این روش ها می توان به کمپین های فیشینگ ایمیل، فایل های مخرب اجرایی، فایل های PDF یا اسناد ورد مخرب، اتصال به درایو های مشترک آلوده و یا دانلود نرم افزار آلوده به روت کیت از وب سایت های نامطمئن اشاره کرد.
در طول یک حمله روت کیت، بخش های زیادی از سیستم به خطر می افتد. از جمله این بخش ها می توان به موارد زیر اشاره کرد:
نفوذ بدافزار
روت کیت قادر است نرم افزار مخربی را روی سیستم یا شبکه نصب کند که حاوی انواع ویروس ها، تروجان ها، کرم ها، باج افزارها، ابزارهای تبلیغاتی و سایر بدافزارهایی است که عملکرد سیستم یا حریم خصوصی اطلاعات را به خطر می اندازد.
حذف فایل ها
روت کیت ها از طریق ایجاد backdoor روی سیستم یا شبکه نصب می شوند. در نتیجه ممکن است در حین ورود به سیستم یا به علت آسیب پذیری نرم افزارهای امنیتی یا سیستم عامل، فرآیند وارد شدن روت کیت و نصب صورت گرفته باشد. پس از ورود Rootkit ها قادرند تا با اجرای خودکار نرم افزارها، باعث حذف فایل ها یا دزدیدن آن ها شوند.
سرقت اطلاعات شخصی
روت کیت هایی با عنوان payload وجود دارند که اغلب از keylogger ها استفاده می کنند و بدون رضایت کاربر، ضربه های روی کیبورد را ضبط می کنند. در برخی موارد نیز روت کیت ها ایمیل های اسپم ارسال می کنند و پس از باز شدن ایمیل توسط کاربر، روت کیت روی سیستم نصب می شود. در هر دو روش Rootkit اطلاعات شخصی مانند شماره کارت اعتباری و داده های بانکی آنلاین فرد را به مجرم سایبری منتقل می کند.
سرقت داده های حساس
Rootkit ها با ورود به سیستم ها و شبکه ها بدافزارهایی را نصب می کنند که هدفشان سرقت اطلاعات حساس و اختصاصی است. آن ها این اطلاعات را با هدف کسب درآمد از سازمان ها غیرقابل دسترسی می کنند و یا آن ها را برای فروش می گذارند. کی لاگرها(Keyloggers)، اسکرپرهای صفحه(screen scrapers)، جاسوس افزارها(spyware)، ابزارهای تبلیغاتی مزاحم(adware)، درهای پشتی(backdoors) و ربات ها(bots) همه روش هایی هستند، که روت کیت ها برای سرقت داده های حساس استفاده می کنند.
تغییر تنظیمات سیستم
روت کیت ها با وارد شدن به سیستم باعث تغییر در تنظیمات سیستم می شوند. همچنین آن ها با ایجاد یک حالت مخفی، توسط نرم افزارهای امنیتی، بسیار دشوار شناسایی می شوند. در برخی موارد روت کیت ها با ایجاد حالتی که نشان از حضور مداوم آن ها است، شرایطی را ایجاد می کنند که حتی با راه اندازی مجدد سیستم و یا خاموش کردن نیز از بین نخواهد رفت. Rootkit ها برای هکرها دسترسی پایداری را ایجاد می کنند و یا مجوزهای امنیتی را برای تسهیل دسترسی آن ها تغییر می دهند.
نشانه های وجود بدافزار روت کیت
از جمله اهداف اصلی روت کیت پنهان ماندن و ایجاد دسترسی روی سیستم کاربر است. به دلیل اینکه هدف اصلی مجرمان سایبری از توسعه روت کیت غیرقابل شناسایی ماندن آن است، تشخیص وجود این بدافزار بسیار مشکل است. اما چهار نشانه وجود دارد که می تواند نشان دهد سیستم یا شبکه در معر خطر قرار دارد:
- توقف آنتی ویروس ها: اگر نرم افزارهای ضد بدافزار در سیستم غیرفعال شوند، نشانه ای از وجود روت کیت به شمار می رود.
- تغییر خود به خودی تنظیمات سیستم: اگر تنظیمات سیستم عامل بدون اقدامی از جانب کاربر تغییر کنند، ممکن است نشانه ای از وجود rootkit باشد. سایر موارد غیرعادی همچون تغییر یا حذف پس زمینه در صفحه قفل و یا تغییر آیتم های پین شده در نوار وظیفه نیز نشان از حضور این بدافزار است.
- عملکرد غیر معمول: اشغال ظرفیت پردازش گر و تغییر مسیرهای مرورگر نیز ممکن است به دلیل حضور روت کیت اتفاق بیفتد.
- قفل سیستم: زمانی که کاربران نمی توانند به سیستم خود دسترسی داشته باشند و یا اتصال ورودی موس یا صفحه کلید به سیستم بسته شده باشد، نتیجه حضور روت کیت در سیستم است.
روش های جلوگیری از حمله روت کیت
اگرچه شناسایی حمله rootkit دشوار است اما می توان استراتژی هایی برای دفاع استفاده کرد از جمله:
- استفاده از آنتی ویروس و ضد بدافزارهای قوی: معمولا شناسایی روت کیت ها به نصب ابزارهای خاصی روی آنتی ویروس ها نیاز دارد، تا در زمان مناسب شناسایی شوند.
- بروزرسانی نرم افزارها: معمولا آسیب پذیری سیستم عامل ها و سایر نرم افزارها توسط ارائه دهندگان به طور مداوم بررسی می شود. بنابراین هر زمان آسیب پذیری هایی را پیدا کنند، خیلی سریع بروزرسانی های امنیتی را برای آن ها ارائه می دهند. در نتیجه احتمال آلوده شدن سیستم به بدافزار روت کیت کاهش می یابد.
- مانیتور کردن شبکه: نظارت مداوم شبکه باعث می شود تا هر زمان فعالیت غیرمعمولی در هر نقطه از شبکه اتفاق بیفتد، مشخص شود. در نتیجه هرگاه نشانه ای از آفلاین شدن بعضی نقاط یا فعالیت های ناهنجار دیگری مشاهده شود، می توان اقدامات لازم علیه روت کیت را انجام داد.
- تحلیل رفتار: ایجاد خط مشی های امنیتی قوی توسط شرکت ها و نظارت مستمر بر آن ها باعث می شود تا خطر نفوذ روت کیت ها بسیار کاهش یابد. به طور مثال اگر محل اتصال یک کاربر در طی چند ساعت از یک مکان جغرافیایی به مکانی دیگر منتقل شود، هشداری از بروز خطر است.
حذف rootkit
زمانی که rootkit وارد سیستم شود، امکان ایجاد عملیات مخرب بسیار زیاد است، اما می توان برای حذف یا جلوگیری از ایجاد خطر، اقداماتی انجام داد. حذف rootkit ها دشوار است، خصوصا آن دسته از روت کیت هایی که در هسته سیستم عامل و یا در بخش بوت دستگاه قرار می گیرند.
با این حال برخی نرم افزارهای آنتی روت کیت وجود دارند که می توانند روت کیت ها را شناسایی و آن ها را حذف کنند، اما حذف کامل آن ها دشوار است. یکی از روش های حذف روت کیت ها نصب مجدد سیستم عامل است که در بسیاری از موارد اثرات روت کیت را از بین می برد.