Wprowadzanie własnego uczenia maszynowego do Microsoft Sentinel

Uwaga

Aby uzyskać informacje o dostępności funkcji w chmurach dla instytucji rządowych USA, zobacz tabele Microsoft Sentinel w temacie Dostępność funkcji w chmurze dla klientów rządowych USA.

Uczenie maszynowe (ML) jest jedną z głównych podstaw Microsoft Sentinel i jednym z głównych atrybutów, które ją wyróżniają. Microsoft Sentinel oferuje uczenie maszynowe w kilku obszarach: wbudowane w silnik korelacji Fusion i notesy Jupyter oraz w nowo dostępnej platformie Build-Your-Own ML (BYO ML).

Modele wykrywania uczenia maszynowego mogą dostosowywać się do poszczególnych środowisk i zmian w zachowaniu użytkowników, aby zmniejszyć liczbę fałszywie dodatnich wyników i zidentyfikować zagrożenia, których nie można znaleźć przy użyciu tradycyjnego podejścia. Wiele organizacji zabezpieczeń rozumie wartość uczenia maszynowego dla bezpieczeństwa, choć niewiele z nich ma luksus specjalistów, którzy mają doświadczenie zarówno w dziedzinie bezpieczeństwa, jak i uczenia maszynowego. Zaprojektowaliśmy strukturę przedstawioną tutaj dla organizacji zabezpieczeń i specjalistów, aby rozwijać się wraz z nami w procesie uczenia maszynowego. Organizacje, które nie mają doświadczenia w uczeniu maszynowym lub bez niezbędnej wiedzy, mogą uzyskać znaczącą wartość ochrony z wbudowanych funkcji uczenia maszynowego Microsoft Sentinel.

struktura uczenia maszynowego

Co to jest platforma "Przynieś własne uczenie maszynowe" (BYO-ML)?

W przypadku organizacji, które mają zasoby uczenia maszynowego i chcą tworzyć dostosowane modele uczenia maszynowego dla ich unikatowych potrzeb biznesowych, oferujemy platformę BYO-ML. Platforma korzysta ze środowiska Azure Databricks/Apache Spark oraz notatników Jupyter do tworzenia środowiska uczenia maszynowego. Udostępnia następujące składniki:

  • pakiet BYO-ML, który zawiera biblioteki ułatwiające dostęp do danych i przesyłanie wyników z powrotem do Log Analytics (LA), dzięki czemu można zintegrować te wyniki z wykrywaniem, analizą i wyszukiwaniem zagrożeń.

  • Szablony algorytmów uczenia maszynowego umożliwiające dostosowanie do konkretnych problemów z zabezpieczeniami w organizacji.

  • przykładowe notesy do trenowania modelu i planowania oceniania modelu.

Poza tym możesz wprowadzić własne modele uczenia maszynowego i/lub własne środowisko Spark, aby zintegrować je z Microsoft Sentinel.

Dzięki platformie BYO-ML możesz szybko rozpocząć tworzenie własnych modeli uczenia maszynowego:

  • Notatnik z przykładowymi danymi pomaga zdobyć praktyczne doświadczenie od początku do końca, bez martwienia się o obsługę danych produkcyjnych.

  • Pakiet zintegrowany ze środowiskiem Spark zmniejsza wyzwania i problemy związane z zarządzaniem infrastrukturą.

  • Biblioteki obsługują przenoszenie danych. Notesniki do trenowania i oceny prezentują kompleksowy proces od początku do końca i służą jako szablon, który można dostosować do własnego środowiska.

Przypadki użycia

Platforma i pakiet BYO-ML znacznie skracają czas i nakład pracy potrzebne do utworzenia własnych wykrywania uczenia maszynowego, a także umożliwiają rozwiązywanie określonych problemów z zabezpieczeniami w Microsoft Sentinel. Platforma obsługuje następujące przypadki użycia:

Trenowanie algorytmu uczenia maszynowego w celu uzyskania dostosowanego modelu: Możesz skorzystać z istniejącego algorytmu uczenia maszynowego (współużytkowanego przez firmę Microsoft lub społeczność użytkowników) i łatwo wytrenować go na własnych danych, aby uzyskać dostosowany model uczenia maszynowego, który lepiej pasuje do danych i środowiska.

Zmodyfikuj szablon algorytmu uczenia maszynowego, aby uzyskać dostosowany model: Możesz zmodyfikować szablon algorytmu uczenia maszynowego (współużytkowany przez firmę Microsoft lub społeczność użytkowników) i wytrenować zmodyfikowany algorytm na własnych danych, aby utworzyć dostosowany model, aby dopasować go do konkretnego problemu.

Utwórz własny model: Utwórz własny model od podstaw przy użyciu platformy i narzędzi BYO-ML Microsoft Sentinel.

Zintegruj środowisko usługi Databricks/Spark: Zintegruj istniejące środowisko usługi Databricks/Spark z Microsoft Sentinel i używaj bibliotek i szablonów BYO-ML do tworzenia modeli uczenia maszynowego w ich unikatowych sytuacjach.

Zaimportuj własny model uczenia maszynowego: Możesz zaimportować własne modele uczenia maszynowego i użyć platformy i narzędzi BYO-ML, aby zintegrować je z Microsoft Sentinel.

Udostępnianie algorytmu uczenia maszynowego: Udostępnij algorytm uczenia maszynowego dla społeczności w celu wdrożenia i dostosowania.

Użyj uczenia maszynowego, aby zwiększyć możliwości usługi SecOps: użyj własnego niestandardowego modelu uczenia maszynowego i wyników do wyszukiwania zagrożeń, wykrywania, badania i reagowania.

W tym artykule przedstawiono składniki platformy BYO-ML oraz sposób wykorzystania platformy i algorytmu dostępu do zasobów nietypowych w celu zapewnienia dostosowanego wykrywania uczenia maszynowego za pomocą Microsoft Sentinel.

Środowisko Azure Databricks/Spark

Platforma Apache Spark zrobiła krok naprzód w upraszczaniu danych big data, zapewniając ujednoliconą strukturę do tworzenia potoków danych. Azure Databricks idzie o krok dalej, oferując niewymagającą zarządzania platformę chmurową opartą na środowisku Spark. Zalecamy używanie usługi Databricks dla platformy BYO-ML, aby skoncentrować się na znajdowaniu odpowiedzi, które mają natychmiastowy wpływ na Twoją firmę, zamiast rozwiązywać problemy z potokami danych i platformą.

Jeśli masz już usługę Databricks lub inne środowisko Spark i wolisz korzystać z istniejącej konfiguracji, pakiet BYO-ML będzie również dobrze na nich działać.

Pakiet BYO-ML

Pakiet BYO ML obejmuje najlepsze praktyki i wyniki badań firmy Microsoft w obszarze uczenia maszynowego na potrzeby zabezpieczeń. W tym pakiecie udostępniamy następującą listę narzędzi, notesów i szablonów algorytmów dla problemów z zabezpieczeniami.

Nazwa pliku Opis
azure_sentinel_utilities.whl Zawiera narzędzia do odczytu obiektów blob z platformy Azure i zapisu do usługi Log Analytics.
AnomalousRASampleData Notatnik pokazuje zastosowanie modelu nietypowego dostępu do zasobów w Microsoft Sentinel z użyciem wygenerowanych przykładowych danych treningowych i testowych.
AnomalousRATraining.ipynb Notatnik do trenowania algorytmu, tworzenia i zapisywania modeli.
AnomalousRAScoring.ipynb Notatnik do planowania uruchamiania modelu, wizualizacji wyniku i zapisywania wyniku z powrotem do Microsoft Sentinel.

Pierwszy oferowany przez nas szablon algorytmu uczenia maszynowego dotyczy wykrywania nietypowego dostępu do zasobów. Jest on oparty na algorytmie filtrowania kolaboracyjnego i trenowany na podstawie dzienników dostępu do udziałów plików w systemie Windows (zdarzeń zabezpieczeń o identyfikatorze 5140). Kluczowymi informacjami potrzebnymi dla tego modelu w dzienniku jest parowanie użytkowników i zasobów, do których uzyskano dostęp.

Przykładowy opis krok po kroku: wykrywanie nietypowego dostępu do udziałów sieciowych

Teraz, gdy znasz już kluczowe składniki platformy BYO-ML, oto przykład pokazujący, jak za pomocą platformy i składników zapewnić dostosowane wykrywanie uczenia maszynowego.

Konfigurowanie środowiska usługi Databricks/Spark

Jeśli jeszcze go nie masz, musisz skonfigurować własne środowisko usługi Databricks. Aby uzyskać instrukcje, zapoznaj się z dokumentem szybkiego startu usługi Databricks .

Instrukcja automatycznego eksportowania

Aby tworzyć niestandardowe modele uczenia maszynowego na podstawie własnych danych w Microsoft Sentinel, należy wyeksportować dane z usługi Log Analytics do magazynu obiektów blob lub zasobu centrum zdarzeń, aby model uczenia maszynowego mógł uzyskiwać do nich dostęp z usługi Databricks. Dowiedz się, jak pozyskiwać dane do Microsoft Sentinel.

W tym przykładzie musisz mieć dane treningowe dla dziennika File Share Access w magazynie obiektów blob platformy Azure. Format danych jest udokumentowany w notesie i bibliotekach.

Możesz automatycznie eksportować dane z usługi Log Analytics przy użyciu interfejsu wiersza polecenia Azure.

Aby móc uruchamiać polecenia, musisz mieć przypisaną rolę Współautor w obszarze roboczym usługi Log Analytics, koncie usługi Storage i zasobie usługi EventHub.

Oto przykładowy zestaw poleceń umożliwiających skonfigurowanie automatycznego eksportowania:


az –version

# Login with Azure CLI
az login

# List all Log Analytics clusters
az monitor log-analytics cluster list

# Set to specific subscription
az account set --subscription "SUBSCRIPTION_NAME"
 
# Export to Storage - all tables
az monitor log-analytics workspace data-export create --resource-group "RG_NAME" --workspace-name "WS_NAME" -n LAExportCLIStr --destination "DESTINATION_NAME" --enable "true" --tables SecurityEvent
 
# Export to EventHub - all tables
az monitor log-analytics workspace data-export create --resource-group "RG_NAME" --workspace-name "WS_NAME" -n LAExportCLIEH --destination "DESTINATION_NAME" --enable "true" --tables ["SecurityEvent","Heartbeat"]

# List export settings
az monitor log-analytics workspace data-export list --resource-group "RG_NAME" --workspace-name "WS_NAME"

# Delete export setting
az monitor log-analytics workspace data-export delete --resource-group "RG_NAME" --workspace-name "WS_NAME" --name "NAME"

Eksportowanie danych niestandardowych

W przypadku danych niestandardowych, które nie są obsługiwane przez automatyczny eksport usługi Log Analytics, możesz przenieść dane za pomocą usługi Logic Apps lub innych rozwiązań. Możesz zapoznać się z wpisem na blogu i skryptem Eksportowanie danych usługi Log Analytics do magazynu Blob Storage.

Korelowanie z danymi spoza Microsoft Sentinel

Możesz również przenieść dane spoza Microsoft Sentinel do magazynu obiektów blob lub centrum zdarzeń i skorelować je z danymi Microsoft Sentinel w celu utworzenia modeli uczenia maszynowego.

Skopiuj pakiet BYO-ML z wcześniej wspomnianego repozytorium GitHub usługi Microsoft Sentinel do środowiska Databricks. Następnie otwórz notesy i postępuj zgodnie z instrukcjami w notesie, aby zainstalować wymagane biblioteki w klastrach.

Trenowanie i ocenianie modelu

Postępuj zgodnie z instrukcjami w dwóch notatnikach, aby dostosować konfigurację do własnego środowiska i zasobów, wykonaj kroki potrzebne do wytrenowania i zbudowania modelu, a następnie zaplanuj uruchamianie modelu do oceny napływających dzienników dostępu do udziałów plików.

Zapisywanie wyników w usłudze Log Analytics

Po zaplanowaniu oceniania możesz użyć modułu w notesie oceniania, aby zapisać wyniki oceny w obszarze roboczym usługi Log Analytics skojarzonym z wystąpieniem Microsoft Sentinel.

Sprawdzanie wyników w Microsoft Sentinel

Aby wyświetlić ocenione wyniki wraz z powiązanymi szczegółami dziennika, wróć do portalu Microsoft Sentinel. W obszarze Dzienniki> Dzienniki niestandardowe zobaczysz wyniki w tabeli AnomalousResourceAccessResult_CL (lub w tabeli o własnej nazwie). Możesz wykorzystać te wyniki, aby usprawnić swoje dochodzenia i działania związane z polowaniem na zagrożenia.

nietypowe dzienniki dostępu do zasobów

Tworzenie niestandardowej reguły analizy z wynikami uczenia maszynowego

Po potwierdzeniu, że wyniki uczenia maszynowego znajdują się w tabeli dzienników niestandardowych i jesteś zadowolony z wierności wyników, możesz utworzyć wykrywanie na podstawie wyników. Przejdź do obszaru Analiza z portalu Microsoft Sentinel i utwórz nową regułę wykrywania. Poniżej znajduje się przykład przedstawiający zapytanie użyte do utworzenia wykrywania.

tworzenie niestandardowej reguły analizy dla wykrywania B Y O M L

Wyświetlanie zdarzeń i reagowanie na nie

Po skonfigurowaniu reguły analizy na podstawie wyników uczenia maszynowego, jeśli istnieją wyniki powyżej progu ustawionego w zapytaniu, zdarzenie zostanie wygenerowane i wyświetlone na stronie Zdarzenia w Microsoft Sentinel.

Następne kroki

W tym dokumencie przedstawiono sposób używania platformy BYO-ML Microsoft Sentinel do tworzenia lub importowania własnych algorytmów uczenia maszynowego w celu analizowania danych i wykrywania zagrożeń.