Пропуск на Windows: Хакери фалшицират драйвери в операционната система
Китайско-говорящи хакери се възползват от пропуск в политиката за сигурност на Microsoft Windows, за да подправят подписи на драйвери в режим на ядрото (Kernel-Mode Driver Signatures)
При неотдавнашно откритие изследователи по киберсигурност от Cisco Talos са открили проблемна дупка в политиките на Microsoft Windows. Тази уязвимост се е превърнала в предпочитана цел за хакери, които я използват, за да фалшифицират подписи на драйвери в режима на ядрото. Последиците от тази уязвимост са сериозни, тъй като тя дава пълен достъп до операционната система и позволява пълно компрометиране.
Подробности за експлоатирането
Според обширен доклад, участниците в заплахите се възползват от различни инструменти с отворен код, за да манипулират датата на подписване на драйвери в режима на ядрото. Това им позволява да зареждат злонамерени и непроверени драйвери, подписани с изтекли сертификати. Cisco Talos подчертава, че тази дейност представлява значителна заплаха поради привилегирования достъп на ядрото до системата.
Отговор на Microsoft
От Microsoft реагираха бързо, като предприеха мерки за намаляване на заплахата. Компанията заяви, че е блокирала всички сертификати, свързани с тази уязвимост. Освен това разследването им разкри, че злонамерената дейност е била ограничена до злоупотреба с няколко акаунта на програми за разработчици и потвърди, че не е установено компрометиране на акаунти в самата система на Microsoft.
Действия, предприети от Microsoft
В отговор на инцидента Майкрософт спря достъпа до акаунтите на програмистите, участвали в експлоатирането. Важно е да се отбележи, обаче, че участниците в кибер-атаката вече са получили административни привилегии в компрометираните системи, преди да използват манипулираните драйвери.
Предишни мерки за сигурност
Това не е първият случай, в който Microsoft прилага мерки за защита срещу подобни заплахи. През декември 2022 г. технологичният гигант въведе подобни блокиращи защити, за да попречи на нападателите, използващи един от най-опасните компютърни вируси – ransomware, да използват подписани от Microsoft драйвери за дейности след експлоатиране.
Прилагане на подписи на драйвери и уязвимости
Налагането на подпис на драйвери, което изисква драйверите в режим на ядрото да бъдат цифрово подписани със сертификат на Microsoft Dev Portal, играе ключова роля в защитата срещу злонамерени драйвери. Такива драйвери имат потенциала да избягват решения за сигурността, да манипулират системни процеси и да поддържат устойчивост. Microsoft въведе тази промяна в политиката си за сигурност още при пускането на Windows Vista.
Установените слабости при проведени пенетриращи тестове
Неотдавнашните констатации на Cisco Talos разкриват слабост, която позволява фалшифициране на подписи на драйвери в режим на ядрото, като по този начин ефективно се заобикалят политиките за сигурност на сертификатите на Windows. Microsoft беше въвела изключение за поддържане на съвместимост, което позволяваше използването на кръстосано подписани драйвери при определени условия:
- компютърът е ъпгрейднат или надграден от по-ранна версия на Windows до Windows 10, версия 1607;
- Secure Boot е деактивиран в BIOS;
- драйверите са подписани с удостоверение за крайно устройство, издадено преди 29 юли 2015 г., което се свързва с поддържан орган за кръстосано подписване на удостоверения, упоменато в законовите рамки;
Използване на пропуски в сигурността и внедряване на зловреден софтуер
Неотдавнашните констатации на експертите по киберсигурност хвърлят светлина върху тревожен пропуск, наличен в политиките за сигурност на Microsoft Windows. Тази вратичка позволява на участниците в заплахите да се възползват от специфично изключение, което води до подправяне на подписите на драйверите. По този начин тези участници заобикалят политиките за сигурност на сертификатите на Windows, което им позволява да внедряват злонамерен софтуер, без да ги подлагат на процеса на проверка от страна на Microsoft.
Въпросното изключение позволява подписването на новосъздадени драйвери с неотменени сертификати, издадени преди или с изтекъл срок преди 29 юли 2015 г., стига сертификатът да е свързан с поддържан кръстосан подпис на сертифициращ орган. Това означава, че драйверът, подписан по този метод, няма да се сблъска с никакви ограничения, когато бъде зареден на устройство с Windows, което предоставя възможност за изпълнение на хакерски действия.
Този пропуск в сигурността позволява на участниците в заплахите да внедряват хиляди зловредни, подписани драйвери в устройства с Windows, без да бъдат проверявани от Microsoft. За да постигнат този ефект, те използват софтуер за подправяне на времеви маркери на подписи, като HookSignTool и FuckCertVerifyTimeValidity. Тези инструменти са публично достъпни съответно от 2019 г. и 2018 г., което показва от колко време съществува тази уязвимост.
Наличност на инструменти за фалшифициране
HookSignTool, достъпен чрез GitHub от 7 януари 2020 г., и FuckCertVerifyTimeValidity, първоначално предаден в услугата за хостинг на код на 14 декември 2018 г., дава възможност на участниците в кибер-атаките да манипулират датите на подписване на драйверите. Използвайки тези инструменти, те могат да генерират фалшиви идентификация на злонамерен софтуер, като ги накарат да изглеждат легитимни и подписани с валидни сертификати.
Продължаваща заплаха за сигурността на Windows и компанията Microsoft
Съществуването на тези инструменти, в съчетание с гореспоменатата вратичка, представлява постоянна заплаха за устройствата, използващи основна операционна система – Microsoft Windows. Участниците в заплахите могат лесно да избегнат откриването и да заобиколят мерките за сигурност, като в крайна сметка компрометират целостта на системата и получават директен достъп до личните данни на потребителите. Тази ситуация подчертава колко е важно от екипа на Microsoft да предприемат бързи действия за отстраняване на тази хакерска заплаха и предотвратяване на по-нататъшното ѝ използване.
Изобретателните техники за фалшифициране на идентификационни подписи в драйвърите
Нека да навлезем в детайлите и да разгадаем сложните техники, използвани от тези участници в заплахите.
HookSignTool: Манипулиране на процеса на подписване
Cisco Talos описва HookSignTool като инструмент за фалшифициране на подписи на драйвери, който променя датата на подписване на драйвера, като се включва към API на Windows и ръчно променя таблицата за импортиране на легитимен инструмент за подписване на код. Това се постига чрез прихващане на функцията CertVerifyTimeValidity, която отговаря за проверката на валидността на сертификата във времето. Чрез промяна на времевия печат на подписването по време на изпълнението инструментът успешно фалшифицира подписа.
FuckCertVerifyTimeValidity: Заобикаляне на проверките за валидност на сертификата
FuckCertVerifyTimeValidity, както подсказва името му, заобикаля проверката на валидността на сертификата по време, като инсталира специална „кука“ във функцията crypt32!CertVerifyTimeValidity. Тази кукичка гарантира, че функцията винаги връща нулев резултат, като по същество пренебрегва времевата валидност на сертификата. Освен това тя манипулира функцията kernel32!GetLocalTime, за да върне желаното време, което позволява на участниците в заплахата да подписват сертификати от всяка избрана година. Страницата на инструмента в GitHub предоставя инструкции за ефективното използване на тази функционалност.
Експлоатация: PFX файлове и кракнати драйвери
За успешното изпълнение на фалшифицирането на подписи участниците в заплахите се нуждаят от неотменен сертификат за подписване на код, издаден преди 29 юли 2015 г., както и от private key – частен ключ, и паролата на сертификата. Cisco Talos откри над дузина сертификати за подписване на код, заедно с техните ключове и пароли, съдържащи се в PFX файл, хостван в GitHub. Все още обаче не е ясно как са били получени тези сертификати.
Освен това HookSignTool е използван за повторно подписване на кракнати драйвери – процес, който премахва значителна пречка за участниците в заплахите, опитващи се да заобиколят проверките за цялост на управлението на цифровите права – DRM. В един от случаите кракната версия на PrimoCache, легитимно софтуерно решение за кеширане, е била преподписана със сертификат, първоначално издаден на „Shenzhen Luyoudashi Technology Co., Ltd.„. Това показва как участниците в заплахите използват фалшифициране на подписи, за да заобиколят проверките на DRM в подписаните драйвери.
RedDriver: Използване на трафика на браузъра и вериги за заразяване
RedDriver, недокументиран драйвер, открит от Cisco Talos, е особено интригуващ. Този драйвер функционира като похитител на браузъри, използвайки платформата за филтриране на Windows (WFP), за да прихваща и пренасочва трафика на браузъра към localhost (127.0.0.1). Той избира на случаен принцип целеви браузър от предварително зададен списък, включващ популярни браузъри на китайски език като Liebao, QQ Browser, Sogou, UC Browser, както и основни браузъри като Google Chrome, Microsoft Edge и Mozilla Firefox.
Целта зад това пренасочване на трафика на браузъра остава неясна, но потенциалът за злоупотреба е очевиден, тъй като може да улесни манипулирането на трафика на браузъра на ниво пакет. Веригата на заразяване на RedDriver започва с изпълнението на двоичен файл с име DnfClientShell32.exe, който установява криптирана комуникация със сървър за управление и контрол (C2), за да изтегли зловредния драйвер. Тази двоична програма вероятно е прикрита като файл на игра, маскирана като легитимен източник, и вероятно е хоствана на злонамерени връзки за изтегляне.
Високотехнологична заплаха
Разработването и използването на тези атаки, базирани на драйвери, показва високото ниво на сложност, което притежават участниците в заплахата. Очевидно е, че те разбират фалшифицирането на времеви маркери на сертификати, жизнения цикъл на разработване на софтуер и сложността на разработването на злонамерени драйвери. Въпреки че заплахата изглежда е насочена предимно към жители на Китай и китайско-говорящи потребители, самите инициатори на кибер-атаката вероятно говорят китайски език, тъй като е очевидно доброто познаване на езика.
Да стоим нащрек: Злонамерени драйвери на ядрото
Тези открития съвпадат с разкритието на Sophos, че са идентифицирани над 100 зловредни драйвери за ядро, подписани от Microsoft и други реномирани компании. Някои от тези драйвери датират още от април и служат за саботиране на софтуер за сигурност или функционират като скрити rootkits – руткитове, които следят мрежовия трафик. Разполагането на злонамерени драйвери представлява значително предимство за участниците в заплахите, тъй като те са по-трудни за откриване от решенията за EDR и по-трудни за анализиране, особено когато се използват техники за замаскиране.
Появата на HookSignTool и FuckCertVerifyTimeValidity като мощни инструменти за фалшифициране на подписи разкрива тревожните уязвимости в системите Windows. Участниците в заплахите използват тези инструменти, за да манипулират процесите на подписване на драйвери, да заобикалят проверките за валидност на времето и да внедряват зловреден софтуер в операционната система.
Откриването на RedDriver допълнително подчертава сложността на тези атаки и потенциала за злоупотреби, особено при манипулиране на трафика на браузъра. Специалистите по киберсигурност трябва да останат бдителни и да прилагат надеждни мерки за противодействие на тези развиващи се заплахи и за защита на системите от зловредно използване на вече ясните уязвимости на драйверите.