روتکیتها در سطح مدیر سیستم به رایانه شخصی شما حمله میکنند و به آنها این قدرت را میدهند که آسیبهای زیادی وارد کنند.
روت کیت ها شکلی از برنامه های مخرب هستند که برای پنهان کردن حضور خود در یک سیستم و در عین حال دسترسی و کنترل غیرمجاز به مهاجم طراحی شده اند. این ابزارهای مخفی تهدید قابل توجهی برای امنیت سیستم هستند زیرا می توانند یکپارچگی و محرمانه بودن یک سیستم کامپیوتری را به خطر بیندازند.
علیرغم اینکه چنین تهدیدی خطرناک است، تعداد کمی از مردم در مورد انواع مختلف روت کیت ها اطلاعات دارند. با درک ویژگی ها و عملکردهای هر نوع، می توانید گرانش تهدیدات روت کیت را بهتر درک کنید و اقدامات مناسبی را برای محافظت از سیستم خود انجام دهید.
Rootkit چیست؟
قبل از غواصی در انواع مختلف، درک مفهوم روت کیت بسیار مهم است. در هسته خود، روت کیت مجموعه ای از ابزارها و نرم افزارها است که دسترسی و کنترل غیرمجاز یک سیستم کامپیوتری را امکان پذیر می کند. روت کیت ها با دستکاری منابع سیستم و تغییر عملکرد سیستم عامل عمل می کنند و به طور موثر حضور خود را از اقدامات امنیتی و نرم افزار آنتی ویروس پنهان می کنند.
پس از نصب، یک روت کیت به مهاجم کنترل کامل روی یک سیستم در معرض خطر را می دهد و به آنها اجازه می دهد تا اقدامات مخرب را بدون شناسایی انجام دهند. اصطلاح “rootkit” از دنیای یونیکس سرچشمه می گیرد، جایی که “root” به حساب کاربری ابر کاربر با امتیازات مدیریتی کامل اشاره دارد.
انواع روت کیت ها
در حالی که روت کیت ها اهداف مشابهی دارند، اما همه آنها به یک شکل عمل نمی کنند.
1. روت کیت حالت کاربر
روت کیت های حالت کاربر، همانطور که از نام آن پیداست، در حالت کاربر یک سیستم عامل عمل می کنند. این روت کیت ها معمولاً فرآیندها و برنامه های کاربردی در سطح کاربر را هدف قرار می دهند. روت کیت های حالت کاربر با اصلاح کتابخانه های سیستم یا تزریق کدهای مخرب به فرآیندهای در حال اجرا به اهداف خود می رسند. با انجام این کار، آنها می توانند تماس های سیستم را رهگیری کنند و رفتار خود را برای پنهان کردن وجود روت کیت تغییر دهند.
روتکیتهای حالت کاربر در مقایسه با انواع دیگر آسانتر توسعه و استقرار میشوند، اما از نظر سطح کنترلی که میتوانند بر روی سیستم اعمال کنند نیز محدودیتهایی دارند. با این وجود، آنها همچنان می توانند در پنهان کردن فعالیت های مخرب خود از ابزارهای امنیتی سنتی بسیار مؤثر باشند.
2. روت کیت های حالت هسته
روت کیت های حالت هسته در سطح عمیق تری در سیستم عامل، یعنی حالت هسته، کار می کنند. با به خطر انداختن هسته، این روت کیت ها کنترل قابل توجهی بر روی سیستم به دست می آورند.
روت کیت های حالت هسته می توانند تماس های سیستم را رهگیری کنند، ساختار داده های سیستم را دستکاری کنند و حتی رفتار خود سیستم عامل را تغییر دهند. این سطح دسترسی به آنها اجازه می دهد تا حضور خود را به طور مؤثرتری پنهان کنند و شناسایی و حذف آنها را بسیار چالش برانگیز می کند. روتکیتهای حالت هسته پیچیدهتر و پیچیدهتر از روتکیتهای حالت کاربر هستند و به درک عمیقی از درونیهای سیستم عامل نیاز دارند.
روت کیت های حالت هسته را می توان بیشتر به دو زیر گروه طبقه بندی کرد: روت کیت های پایدار و مبتنی بر حافظه. روتکیتهای دائمی، کد هسته را مستقیماً تغییر میدهند یا ساختار دادههای هسته را دستکاری میکنند تا اطمینان حاصل کنند که حضور آنها حتی پس از راهاندازی مجدد سیستم همچنان ادامه دارد. از طرف دیگر، روت کیت های مبتنی بر حافظه، کاملاً در حافظه هستند و هیچ تغییری در کد هسته یا ساختار داده ایجاد نمی کنند. در عوض، آنها به توابع هسته خاصی متصل میشوند یا تماسهای سیستم را در زمان واقعی قطع میکنند تا رفتار خود را دستکاری کرده و فعالیتهای خود را پنهان کنند.
3. روت کیت های حافظه
روت کیت های حافظه، همچنین به عنوان روت کیت های درون حافظه شناخته می شوند، به طور کامل در حافظه کامپیوتر قرار دارند. آنها هارد دیسک یا فایلهای سیستم را تغییر نمیدهند و بهویژه شناسایی آنها را سخت میکند. روت کیت های حافظه از آسیب پذیری های سیستم عامل سوء استفاده می کنند یا از تکنیک هایی مانند حفره فرآیند برای تزریق کد مخرب خود به فرآیندهای قانونی استفاده می کنند. تنها با کار کردن در حافظه، آنها می توانند از تکنیک های اسکن سنتی مبتنی بر فایل که توسط نرم افزار آنتی ویروس استفاده می شود، فرار کنند. روت کیت های حافظه بسیار پیچیده هستند و برای توسعه نیاز به درک عمیقی از داخلی سیستم دارند.
یکی از تکنیکهای رایج مورد استفاده توسط روتکیتهای حافظه، دستکاری اشیاء هسته مستقیم (DKOM) است که در آن ساختارهای داده حیاتی را در هسته دستکاری میکنند تا حضور و فعالیتهای خود را پنهان کنند. تکنیک دیگر Process Injection است، جایی که روت کیت کد خود را به یک فرآیند قانونی تزریق میکند و شناسایی کد مخرب را هنگام اجرا در یک فرآیند قابل اعتماد دشوار میکند. روت کیت های حافظه به دلیل توانایی خود در مخفی ماندن و پایدار ماندن، حتی در مواجهه با اقدامات امنیتی سنتی شناخته شده اند.
4. روت کیت هایپروایزر
روت کیت هایپروایزر لایه مجازی سازی یک سیستم را هدف قرار می دهد که به عنوان Hypervisor شناخته می شود. هایپروایزرها وظیفه مدیریت و کنترل ماشین های مجازی را بر عهده دارند و با به خطر انداختن این لایه، روت کیت ها می توانند بر کل سیستم کنترل داشته باشند. روتکیتهای Hypervisor میتوانند ارتباط بین سیستم عامل میزبان و ماشینهای مجازی را رهگیری و اصلاح کنند و مهاجمان را قادر میسازد تا رفتار محیط مجازیسازی شده را نظارت یا دستکاری کنند.
از آنجایی که هایپروایزر در سطح پایین تری نسبت به سیستم عامل عمل می کند، می تواند روت کیت ها را با سطح بالاتری از امتیاز و مخفی کاری ارائه دهد. روتکیتهای Hypervisor همچنین میتوانند از تکنیکهایی مانند Nested Virtualization برای ایجاد یک Hypervisor تودرتو استفاده کنند و حضور آنها را بیشتر مبهم کنند.
5. روتکیت های سفت افزار
روتکیتهای میانافزار، سفتافزار را هدف قرار میدهند، که نرمافزاری است که در دستگاههای سختافزاری مانند BIOS یا UEFI تعبیه شده است. با به خطر انداختن سیستم عامل، روت کیت ها می توانند کنترل سیستم را در سطحی حتی پایین تر از سیستم عامل به دست آورند. روتکیتهای سفتافزار میتوانند کد میانافزار را تغییر دهند یا ماژولهای مخرب را تزریق کنند و به آنها اجازه دهند اقدامات مخرب را در طول فرآیند بوت سیستم انجام دهند.
روتکیتهای سفتافزار یک تهدید قابلتوجه هستند، زیرا حتی در صورت نصب مجدد سیستم عامل یا فرمت کردن هارد دیسک، میتوانند همچنان پابرجا باشند. سفتافزار آسیبدیده میتواند مهاجمان را قادر میسازد تا اقدامات امنیتی سیستمعامل را زیر پا بگذارند و به آنها اجازه میدهد شناسایی نشده باقی بمانند و بر سیستم کنترل داشته باشند. کاهش روتکیتهای میانافزار به ابزارها و تکنیکهای تخصصی اسکن میانافزار، همراه با بهروزرسانیهای میانافزار از تولیدکنندگان سختافزار، نیاز دارد.
6. بوت کیت
بوت کیت ها نوعی روت کیت هستند که فرآیند بوت سیستم را آلوده می کنند. آنها بوت لودر قانونی را با کد مخرب خود جایگزین یا تغییر می دهند و به آنها امکان می دهد قبل از بارگیری سیستم عامل اجرا شوند. بوت کیت ها حتی اگر سیستم عامل دوباره نصب شود یا هارد دیسک فرمت شده باشد، می توانند باقی بمانند و آنها را بسیار انعطاف پذیر می کند. این روتکیتها اغلب از تکنیکهای پیشرفتهای مانند دور زدن امضای کد یا تغییر مستقیم Master Boot Record (MBR) برای به دست آوردن کنترل در طول فرآیند بوت استفاده میکنند.
بوت کیت ها در مرحله بحرانی اولیه سازی سیستم عمل می کنند و به آنها اجازه می دهد کل فرآیند بوت را کنترل کنند و از اقدامات امنیتی سنتی پنهان بمانند. ایمن سازی فرآیند بوت با اقداماتی مانند Secure Boot و Unified Extensible Firmware Interface (UEFI) می تواند به جلوگیری از عفونت بوت کیت کمک کند.
7. روت کیت های مجازی
روت کیت های مجازی که به نام روت کیت های ماشین مجازی یا VMBR نیز شناخته می شوند، محیط های ماشین مجازی را هدف قرار می دهند. این روتکیتها از آسیبپذیریها یا ضعفهای نرمافزار مجازیسازی برای به دست آوردن کنترل بر ماشینهای مجازی در حال اجرا بر روی یک سیستم میزبان سوء استفاده میکنند. پس از به خطر افتادن، یک روت کیت مجازی می تواند رفتار ماشین مجازی را دستکاری کند، ترافیک شبکه آن را رهگیری کند یا به داده های حساس ذخیره شده در محیط مجازی دسترسی پیدا کند.
روت کیت های مجازی چالشی منحصر به فرد را ایجاد می کنند زیرا در یک لایه مجازی سازی پیچیده و پویا عمل می کنند. فناوری مجازی سازی چندین لایه انتزاعی را فراهم می کند و شناسایی و کاهش فعالیت های روت کیت را دشوار می کند. روت کیت های مجازی به اقدامات امنیتی تخصصی، از جمله سیستم های تشخیص نفوذ و پیشگیری پیشرفته که به طور خاص برای محیط های مجازی طراحی شده اند، نیاز دارند. علاوه بر این، بهروزرسانی نرمافزار مجازیسازی و استفاده از وصلههای امنیتی برای محافظت در برابر آسیبپذیریهای شناخته شده ضروری است.
چگونه از Rootkit ها در امان بمانیم
محافظت از سیستم شما در برابر روت کیت ها نیازمند یک رویکرد چند لایه ای برای امنیت است. در اینجا برخی از اقدامات ضروری وجود دارد که می توانید انجام دهید:
- سیستم عامل و نرم افزار خود را به روز نگه دارید. برای کاهش آسیب پذیری هایی که روت کیت ها می توانند از آنها سوء استفاده کنند، به طور مرتب آخرین وصله های امنیتی را نصب کنید.
- آنتی ویروس یا نرم افزار ضد بدافزار معتبر را نصب کنید. یک راه حل قابل اعتماد را انتخاب کنید و آن را به طور مرتب به روز کنید تا rootkit ها را شناسایی و حذف کنید.
- از فایروال استفاده کنید. از یک فایروال برای نظارت و کنترل ترافیک شبکه استفاده کنید و از دسترسی غیرمجاز به سیستم خود جلوگیری کنید.
- هنگام دانلود و نصب نرم افزار احتیاط کنید. هنگام دانلود نرم افزار، به خصوص از منابع نامعتبر، مراقب باشید، زیرا ممکن است حاوی روت کیت باشند.
- به طور منظم سیستم خود را اسکن کنید. از ابزارهای تخصصی طراحی شده برای اسکن بدافزارها و روت کیت ها استفاده کنید و از شناسایی و حذف به موقع اطمینان حاصل کنید.
- بوت امن را فعال کنید و یکپارچگی سیستم عامل را تأیید کنید. ویژگیهای راهاندازی امن را فعال کنید و به طور منظم یکپارچگی سیستم عامل سیستم خود را برای محافظت در برابر روتکیتهای فریمافزار بررسی کنید.
- پیاده سازی سیستم های تشخیص نفوذ و پیشگیری برای نظارت بر فعالیتهای مشکوک و دفاع فعال در برابر روتکیتها، از سیستمهای تشخیص نفوذ و پیشگیری متناسب با محیط خود استفاده کنید.
- بهداشت امنیت سایبری را به خوبی رعایت کنید. گذرواژههای قوی را انتخاب کنید، هنگام کلیک کردن بر روی پیوندها یا باز کردن پیوستهای ایمیل احتیاط کنید و در برابر تلاشهای فیشینگ هوشیار باشید.
Rootkit ها را در خلیج نگه دارید
روت کیت ها تهدیدی جدی برای امنیت سیستم هستند. درک انواع مختلف و عملکردهای آنها برای محافظت مؤثر بسیار مهم است، زیرا این برنامه های نرم افزاری مخرب می توانند یکپارچگی و محرمانه بودن سیستم های رایانه ای را به خطر بیندازند و شناسایی و حذف را به چالش بکشند.
برای دفاع در برابر روتکیتها، اتخاذ یک رویکرد امنیتی پیشگیرانه و چند لایه، ترکیبی از بهروزرسانیهای منظم سیستم، نرمافزار آنتی ویروس معتبر، فایروالها و ابزارهای تخصصی اسکن ضروری است. علاوه بر این، رعایت بهداشت امنیت سایبری خوب و هوشیاری در برابر تهدیدات بالقوه می تواند به جلوگیری از عفونت rootkit کمک کند.