Usare Machine Learning (ML) in Microsoft Sentinel

Nota

Per informazioni sulla disponibilità delle funzionalità nei cloud us government, vedere le tabelle di Microsoft Sentinel nella disponibilità delle funzionalità cloud per i clienti del governo degli Stati Uniti.

Machine Learning (ML) è uno dei principali elementi di base di Microsoft Sentinel e uno degli attributi principali che lo separano. Microsoft Sentinel offre ML in diverse esperienze: predefinite per il motore di correlazione Fusion e i notebook di Jupyter e la nuova piattaforma Build-Your-Own ML (BYO ML).

I modelli di rilevamento ml possono adattarsi ai singoli ambienti e alle modifiche nel comportamento dell'utente, per ridurre i falsi positivi e identificare le minacce che non si trovano con un approccio tradizionale. Molte organizzazioni di sicurezza comprendono il valore di ML per la sicurezza, anche se non molti di loro hanno il lusso di professionisti che hanno esperienza sia nella sicurezza che in ML. Abbiamo progettato il framework presentato qui per le organizzazioni e i professionisti della sicurezza per crescere con noi nel percorso di Machine Learning. Le organizzazioni che non hanno esperienza nel Machine Learning o senza le competenze necessarie possono ottenere un valore di protezione significativo dalle funzionalità di Machine Learning predefinite di Microsoft Sentinel.

Framework di Machine Learning

Che cos'è la piattaforma Bring Your Own Machine Learning (BYO-ML)?

Per le organizzazioni che dispongono di risorse di Machine Learning e vogliono creare modelli di Machine Learning personalizzati per le proprie esigenze aziendali specifiche, offriamo la piattaforma BYO-ML. La piattaforma usa l'ambienteApache Spark di Azure Databricks/ e jupyter Notebook per produrre l'ambiente di Machine Learning. Fornisce i componenti seguenti:

  • un pacchetto BYO-ML, che include librerie che consentono di accedere ai dati ed eseguire il push dei risultati in Log Analytics (LA), in modo da poter integrare i risultati con il rilevamento, l'indagine e la ricerca.

  • Modelli di algoritmi ml da personalizzare per adattarsi a specifici problemi di sicurezza nell'organizzazione.

  • notebook di esempio per eseguire il training del modello e pianificare il punteggio del modello.

Oltre a tutto questo, è possibile usare modelli di Machine Learning personalizzati e/o il proprio ambiente Spark per l'integrazione con Microsoft Sentinel.

Con la piattaforma BYO-ML, è possibile iniziare a creare modelli di Machine Learning personalizzati:

  • Il notebook con dati di esempio consente di ottenere un'esperienza end-to-end pratica, senza doversi preoccupare della gestione dei dati di produzione.

  • Il pacchetto integrato con l'ambiente Spark riduce le sfide e gli attriti nella gestione dell'infrastruttura.

  • Le librerie supportano gli spostamenti dei dati. I notebook di training e assegnazione dei punteggi dimostrano l'esperienza end-to-end e fungono da modello per adattarsi all'ambiente.

Casi d'uso

La piattaforma BYO-ML e il pacchetto riducono significativamente il tempo e le attività necessarie per creare rilevamenti di Machine Learning personalizzati e sfruttano la possibilità di risolvere problemi di sicurezza specifici in Microsoft Sentinel. La piattaforma supporta i casi d'uso seguenti:

Eseguire il training di un algoritmo di Machine Learning per ottenere un modello personalizzato: È possibile usare un algoritmo di Machine Learning esistente (condiviso da Microsoft o dalla community degli utenti) ed eseguirne facilmente il training sui propri dati per ottenere un modello di Machine Learning personalizzato più adatto ai dati e all'ambiente.

Modificare un modello di algoritmo ml per ottenere un modello personalizzato: È possibile modificare un modello di algoritmo di Machine Learning (condiviso da Microsoft o dalla community degli utenti) ed eseguire il training dell'algoritmo modificato sui propri dati per derivare un modello personalizzato in base al problema specifico.

Creare un modello personalizzato: Creare un modello personalizzato da zero usando la piattaforma e le utilità BYO-ML di Microsoft Sentinel.

Integrare l'ambiente Databricks/Spark: Integrare l'ambiente Databricks/Spark esistente in Microsoft Sentinel e usare librerie e modelli BYO-ML per creare modelli di Machine Learning per le proprie situazioni specifiche.

Importare un modello di Machine Learning personalizzato: È possibile importare modelli di Machine Learning personalizzati e usare la piattaforma e le utilità BYO-ML per integrarle con Microsoft Sentinel.

Condividere un algoritmo di Machine Learning: Condividere un algoritmo di Machine Learning per consentire alla community di adottare e adattarsi.

Usare ML per supportare secOps: usare il proprio modello di Machine Learning personalizzato e i risultati per la ricerca, i rilevamenti, l'analisi e la risposta.

Questo articolo illustra i componenti della piattaforma BYO-ML e come sfruttare la piattaforma e l'algoritmo Anomalous Resource Access per fornire un rilevamento personalizzato di Machine Learning con Microsoft Sentinel.

Ambiente Azure Databricks/Spark

Apache Spark ha fatto un passo avanti per semplificare i Big Data fornendo un framework unificato per la creazione di pipeline di dati. Azure Databricks offre una piattaforma cloud a gestione zero basata su Spark. È consigliabile usare Databricks per la piattaforma BYO-ML, in modo da poter concentrarsi sulla ricerca di risposte che influisce immediatamente sull'azienda, invece di affrontare le pipeline di dati e i problemi della piattaforma.

Se si dispone già di Databricks o di qualsiasi altro ambiente Spark e si preferisce usare la configurazione esistente, il pacchetto BYO-ML funzionerà anche su di essi.

Pacchetto BYO-ML

Il pacchetto BYO ML include le procedure consigliate e la ricerca di Microsoft nel front-end del Machine Learning per la sicurezza. In questo pacchetto viene fornito l'elenco seguente di utilità, notebook e modelli di algoritmo per i problemi di sicurezza.

Nome file Descrizione
azure_sentinel_utilities.whl Contiene utilità per la lettura di BLOB da Azure e la scrittura in Log Analytics.
AnomalousRASampleData Notebook illustra l'uso del modello Di accesso alle risorse anomalo in Microsoft Sentinel con dati di esempio di training e test generati.
AnomalousRATraining.ipynb Notebook per eseguire il training dell'algoritmo, compilare e salvare i modelli.
AnomalousRAScoring.ipynb Notebook per pianificare l'esecuzione del modello, visualizzare il risultato e scrivere il punteggio in Microsoft Sentinel.

Il primo modello di algoritmo ml offerto è per il rilevamento dell'accesso alle risorse anomalo. Si basa su un algoritmo di filtro collaborativo ed è sottoposto a training con i log di accesso alle condivisioni file di Windows (eventi di sicurezza con ID evento 5140). Le informazioni chiave necessarie per questo modello nel log sono l'associazione di utenti e risorse a cui si accede.

Procedura dettagliata di esempio: Rilevamento dell'accesso alla condivisione file anomala

Ora che si ha familiarità con i componenti chiave della piattaforma BYO-ML, ecco un esempio per illustrare come usare la piattaforma e i componenti per distribuire un rilevamento di ML personalizzato.

Configurare l'ambiente Databricks/Spark

Se non è già disponibile, sarà necessario configurare un ambiente Databricks personalizzato. Per istruzioni, vedere il documento di avvio rapido di Databricks .

Istruzione di esportazione automatica

Per creare modelli di Machine Learning personalizzati basati sui propri dati in Microsoft Sentinel, è necessario esportare i dati da Log Analytics in un archivio BLOB o in una risorsa hub eventi, in modo che il modello di Machine Learning possa accedervi da Databricks. Informazioni su come inserire dati in Microsoft Sentinel.

Per questo esempio, è necessario disporre dei dati di training per il log di accesso alla condivisione file nell'archivio BLOB di Azure. Il formato dei dati è documentato nel notebook e nelle librerie.

È possibile esportare automaticamente i dati da Log Analytics usando l'interfaccia della riga di comando di Azure.

Per eseguire i comandi, è necessario assegnare il ruolo Collaboratore nell'area di lavoro Log Analytics, nell'account di archiviazione e nella risorsa EventHub.

Ecco un set di comandi di esempio per configurare l'esportazione automatica:


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"

Esportare dati personalizzati

Per i dati personalizzati non supportati dall'esportazione automatica di Log Analytics, è possibile usare l'app per la logica o altre soluzioni per spostare i dati. È possibile fare riferimento al blog e allo script Esportazione dei dati di Log Analytics nell'archivio BLOB .

Correlare con i dati all'esterno di Microsoft Sentinel

È anche possibile trasferire i dati dall'esterno di Microsoft Sentinel all'archivio BLOB o all'hub eventi e correlarli con i dati di Microsoft Sentinel per compilare i modelli di Machine Learning.

Copiare il pacchetto BYO-ML dal repository GitHub di Microsoft Sentinel menzionato in precedenza nell'ambiente Databricks. Aprire quindi i notebook e seguire le istruzioni all'interno del notebook per installare le librerie necessarie nei cluster.

Training e assegnazione dei punteggi del modello

Seguire le istruzioni nei due notebook per modificare le configurazioni in base all'ambiente e alle risorse, seguire la procedura per eseguire il training e la compilazione del modello, quindi pianificare il modello per assegnare un punteggio ai log di accesso alla condivisione file in ingresso.

Scrivere risultati in Log Analytics

Dopo aver ottenuto il punteggio pianificato, è possibile usare il modulo nel notebook di assegnazione dei punteggi per scrivere i risultati del punteggio nell'area di lavoro Log Analytics associata all'istanza di Microsoft Sentinel.

Controllare i risultati in Microsoft Sentinel

Per visualizzare i risultati con punteggio insieme ai dettagli del log correlati, tornare al portale di Microsoft Sentinel. In Log> log personalizzati verranno visualizzati i risultati nella tabella AnomalousResourceAccessResult_CL (o nel nome della tabella personalizzata). È possibile usare questi risultati per migliorare le esperienze di indagine e ricerca.

log di accesso alle risorse anomale

Creare una regola di analisi personalizzata con i risultati di Machine Learning

Dopo aver confermato che i risultati di Machine Learning sono nella tabella dei log personalizzati e si è soddisfatti della fedeltà dei punteggi, è possibile creare un rilevamento in base ai risultati. Passare ad Analisi dal portale di Microsoft Sentinel e creare una nuova regola di rilevamento. Di seguito è riportato un esempio che mostra la query usata per creare il rilevamento.

creare una regola di analisi personalizzata per i rilevamenti B O M L

Visualizzare e rispondere agli eventi imprevisti

Dopo aver configurato la regola di analisi in base ai risultati di Machine Learning, se sono presenti risultati superiori alla soglia impostata nella query, verrà generato un evento imprevisto e visualizzato nella pagina Eventi imprevisti in Microsoft Sentinel.

Passaggi successivi

In questo documento si è appreso come usare la piattaforma BYO-ML di Microsoft Sentinel per creare o importare algoritmi di Machine Learning personalizzati per analizzare i dati e rilevare le minacce.