Portare il proprio Machine Learning (ML) in Microsoft Sentinel

Nota

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

Machine Learning (ML) è uno dei principali fondamenti della Microsoft Sentinel e uno degli attributi principali che lo distinguono. Microsoft Sentinel offre ml in diverse esperienze: incorporata nel motore di correlazione Fusion e nei notebook di Jupyter e la nuova piattaforma Build-Your-Own ML (BYO ML) appena disponibile.

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 verrebbero trovate 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 in sicurezza che in ML. Il framework presentato qui è stato progettato per consentire alle organizzazioni e ai professionisti della sicurezza di crescere con noi nel percorso di Machine Learning. Le organizzazioni che non hanno esperienza nell'apprendimento automatico 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 desiderano creare modelli di ML personalizzati per le proprie esigenze aziendali specifiche, offriamo la piattaforma BYO-ML. La piattaforma usa l'ambienteApache Sparkdi Azure Databricks/ e Jupyter Notebooks per produrre l'ambiente ml. Fornisce i componenti seguenti:

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

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

  • notebook di esempio per eseguire il training del modello e pianificare l'assegnazione dei punteggi del modello.

Oltre a tutto questo, è possibile integrare i propri modelli di Machine Learning e/o il proprio ambiente Spark 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 pratica end-to-end, senza preoccuparsi di gestire i dati di produzione.

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

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

Situazioni di utilizzo

La piattaforma e il pacchetto BYO-ML riducono significativamente il tempo e l'impegno necessari per creare rilevamenti di Machine Learning personalizzati e consentono di risolvere problemi di sicurezza specifici in Microsoft Sentinel. La piattaforma supporta i casi d'uso seguenti:

Eseguire il training di un algoritmo ml per ottenere un modello personalizzato: È possibile usare un algoritmo ml esistente (condiviso da Microsoft o dalla community degli utenti) e 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 ml (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 BYO-ML di Microsoft Sentinel e le utilità.

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 situazioni specifiche.

Importare il proprio modello ml: È possibile importare modelli di Machine Learning personalizzati e usare la piattaforma e le utilità BYO-ML per integrarli con Microsoft Sentinel.

Condividere un algoritmo ml: Condividere un algoritmo ml per l'adozione e l'adattamento della community.

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 Di accesso alle risorse anomale per offrire un rilevamento ml personalizzato con Microsoft Sentinel.

ambiente Azure Databricks/Spark

Apache Spark ha fatto un passo avanti nella semplificazione dei 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 concentrarsi sulla ricerca di risposte che influiscono immediatamente sull'azienda, anziché 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, anche il pacchetto BYO-ML funzionerà correttamente.

Pacchetto BYO-ML

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

Nome del 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 anomale 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 riscrivere il punteggio in Microsoft Sentinel.

Il primo modello di algoritmo ml offerto è per il rilevamento dell'accesso alle risorse anomale. Si basa su un algoritmo di filtro collaborativo ed è sottoposto a training con i log di accesso della condivisione 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 a condivisioni file anomale

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

Configurare l'ambiente Databricks/Spark

Sarà necessario configurare il proprio ambiente Databricks se non è già disponibile. Per istruzioni, vedere il documento di avvio rapido di Databricks .

Istruzione di esportazione automatica

Per compilare modelli di Machine Learning personalizzati basati sui propri dati in Microsoft Sentinel, è necessario esportare i dati da Log Analytics a una risorsa di archiviazione BLOB o 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 condivisione file nell'archivio BLOB Azure. Il formato dei dati è documentato nel notebook e nelle raccolte.

È possibile esportare automaticamente i dati da Log Analytics usando l'interfaccia della riga di comando 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 App per la logica o altre soluzioni per spostare i dati. È possibile fare riferimento al blog e allo script Esportazione di dati di Log Analytics in Archivio BLOB .

Correlazione con i dati esterni a Microsoft Sentinel

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

Copiare il pacchetto BYO-ML dal repository GitHub Microsoft Sentinel indicato 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 dei modelli

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 compilare il modello, quindi pianificare il modello per assegnare un punteggio ai log di accesso della condivisione file in ingresso.

Scrivere i 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> personalizzati log verranno visualizzati i risultati nella tabella AnomalousResourceAccessResult_CL (o nel nome della tabella personalizzata). È possibile usare questi risultati per migliorare l'analisi e le esperienze di ricerca.

log di accesso alle risorse anomali

Creare una regola di analisi personalizzata con i risultati di Ml

Dopo aver confermato che i risultati di Machine Learning si trovano nella tabella dei log personalizzati e si è soddisfatti della fedeltà dei punteggi, è possibile creare un rilevamento in base ai risultati. Passare a 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 Y 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 e segnalato un evento imprevisto 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.