Udostępnij za pośrednictwem


Integracja interfejsu AMSI (Anti-Malware Scan Interface) z programem antywirusowym Microsoft Defender

Dotyczy:

  • Microsoft Defender XDR
  • Program antywirusowy Microsoft Defender
  • Ochrona punktu końcowego w usłudze Microsoft Defender P1 & P2
  • Microsoft Defender dla Firm
  • Microsoft Defender dla użytkowników indywidualnych

Platformy:

  • System Windows 10 lub nowszy
  • Windows Server 2016 i nowsze

Ochrona punktu końcowego w usłudze Microsoft Defender korzysta z interfejsu skanowania przed złośliwym oprogramowaniem (AMSI) w celu zwiększenia ochrony przed złośliwym oprogramowaniem bez plików, dynamicznymi atakami opartymi na skryptach i innymi nietradycyjnymi zagrożeniami cybernetycznymi. W tym artykule opisano zalety integracji z usługą AMSI, typy obsługiwanych języków skryptów oraz sposób włączania interfejsu AMSI w celu zwiększenia bezpieczeństwa.

Co to jest złośliwe oprogramowanie bez plików?

Złośliwe oprogramowanie bez plików odgrywa kluczową rolę w nowoczesnych cyberatakach przy użyciu ukrytych technik w celu uniknięcia wykrycia. Kilka poważnych epidemii oprogramowania wymuszającego okup używało metod bezplikowych w ramach łańcuchów zabijania.

Złośliwe oprogramowanie bez plików używa istniejących narzędzi, które są już obecne na urządzeniu, których zabezpieczenia zostały naruszone, takich jak PowerShell.exe lub wmic.exe. Złośliwe oprogramowanie może przeniknąć do procesu, wykonując kod w przestrzeni pamięci i wywołując te wbudowane narzędzia. Osoby atakujące znacznie zmniejszają swój ślad i unikają tradycyjnych mechanizmów wykrywania.

Ponieważ pamięć jest nietrwała, a złośliwe oprogramowanie bez plików nie umieszcza plików na dysku, ustanowienie trwałości przy użyciu złośliwego oprogramowania bez plików może być trudne. Jednym z przykładów osiągnięcia trwałości złośliwego oprogramowania bez plików było utworzenie klucza uruchomienia rejestru, który uruchamia polecenie cmdlet programu PowerShell "one-liner". To polecenie uruchomiło zaciemniony skrypt programu PowerShell, który był przechowywany w rejestrze obiektów BLOB. Zaciemniony skrypt programu PowerShell zawierał odblaskowy przenośny moduł ładujący wykonywalny (PE), który ładował kodowany w formacie Base64 pe z rejestru. Skrypt przechowywany w rejestrze zapewnił utrwalanie złośliwego oprogramowania.

Osoby atakujące używają kilku technik bez plików, które mogą sprawić, że implanty złośliwego oprogramowania będą niewidoczne i wymijające. Te techniki obejmują:

  • Odblaskowe wstrzyknięcie biblioteki DLL: Odblaskowe wstrzyknięcie biblioteki DLL obejmuje ręczne ładowanie złośliwych bibliotek DLL do pamięci procesu bez konieczności używania tych bibliotek DLL na dysku. Złośliwą bibliotekę DLL można hostować na zdalnej maszynie kontrolowanej przez osobę atakującą i dostarczać za pośrednictwem przygotowanego kanału sieciowego (na przykład protokołu TLS) transport layer security lub osadzonego w zaciemnionym formularzu wewnątrz wektorów infekcji, takich jak makra i skrypty. Ta konfiguracja powoduje unikanie działania mechanizmu systemu operacyjnego, który monitoruje i śledzi ładowanie modułów wykonywalnych. Przykładem złośliwego oprogramowania używającego odblaskowej iniekcji biblioteki DLL jest HackTool:Win32/Mikatz!dha.

  • Luki w zabezpieczeniach pamięci: przeciwnicy używają luk w zabezpieczeniach pamięci bez plików, aby zdalnie uruchamiać dowolny kod na maszynach ofiar. Na przykład zagrożenie UIWIX używa exploita EternalBlue, który był używany zarówno przez Petyę, jak i WannaCry, do zainstalowania tylnych drzwi DoublePulsar i znajduje się w całości w pamięci jądra (tabela wysyłki SMB). W przeciwieństwie do petyi i Wannacry, UIWIX nie porzuca żadnych plików na dysku.

  • Techniki oparte na skryptach: języki skryptów zapewniają zaawansowane sposoby dostarczania ładunków wykonywalnych tylko dla pamięci. Pliki skryptów mogą osadzać kody powłoki lub pliki binarne, które mogą odszyfrować na bieżąco w czasie wykonywania i wykonywać za pośrednictwem obiektów platformy .NET lub bezpośrednio za pomocą interfejsów API bez konieczności ich zapisu na dysku. Same skrypty mogą być ukryte w rejestrze, odczytywane ze strumieni sieciowych lub uruchamiane ręcznie w wierszu polecenia przez osobę atakującą bez konieczności dotykania dysku.

    Uwaga

    Nie wyłączaj programu PowerShell jako sposobu blokowania złośliwego oprogramowania bez plików. Program PowerShell jest zaawansowanym i bezpiecznym narzędziem do zarządzania i jest ważny dla wielu funkcji systemowych i INFORMATYCZNych. Osoby atakujące używają złośliwych skryptów programu PowerShell jako techniki po użyciu, która może mieć miejsce dopiero po wystąpieniu początkowego naruszenia zabezpieczeń. Jego nieprawidłowe użycie jest objawem ataku, który rozpoczyna się od innych złośliwych działań, takich jak eksploatacja oprogramowania, inżynieria społeczna lub kradzież poświadczeń. Kluczem jest zapobieganie przedejściem osoby atakującej do pozycji, w której może ona nadużywać programu PowerShell.

    Porada

    Zmniejszenie liczby niepodpisanych skryptów programu PowerShell w środowisku pomaga zwiększyć poziom zabezpieczeń. Poniżej przedstawiono instrukcje dotyczące dodawania podpisywania do skryptów programu PowerShell używanych w środowisku Hey, Scripting Guy! Jak mogę podpisać skrypty Windows PowerShell przy użyciu infrastruktury PKI systemu Windows dla przedsiębiorstw? (Część 2 z 2) | Blog dotyczący skryptów

  • Trwałość usługi WMI: niektórzy osoby atakujące używają repozytorium Instrumentacja zarządzania Windows (WMI) do przechowywania złośliwych skryptów, które są następnie wywoływane okresowo przy użyciu powiązań WMI. Microsoft Defender Antivirus blokuje większość złośliwego oprogramowania przy użyciu ogólnego, heurystycznego i opartego na zachowaniu wykrywania, a także lokalnych i chmurowych modeli uczenia maszynowego. program antywirusowy Microsoft Defender chroni przed złośliwym oprogramowaniem bez plików dzięki następującym funkcjom:

    • Wykrywanie technik opartych na skryptach przy użyciu interfejsu AMSI, który umożliwia inspekcję programu PowerShell i innych typów skryptów, nawet w przypadku wielu warstw zaciemniania
    • Wykrywanie i korygowanie technik trwałości usługi WMI przez skanowanie repozytorium WMI, zarówno okresowo, jak i za każdym razem, gdy występuje nietypowe zachowanie
    • Wykrywanie refleksyjnej iniekcji biblioteki DLL za pomocą ulepszonych technik skanowania pamięci i monitorowania behawioralnego

Dlaczego amsi?

Interfejs AMSI zapewnia głębszy poziom inspekcji złośliwego oprogramowania, który wykorzystuje techniki zaciemniania i uchylania się od płacenia podatków na wbudowanych hostach skryptów systemu Windows. Integrując interfejs AMSI, Ochrona punktu końcowego w usłudze Microsoft Defender oferuje dodatkowe warstwy ochrony przed zaawansowanymi zagrożeniami.

Obsługiwane języki skryptów

  • PowerShell
  • Jscript
  • VBScript
  • Host skryptów systemu Windows (wscript.exe i cscript.exe)
  • .NET Framework 4.8 lub nowszy (skanowanie wszystkich zestawów)
  • Instrumentacja zarządzania Windows (WMI)

Jeśli używasz Aplikacje Microsoft 365, usługa AMSI obsługuje również języki JavaScript, VBA i XLM.

Interfejs AMSI nie obsługuje obecnie języka Python ani języka Perl.

Włączanie usługi AMSI

Aby włączyć usługę AMSI, należy włączyć skanowanie skryptów. Zobacz Konfigurowanie opcji skanowania dla programu antywirusowego Microsoft Defender.

Zobacz również dostawca CSP zasad usługi Defender — Zarządzanie klientami systemu Windows.

Zasoby amsi

Interfejsy API interfejsu AMSI (Anti-Malware Scan Interface) są dostępne dla deweloperów i dostawców oprogramowania antywirusowego do zaimplementowania.

Inne produkty firmy Microsoft, takie jak Exchange i Sharepoint , również korzystają z integracji z usługą AMSI.

Więcej zasobów do ochrony przed atakami bez plików

  • Kontrolka aplikacji usługi Windows Defender i funkcja AppLocker. Wymusza silne zasady integralności kodu i zezwala na uruchamianie tylko zaufanych aplikacji. W kontekście złośliwego oprogramowania bez plików program WDAC blokuje program PowerShell do trybu ograniczonego języka, co ogranicza rozszerzone funkcje języka, które mogą prowadzić do nieweryfikowalnego wykonywania kodu, takiego jak bezpośrednie skrypty platformy .NET, wywoływanie interfejsów API Win32 za pośrednictwem polecenia cmdlet Add-Type i interakcja z obiektami COM. Zasadniczo zmniejsza to ryzyko ataków polegających na odblaskowej iniekcji biblioteki DLL opartej na programie PowerShell.

  • Zmniejszenie obszaru podatnego na ataki pomaga administratorom chronić się przed typowymi wektorami ataków.

  • Włącz ochronę integralności kodu opartą na wirtualizacji. Eliminuje luki w zabezpieczeniach pamięci jądra za pomocą funkcji Hypervisor Code Integrity (HVCI), co utrudnia wstrzyknięcie złośliwego kodu przy użyciu luk w zabezpieczeniach oprogramowania w trybie jądra.