Dlaczego CrowdStrike spowodował pojawienie się niebieskiego ekranu w systemie Windows?

cyberfeed.pl 1 miesiąc temu


David William Plummer, były inżynier systemu w firmie Microsoft, który opracował Menedżera zadań systemu Windows, opublikował wideo opisując jak Aktualizacja CrowdStrike mogło spowodować zatrzymanie systemu Windows.

Opisał CrowdStrike Falcon jako oprogramowanie antywirusowe dla serwerów Windows, który „proaktywnie wykrywa nowe ataki” i analizuje zachowanie aplikacji. Aby to zrobić, CrowdStrike musi działać jako sterownik urządzenia jądra.

Sterowniki urządzeń jądra zwykle zapewniają sposób na abstrakcję sprzętu, takiego jak karty graficzne, od aplikacji. Gdy są uruchamiane, mają zwykle pełny dostęp do komputera i systemu operacyjnego, a w terminologii systemów operacyjnych mówi się, iż działają w „Ring Zero”. Różni się to od kodu aplikacji, który użytkownicy uruchamiają w przestrzeni użytkownika systemu operacyjnego znanej jako „Ring One”.

Różnica, jak zauważa Plummer, polega na tym, iż gdy aplikacja użytkownika ulega awarii, nic innego na komputerze nie powinno zostać naruszone. Jednak błąd w kodzie działającym w Ring Zero jest uważany za tak poważny, iż system operacyjny natychmiast się zatrzymuje, co w systemie Windows skutkuje tzw. Blue Screen of Death.

„Chociaż nie komunikuje się z żadnym urządzeniem sprzętowym, CrowdStrike, pisząc kod jako sterownik urządzenia, funkcjonuje w jądrze Ring Zero i ma pełny i nieograniczony dostęp do struktur danych systemowych oraz usług, które według CrowdStrike są mu potrzebne do wykonywania jego zadań” — powiedział Plummer.

Certyfikowane sterowniki urządzeń

Plummer zauważył, iż Microsoft, a prawdopodobnie także CrowdStrike, zdaje sobie sprawę ze stawek, jakie niesie za sobą uruchamianie kodu w trybie jądra przez oprogramowanie, dodając: „Dlatego Microsoft oferuje certyfikat WHQL [Windows Hardware Quality Labs] orzecznictwo.”

Według Plummera certyfikacja obejmuje dostawców systemu sterowników urządzeń, którzy testują swój kod na różnych platformach i konfiguracjach systemu. Kod jest następnie podpisany cyfrowo przez Microsoft, co potwierdza jego zgodność z systemem operacyjnym Windows. Plummer powiedział, iż proces certyfikacji oznacza, iż ​​użytkownicy systemu Windows mogą być w miarę pewni, iż oprogramowanie sterownika jest solidne i godne zaufania.

Certyfikacja jest zbyt powolna, aby zapewnić, iż ochrona antymalware, taka jak CrowdStrike, jest wydawana jako aktualizacje systemu za każdym razem, gdy pojawia się nowe zagrożenie. Plummer uważa, iż ​​bardziej prawdopodobne jest, iż CrowdStrike będzie często wypuszczał plik definicji, który jest przetwarzany przez sterownik jądra systemu Windows. To omija proces certyfikacji sterowników urządzeń WHQL i oznacza, iż ​​użytkownicy mają dostęp do najnowszej ochrony.

„Może już widzisz problem” – dodał. „Załóżmy na chwilę, iż Plik definicji dynamicznej CrowdStrike nie jest jedynie definicją złośliwego oprogramowania, ale kompletnym programem napisanym w pseudokodzie, który sterownik może następnie uruchomić.”

Powiedział, iż pozwoliłoby to sterownikowi urządzenia z CrowdStrike na wykonanie pliku definicji jako kodu działającego w jądrze Windows w Ring Zero, mimo iż sama aktualizacja nigdy nie została podpisana. „Executive p-code [pseudocode] „W najlepszym wypadku podejmowanie takich działań w jądrze jest ryzykowne, a w najgorszym — proszenie się o kłopoty” — powiedział Plummer.

Plummer stwierdził, iż przeglądając zrzuty pamięci opublikowane na X (dawniej Twitter), „odwołanie do zerowego wskaźnika” spowodowało, iż sterownik urządzenia CrowdStrike przesłał pusty plik zawierający zera, a nie sam pseudokod.

„Nie wiemy, jak ani dlaczego to się stało, ale wiemy, iż sterownik CrowdStrike, który obsługuje i przetwarza te aktualizacje, nie jest zbyt odporny i prawdopodobnie nie posiada wystarczających funkcji sprawdzania błędów i walidacji parametrów” – dodał.

Są one potrzebne, aby zapewnić, iż wartości danych wymagane przez oprogramowanie są prawidłowe i dobre. jeżeli nie są, błąd nie powinien spowodować awarii całego systemu, powiedział Plummer.

Chociaż często możliwe jest ponowne uruchomienie systemu Windows z ostatniego znanego „dobrego stanu”, co może usunąć złośliwe sterowniki jądra, które uniemożliwiają uruchomienie systemu operacyjnego, Plummer powiedział, iż sytuację pogarsza fakt, iż CrowdStrike jest oznaczony jako sterownik rozruchowy, co oznacza, iż ​​jest potrzebny do prawidłowego uruchomienia systemu Windows.

Choć pozostało za wcześnie, aby stwierdzić, jak zagwarantować, iż taka sytuacja nigdy się nie powtórzy, jasne jest, iż certyfikat WHQL firmy Microsoft ma poważne ograniczenia, które pozwoliły firmie CrowdStrike zainstalować aktualizację systemu antywirusowego, która wywarła tak niszczycielski wpływ na społeczność użytkowników systemu Windows.



Source link

Idź do oryginalnego materiału