Руткіт
Руткіт (англ. root kit — набір root-a) — програма або набір програм для приховування слідів присутності зловмисника або шкідливої програми в системі. Це такий спеціальний модуль ядра, який зламувач встановлює на зламаній ним комп'ютерній системі відразу після отримання прав суперкористувача. Цей набір, як правило, включає всілякі утиліти для «замітання слідів» вторгнення в систему сніферів, сканерів, кейлоґерів, троянських програм, що заміщають основні утиліти UNIX (у разі неядерного руткіта). Дозволяє зламувачеві закріпитися в зламаній системі і приховати сліди своєї діяльності шляхом приховування файлів, процесів, а також самої присутності руткіта в системі.
Руткіт може бути встановлений в систему багатьма способами: методом експлойту, після отримання шелл-доступу (в даному випадку може використовувати засіб типу wget або кореневий FTP-клієнт для загрузки руткіта з віддаленого устаткування), в вихідному коді або ресурсах програмного продукту.
Класифікація руткітів
- За рівнем доступу:
- Користувацький (user-mode)
- Ядерний (kernel-mode)
- За принципом дії:
- ті що змінюють алгоритми виконання системних функцій (Modify execution path)
- ті що змінюють системні структури даних (Direct kernel object manipulation)
Додаткові можливості
Руткіт, окрім того що маскує себе, як правило, може маскувати присутність будь-яких описаних в його конфігурації каталогів та файлів на диску або ключів в реєстрі. З цієї причини власне і з'явились руткітні бібліотеки. Багато руткітів також встановлюють в систему свої драйвери та служби (котрі також є замаскованими).
Антируткіти
Це набори утиліт, що можуть відстежити присутність руткітів та видалити їх (в тій чи іншій мірі). На даний момент на ринку є багато конкурентних платних та безплатних утиліт, проте всі вони використовують той самий принцип дії.
Методи деактивації руткітів:
Відомий алгоритм відлову MEP-руткітів. Суть його роботи полягає в тому, що одна і та ж інформація реєструється декількома способами — з використанням API та напряму, після цього інформацію порівнюється в пошуках розбіжностей. Найчастіше скануються таблиці імпорту та викликів Native API, а також вся файлова система (структурно).
Основний арсенал відлову руткітів базується на нижче перелічених методах:
- Сигнатурний пошук. Застосовується з часів перших антивірусних систем; це пошук у файлі, що перевіряється, унікального ланцюжка байтів (сигнатури), що є притаманним шкідливій програмі.
- Поведінковий аналізатор. Ця технологія базується на пошуку відхилень в налаштуваннях системи, конфігураційних файлах Linux чи реєстрі Windows, слідкуванням за підозрілою поведінкою процесів, модулів та ін.
- Контроль цілісності. Цей тип пошуку базується на порівнянні контрольної суми (MD5 та інші) чи цифрового підпису різноманітних системних файлів з базою, в котрій міститься інформація про контрольну суму оригінальних файлів. В разі неспівпадіння програма робить висновок що файл або модифікований або повністю замінений.