Nowo odkryta technika ataku może zostać wykorzystana do ominięcia Driver Signature Enforcement (DSE) Microsoftu w całkowicie załatanych systemach Windows, co doprowadzi do ataków polegających na obniżeniu wersji systemu operacyjnego (OS).
Obejście umożliwia załadowanie niepodpisanych sterowników jądra, dając atakującym możliwość wdrażania niestandardowych rootkitów, które mogą neutralizować kontrole bezpieczeństwa, ukrywać procesy i aktywność sieciową – informuje analityk z SafeBreach Alon Leviev.
Najnowsze ustalenia opierają się na wcześniejszej analizie, która ujawniła dwie luki w eskalacji uprawnień w procesie aktualizacji systemu Windows (CVE-2024-21302 i CVE-2024-38202). Mogą one być wykorzystane do wycofania aktualnego systemu Windows do starszej wersji, zawierającej niezałatane błędy.
Exploit zmaterializował się w formie narzędzia nazwanego Windows Downdate, które według Levieva mogło zostać użyte do przejęcia procesu Windows Update w celu stworzenia całkowicie niewykrywalnych, trwałych i nieodwracalnych obniżeń wersji krytycznych komponentów systemu operacyjnego.
Może mieć to poważne konsekwencje, ponieważ stwarza atakującym lepszą alternatywę dla ataków Bring Your Own Vulnerable Driver (BYOVD), umożliwiając obniżenie wersji modułów Windows, w tym choćby samego jądra systemu operacyjnego.
Microsoft oczywiście zajął się lukami CVE-2024-21302 i CVE-2024-38202 odpowiednio 13 sierpnia i 8 października 2024 r. w ramach aktualizacji Patch Tuesday, jednak problemu nie rozwiązano do końca.
Nowatorskie podejście do podatności typu OS Downgrade
Najnowsze podejście opracowane przez Levieva wykorzystuje narzędzie do obniżania wersji w celu downgrade’u obejścia modułu DSE „ItsNotASecurityBoundary” w całkowicie zaktualizowanym systemie Windows 11.
ItsNotASecurityBoundary zostało po raz pierwszy udokumentowane przez Gabriela Landaua, badacza Elastic Security Labs, w lipcu 2024 r., wraz z PPLFault i opisane jako nowa klasa błędów w Microsoft o nazwie kodowej False File Immutability. w uproszczeniu wykorzystuje ona warunek wyścigu, aby zastąpić zweryfikowany plik w katalogu zabezpieczeń złośliwą wersją dla niepodpisanego sterownika jądra, po czym atakujący prosi jądro o załadowanie sterownika. Mechanizm integralności kodu Microsoft, używany do uwierzytelniania pliku przy użyciu biblioteki ci.dll, następnie analizuje podstawiony katalog zabezpieczeń, aby zweryfikować podpis sterownika i załadować go, skutecznie przyznając atakującemu możliwość wykonania dowolnego kodu w jądrze.
Ogólnie rzecz biorąc, istnieje bariera bezpieczeństwa, która może uniemożliwić powodzenie takiego obejścia. jeżeli Virtualization-Based Security (VBS) jest uruchomiony na docelowym hoście, skanowanie katalogu jest przeprowadzane przez Secure Kernel Code Integrity DLL (skci.dll), w przeciwieństwie do ci.dll. Warto jednak zauważyć, iż domyślną konfiguracją jest VBS bez blokady Unified Extensible Firmware Interface (UEFI). Atakujący może ją wyłączyć, manipulując kluczami rejestru EnableVirtualizationBasedSecurity i RequirePlatformSecurityFeatures.
Nawet w przypadkach, gdy blokada UEFI jest włączona, atakujący może wyłączyć VBS, zastępując jeden z plików jądra nieprawidłowym odpowiednikiem. Ostatecznie atakujący musi wykonać następujące kroki eksploitacji:
- Wyłączenie VBS w rejestrze systemu Windows lub unieważnienie SecureKernel.exe.
- Zmiana wersji pliku ci.dll na wersję bez poprawki.
- Ponowne uruchomienie komputera.
- Wykorzystanie obejścia DSE ItsNotASecurityBoundary w celu wykonania kodu na poziomie jądra.
Jedynym przypadkiem, w którym exploit się nie powiedzie, jest włączenie VBS z blokadą UEFI i flagą „Mandatory”, z których ostatnia powoduje awarię rozruchu, gdy pliki VBS są uszkodzone. Tryb obowiązkowy jest włączany manualnie dzięki zmiany rejestru. W każdym innym trybie umożliwiamy atakującemu wyłączenie funkcji zabezpieczeń, wykonanie downgrade’u DDL i osiągnięcie obejścia DSE.
Zaawansowane rozwiązania bezpieczeństwa powinny zapobiegać zabiegom obniżenia wersji wszelkiego rodzaju. Warto monitorować takie niestandardowe procesy, choćby jeżeli są wykonywane przez administratorów systemów.