Technologia

Hakerzy wykorzystują lukę w systemie Windows, aby zapewnić dostęp do jądra złośliwego oprogramowania – Ars Technica

  • 11 lipca, 2023
  • 10 min read
Hakerzy wykorzystują lukę w systemie Windows, aby zapewnić dostęp do jądra złośliwego oprogramowania – Ars Technica


Hakerzy wykorzystują lukę w systemie Windows, aby zapewnić dostęp do jądra złośliwego oprogramowania

Obrazy Getty’ego

Hakerzy używają oprogramowania typu open source, które jest popularne wśród oszustów w grach wideo, aby umożliwić złośliwemu oprogramowaniu dla systemu Windows ominięcie ograniczeń wprowadzonych przez firmę Microsoft w celu zapobiegania takim infekcjom.

Oprogramowanie ma postać dwóch narzędzi programowych, które są dostępne na GitHub. Oszuści używają ich do cyfrowego podpisywania złośliwych sterowników systemowych, aby mogli modyfikować gry wideo w sposób, który daje graczowi nieuczciwą przewagę. Sterowniki pokonują znaczną przeszkodę wymaganą do uruchomienia kodu w jądrze Windows, wzmocnionej warstwie systemu operacyjnego zarezerwowanej dla najbardziej krytycznych i wrażliwych funkcji.

Badacze z zespołu ds. bezpieczeństwa Talos firmy Cisco powiedzieli we wtorek, że wiele chińskojęzycznych grup zajmujących się zagrożeniami zmieniło przeznaczenie narzędzi — jedno o nazwie HookSignTool, a drugie FuckCertVerifyTimeValidity. Zamiast wykorzystywać dostęp do jądra do oszukiwania, cyberprzestępcy wykorzystują go, aby dać swojemu złośliwemu oprogramowaniu możliwości, których inaczej by nie posiadał.

Nowy sposób na ominięcie ograniczeń sterownika Windows

„Podczas naszych badań zidentyfikowaliśmy cyberprzestępców wykorzystujących HookSignTool i FuckCertVerifyTimeValidity, narzędzia do fałszowania sygnatur czasowych, które były publicznie dostępne odpowiednio od 2019 i 2018 r., do wdrażania tych złośliwych sterowników” – napisali naukowcy. „Chociaż zyskały one popularność w społeczności twórców gier oszukujących, zaobserwowaliśmy użycie tych narzędzi na złośliwych sterownikach Windows niezwiązanych z oszukiwaniem gier”.

Wraz z debiutem systemu Windows Vista firma Microsoft wprowadziła surowe nowe ograniczenia dotyczące ładowania sterowników systemowych, które mogą działać w trybie jądra. Sterowniki mają kluczowe znaczenie dla urządzeń współpracujących z oprogramowaniem antywirusowym, drukarkami i innymi rodzajami oprogramowania oraz urządzeniami peryferyjnymi, ale od dawna stanowią wygodną drogę dla hakerów do uruchamiania złośliwego oprogramowania w trybie jądra. Te inwazje są dostępne dla hakerów po wykorzystaniu, co oznacza, że ​​uzyskali już uprawnienia administracyjne na docelowej maszynie.

Podczas gdy osoby atakujące, które uzyskają takie uprawnienia, mogą kraść hasła i korzystać z innych swobód, ich złośliwe oprogramowanie zwykle musi działać w jądrze systemu Windows, aby wykonywać wiele bardziej zaawansowanych zadań. Zgodnie z polityką wprowadzoną w systemie Vista, wszystkie takie sterowniki można ładować dopiero po uprzednim zatwierdzeniu przez firmę Microsoft, a następnie podpisaniu cyfrowym przez zaufany urząd certyfikacji w celu sprawdzenia, czy są bezpieczne.

Twórcy szkodliwego oprogramowania z uprawnieniami administratora mieli już jeden dobrze znany sposób na łatwe ominięcie ograniczeń sterownika. Technika ta znana jest jako „przynieś własnego wrażliwego kierowcę”. Działa poprzez załadowanie publicznie dostępnego sterownika innej firmy, który został już podpisany, a później okazuje się, że zawiera lukę umożliwiającą przejęcie systemu. Hakerzy instalują exploit post sterownika, a następnie wykorzystują lukę w zabezpieczeniach sterownika, aby wstrzyknąć swoje złośliwe oprogramowanie do jądra systemu Windows.

Warto przeczytać!  Najlepsze smartfony do kupienia w Indiach poniżej 25 000 Rs w maju 2023 r.: OnePlus Nord CE 3 Lite 5G i 3 inne

Chociaż technika ta istnieje od ponad dekady, Microsoft nie opracował jeszcze działającej obrony i nie przedstawił żadnych praktycznych wskazówek dotyczących łagodzenia zagrożenia, mimo że jeden z jego dyrektorów publicznie chwalił skuteczność systemu Windows w obronie przed nim.

Technika odkryta przez Talosa stanowi nowy sposób na ominięcie ograniczeń sterownika Windows. Wykorzystuje lukę, która istniała od początku polityki, zgodnie z którą stare sterowniki nie zostały sprawdzone pod kątem bezpieczeństwa przez firmę Microsoft. Wyjątek, którego celem jest zapewnienie, że starsze oprogramowanie będzie nadal działać w systemach Windows, jest uruchamiany, gdy sterownik zostanie podpisany przez zaufany urząd certyfikacji systemu Windows przed 29 lipca 2015 r.

„Jeśli sterownik zostanie pomyślnie podpisany w ten sposób, nie będzie można go zainstalować i uruchomić jako usługi”, wyjaśnił wtorkowy post Talos. „W rezultacie opracowano wiele narzędzi open source, aby wykorzystać tę lukę. Jest to znana technika, choć często pomijana, mimo że stanowi poważne zagrożenie dla systemów Windows i jest stosunkowo łatwa do wykonania, po części dzięki temu, że narzędzia są publicznie dostępne”.

Gdy dojedziesz do blokady drogowej, wybierz objazd

HookSignTool został pierwotnie wydany w 2019 roku na chińskojęzycznym forum poświęconym łamaniu oprogramowania przez „JemmyLoveJenny”, pseudonim używany przez jego autora. Narzędzie jest dostępne na GitHub od 2020 r. FuckCertVerifyTimeValidity jest dostępne na GitHub od 2019 r. Podstawowy kod w obu narzędziach zawiera pakiet oprogramowania znany jako Microsoft Detours, który przerywa proces podpisywania sterowników w krytycznych punktach, dzięki czemu kluczowe fragmenty danych mogą zostać zmienione podczas postoju. Najważniejsza zmiana, jaką wprowadzają narzędzia, dotyczy daty podpisania.

Aktorzy tworzący zagrożenie piszą złośliwe oprogramowanie, które chcą uruchamiać w trybie jądra, i podpisują je istniejącym certyfikatem do podpisywania kodu, którego ważność wygasła lub został wydany przed 29 lipca 2015 r. W normalnych warunkach uzyskany podpis nie byłby ważny, ponieważ nie zawierałby dowód kryptograficzny Microsoft zweryfikował go jako bezpieczny. Używając HookSignTool lub FuckCertVerifyTimeValidity, hakerzy (lub oszuści gier) manipulują funkcją CertTimeValidity używaną przez Microsoft podczas procesu podpisywania. Firma Microsoft używa tej funkcji do określenia, czy kod kwalifikuje się do wyjątku podpisywania sterowników. Po podpisaniu złośliwego sterownika za pomocą tego narzędzia system Windows nie wymusi wymogu podpisania go również przez portal dla programistów.

Badacze Talosa wyjaśnili:

Dołączając do CertVerifyTimeValidity Funkcja HookSignTool wykonuje „objazd” do niestandardowej implementacji CertVerifyTimeValidity o imieniu NewCertVerifyTimeValidity. Pozwala to HookSignTool przekazać niestandardowy czas w parametrze „pTimeToVerify”, umożliwiając w ten sposób zweryfikowanie nieprawidłowego czasu.

Aby zmienić znacznik czasu podpisywania podczas wykonywania, HookSignTool ponownie używa funkcji DetourAttach w celu dołączenia do funkcji Windows API GetLocalTime i objazdów do innej funkcji o nazwie NewGetLocalTime. Ten objazd zastępuje czas lokalny datą podaną przez użytkownika, która mieści się w zakresie ważności używanego certyfikatu. Po obejściu zarówno GetLocalTime, jak i CertVerifyTimeValidity, HookSignTool może dostarczyć i zweryfikować nielegalny znacznik czasu dla docelowego pliku binarnego.

Badacze kontynuowali:

FuckCertVerifyTimeValidity działa w podobny sposób jak HookSignTool, ponieważ używa pakietu Microsoft Detours do dołączania do wywołania API „CertVerifyTimeValidity” i ustawia znacznik czasu na wybraną datę. Podobnie jak HookSignTool, funkcja musi zostać dodana do tabeli importu legalnego narzędzia do podpisywania, ale w tym przypadku jest to „FuckCertVerifyTimeValidity.dll!test”. W przeciwieństwie do HookSignTool, FuckCertVerifyTimeValidity nie pozostawia artefaktów w pliku binarnym, który podpisuje, co bardzo utrudnia identyfikację, kiedy to narzędzie zostało użyte.

Ta technika działa na każdym skradzionym lub wygasłym certyfikacie, o ile (1) został naruszony, co oznacza, że ​​osoba atakująca uzyskała hasło i odpowiadający mu prywatny klucz szyfrujący oraz (2) certyfikat wygasł lub został wydany przed 29 lipca 2015 r. Niektóre z częściej nadużywanych takich certyfikatów to partia 13, które zostały uwzględnione w rozwidlonej wersji FuckCertVerifyTimeValidity. Oszuści gier używają ich od lat. Niedawno cyberprzestępcy robili to samo.

Warto przeczytać!  Wipro Consumer przejmuje od VVF 3 marki mydeł Jo, Doy i Bacter Shield

Trzy certyfikaty pochodziły z włamania przeprowadzonego w 2015 r. przez Hacking Team, twórcę exploitów oprogramowania, które sprzedał rządom na całym świecie. Pozostałe 10 było dostępnych od lat na chińskojęzycznym forum poświęconym łamaniu oprogramowania. Certyfikaty to:

● Deweloper Open Source, William Zoltan
● Luca Marcone
● HT Srl
● Pekin JoinHope Image Technology Ltd.
● Shenzhen Luyoudashi Technology Co., Ltd.
● Ocena bezpieczeństwa innowacji Jiangsu Co., Ltd.
● Baoji zhihengtaiye co., ltd
● Zhuhai liancheng Technology Co., Ltd.
● Fuqing Yuntan Network Tech Co., Ltd.
● Pekin Chunbai Technology Development Co., Ltd
● 绍兴易游网络科技有限公司
● 善君韦
● NHN USA Inc.

Walenie kretów

Badacze Talos powiadomili Microsoft o swoich odkryciach wcześniej, a w odpowiedzi producent oprogramowania udostępnił we wtorek aktualizację systemu Windows, która blokuje wszystkie certyfikaty zgłoszone przez Talos.

„Microsoft wydał aktualizacje Windows Security (patrz tabela Aktualizacje zabezpieczeń), które nie ufają sterownikom i certyfikatom podpisywania sterowników dla plików, których dotyczy problem, i zawiesił konta sprzedawców partnerów” – napisali przedstawiciele firmy w poradniku. „Dodatkowo firma Microsoft wdrożyła wykrywanie blokujące (Microsoft Defender 1.391.3822.0 i nowsze), aby pomóc chronić klientów przed legalnie podpisanymi sterownikami, które zostały złośliwie użyte w działaniach po wykorzystaniu luk w zabezpieczeniach”. Więcej informacji znajduje się tutaj.

Warto przeczytać!  5 niezwykle dochodowych biznesów GTA Online w 2023 roku

Jak zauważyłem w październiku zeszłego roku, system Windows nie mógł poprawnie pobrać i zastosować aktualizacji listy zablokowanych sterowników, mimo że jeden z jego dyrektorów publicznie zapewnił, że jest inaczej. Próby Microsoftu blokowania podpisanych sterowników wykorzystywanych złośliwie były albo (1) połączeniem tak zwanej integralności pamięci i HVCI, skrótem od Hypervisor-Protected Code Integrity, albo (2) oddzielnym mechanizmem zapobiegania zapisywaniu złych sterowników na dysku, znanym jako ASR, czyli redukcja powierzchni ataku.

Zgłaszając artykuł z października, otrzymałem w pełni zaktualizowaną maszynę z systemem Windows 10 do zainstalowania niektórych sterowników, które według Microsoft zostały zablokowane. Badacze bezpieczeństwa przeprowadzili testy, które również wykazały, że system Windows zainstalował rzekomo zablokowane sterowniki. Jednym z badaczy był Will Dormann, który znalazł dwie dziury w zabezpieczeniach. Jednym z nich było to, że lista sterowników nie była aktualizowana od 2019 roku, pomimo zapewnień Microsoftu, że jest inaczej. Drugi: nie mógł znaleźć żadnych dowodów na to, że ASR w ogóle działa.

„Blokowanie wrażliwych sterowników Microsoftu zostało zasadniczo całkowicie zepsute zeszłej jesieni”, powiedział mi Dormann we wtorek, „Ale naprawili to, więc lista blokad działa i jest dystrybuowana do punktów końcowych”.

Powiedział, że poprawka Microsoftu polegała na dystrybucji pliku o nazwiedriversipolicy.p7b do punktów końcowych „raz lub dwa razy w roku”. Wraz z wtorkową aktualizacją Microsoft udostępnił nowy plik o nazwie driver.stl, który zawiera certyfikaty znalezione przez Talosa.

Działania Microsoftu są kontynuacją bezkompromisowego podejścia firmy do problemu szkodliwych sterowników wykorzystywanych w scenariuszach post-exploit, czyli po uzyskaniu przez hakera uprawnień administratora. Podejście to polega na blokowaniu sterowników, o których wiadomo, że są używane złośliwie, ale nie robieniu nic, aby zamknąć otwartą lukę. Dzięki temu atakujący mogą po prostu użyć nowej partii sterowników, aby zrobić to samo. Jak wykazano w przeszłości i teraz, Microsoft często nie wykrywa sterowników, które były wykorzystywane złośliwie przez lata.

Trzeba przyznać Microsoftowi, że działające rozwiązanie jest nieuchwytne, ponieważ wiele wrażliwych sterowników nadal jest legalnie używanych przez dużą liczbę płacących klientów. Cofnięcie takich sterowników może spowodować, że kluczowe oprogramowanie na całym świecie nagle przestanie działać.

Biorąc pod uwagę, że sterowników można używać w celach złośliwych dopiero po uzyskaniu przez hakera uprawnień systemowych, najlepszą obroną jest przede wszystkim zapobieganie kompromisom. Osoby, które chcą sprawdzić, czy ich systemy zostały zainfekowane techniką odkrytą przez Talosa, mogą szukać artefaktów pozostawionych przez jedno z dwóch narzędzi. Jak zauważył Microsoft, wiele programów antywirusowych może również wykrywać aplikacje zainstalowane ze sterownikami.


Źródło