Udostępnij za pośrednictwem


Konfigurowanie odpowiedzi na skanowanie złośliwego oprogramowania

Skonfiguruj automatyczne odpowiedzi na przenoszenie lub usuwanie złośliwych plików lub przenoszenie/pozyskiwanie czystych plików do innego miejsca docelowego. Wybierz preferowaną opcję odpowiedzi pasującą do architektury scenariusza.

Skanowanie w poszukiwaniu złośliwego oprogramowania umożliwia skompilowanie odpowiedzi automatyzacji przy użyciu następujących opcji wyników skanowania:

  • alerty zabezpieczeń Defender dla Chmury
  • Zdarzenia usługi Event Grid
  • Tagi indeksu obiektów blob

Napiwek

Zapraszamy do zapoznania się z funkcją skanowania złośliwego oprogramowania w usłudze Defender for Storage za pośrednictwem laboratorium praktycznego. Postępuj zgodnie z instrukcjami szkoleniowymi ninja, aby uzyskać szczegółowy przewodnik krok po kroku dotyczący konfigurowania i testowania kompleksowego skanowania złośliwego oprogramowania, w tym konfigurowania odpowiedzi na wyniki skanowania. Jest to część projektu "laboratoriów", który pomaga klientom w zwiększaniu się Microsoft Defender dla Chmury i zapewnia praktyczne doświadczenie w zakresie jego możliwości.

Poniżej przedstawiono kilka opcji odpowiedzi, których można użyć do zautomatyzowania odpowiedzi:

Blokowanie dostępu do nieskanowanych lub złośliwych plików przy użyciu kontroli dostępu opartej na atrybutach

Dostęp do złośliwych i nieskanowanych plików można zablokować za pomocą autoryzacji kontroli dostępu opartej na atrybucie (ABAC) firmy Microsoft. Umożliwia ona ustawianie dostępu warunkowego do obiektów blob na podstawie wyników skanowania oraz zezwalanie aplikacjom i użytkownikom na dostęp tylko do skanowanych plików, które są czyste.

Postępuj zgodnie z instrukcjami w poniższym filmie wideo , aby go skonfigurować.

Usuwanie lub przenoszenie złośliwego obiektu blob

Możesz użyć automatyzacji kodu lub przepływu pracy, aby usunąć lub przenieść złośliwe pliki do kwarantanny.

Przygotowywanie środowiska do usunięcia lub przeniesienia

  • Usuń złośliwy plik — przed skonfigurowaniem automatycznego usuwania zaleca się włączenie usuwania nietrwałego na koncie magazynu. Umożliwia "cofanie usuwania" plików, jeśli istnieją fałszywie dodatnie lub w przypadkach, gdy specjaliści ds. zabezpieczeń chcą zbadać złośliwe pliki.

  • Przenieś złośliwy plik do kwarantanny — możesz przenieść pliki do dedykowanego kontenera magazynu lub konta magazynu, które są uważane za "kwarantannę". Możesz chcieć, aby tylko niektórzy użytkownicy, tacy jak administrator zabezpieczeń lub analityk SOC, mieli uprawnienia dostępu do tego dedykowanego kontenera lub konta magazynu.

Konfigurowanie automatyzacji

Opcja 1. Aplikacja logiki oparta na alertach zabezpieczeń Microsoft Defender dla Chmury

Odpowiedzi oparte na aplikacji logiki to proste, bez kodu podejście do konfigurowania odpowiedzi. Jednak czas odpowiedzi jest krótszy niż podejście oparte na kodzie opartym na zdarzeniach.

  1. Wdróż szablon DeleteBlobLogicApp Azure Resource Manager (ARM) przy użyciu witryny Azure Portal.

  2. Wybierz wdrożona aplikację logiki.

  3. Dodaj przypisanie roli do aplikacji logiki, aby umożliwić jej usuwanie obiektów blob z konta magazynu:

    1. Przejdź do pozycji Tożsamość w menu bocznym i wybierz pozycję Przypisania ról platformy Azure.

      Zrzut ekranu przedstawiający sposób konfigurowania przypisania roli na potrzeby automatyzacji przepływu pracy w celu reagowania na wyniki skanowania.

    2. Dodaj przypisanie roli na poziomie subskrypcji z rolą Współautor danych obiektu blob usługi Storage.

    3. Utwórz automatyzację przepływu pracy dla alertów Microsoft Defender dla Chmury:

      1. Przejdź do Microsoft Defender dla Chmury w witrynie Azure Portal.
      2. Przejdź do pozycji Automatyzacja przepływu pracy w menu bocznym.
      3. Dodaj nowy przepływ pracy: w polu Nazwa alertu wpisz Złośliwy plik przekazany do konta magazynu i wybierz aplikację logiki w sekcji Akcje.
      4. Wybierz pozycję Utwórz.

      Zrzut ekranu przedstawiający sposób konfigurowania automatyzacji przepływu pracy w celu reagowania na wyniki skanowania.

Opcja 2. Aplikacja funkcji oparta na zdarzeniach usługi Event Grid

Aplikacja funkcji zapewnia wysoką wydajność z czasem odpowiedzi o małym opóźnieniu.

  1. Utwórz aplikację funkcji w tej samej grupie zasobów co chronione konto magazynu.

  2. Dodaj przypisanie roli dla tożsamości aplikacji funkcji.

    1. Przejdź do pozycji Tożsamość w menu bocznym, upewnij się, że stan tożsamości przypisanej przez system jest włączony i wybierz pozycję Przypisania ról platformy Azure.

    2. Dodaj przypisanie roli na poziomach subskrypcji lub konta magazynu z rolą Współautor danych obiektu blob usługi Storage.

  3. Używanie zdarzeń usługi Event Grid i łączenie funkcji platformy Azure jako typu punktu końcowego.

  4. Podczas pisania kodu funkcji platformy Azure możesz użyć naszego wstępnie utworzonego przykładu funkcji — MoveMaliciousBlobEventTrigger lub napisać własny kod , aby skopiować obiekt blob w innym miejscu, a następnie usunąć go ze źródła.

Dla każdego wyniku skanowania zdarzenie jest wysyłane zgodnie z poniższym schematem.

Struktura komunikatów o zdarzeniach

Komunikat o zdarzeniu jest obiektem JSON zawierającym pary klucz-wartość, które zawierają szczegółowe informacje o wyniku skanowania złośliwego oprogramowania. Oto podział każdego klucza w komunikacie zdarzenia:

  • id: unikatowy identyfikator zdarzenia.

  • subject: ciąg opisujący ścieżkę zasobu zeskanowanego obiektu blob (pliku) na koncie magazynu.

  • data: obiekt JSON zawierający dodatkowe informacje o zdarzeniu:

    • correlationId: unikatowy identyfikator, który może służyć do korelowania wielu zdarzeń związanych z tym samym skanowaniem.

    • blobUri: identyfikator URI zeskanowanego obiektu blob (pliku) na koncie magazynu.

    • eTag: element ETag zeskanowanego obiektu blob (pliku).

      • scanFinishedTimeUtc: sygnatura czasowa UTC po zakończeniu skanowania.

      • scanResultType: wynik skanowania, na przykład "Złośliwy" lub "Nie znaleziono zagrożeń".

      • scanResultDetails: obiekt JSON zawierający szczegółowe informacje o wyniku skanowania:

        1. malwareNamesFound: tablica nazw złośliwego oprogramowania znalezionych w zeskanowanym pliku.

        2. sha256: skrót SHA-256 zeskanowanego pliku.

  • eventType: ciąg wskazujący typ zdarzenia, w tym przypadku "Microsoft.Security.MalwareScanningResult".

  • dataVersion: numer wersji schematu danych.

  • metadataVersion: numer wersji schematu metadanych.

  • eventTime: sygnatura czasowa UTC podczas generowania zdarzenia.

  • temat: ścieżka zasobu tematu usługi Event Grid, do którego należy zdarzenie.

Oto przykład komunikatu o zdarzeniu:

{
  "id": "52d00da0-8f1a-4c3c-aa2c-24831967356b",
  "subject": "storageAccounts/<storage_account_name>/containers/app-logs-storage/blobs/EICAR - simulating malware.txt",
  "data": {
    "correlationId": "52d00da0-8f1a-4c3c-aa2c-24831967356b",
    "blobUri": "https://<storage_account_name>.blob.core.windows.net/app-logs-storage/EICAR - simulating malware.txt",
    "eTag": "0x8DB4C9327B08CBF",
    "scanFinishedTimeUtc": "2023-05-04T11:31:54.0481279Z",
    "scanResultType": "Malicious",
    "scanResultDetails": {
      "malwareNamesFound": [
        "DOS/EICAR_Test_File"
      ],
      "sha256": "275A021BBFB6489E54D471899F7DB9D1663FC695EC2FE2A2C4538AABF651FD0F"
    }
  },
  "eventType": "Microsoft.Security.MalwareScanningResult",
  "dataVersion": "1.0",
  "metadataVersion": "1",
  "eventTime": "2023-05-04T11:31:54.048375Z",
  "topic": "/subscriptions/<subscription_id>/resourceGroups/<resource_group_name>/providers/Microsoft.EventGrid/topics/<event_grid_topic_name>"
}

Dzięki zrozumieniu struktury komunikatu o zdarzeniu można wyodrębnić odpowiednie informacje o wyniku skanowania złośliwego oprogramowania i odpowiednio go przetworzyć.

Uświadom aplikacjom i przepływom danych o wynikach skanowania złośliwego oprogramowania

Skanowanie w poszukiwaniu złośliwego oprogramowania jest niemal w czasie rzeczywistym, a zwykle istnieje niewielkie okno czasowe między czasem przekazywania a czasem skanowania. Ponieważ magazyn jest niezgodny, nie ma ryzyka, że złośliwe pliki są wykonywane w magazynie. Ryzyko polega na tym, że użytkownicy lub aplikacje uzyskują dostęp do złośliwych plików i rozpowszechniają je w całej organizacji.

Istnieje kilka metod, aby aplikacje i przepływy danych wiedziały o wynikach skanowania w poszukiwaniu złośliwego oprogramowania i upewnij się, że nie ma możliwości uzyskania dostępu do pliku/przetworzenia go przed jego skanowaniem, a jego wynik został wykorzystany i działał.

Aplikacje pozyskiwania danych na podstawie wyniku skanowania

Opcja 1. Aplikacje sprawdzające tag indeksu przed przetworzeniem

Jednym ze sposobów pozyskiwania danych jest zaktualizowanie wszystkich aplikacji, które uzyskują dostęp do konta magazynu. Każda aplikacja sprawdza wynik skanowania dla każdego pliku, a jeśli wynik skanowania tagu indeksu obiektów blob nie zostanie znaleziony, aplikacja odczytuje obiekt blob.

Opcja 2. Łączenie aplikacji z elementem webhook w zdarzeniach usługi Event Grid

Możesz połączyć aplikację z elementem webhook w zdarzeniach usługi Event Grid i użyć tych zdarzeń, aby wyzwolić odpowiednie procesy dla plików, które nie mają zagrożeń znalezionych wyników skanowania. Dowiedz się więcej na temat dostarczania zdarzeń elementu webhook i sprawdzania poprawności punktu końcowego.

Używanie pośredniego konta magazynu jako strefy DMZ

Możesz skonfigurować pośredniczące konto magazynu dla niezaufanej zawartości (DMZ) i bezpośrednie przekazywanie ruchu do strefy DMZ. Na niezaufanym koncie magazynu włącz skanowanie złośliwego oprogramowania i połącz usługę Event Grid i aplikację funkcji, aby przenieść tylko obiekty blob zeskanowane z wynikiem "nie znaleziono zagrożenia" do docelowego konta magazynu.

Diagram przedstawiający sposób konfigurowania pośredniego konta magazynu jako strefy DMZ.

Następne kroki

Dowiedz się, jak zrozumieć wyniki skanowania złośliwego oprogramowania w usłudze Microsoft Defender for Storage.