Ядро операційної системи — центральна частина ОС, яка працює з найвищими привілеями та керує пам’яттю, процесами, драйверами обладнання і доступом до всіх ресурсів системи.
Як працює ядро
Сучасні процесори розділяють код за рівнями привілеїв. Застосунки працюють у режимі користувача й не можуть напряму звертатися до обладнання чи пам’яті інших програм — вони запитують послуги ядра через системні виклики. Ядро та його драйвери виконуються в режимі ядра (ring 0) з необмеженим доступом. Найвідоміші ядра — Linux, ядро Windows NT і XNU від Apple, яке використовується в macOS та iOS.
Чому ядро важливе для безпеки
Хто контролює ядро, той контролює всю систему, зокрема засоби захисту, що в ній працюють. Тому ядро — одна з головних цілей атак:
- Підвищення привілеїв — помилки в ядрі дають змогу локальному користувачеві чи шкідливому ПЗ отримати права root або SYSTEM. Приклади в Linux — Dirty COW (CVE-2016-5195) і Dirty Pipe (CVE-2022-0847). Такі вразливості — стандартна ланка в ланцюжках підвищення привілеїв та в експлойтах мобільних шпигунських програм.
- Руткіти — руткіти режиму ядра приховують файли, процеси й мережеві з’єднання від самої операційної системи.
- Вразливі драйвери — в атаках BYOVD (bring your own vulnerable driver) угруповання вимагачів завантажують легітимно підписаний, але вразливий драйвер, щоб вимкнути EDR.
Код ядра несе й ризики для стабільності: у липні 2024 року збійне оновлення сенсора CrowdStrike, що працює на рівні ядра, вивело з ладу близько 8,5 млн комп’ютерів із Windows у всьому світі.
Як захищають ядро
- Механізми протидії експлуатації: ASLR ядра, SMEP/SMAP і стекові канарки.
- Обов’язковий підпис драйверів, Kernel Patch Protection від Microsoft і список блокування вразливих драйверів.
- Безпека на основі віртуалізації, за якої гіпервізор захищає критичну пам’ять ядра (HVCI).
- Своєчасне встановлення оновлень ОС, адже виправлення ядра часто отримують статус важливих або критичних.