ARUBA INSTANT WI-FI: ПРОСТІ, ПОТУЖНІ, ДОСТУПНІ
Прихована загроза - знайти і знищити
Зростаюча загроза
З огляду на доступність root kit для всіх бажаючих, залишається тільки дивуватися, що ще не всі хакери використовують цей засіб для маскування своїх вірусів. Ще більш дивно, що root kit нехтують розробники шпигунських і інших шкідливих програм, які завдяки цій технології могли б стати абсолютно невидимими. Підрозділ обслуговування і підтримки користувачів Microsoft CSS (MS Customer Service and Support - новий підрозділ, до якої входили Microsoft Product Support Services) і антивірусні компанії іноді повідомляють про виявлення подібних пакетів, встановлених на комп'ютерах клієнтів, але трапляється це досить рідко.
Основи root kit
Це змусило розробників пакетів root kit шукати більш складні рішення, які підміняють не окремі додатки, а самі виклики API, які використовуються усіма утилітами для отримання необхідної інформації. Перехоплюючи виклики API, за допомогою яких програми отримують список активних процесів і можуть виявити шкідливі програми, root kit приховує себе не тільки від Task Manager, а й від усіх програм обробки списків процесів, безпосередньо або опосередковано викликають API. Сучасні root kit використовують перехоплення викликів API для приховування файлів, каталогів, розділів і параметрів реєстру, служб Windows, драйверів пристроїв, портів TCP / IP, облікових записів користувачів і процесів - словом, будь-яких об'єктів, в яких можна приховати шкідливі програми. Завдяки root kit шкідливі програми можуть отримати повні права для управління зараженої системою.
Екран 1. Заховані Hacker Defender файли
На екрані 1 наведено приклад роботи поширеного root kit, відомого під назвою Hacker Defender. Hacker Defender складається з файлу настройки і виконуваного модуля. При запуску hxdef.exe приховує файли, каталоги, накопичувачі, служби, процеси і порти TCP / IP, перераховані у файлі настройки. За замовчуванням файл настройки приховує всі елементи, що містяться в hxdef. Тому після виклику hxdef каталог, що містив root kit, здається порожнім.
У Windows є кілька рівнів викликів API, як видно з рис. 1. Різні root kit працюють на різних рівнях API, в залежності від цілей і майстерності розробника. API вищого рівня краще задокументовані і більш доступні для підміни root kit, перехоплення API нижчого рівня дозволяє більш ретельно приховувати «додані» функції. Root kit, що перехоплює API більш високого рівня, може бути виявлений при прямому виклику низькорівневих функцій API.
Наймогутнішими (і складними для розробки) є root kit, що працюють в режимі ядра системи. Однак root kit рівня ядра системи повинні вимагати, щоб програма працювала з правами на установку драйверів пристроїв і, таким чином, при запуску від імені непривилегированного користувача вона не зможе зробити нічого (на відміну від root kit призначеного для користувача рівня). Root kit рівня системного ядра вимагають від розробника глибоких знань і експертного кодування, оскільки найменша помилка може призвести до негайного краху системи. А крах системи вкрай небажаний для розробника root kit, оскільки його головна задача - робити свою чорну справу непомітно.
Root kit рівня користувача
Екран 2. Імпорт функції FindFirstFile додатком Notepad
Root kit призначеного для користувача рівня також модифікують Windows API і API ядра в режимі користувача. Уже згадуваний Hacker Defender використовує саме цю техніку. Модифікація полягає в запису коду root kit в цільової процес і заміні декількох перших байтів змінною функції таким чином, що управління передається в код root kit. Після того як root kit отримує управління, викликається початкова версія викликається функції, потім дані після відповідної обробки повертаються викликав процесу.
Root kit рівня ядра
Широке поширення набула технологія root kit для рівня ядра операційної системи, яка полягає в прямому маніпулюванні об'єктами ядра. При цьому методі атаки підміняються структури даних ядра системи, а не API, які повертають інформацію про структурах даних. Для приховування процесу, наприклад, root kit видаляє процес зі списку активних процесів, який підтримується ядром системи. Таким чином, NtQuerySystem Information не може повідомити про наявність деяких процесів, так як функція витягує ці відомості зі списку активних процесів, ядро ж як і раніше планує передачу управління потокам виконання, які розташовуються в процесі. Такий тип приховування також застосовується до структур драйверів пристроїв, але не може застосовуватися для розділів реєстру, параметрів реєстру, файлів і каталогів, оскільки зазначені об'єкти не можуть бути представлені у вигляді простих статичних структур даних. Техніку безпосереднього зміни об'єктів ядра для маскування застосовує root kit FU.
Нарешті, останній спосіб маскування, застосовуваний root kit рівня ядра, - це драйвер фільтра файлової системи. Цей драйвер розташовується поверх драйверів файлової системи (прикладом такого драйвера є драйвер NTFS), але під рівнем API системних викликів. Таким чином, драйвер фільтра файлової системи може спостерігати всю роботу програми з файлової системою. Все що спрацьовують по доступу до файлу антивірусні сканери використовують технологію фільтра файлової системи для перехоплення операцій відкриття файлу, таким чином, антивірус отримує можливість сканування запускається на виконання файлу перед тим, як передати йому управління.
приховування процесів
Запобігання появи і виявлення root kit
Краще запобігти зараженню комп'ютера root kit, ніж намагатися виявити і видалити root kit, вже проник в систему. Запобіжні заходи означають використання периметра безпеки, що поєднує антивірусні засоби та антишпигунські програми, брандмауери і, головне, використання в повсякденній роботі облікових записів, які не володіють адміністративними правами. Якщо ви запідозрили, що комп'ютер заражений root kit, в першу чергу краще піддати його всім можливим перевірок. Сучасні антивіруси і антишпигуни не виявляється root kit, але вже є спеціалізовані програми пошуку root kit, отладчики ядра і засоби діагностики процесів, які дозволяють виявити багато root kit.
Загальна методика виявлення присутності root kit - піддати комп'ютер дослідженню з усіх можливих точок зору і на всіх рівнях, а потім проаналізувати отримані результати. Будь-які невідповідності можуть вказувати на присутність в комп'ютері root kit. Тобто для виявлення присутності в системі замаскованих шкідливих процесів необхідно зібрати результати роботи різних діагностичних утиліт, проаналізувати результати, надані отладчиком ядра, і зіставити отримані результати. Щодо простий спосіб виявлення замаскованих файлів - перевірити вміст каталогів в працюючій системі Windows, потім завантажити свідомо «чисту» систему, знову виконати сканування каталогів і зіставити результати двох перевірок. Користувачі програми Microsoft Software Assurance (SA) можуть скористатися середовищем Windows Preinstallation Environment (Windows PE), яка являє собою завантажувальний компакт-диск для запуску повнофункціонального середовища Windows - ідеальний варіант еталонної системи для такого зіставлення.
В даний час по крайней мере одна антивірусна компанія, F-Secure, випустила бета-версію продукту для виявлення root kit - це F-Secure Blacklight Rootkit Elimination Technology. Безсумнівно, скоро з'являться і інші розробки в цій галузі.
Виявлення з RootkitRevealer
Невідповідності, які можуть бути виявлені RootkitRevealer, не обов'язково свідчать про наявність в системі root kit. Будь-які зміни, які стосуються реєстру або файлової системи, - створення, видалення і зміна файлів або параметрів в реєстрі, які можуть виникнути між сеансами сканування з викликами API верхнього і нижнього рівнів, можуть бути відображені RootkitRevealer як невідповідності. Наприклад, служба Microsoft SQL Server періодично оновлює значення позначки часу (timestamp) в системному реєстрі, і ця зміна буде включено до звіту Rootkit Revealer як невідповідність.
Іншим типовим прикладом невідповідності є параметри реєстру, які містять ознака кінця рядка (символ з кодом 0) в імені. Такі імена не повністю видно для Windows API, тому параметри недоступні для редагування в regedit. Оскільки ці розділи видно для API-ядра, деякі додатки використовують такі параметри для приховування ліцензійних даних та іншої важливої інформації. RootkitRevealer повністю показує ці невідповідності, оскільки потенційно root kit може приховувати свій шкідливий код навіть в невеликих обсягах даних.
Приховування root kit і шкідливих процесів від виявлення Rootkit Revealer зажадає від root kit заховати структури даних файлової системи і реєстру, що видасть присутність процесів root kit. Багато з структур даних не задокументовані, і маніпулювати ними таким чином, щоб RootkitRevealer не виявлено невідповідностей, досить важко. На даний момент ще жоден відомий root kit не досяг такого рівня досконалості.
Це всього лише питання часу, коли розробники root kit знайдуть інші способи виявляти факт сканування RootkitRevealer і будуть маскувати приховування своїх процесів. У відповідь Sysinternals буде випускати власні оновлення, щоб не дати root kit можливості виявити себе. Всі продукти виявлення root kit схильні до такого роду націленим атакам, і чим більш поширеним стає детектор, тим більша ймовірність того, що розробники root kit будуть шукати в ньому вразливі місця. Деяка іронія полягає в тому, що для протистояння виявлення з боку root kit програми-детектори починають використовувати технології, що застосовуються в root kit.
Як викорінити root kit
Що ж робити, якщо у вас виникла підозра про зараження комп'ютера шкідливою програмою, прихованої за допомогою root kit? Якщо засіб видалення отримано з надійних джерел, таких як Microsoft CSS або постачальники антивірусних програм, можна скористатися ним, в іншому випадку єдиним надійним засобом є переформатування жорсткого диска з перевстановлення Windows. Не варто помилятися на рахунок декларованих деякими програмами видалення root kit засобами боротьби типу перейменування файлів, які нібито дозволяють боротися з root kit. Сучасні root kit містять вбудований захист від перейменування, більш того, ваш засіб може просто не виявити окремі компоненти root kit, і комп'ютер все одно залишиться зараженою.
Поділіться матеріалом з колегами і друзями