Урок 4 з 7 · 8 хв
Руткіти: шкідливі програми, що ховаються від вас
Завдання руткіта — лишатися непомітним і нікуди не йти. Дізнайтеся, як працюють руткіти, чому що глибше вони сидять, то вони небезпечніші, і як сучасна macOS сильно ускладнює їм життя.
Більшість шкідливих програм хоче щось зробити: вкрасти, зашифрувати, підглянути. Руткіт хоче, щоб цього ніхто не побачив. NIST визначає руткіт як набір інструментів, які зловмисник використовує після отримання прав рівня root на машині, щоб приховати свою активність і таємно зберегти привілейований доступ. Назва походить з Unix, де root — всемогутній обліковий запис адміністратора, а «кіт» (kit) — набір змінених інструментів, які зломник лишав, щоб тихо утримувати цю владу.
Два завдання: закріплення й приховування
Руткіт зазвичай поєднує два вміння. Закріплення — це здатність переживати перезавантаження й оновлення, щоб зловмисник не втратив доступу. Приховування — це вміння ховати файли, процеси й мережеві з’єднання від тих самих інструментів, якими ви стали б їх шукати. MITRE ATT&CK прямо описує другий прийом: руткіти приховують присутність програм, файлів, мережевих з’єднань і служб, перехоплюючи й змінюючи системні виклики, які про них повідомляють. Якщо частину системи, яку ви питаєте «що запущено?», підроблено, вона може просто не включити до відповіді зайве.
Що глибше, то важче знайти
| Рівень | Де живе | Наскільки важко виявити й видалити |
|---|---|---|
| Рівень користувача | Підміняє або перехоплює звичайні програми й бібліотеки, що працюють із правами вашого облікового запису | Важко, але інструменти з вищими правами часто помічають підробку |
| Рівень ядра | Завантажується в ядро операційної системи, звідки може брехати будь-якій програмі | Дуже важко: сама система видає неправдиву інформацію |
| Рівень завантаження й прошивки | Запускається раніше за операційну систему — у процесі завантаження або в прошивці пристрою | Найважче: може пережити навіть повне перевстановлення операційної системи |
Загальне правило: код, що працює на нижчому, привілейованішому рівні, може обманювати код, що працює вище. Тому руткіти прагнуть забратися якомога нижче, а захисники докладають стільки зусиль, щоб нижні рівні комп’ютера були стійкими до втручання.
Як захищається macOS
Сучасна macOS збудована так, щоб позбавити руткіти місць, де вони раніше ховалися. Apple описує кілька рівнів у своєму посібнику з безпеки платформ:
- Захист цілісності системи (SIP) не дає навіть обліковому запису адміністратора змінювати захищені частини системи, як-от системні теки й процеси. Apple радить тримати його ввімкненим.
- Системний том запечатано й підписано: під час запуску macOS перевіряє, що системні файли точнісінько такі, якими їх випустила Apple, і відмовляється використовувати змінену систему.
- Безпечне завантаження на Apple silicon (і на Mac із чипом T2) перевіряє кожен етап завантаження перед його запуском, тож код не може прослизнути раніше за операційну систему.
- Сторонні розширення ядра обмежені й потребують явного дозволу; більшість їхніх завдань Apple перенесла в системні розширення, що працюють поза ядром.
Разом усе це робить класичний руткіт рівня ядра значно важчим для встановлення на сучасний Mac із типовими налаштуваннями. Саме тому зловмисники тепер частіше лишаються на рівні користувача й покладаються на прийоми закріплення на кшталт об’єктів входу й агентів запуску, для яких не треба ламати печатки системи.
Закріплення, яке можна перевірити самому
Оскільки глибокі руткіти важко встановити, більшість закріплення на Mac сьогодні видно, якщо знати, де дивитися. macOS показує об’єкти входу й фонові об’єкти в Системних параметрах: «Загальні», потім «Об’єкти входу та розширення», і сповіщає, коли додається новий фоновий об’єкт. Усе незнайоме там заслуговує на увагу. MITRE ATT&CK саме тому відносить агенти й демони запуску (launch agents і launch daemons) до поширених технік закріплення на macOS.
Чому мережа досі каже правду
Руткіт може брехати програмам на тій самій машині, але йому все одно зазвичай треба спілкуватися зі своїм оператором. Цей трафік мусить пройти мережею. Міжмережевий екран для застосунків, вбудований у власний шар фільтрації операційної системи, бачить з’єднання так, як їх обробляє система, а маршрутизатор чи інший пристрій у мережі бачить їх ззовні, де руткіт не має влади. Мережевий фільтр FireAI — системне розширення Apple; він показує, який застосунок стоїть за кожним з’єднанням, і питає, перш ніж нові застосунки під’єднаються. Це не детектор руткітів, і він не бачить крізь скомпрометоване ядро, але незрозумілий трафік від процесу, походження якого ви не можете пояснити, — одна з класичних ознак того, що щось ховається.
Не лише комп’ютери: маршрутизатори та інші пристрої
Закладки в дусі руткітів трапляються не лише на ноутбуках. Домашні маршрутизатори, мережеві сховища та інші завжди ввімкнені пристрої працюють на власних невеликих операційних системах, які оновлюються рідко або ніколи. Зловмисники знову й знову атакують їх, бо крізь них проходить кожне з’єднання, а перевіряє їх мало хто. Оновлена прошивка маршрутизатора, змінений пароль адміністратора за замовчуванням і вимкнене непотрібне віддалене адміністрування зачиняють найпоширеніші двері. Це ж пояснює, чому корисно дивитися на трафік з кількох місць: проблема, що живе на маршрутизаторі, не виявиться під час жодної перевірки Mac.
Якщо ви підозрюєте руткіт
- Виходьте з того, що власні інструменти системи можуть брехати; за можливості досліджуйте її ззовні.
- Переконайтеся, що захист цілісності системи ввімкнено (Apple описує, як це перевірити), і оновлюйте macOS.
- Перегляньте «Об’єкти входу та розширення» на незнайомі записи.
- За серйозних підозр надійне рішення — зберегти документи (не застосунки й не системні файли), стерти Mac, перевстановити macOS від Apple і відновити лише свої дані.
- Якщо загроза цілеспрямована, наприклад проти журналіста чи активіста, зверніться до фахівців і подумайте про режим блокування (Lockdown Mode).
Головне
- Завдання руткіта — приховати присутність зловмисника й зберегти привілейований доступ.
- Що нижче сидить руткіт (користувач, ядро, завантаження, прошивка), то важче його виявити й видалити.
- Захист цілісності системи, підписаний системний том і безпечне завантаження значно ускладнюють класичні руткіти ядра на сучасних Mac.
- Руткіт може брехати комп’ютеру, але його мережевий трафік досі видно ззовні.
Перевірте себе
1. Які два головні завдання руткіта?
- Шифрувати файли й вимагати оплату
- Зберігати привілейований доступ (закріплення) і приховувати активність зловмисника (приховування) — Правильно.
- Розсилати спам і майнити криптовалюту
- Показувати рекламу й змінювати домашню сторінку
NIST визначає руткіти як інструменти, що приховують активність зловмисника й таємно зберігають привілейований доступ.
2. Чому руткіти рівня ядра так важко виявити?
- Це дуже маленькі файли
- Вони працюють у ядрі операційної системи й можуть змусити систему видавати неправдиву інформацію будь-якій програмі — Правильно.
- Вони працюють лише вночі
- Вони видаляються після кожного перезавантаження
Код на привілейованішому рівні може обманювати програми вище, зокрема інструменти, якими ви стали б його шукати.
3. Яка функція macOS не дає навіть адміністраторові змінювати захищені системні файли?
- FileVault
- Захист цілісності системи (SIP) — Правильно.
- AirDrop
- Time Machine
SIP захищає системні теки й процеси від змін навіть з боку адміністратора, що перекриває класичний прийом руткітів.
Застосуйте на практиці з FireAI
Застосуйте цей урок на своєму Mac.
- Правила: застосунок, сайт, домен, IP чи діапазон, назавжди або до перезавантаження — Напишіть правило точне, як одна адреса, або широке, як цілий домен.
- Карта світу — Побачте, куди насправді йдуть ваші дані, а не лише назву хоста, яку довелося б шукати самостійно.
- Списки загроз (за бажанням) — Звіряйте свій трафік із публічними даними про загрози, нічого нікуди не надсилаючи.
- Дослідіть з’єднання — Вирішуйте, маючи факти перед собою, а не розпливчасте попередження.
- Режими безпеки: Дім, Кав’ярня, Параноїк, Під атакою — Підлаштуйте суворість FireAI під те, де насправді перебуває ваш Mac, одним дотиком.
- USB Network Protection: nothing from a USB drive goes online unasked — Plug in a drive someone handed you without letting what’s on it phone home.
Джерела
- NIST Computer Security Resource Center Glossary: rootkit
- MITRE ATT&CK T1014: Rootkit
- MITRE ATT&CK T1543.001: Create or Modify System Process: Launch Agent
- Apple Support: About System Integrity Protection on your Mac
- Apple Platform Security: System security overview
- Apple Support: About Lockdown Mode
Застосуйте це на своєму Mac
Усі функції безкоштовно на 17 днів, без банківської картки.