Cercare le minacce alla sicurezza con i notebook di Jupyter

Nell'ambito delle indagini sulla sicurezza e della ricerca, avviare ed eseguire notebook di Jupyter per analizzare i dati a livello di codice.

In questo articolo si crea un'area di lavoro di Machine Learning Azure, si avvia il notebook da Microsoft Sentinel all'area di lavoro Azure Machine Learning ed si esegue il codice nel notebook.

Importante

Dopo il 31 marzo 2027, Microsoft Sentinel non sarà più supportato nel portale di Azure e sarà disponibile solo nel portale di Microsoft Defender. Tutti i clienti che usano Microsoft Sentinel nel portale di Azure verranno reindirizzati al portale di Defender e useranno Microsoft Sentinel solo nel portale di Defender.

Se si usa ancora Microsoft Sentinel nel portale di Azure, è consigliabile iniziare a pianificare la transizione al portale di Defender per garantire una transizione senza problemi e sfruttare appieno l'esperienza di operazioni di sicurezza unificata offerta da Microsoft Defender.

Prerequisiti

È consigliabile conoscere Microsoft Sentinel notebook prima di completare i passaggi descritti in questo articolo. Vedere Usare i notebook di Jupyter per cercare le minacce alla sicurezza.

Per usare Microsoft Sentinel notebook, è necessario disporre dei ruoli e delle autorizzazioni seguenti:

Tipo Dettagli
Microsoft Sentinel - Il ruolo Collaboratore 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 Machine Learning Azure, se necessario.
- Ruolo Collaboratore nell'area di lavoro 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 Machine Learning Azure.

Creare un'area di lavoro di Machine Learning Azure da Microsoft Sentinel

Per creare l'area di lavoro, selezionare la scheda Endpoint pubblico o Endpoint privato , a seconda della configurazione di rete.

  • È consigliabile usare un endpoint pubblico quando l'area di lavoro Microsoft Sentinel ne ha uno, per evitare potenziali problemi nella comunicazione di rete.
  • Se si vuole usare un'area di lavoro Azure Machine Learning in una rete virtuale, usare un endpoint privato.

Usare la procedura seguente per creare un'area di lavoro Azure Machine Learning con un endpoint pubblico da Microsoft Sentinel.

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

  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. Selezionare la sottoscrizione Azure che si vuole usare.
    Gruppo di risorse Usare un gruppo di risorse esistente nella sottoscrizione o immettere un nome per creare un nuovo gruppo di risorse. Un gruppo di risorse contiene risorse correlate per una soluzione Azure.
    Nome area di lavoro Immettere un nome univoco che identifica l'area di lavoro. I nomi devono essere univoci nel gruppo di risorse. Usare un nome facile da richiamare e da distinguere dalle aree di lavoro create da altri utenti.
    Regione Selezionare la posizione più vicina agli utenti e alle risorse 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 di archiviazione Azure o selezionarne una esistente nella sottoscrizione.
    KeyVault Un key vault viene utilizzato per memorizzare i segreti e altre informazioni sensibili necessarie per l'area di lavoro. È possibile creare una nuova risorsa Azure Key Vault o selezionarne una esistente nella sottoscrizione.
    Application Insights L'area di lavoro usa applicazione Azure Insights per archiviare le informazioni di monitoraggio sui modelli distribuiti. È possibile creare una nuova risorsa di applicazione Azure Insights o selezionarne una esistente nella sottoscrizione.
    Registro contenitori Un registro contenitori viene usato per registrare le immagini docker usate nel training e nelle 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 selezionarne una esistente nella sottoscrizione oppure selezionare Nessuno se non si vuole usare alcun registro contenitori.
  4. Nella scheda Rete selezionare Abilita 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 iniziare a distribuire l'area di lavoro. Ad esempio:

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

    La creazione dell'area di lavoro nel cloud può richiedere alcuni minuti. Durante questo periodo di tempo, la pagina Panoramica dell'area di lavoro mostra lo stato corrente della distribuzione e gli aggiornamenti al termine della distribuzione.

Al termine della distribuzione, tornare a Notebooks in Microsoft Sentinel e avviare i notebook dalla nuova area di lavoro Azure Machine Learning.

Se sono presenti più notebook, assicurarsi di selezionare un'area di lavoro AML predefinita da usare durante l'avvio dei notebook. Ad esempio:

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

Avviare un notebook nell'area di lavoro Azure Machine Learning

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

Importante

Se gli endpoint privati o le restrizioni di accesso alla rete pubblica sono abilitati nell'account Archiviazione di Azure, non è possibile avviare notebook nell'area di lavoro Azure Machine Learning da Microsoft Sentinel. Copiare invece il modello di notebook da Microsoft Sentinel e caricare il notebook in studio di Azure Machine Learning.

Per avviare il notebook Microsoft Sentinel nell'area di lavoro Azure Machine Learning, completare la procedura seguente.

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

  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. È possibile selezionare solo aree di lavoro di Azure Machine Learning nella stessa sottoscrizione.

  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 nell'area di lavoro personale.

  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, creare un'istanza di calcolo in Azure Machine Learning. Se l'istanza di elaborazione è arrestata, assicurarsi di avviarla. Per altre informazioni, vedere Eseguire un notebook nel studio di Azure Machine Learning.

    Solo le istanze di calcolo create possono essere visualizzate e usate. I file utente vengono archiviati separatamente dalla macchina virtuale e 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 per utilizzo generico.

    Il kernel viene visualizzato anche in alto a destra nella finestra di Machine Learning Azure. Se il kernel necessario non è selezionato, selezionare una versione diversa dall'elenco a discesa.

  8. Una volta 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 sull'esecuzione delle celle del notebook, vedere Eseguire notebook di Jupyter in studio di Azure Machine Learning.

  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. Riesegui tutte le celle di inizializzazione e autenticazione dopo il riavvio.

    Per ricominciare, selezionare Operazioni> del kernelRiavvia kernel. Ad esempio:

    Riavviare un kernel di notebook.

Eseguire il codice nel notebook

Eseguire sempre le celle di codice del notebook in sequenza. L'omissione delle celle può causare errori.

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 o premendo MAIUSC+INVIO.

Il seguente esempio di cella di codice dimostra le operazioni di base in Python e mostra come funzionano le celle di codice nell'ambiente del notebook. Esegui la seguente cella di codice nel tuo taccuino:

# 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)

Dopo aver eseguito la cella campione, il notebook mostra il seguente output, confermando che il kernel del notebook funzioni correttamente:

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 seguente cella di codice utilizza il valore di y dalla cella precedente. Questo esempio mostra anche come Jupyter visualizza automaticamente il risultato dell'ultima espressione in una cella, anche se non si chiama print():

# Note that output from the last line of a cell is automatically
# sent to the output cell, without needing the print() function.

y + 2

Il quaderno mostra il risultato valutato dell'espressione y + 2 nell'area di output:

6

Scaricare tutti i notebook Microsoft Sentinel

Questa sezione descrive come usare Git per scaricare tutti i notebook disponibili nel repository GitHub Microsoft Sentinel, dall'interno di un notebook Microsoft Sentinel, direttamente all'area di lavoro di Machine Learning Azure.

L'archiviazione dei notebook Microsoft Sentinel nell'area di lavoro Azure Machine Learning consente di mantenerli aggiornati facilmente.

  1. Da un notebook 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
    

    Viene creata una copia del contenuto del repository GitHub nella directory azure-Sentinel-nb nella cartella utente nell'area di lavoro 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