Cercare minacce alla sicurezza con notebook di Jupyter
Come parte delle indagini e delle ricerche relative alla sicurezza, avviare ed eseguire notebook di Jupyter per analizzare i dati a livello di codice.
Questo articolo illustra come creare un'area di lavoro di Azure Machine Learning, avviare un notebook da Microsoft Sentinel all'area di lavoro di Azure Machine Learning ed eseguire il codice nel notebook.
Importante
Microsoft Sentinel è disponibile a livello generale all'interno della piattaforma unificata per le operazioni di sicurezza di Microsoft nel portale di Microsoft Defender. Per l'anteprima, Microsoft Sentinel è disponibile nel portale di Defender senza Microsoft Defender XDR o una licenza E5. Per altre informazioni, vedere Microsoft Sentinel nel portale di Microsoft Defender.
Prerequisiti
È consigliabile ottenere informazioni sui notebook di Microsoft Sentinel prima di completare i passaggi descritti in questo articolo. Vedere Usare notebook di Jupyter per cercare minacce alla sicurezza.
Per usare i notebook di Microsoft Sentinel, è necessario disporre dei ruoli e delle autorizzazioni seguenti:
Type | Details |
---|---|
Microsoft Sentinel | - Ruolo Collaboratore di Microsoft Sentinel, per salvare e avviare notebook da Microsoft Sentinel |
Azure Machine Learning | - Ruolo Proprietario o Collaboratore a livello di gruppo di risorse per creare una nuova area di lavoro di Azure Machine Learning, se necessario. - Ruolo Collaboratore nell'area di lavoro di Azure Machine Learning in cui si eseguono i notebook di Microsoft Sentinel. Per altre informazioni, vedere Gestire l'accesso a un'area di lavoro di Azure Machine Learning. |
Creare un'area di lavoro di Azure Machine Learning da Microsoft Sentinel
Per creare l'area di lavoro, selezionare una delle schede seguenti, a seconda che si usi un endpoint pubblico o privato.
- È consigliabile usare un endpoint pubblico quando l'area di lavoro di Microsoft Sentinel ne dispone, per evitare potenziali problemi nella comunicazione di rete.
- Se si vuole usare un'area di lavoro di Azure Machine Learning in una rete virtuale, usare un endpoint privato.
Per Microsoft Sentinel nel portale di Azure, in Gestione delle minacce, selezionare Notebook.
Per Microsoft Sentinel nel portale di Defender, selezionare Microsoft Sentinel>Gestione delle minacce>Notebooks.Selezionare Configura Azure Machine Learning>Crea una nuova area di lavoro AML.
Immettere i dettagli seguenti e quindi selezionare Avanti.
Campo Descrizione Abbonamento Seleziona la sottoscrizione di Azure da usare. Gruppo di risorse Usare un gruppo di risorse esistente nella sottoscrizione oppure immettere un nome per creare un nuovo gruppo di risorse. Un gruppo di risorse include risorse correlate per una soluzione Azure. Nome area di lavoro Immettere un nome univoco che identifichi l'area di lavoro. I nomi devono essere univoci all'interno del gruppo di risorse. Usare un nome facile da ricordare e da distinguere dai nomi delle aree di lavoro create da altri utenti. Area Selezionare la località più vicina agli utenti e alle risorse di dati per creare l'area di lavoro. Account di archiviazione Un account di archiviazione di Azure viene usato come archivio dati predefinito per l'area di lavoro. È possibile creare una nuova risorsa di Archiviazione di Azure o selezionare una risorsa esistente nella sottoscrizione. Insieme di credenziali delle chiavi Un insieme di credenziali delle chiavi viene usato per archiviare segreti e altre informazioni riservate necessarie per l'area di lavoro. È possibile creare una nuova risorsa di Azure Key Vault o selezionare una risorsa esistente nella sottoscrizione. Application Insights L'area di lavoro usa Azure Application Insights per archiviare le informazioni di monitoraggio sui modelli distribuiti. È possibile creare una nuova risorsa di Azure Application Insights o selezionare una risorsa esistente nella sottoscrizione. Registro contenitori Un registro contenitori viene usato per registrare le immagini Docker usate per il training e le distribuzioni. Per ridurre al minimo i costi, viene creata una nuova risorsa di Registro Azure Container solo dopo la compilazione della prima immagine. In alternativa, è possibile scegliere di creare la risorsa o selezionarne una esistente nella sottoscrizione, oppure selezionare Nessuno se non si vuole usare alcun registro contenitori. Nella scheda Rete, selezionare Abilita l'accesso pubblico da tutte le reti.
Definire le impostazioni pertinenti nelle schede Avanzate o Tag e quindi selezionare Rivedi e crea.
Nella scheda Rivedi e crea, esaminare le informazioni per verificare che siano corrette e quindi selezionare Crea per avviare la distribuzione dell'area di lavoro. Ad esempio:
La creazione dell'area di lavoro nel cloud può richiedere diversi minuti. Durante questo periodo di tempo, la pagina Panoramica dell'area di lavoro mostra lo stato di distribuzione corrente e gli aggiornamenti al termine della distribuzione.
Al termine della distribuzione, tornare a Notebook in Microsoft Sentinel e avviare notebook dalla nuova area di lavoro di Azure Machine Learning.
Se sono presenti più notebook, assicurarsi di selezionare un'area di lavoro AML predefinita da usare quando si avviano i notebook. Ad esempio:
Avviare un notebook nell'area di lavoro di Azure Machine Learning
Dopo aver creato un'area di lavoro di Azure Machine Learning, avviarvi il proprio notebook da Microsoft Sentinel. Tenere presente che se sono presenti endpoint privati o restrizioni per l'accesso alla rete pubblica abilitato nell'account di archiviazione di Azure, non è possibile avviare notebook nell'area di lavoro di Azure Machine Learning da Microsoft Sentinel. È necessario copiare il modello di notebook da Microsoft Sentinel e caricare il notebook in Azure Machine Learning Studio.
Per avviare il notebook di Microsoft Sentinel nell'area di lavoro di Azure Machine Learning, seguire questa procedura.
Per Microsoft Sentinel nel portale di Azure, in Gestione delle minacce, selezionare Notebook.
Per Microsoft Sentinel nel portale di Defender, selezionare Microsoft Sentinel>Gestione delle minacce>Notebooks.Selezionare la scheda Modelli per visualizzare i notebook forniti da Microsoft Sentinel.
Selezionare un notebook per visualizzarne la descrizione, i tipi di dati necessari e le origini dati.
Quando si trova il notebook da usare, selezionare Crea dal modello e Salva per clonarlo nella propria area di lavoro.
Modificare il nome in base alle esigenze. Se il notebook esiste già nell'area di lavoro, sovrascrivere il notebook esistente o crearne uno nuovo. Per impostazione predefinita, il notebook viene salvato nella directory /Users/<Your_User_Name>/ dell'area di lavoro AML selezionata.
Dopo aver salvato il notebook, il pulsante Salva notebook si trasforma in Avvia notebook. Selezionare Avvia notebook per aprire il notebook nell'area di lavoro AML.
Ad esempio:
Nella parte superiore della pagina, selezionare un'istanza di calcolo da usare per il server del notebook.
Se non si dispone di un'istanza di calcolo, crearne una nuova. Se l'istanza di calcolo viene arrestata, assicurarsi di avviarla. Per altre informazioni, vedere Eseguire un notebook in Studio di Azure Machine Learning.
È possibile visualizzare e usare solo le istanze di calcolo create. I file utente vengono archiviati separatamente dalla macchina virtuale e vengono condivisi tra tutte le istanze di calcolo nell'area di lavoro.
Se si sta creando una nuova istanza di calcolo per testare i notebook, creare l'istanza di calcolo con la categoria Utilizzo generico.
Il kernel viene visualizzato anche in alto a destra nella finestra di Azure Machine Learning. Se il kernel necessario non è selezionato, selezionare una versione diversa dall'elenco a discesa.
Dopo aver creato e avviato il server del notebook, eseguire le celle del notebook. In ogni cella, selezionare l'icona Esegui per eseguire il codice del notebook.
Per altre informazioni, vedere Collegamenti alla modalità di comando.
Se il notebook si blocca o si vuole ricominciare, è possibile riavviare il kernel ed eseguire nuovamente le celle del notebook dal principio. Se si riavvia il kernel, le variabili e altri stati vengono eliminati. Rieseguire tutte le celle di inizializzazione e autenticazione dopo il riavvio.
Per ricominciare, selezionare Operazioni kernel>Riavvia kernel. Ad esempio:
Eseguire codice nel notebook
Eseguire sempre le celle del codice del notebook in sequenza. Se si ignorano delle celle, possono verificarsi errori.
In un notebook:
- Le celle Markdown contengono testo, inclusi HTML e immagini statiche.
- Le celle Codice contengono codice. Dopo aver selezionato una cella di codice, eseguire il codice contenuto in essa selezionando l'icona Riproduci a sinistra della cella, oppure premendo MAIUSC+INVIO.
Ad esempio, eseguire la cella di codice seguente nel notebook:
# This is your first code cell. This cell contains basic Python code.
# You can run a code cell by selecting it and then selecting
# the Play button to the left of the cell, or by pressing SHIFT+ENTER.
# Code output displays below the code.
print("Congratulations, you just ran this code cell")
y = 2 + 2
print("2 + 2 =", y)
Il codice di esempio produce questo output:
Congratulations, you just ran this code cell
2 + 2 = 4
Le variabili impostate all'interno di una cella di codice del notebook vengono mantenute tra celle, in modo da poter concatenare le celle. Ad esempio, la cella di codice seguente usa il valore di y
della cella precedente:
# Note that output from the last line of a cell is automatically
# sent to the output cell, without needing the print() function.
y + 2
L'output è il seguente:
6
Scaricare tutti i notebook di Microsoft Sentinel
Questa sezione descrive come usare Git per scaricare tutti i notebook disponibili nel repository GitHub di Microsoft Sentinel, dall'interno di un notebook di Microsoft Sentinel direttamente all'area di lavoro di Azure Machine Learning.
L'archiviazione dei notebook di Microsoft Sentinel nell'area di lavoro di Azure Machine Learning consente di mantenerli aggiornati facilmente.
Da un notebook di Microsoft Sentinel, immettere il codice seguente in una cella vuota e quindi eseguirla:
!git clone https://github.com/Azure/Azure-Sentinel-Notebooks.git azure-sentinel-nb
Una copia del contenuto del repository GitHub viene creata nella directory azure-Sentinel-nb, nella cartella utente nell'area di lavoro di Azure Machine Learning.
Copiare i notebook desiderati da questa cartella alla directory di lavoro.
Per aggiornare i notebook con eventuali modifiche recenti da GitHub, eseguire:
!cd azure-sentinel-nb && git pull