Легитимният драйвер за премахване при стартиране (Boot-Time Removal - BTR.sys) на Microsoft Defender може да бъде пренасочен за извършване на мощни операции с файлове и регистри на ниво ядро, което потенциално позволява на атакуващи с административни привилегии да неутрализират защитата на крайни точки.

Изследването на Check Point не описва конвенционална уязвимост или грешка, свързана с компрометиране на паметта. Вместо това то разкрива как доверен, подписан от Microsoft компонент за отстраняване на проблеми може да се превърне в Living-off-the-Land драйвер, когато се възпроизведе неговият недокументиран трансакционен протокол.

Драйверът на Microsoft Defender може да бъде използван като оръжие

BTR.sys е вграден в MpEngine.dll на Microsoft Defender и се внедрява, когато Defender трябва да завърши задача по отстраняване на заплаха след рестартиране – например премахване на файл, заключен от операционната система.

При легитимна дейност драйверът може да се появи с произволно генерирано име на файл и име на услуга, да използва алтернативен поток от данни (ADS), наречен „:changelist“ за своята шифрована конфигурация, да изпълни чакащите си операции и след това да се изчисти.

Тези поведения могат да наподобяват похвати на зареждане на ядрото по време на разследване на инцидент, въпреки че са част от нормалната архитектура за възстановяване на Defender.

Според резултатите от обратен инженеринг, споделени от Check Point Research, собственият трансакционен формат на драйвера разчита на RC4-шифрован конфигурационен блок, защитен с проверки за цялост.

Конфигурацията може да съдържа инструкции за изтриване на файлове и директории, преместване на файлове, изтриване на ключове и стойности на регистъра, както и запис на данни в регистъра. В действителност, валидна трансакция може да насочи подписан драйвер на Microsoft да извършва привилегировани операции от Ring 0.

Изследователският екип е създал BTR_CLI – инструмент за доказване на концепцията (PoC), който конструира приети трансакции и подготвя драйвера за изпълнение.

Основният проблем със сигурността е времето на изпълнение. BTR.sys работи като драйвер, стартиращ със системата (system-start driver), а не при първоначалното зареждане (boot-start driver), тъй като се нуждае от достъп до файловата система и пътищата на Windows по време на инициализацията си.

Когато е назначен към ранната група за зареждане „Boot Bus Extender“, той може да се стартира, след като файловата система стане достъпна, но преди да се инициализират много от компонентите за сигурност в потребителски режим (user-mode).

Изследователите наричат този интервал „златен прозорец“, по време на който драйверът би могъл да премахне изпълними файлове за сигурност или да промени свързаните настройки на регистъра на услугите, преди пълният защитен стек на антивирусен продукт или EDR да се стартира.

За разлика от традиционните атаки тип Bring Your Own Vulnerable Driver (BYOVD), този подход не разчита на зареждане на известен с уязвимости драйвер от трета страна. BTR.sys е вграден компонент на Microsoft с валиден подпис, което затруднява контролите за сигурност, които разглеждат подписите на драйверите като основен сигнал за доверие.

Изследователите заявиха, че не са открили доказателства за злоупотреби в реална среда към момента на анализа, но публичното споделяне на методологията прави проактивното откриване все по-важно.

Защитниците трябва да следят за подозрителен контекст на внедряване на BTR.sys, вместо да разчитат единствено на файлови хешове или подписи на Microsoft. Sysmon Event ID 15, FileCreateStreamHash, записва създаването на именовани файлови потоци и може да помогне за идентифициране на аномална активност на ADS „.sys:changelist“.

Sysmon Event ID 6, DriverLoad, записва зарежданията на драйвери заедно с подробности за хеш и подпис, което го прави полезен за съпоставяне на необичайна активност на подписан драйвер с процеса, който го е внедрил.

Високостойностните сигнали включват драйвер за възстановяване на Defender, записан или регистриран от PowerShell, командни обвивки, неподписани инструменти или други процеси извън нормалната линия на Defender; произволни ключове за услуги, съдържащи стойност на Args, която препраща към „:changelist“; както и зареждане на подписани от Microsoft драйвери, последвано от изтриване на файлове за сигурност на ниво SYSTEM.

Екипите за сигурност трябва също така да разследват бързото създаване и изтриване на BootClean.log, аномални поддържани от ADS файлове за обратна връзка по пътищата на драйверите, както и създаване на ключове за услуги, при които липсва очакван запис за инсталиране от Service Control Manager.

Организациите трябва строго да контролират и одитират SeLoadDriverPrivilege, да събират телеметрия за зареждане на драйвери и ADS, да прилагат политики за контрол на приложенията, където е осъществимо, и да изграждат детекции около линията на изпълнение, промените в устойчивостта при стартиране и подозрителните операции, приписвани на процеса System.