Компанія ESET ― лідер у галузі інформаційної безпеки ― підготувала детальний огляд про використання уразливих драйверів ядра. Уразливості у драйверах часто застосовуються розробниками ігрових чит-кодів для обходу механізмів захисту, а також декількома APT-групами та у шкідливих програмах. Цей тип драйверів може бути використаний зловмисниками для доступу до ядра Windows.
Серед різних типів драйверів ядра (центрального компонента операційної системи Windows) є програмні драйвери, які забезпечують певні функції, не пов'язані з обладнанням, такі як налагодження та діагностика програмного забезпечення, системний аналіз тощо. Вони здатні розширювати можливості зловмисників під час атак.
Хоча завантаження шкідливого непідписаного драйвера неможливе у нових версіях Windows, а руткіти ядра вже в минулому, все ще існують способи проникнення шкідливого коду у ядро, зокрема шляхом зловживання легітимними підписаними драйверами. Насправді, існує безліч драйверів від різних виробників апаратного та програмного забезпечення, які пропонують можливості для повного доступу до ядра з докладанням мінімальних зусиль.
![Можливості зловмисників. Можливості зловмисників.](/fileadmin/_processed_/5/3/csm_uyazvimost-drayverov_e6c6178f55.jpg)
Серед уразливостей, які найчастіше спостерігаються у драйверах ядра:
- збої у додаванні перевірок, які обмежують доступ читання та запису до критичних регістрів для конкретних моделей (MSR);
- здатність відображати фізичну пам'ять з режиму користувача для читання та запису;
- можливість доступу до віртуальної пам'яті ядра з режиму користувача для читання та запису.
«Коли зловмисникам необхідно запустити шкідливий код у ядрі Windows на системах зі 64-розрядною версією з примусовим підписом драйверів, використання уразливого підписаного драйвера ядра здається підходящим варіантом для цього. Цей метод, відомий як «Bring Your Own Vulnerable Driver» (BYOVD), використовується в реальному середовищі як APT-групами, так і в масовому шкідливому програмному забезпеченні», ― пояснює Пітер Калнай, дослідник ESET.
Серед зловмисників, які використовують цей метод, ― APT-група Slingshot, яка розробила свій основний модуль під назвою Cahnadr у вигляді драйвера ядра. Іншим прикладом є APT-група InvisiMole, яка була виявлена дослідниками ESET у 2018 році. Їх унікальний новий варіант шкідливого програмного забезпечення використовує регістри MSR у 64-розрядних версіях систем Windows 10 у реальному середовищі.
Ще одним прикладом є програма-вимагач RobbinHood, ціль якої охопити якнайбільше користувачів. Використання методу BYOVD у цьому випадку досить рідкісне явище. Ця програма-вимагач використовує уразливий драйвер материнської плати GIGABYTE, щоб вимкнути перевірку підпису драйверів та встановити власний шкідливий драйвер.
Крім цього, перший в історії руткіт UEFI також використав драйвер RWEverything для отримання доступу до UEFI-модулів жертв.
«Хоча центральний процесор або операційна система використовують кілька механізмів, більшість з них можна обійти за допомогою деяких підступних прийомів», ― коментує дослідник ESET.
Спеціалісти ESET підготували рекомендації, які допоможуть запобігти подібним зловмисним технікам.
- Безпека на основі віртуалізації. Ця функція, представлена у Windows 10, використовує апаратну віртуалізацію для розміщення ядра в пісочниці, таким чином захищаючи операційну систему за допомогою різних способів.
- Анулювання сертифіката. У сучасних системах Windows драйвери повинні мати дійсний підпис на основі прийнятного сертифіката. Отже, анулювання сертифіката уразливого драйвера було б простим способом знешкодити його та зробити непотрібним у більшості випадків.
- Занесення драйверів до списку заблокованих. Ця практика використовується як Microsoft, так і різними сторонніми постачальниками продуктів з безпеки, включно з ESET, для виявлення та видалення найвідоміших уразливих драйверів, знайдених у системі.
Більше інформації про уразливі драйвери ядра доступно за посиланням.