Cercare minacce per la sicurezza con notebook di Jupyter

Come parte delle indagini e della ricerca sulla 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 il notebook da Microsoft Sentinel all'area di lavoro di Azure Machine Learning ed eseguire il codice nel notebook.

Importante

Microsoft Sentinel è disponibile come parte dell'anteprima pubblica per la piattaforma unificata per le operazioni di sicurezza nel portale di Microsoft Defender. 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 ha una, 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.
  1. Per Microsoft Sentinel nella portale di Azure, in Gestione delle minacce selezionare Notebook.
    Per Microsoft Sentinel nel portale di Defender selezionare Notebook di gestione>delle minacce di Microsoft Sentinel.>

  2. Selezionare Configura Azure Machine Learning>Crea una nuova area di lavoro AML.

  3. 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 viene usato come archivio dati predefinito per l'area di lavoro. È possibile creare una nuova risorsa 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 app Azure lication Insights per archiviare le informazioni di monitoraggio sui modelli distribuiti. È possibile creare una nuova risorsa app Azure lication 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 Registro Azure Container solo dopo la compilazione della prima immagine. In alternativa, è possibile scegliere di creare la risorsa ora o selezionare una esistente nella sottoscrizione oppure selezionare Nessuno se non si vuole usare alcun registro contenitori.
  4. 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.

  5. 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:

    Rivedere e creare l'area di lavoro di Machine Learning da Microsoft Sentinel.

    La creazione dell'area di lavoro nel cloud può richiedere diversi minuti. Durante questo periodo, 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:

Selezionare un'area di lavoro AML predefinita per i notebook.

Avviare un notebook nell'area di lavoro di Azure Machine Learning

Dopo aver creato un'area di lavoro di Azure Machine Learning, avviare i notebook in tale area di lavoro da Microsoft Sentinel.

  1. Per Microsoft Sentinel nella portale di Azure, in Gestione delle minacce selezionare Notebook.
    Per Microsoft Sentinel nel portale di Defender selezionare Notebook di gestione>delle minacce di Microsoft Sentinel.>

  2. Selezionare la scheda Modelli per visualizzare i notebook forniti da Microsoft Sentinel.

  3. Selezionare un notebook per visualizzarne la descrizione, i tipi di dati necessari e le origini dati.

  4. Quando si trova il notebook da usare, selezionare Crea dal modello e Salva per clonarlo nella propria area di lavoro.

  5. 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.

    Salvare un notebook per clonarlo nella propria area di lavoro.

  6. Dopo aver salvato il notebook, il pulsante Salva notebook cambia in Avvia notebook. Selezionare Avvia notebook per aprirlo nell'area di lavoro AML.

    Ad esempio:

    Avviare il notebook nell'area di lavoro AML.

  7. Nella parte superiore della pagina selezionare un'istanza di calcolo da usare per il server notebook.

    Se non si ha un'istanza di calcolo, crearne una nuova. Se l'istanza di calcolo viene arrestata, assicurarsi di avviarla. Per altre informazioni, vedere Eseguire un notebook nel 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.

  8. Dopo aver creato e avviato il server 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.

  9. Se il notebook si blocca o si vuole ricominciare, è possibile riavviare il kernel ed eseguire nuovamente le celle del notebook dall'inizio. Se si riavvia il kernel, le variabili e altri stati vengono eliminati. Rieseguire le celle di inizializzazione e autenticazione dopo il riavvio.

    Per ricominciare, selezionare Operazioni>kernel Riavvia kernel. Ad esempio:

    Riavviare un kernel del notebook.

Eseguire il codice nel notebook

Eseguire sempre le celle del codice del notebook in sequenza. Se si ignorano le celle, gli errori possono verificarsi.

In un notebook:

  • Le celle Markdown includono testo, inclusi HTML e immagini statiche.
  • Le celle di codice contengono codice. Dopo aver selezionato una cella di codice, eseguire il codice nella cella 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 le celle, in modo da poter concatenare le celle. Ad esempio, la cella di codice seguente usa il valore di della y 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.

  1. Da un notebook di Microsoft Sentinel immettere il codice seguente in una cella vuota e quindi eseguire la cella:

    !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.

  2. Copiare i notebook desiderati da questa cartella nella directory di lavoro.

  3. Per aggiornare i notebook con eventuali modifiche recenti da GitHub, eseguire:

    !cd azure-sentinel-nb && git pull