Share via


Traga seu próprio ML (Machine Learning) para o Microsoft Azure Sentinel

Observação

Para obter informações sobre a disponibilidade de recursos nas nuvens do governo dos EUA, consulte as tabelas do Microsoft Sentinel em disponibilidade de recursos de nuvem para clientes do governo dos EUA.

O ML (Machine Learning) é um dos principais alicerces do Microsoft Azure Sentinel e atributos que o diferenciam. O Microsoft Azure Sentinel oferece ML em várias experiências: incorporado ao mecanismo de correlação Fusion e aos Jupyter notebooks e na plataforma de ML (BYO ML) recentemente disponibilizada.

Os modelos de detecção de ML podem se adaptar a ambientes individuais e a alterações no comportamento do usuário a fim de reduzir falsos positivos e identificar ameaças que não seriam encontradas com uma abordagem tradicional. Muitas organizações de segurança entendem o valor de ML para segurança, embora muitas delas tenham o luxo de ter profissionais com experiência em segurança e ML. Nós projetamos a estrutura apresentada aqui para que as organizações e os profissionais de segurança evoluam conosco na sua jornada de ML. As organizações não familiarizadas com ML ou sem a experiência necessária podem tirar grande proveito dos recursos de ML internos do Microsoft Azure Sentinel.

estrutura de aprendizado de máquina

O que é a plataforma BYO-ML (Traga sua própria Machine Learning)?

Para organizações que tenham recursos de ML e queiram criar modelos de ML personalizados para suas necessidades de negócios exclusivas, oferecemos a plataforma BYO-ML. A plataforma usa o ambiente do Azure Databricks/Apache Spark e Jupyter notebooks para produzir o ambiente de ML. Ela fornece os seguintes componentes:

  • um pacote BYO-ML, que inclui bibliotecas para ajudá-lo a acessar dados e enviar os resultados por push para o LA (Log Analytics), para que você possa integrar os resultados à sua detecção, investigação e busca.

  • Modelos de algoritmo de ML para personalização, para que você possa ajustar a problemas de segurança específicos da sua organização.

  • Blocos de anotações de exemplo para treinar o modelo e agendar a pontuação do modelo.

Além de tudo isso, você pode trazer seus próprios modelos de ML e/ou seu próprio ambiente Spark para integrar ao Microsoft Azure Sentinel.

Com a plataforma BYO-ML, você pode começar a criar seus próprios modelos de ML:

  • O notebook com dados de exemplo ajuda você a ter uma experiência prática de ponta a ponta sem se preocupar com o tratamento dos dados de produção.

  • O pacote integrado ao ambiente Spark reduz os desafios e os conflitos no gerenciamento da infraestrutura.

  • As bibliotecas dão suporte a movimentações de dados. Os notebooks de treinamento e pontuação demonstram a experiência de ponta a ponta e servem como modelo para que você se adapte ao seu ambiente.

Casos de uso

O pacote e a plataforma BYO-ML reduzem significativamente o tempo e o esforço necessários para criar suas próprias detecções de ML e permitem a resolução de problemas de segurança específicos no Microsoft Azure Sentinel. A plataforma dá suporte aos seguintes casos de uso:

Treinar um algoritmo de ML para obter um modelo personalizado: você pode usar um algoritmo de ML existente (compartilhado pela Microsoft ou pela comunidade de usuários) e treiná-lo facilmente em seus próprios dados para obter um modelo de ML personalizado que funcione melhor com seus dados e seu ambiente.

Modificar um algoritmo de ML para obter um modelo personalizado: você pode modificar um algoritmo de ML existente (compartilhado pela Microsoft ou pela comunidade de usuários) e treinar o algoritmo modificado facilmente em seus próprios dados para obter um modelo de ML personalizado que funcione melhor com seu problema específico.

Criar seu próprio modelo: crie seu próprio modelo do zero usando a plataforma e os utilitários BYO-ML do Microsoft Azure Sentinel.

Integrar sem ambiente Databricks/Spark: integre seu ambiente Databricks/Spark existente ao Microsoft Azure Sentinel e use bibliotecas e modelos BYO-ML a fim de criar modelos de ML para seu contexto específico.

Importar seu próprio modelo de ML: você pode importar seus próprios modelos de ML e usar a plataforma e os utilitários BYO-ML para integrá-los ao Microsoft Azure Sentinel.

Compartilhar um algoritmo de ML: compartilhe um algoritmo de ML que possa ser adotado e adaptado pela comunidade.

Usar ML para fortalecer SecOps (operações de segurança): use seu próprio modelo de ML personalizado e resultados na caça, nas detecções, na investigação e na resposta.

Este artigo mostra os componentes da plataforma BYO-ML e como aproveitar a plataforma e o algoritmo de Acesso a Recursos Anômalo para fornecer uma detecção personalizada de ML com o Microsoft Azure Sentinel.

Ambiente Azure Databricks/Spark

O Apache Spark deu um passo à frente na simplificação de big data ao fornecer uma estrutura unificada para a criação de pipelines de dados. O Azure Databricks leva isso adiante ao fornecer uma plataforma de nuvem sem gerenciamento criada com base no Spark. É recomendável que você use o Databricks na sua plataforma BYO-ML para poder se concentrar em encontrar respostas que tenham um impacto imediato em seus negócios em vez de lidar com os pipelines de dados e os problemas da plataforma.

Se você já tiver o Databricks ou algum outro ambiente do Spark e preferir usar a configuração existente, o pacote BYO-ML também funcionará bem neles.

Pacote BYO-ML

O pacote BYO-ML inclui as melhores práticas e a pesquisa da Microsoft no front-end do ML para maior segurança. Nesse pacote, fornecemos a lista de utilitários, notebooks e modelos de algoritmos a seguir para problemas de segurança.

Nome do arquivo Descrição
azure_sentinel_utilities.whl Contém utilitários para leitura de blobs do Azure e gravação no Log Analytics.
AnomalousRASampleData O Notebook demonstra o uso do modelo de Acesso a Recursos Anômalo no Microsoft Azure Sentinel com dados de exemplo gerados para treinamento e teste.
AnomalousRATraining.ipynb Notebook para treinar o algoritmo, criar e salvar os modelos.
AnomalousRAScoring.ipynb Notebook para agendar o modelo a ser executado, Visualizar o resultado e fazer write-back da pontuação no Microsoft Azure Sentinel.

O primeiro modelo de algoritmo de ML que oferecemos é para detecção de Acesso a Recursos Anômalo. Ele é baseado em um algoritmo de filtragem colaborativa e é treinado com logs de acesso a compartilhamento de arquivos do Windows (Eventos de Segurança com a ID de evento 5140). As principais informações necessárias para esse modelo no log são o emparelhamento de usuários e os recursos acessados.

Exemplo de instrução: detecção de Acesso a Compartilhamento de Arquivos Anômalo

Agora que você está familiarizado com os principais componentes da plataforma BYO-ML, aqui está um exemplo que mostra como usar a plataforma e os componentes para fornecer uma detecção personalizada de ML.

Configurar o ambiente do Databricks/Spark

Você precisará configurar seu próprio ambiente do Databricks se não tiver um. Confira o documento de Início rápido do Databricks para obter instruções.

Instrução de exportação automática

Para criar modelos de ML personalizados com base em seus próprios dados no Microsoft Azure Sentinel, você precisará exportar seus dados do Log Analytics para um Armazenamento de Blobs ou recurso do Hub de eventos para que o modelo do ML possa acessá-lo do Databricks. Aprenda a ingerir dados no Microsoft Azure Sentinel.

Para este exemplo, você precisa ter seus dados de treinamento para o log Acesso a Compartilhamento de Arquivos no Armazenamento de Blobs do Azure. O formato dos dados é documentado nos notebooks e nas bibliotecas.

Você pode exportar seus dados automaticamente do Log Analytics usando a CLI do Azure.

Você precisa receber a função de Colaborador em seu workspace do Log Analytics, em sua conta de armazenamento e em seu recurso de EventHub para executar os comandos.

Aqui está um conjunto de comandos de exemplo para configurar a exportação automática:


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"

Exportar dados personalizados

Para dados personalizados que não tenham suporte pela exportação automática do Log Analytics, você pode usar o Aplicativo Lógico ou outras soluções para mover seus dados. Você pode consultar o blog e o script Exportando dados do Log Analytics para o Blob Store.

Fazer a correlação com dados fora do Microsoft Azure Sentinel

Você também pode trazer dados de fora do Microsoft Azure Sentinel para o Armazenamento de Blobs ou o Hub de eventos e correlacioná-los com os dados do Microsoft Azure Sentinel anteriormente para criar seus modelos de ML.

Copie o pacote BYO-ML do repositório GitHub do Microsoft Azure Sentinel mencionado anteriormente para seu ambiente do Databricks. Em seguida, abra os notebooks e siga as instruções nele para instalar as bibliotecas necessárias em seus clusters.

Treinamento e pontuação do modelo

Siga as instruções nos dois notebooks para alterar as configurações de acordo com seu próprio ambiente e recursos, siga as etapas para treinar e compilar seu modelo e agende o modelo para pontuar os logs de acesso a compartilhamento de arquivos recebidos.

Gravar resultados no Log Analytics

Depois de obter a pontuação agendada, você poderá usar o módulo no notebook de pontuação para gravar os resultados da pontuação no workspace do Log Analytics associado à instância do Microsoft Azure Sentinel.

Verificar resultados no Microsoft Azure Sentinel

Para ver os resultados pontuados junto com os detalhes de log relacionados, volte para o portal do Microsoft Azure Sentinel. Em Logs> Logs Personalizados, você verá os resultados na tabela AnomalousResourceAccessResult_CL (ou em seu nome de tabela personalizado). Você pode usar esses resultados para aprimorar suas experiências de investigação e busca.

logs de acesso a recursos anômalo

Criar regra de análise personalizada com resultados de ML

Depois de confirmar que os resultados de ML estão na tabela de logs personalizados e estar satisfeito com a fidelidade das pontuações, você poderá criar uma detecção com base nos resultados. Vá para Análise no portal do Microsoft Azure Sentinel e crie uma nova regra de detecção. Veja abaixo um exemplo que mostra a consulta usada para criar a detecção.

criar regra de análise personalizada para detecções de B Y O M L

Exibir incidentes e responder a eles

Depois de configurar a regra de análise com base nos resultados de ML, se houver resultados acima do limite definido na consulta, um incidente será gerado e exibido na página Incidentes no Microsoft Azure Sentinel.

Próximas etapas

Neste documento, você aprendeu a usar a plataforma BYO-ML do Microsoft Azure Sentinel para criar ou importar seus próprios algoritmos de aprendizado de máquina a fim de analisar dados e detectar ameaças.