Rootkits можна назвати найбільш технічно витонченою формою шкідливого коду (зловмисним програмним забезпеченням) і однією з найскладніших для виявлення та усунення. З усіх видів зловмисного програмного забезпечення, ймовірно, віруси та глисти набувають найбільшого розголосу, оскільки вони, як правило, широко поширені. Багатьом людям відомо, що були уражені вірусом чи хробаком, але це, безумовно, не означає, що віруси та глисти - це найбільш руйнівна різновид шкідливих програм. Існують і більш небезпечні типи зловмисного програмного забезпечення, оскільки вони, як правило, працюють у режимі прихованості, важко виявити та видалити і можуть залишатися непоміченими протягом дуже тривалих періодів часу, мовчки отримуючи доступ, крадіжка даних та змінення файлів на машині жертви .
Прикладом такого шаленого ворога є руткіти - це набір інструментів, які можуть замінити або змінити виконувані програми, або навіть ядро самої операційної системи, щоб отримати доступ на рівні адміністратора до системи, який можна використовувати для встановлення шпигунське програмне забезпечення, кейлоггери та інші шкідливі інструменти. По суті, руткіт дозволяє зловмиснику отримати повний доступ через машину жертви (і, можливо, до всієї мережі, до якої належить машина). Одним з відомих застосувань руткіта, який спричинив значні втрати / збитки, було крадіжка вихідного коду Valve's Half-Life 2: Source game engine.
Rootkits не є чимось новим - вони існують роками, і, як відомо, вони впливали на різні операційні системи (Windows, UNIX, Linux, Solaris тощо). Якби не одна чи дві масові випадки інцидентів руткітів (див. Розділ Відомі приклади), які привернули до них увагу громадськості, вони, можливо, знову б уникнули обізнаності, за винятком невеликого кола фахівців із безпеки. На сьогоднішній день руткіти не розкрили свій повний руйнівний потенціал, оскільки вони не такі широко розповсюджені, як інші форми зловмисного програмного забезпечення. Однак це може бути мало комфортним.
Викриті механізми Rootkit
Подібно до троянських коней, вірусів та червів, руткіти встановлюють себе, використовуючи недоліки в мережевій безпеці та операційній системі, часто без взаємодії з користувачем. Хоча є руткіти, які можуть надходити як вкладення електронної пошти або в комплекті з законними програмними програмами, вони нешкідливі, поки користувач не відкриє вкладення або не встановить програму. Але на відміну від менш складних форм зловмисного програмного забезпечення, руткіти проникають дуже глибоко в операційну систему і докладають особливих зусиль, щоб замаскувати свою присутність - наприклад, змінивши системні файли.
В основному, існує два типи руткітів: rootkits рівня ядра та rootkits рівня програми. Руткіти рівня ядра додають код до або змінюють ядро операційної системи. Це досягається встановленням драйвера пристрою або завантажуваного модуля, який змінює системні виклики, щоб приховати присутність зловмисника. Таким чином, якщо ви заглянете у свої файли журналів, ви не побачите підозрілої активності в системі. Руткіти рівня додатків менш складні та їх легше виявити, оскільки вони змінюють виконувані програми, а не саму операційну систему. Оскільки Windows 2000 повідомляє користувачеві про кожну зміну виконуваного файлу, зловмиснику стає складніше залишатись непоміченим.
Чому руткіти створюють ризик
Rootkits можуть виступати в якості задніх куточків і зазвичай не є самотніми у своїй місії - їх часто супроводжують шпигунські програми, троянські коні або віруси. Цілі руткіту можуть відрізнятися від простої зловмисної радості від проникнення чужого комп'ютера (та приховування слідів чужорідної присутності), до створення цілої системи для незаконного отримання конфіденційних даних (номери кредитних карток чи вихідного коду, як у випадку з половиною -Життя 2).
Як правило, руткіти на рівні додатків менш небезпечні та їх легше виявити. Але якщо програма, яку ви використовуєте для відстеження своїх фінансів, отримує «зашифрований» руткіт, то грошові втрати можуть бути істотними - тобто зловмисник може використовувати дані вашої кредитної картки, щоб придбати пару предметів і якщо ви не зробите це не вчасно помітите підозрілу активність на балансі вашої кредитної картки, швидше за все, гроші більше ніколи не побачите.
Порівняно з руткитами на рівні ядра, руткіти на рівні програми виглядають солодкими та нешкідливими. Чому? Тому що теоретично руткіт рівня ядра відкриває всі двері до системи. Після того, як двері відчинені, інші форми шкідливого програмного забезпечення можуть потім проникнути в систему. Якщо зараження rootkit на рівні ядра та неможливість його легко виявити та видалити (або взагалі, як ми побачимо далі), це означає, що хтось ще може мати повний контроль над вашим комп’ютером і може ним користуватися будь-яким чином, що йому заманеться - наприклад, ініціювати атаку на інші машини, створюючи враження, що атака походить з вашого комп'ютера, а не з іншого місця.
Виявлення та видалення руткітів
Мало того, що інші типи зловмисних програм легко виявити та видалити, але руткіти на рівні ядра - це особлива катастрофа. У певному сенсі це Catch 22 - якщо у вас є руткіт, то системні файли, необхідні програмному забезпеченню anti-rootkit, можливо, будуть змінені, тому результатам перевірки не можна довіряти. Більше того, якщо запускається rootkit, він може успішно змінювати список файлів або список запущених процесів, на які покладаються антивірусні програми, забезпечуючи таким чином підроблені дані. Крім того, запущений руткіт може просто вивантажити антивірусні програмні процеси з пам'яті, внаслідок чого програма закривається або несподівано завершується. Однак, роблячи це, це побічно демонструє свою присутність, тому можна підозріло статися, коли щось піде не так, особливо з програмним забезпеченням, яке підтримує безпеку системи.
Рекомендованим способом виявлення наявності руткіта є завантаження з альтернативного носія, яке, як відомо, є чистим (тобто резервне копіювання або рятувальний компакт-диск) та перевірка підозрілої системи. Перевага цього методу полягає в тому, що руткіт не буде працювати (тому він не зможе приховати себе) і системні файли не будуть активно підроблені.
Існують способи виявлення та (спроби) видалення руткітів. Один із способів - мати чисті відбитки пальців MD5 оригінальних системних файлів для порівняння відбитків пальців поточних системних файлів. Цей метод не дуже надійний, але краще, ніж нічого. Використання налагоджувача ядра є більш надійним, але воно вимагає глибоких знань операційної системи. Навіть більшість системних адміністраторів рідко вдаються до нього, особливо коли є безкоштовні хороші програми для виявлення руткітів, як, наприклад, RootkitRevealer Марка Русиновича. Якщо ви зайшли на його сайт, ви знайдете детальні інструкції, як користуватися програмою.
Якщо ви виявите руткіт на своєму комп’ютері, наступним кроком є його позбавлення (простіше сказати, ніж зробити). З деякими руткітами видалення не є можливим, якщо ви також не хочете видалити всю операційну систему! Найбільш очевидне рішення - видалити заражені файли (за умови, що ви точно знаєте, які саме маскуються) абсолютно не застосовується, якщо мова йде про життєво важливі системні файли. Якщо ви видалите ці файли, швидше за все, ви більше не зможете знову завантажити Windows. Ви можете спробувати декілька програм для видалення руткітів, таких як UnHackMe або F-Secure BlackLight Beta, але не розраховуйте на них занадто багато, що зможуть безпечно видалити шкідника.
Це може здатися шоковою терапією, але єдиний перевірений спосіб видалити руткіт - відформатувати жорсткий диск і знову встановити операційну систему (звичайно, з чистого інсталяційного носія!). Якщо у вас є підказки, звідки ви отримали руткіт (чи він входив в іншу програму, чи хтось надсилав вам його електронною поштою?), Навіть не думайте знову запускати або перекривати джерело зараження!
Відомі приклади руткітів
Rootkits були вкрай використані протягом багатьох років, але лише до минулого року, коли вони з'явилися у новинах. Випадок Sony-BMG з технологією Digital Right Management (DRM), яка захищала від несанкціонованого копіювання компакт-дисків, встановлюючи руткіт на машині користувача, викликала різку критику. Були позови і кримінальне розслідування. Компанія Sony-BMG повинна була забрати свої компакт-диски з магазинів і замінити придбані копії на чисті, згідно з рішенням справи. Sony-BMG звинувачували в таємному прихованні системних файлів у спробі приховати наявність програми захисту від копіювання, яка також використовувала для надсилання приватних даних на сайт Sony. Якщо програма була видалена користувачем, привід CD не працює. Фактично, ця програма захисту авторських прав порушила всі права на конфіденційність, застосувала незаконні методи, характерні для цього виду шкідливих програм, і, перш за все, залишила комп'ютер жертви вразливим до різних нападів. Для великої корпорації, як-от Sony-BMG, було типово йти нахабним способом спочатку, заявивши, що якщо більшість людей не знає, що таке руткіт, і чому б їм було байдуже, що вони мають. Ну, якби не було таких хлопців, як марк Руссінович, який першим задзвонив у дзвінок про руткіт Sony, хитрість могла б спрацювати, і мільйони комп'ютерів були б заражені - цілком глобальне правопорушення в нібито захисті інтелектуалів компанії власність!
Подібно до випадку з Sony, але коли не потрібно було підключатись до Інтернету, це стосується Norton SystemWorks. Це правда, що обидва випадки не можна порівнювати з етичної або технічної точки зору, оскільки, хоча руткіт Нортона (або технологія, що нагадує руткіт) модифікує системні файли Windows для розміщення захищеного сміттєвого кошика Нортона, Нортона навряд чи можна звинуватити в зловмисних намірах обмежити. права користувачів або користуватися руткітом, як це стосується Sony. Метою маскування було сховати від усіх (користувачів, адміністраторів тощо) та всього (інших програм, самої Windows) каталог резервних копій файлів, які користувачі видалили, і які згодом можна буде відновити з цього каталогу резервних копій. Функція захищеного сміттєвого кошика полягала в тому, щоб додати ще одну безпечну мережу проти швидких пальців, які спочатку видаляються, а потім подумають, чи видалили вони потрібні файли (файли), що забезпечить додатковий спосіб відновлення файлів, видалених із кошика ( або які обійшли кошик).
Ці два приклади навряд чи є найважчими випадками діяльності руткітів, але їх варто згадати, оскільки, привертаючи увагу до цих конкретних випадків, суспільний інтерес був залучений до руткітів в цілому. Сподіваємось, зараз більше людей не тільки знають, що таке руткіт, але й дбають, чи є у них, і зможуть їх виявити та видалити!