Компания ESET подготовила подробный обзор об использовании уязвимых драйверов ядра. Уязвимости в драйверах часто применяются разработчиками игровых чит-кодов для обхода механизмов защиты, а также несколькими APT-группами и вредоносными программами. Этот тип драйверов может использоваться злоумышленниками для доступа к ядру Windows.
Среди различных типов драйверов ядра (центрального компонента операционной системы Windows) есть драйверы, которые обеспечивают определенные функции, не связанные с оборудованием, такие как настройка и диагностика программного обеспечения, системный анализ. Они способны расширять возможности злоумышленников во время атак.
Хотя загрузка вредоносного неподписанного драйвера невозможна в новых версиях Windows, а руткиты ядра уже в прошлом, все еще существуют способы проникновения вредоносного кода в ядро, в частности, путем злоупотребления легитимными подписанными драйверами. На самом деле существует множество драйверов от различных производителей аппаратного и программного обеспечения, которые предлагают возможности для полного доступа к ядру с приложением минимальных усилий.
Среди наиболее часто встречающихся уязвимостей в драйверах ядра:
• сбои в добавлении проверок, которые ограничивают доступ чтения и записи к критическим регистрам для конкретных моделей (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, для обнаружения и удаления самых известных уязвимых драйверов, найденных в системе.