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

Observação

Para obter informações sobre a disponibilidade de funcionalidades nas clouds do Governo norte-americano, veja as tabelas de Microsoft Sentinel na disponibilidade de funcionalidades da Cloud para clientes do Governo norte-americano.

O Machine Learning (ML) é um dos principais fundamentos do Microsoft Sentinel e um dos principais atributos que o distinguem. Microsoft Sentinel oferece ML em vários recursos: integrado ao mecanismo de correlação Fusion, aos notebooks Jupyter e à plataforma Build-Your-Own ML (BYO ML), recém-disponível.

Os modelos de deteção de ML podem adaptar-se a ambientes individuais e a alterações no comportamento do utilizador, para reduzir falsos positivos e identificar ameaças que não seriam encontradas com uma abordagem tradicional. Muitas organizações de segurança compreendem o valor do ML para a segurança, embora muitas delas não tenham o luxo de profissionais que têm conhecimentos tanto em segurança como em ML. Concebemos a estrutura aqui apresentada para que as organizações de segurança e os profissionais cresçam connosco no seu percurso de ML. As organizações novas no ML, ou sem os conhecimentos necessários, podem obter um valor de proteção significativo das capacidades de ML incorporadas do Microsoft Sentinel.

arquitetura de machine learning

O que é a plataforma Bring Your Own Machine Learning (BYO-ML)?

Para organizações que têm recursos de ML e gostariam de criar modelos de ML personalizados para as suas necessidades empresariais exclusivas, oferecemos a plataforma BYO-ML. A plataforma utiliza o ambiente do Azure Databricks/Apache Spark e o Jupyter Notebooks para produzir o ambiente de ML. 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 personalizar para se ajustar a problemas de segurança específicos na sua organização.

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

Além de tudo isto, pode trazer os seus próprios modelos de ML e/ou o seu próprio ambiente do Spark para integrar com Microsoft Sentinel.

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

  • O bloco de notas com dados de exemplo ajuda-o a obter a experiência prática ponto a ponto, sem se preocupar com o processamento de dados de produção.

  • O pacote integrado no ambiente do Spark reduz os desafios e os atritos na gestão da infraestrutura.

  • As bibliotecas suportam movimentos 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

A plataforma e o pacote BYO-ML reduzem significativamente o tempo e o esforço necessários para criar as suas próprias deteções de ML e libertam a capacidade de resolver problemas de segurança específicos no Microsoft Sentinel. A plataforma suporta os seguintes casos de utilização:

Preparar um algoritmo de ML para obter um modelo personalizado: Pode utilizar um algoritmo ML existente (partilhado pela Microsoft ou pela comunidade de utilizadores) e treiná-lo facilmente nos seus próprios dados para obter um modelo de ML personalizado que melhor se adeque aos seus dados e ambiente.

Modificar um modelo de algoritmo de ML para obter um modelo personalizado: Pode modificar um modelo de algoritmo de ML (partilhado pela Microsoft ou pela comunidade de utilizadores) e preparar o algoritmo modificado nos seus próprios dados para derivar um modelo personalizado para se ajustar ao seu problema específico.

Crie o seu próprio modelo: Crie o seu próprio modelo do zero com a plataforma e os utilitários BYO-ML do Microsoft Sentinel.

Integrar o ambiente do Databricks/Spark: Integre o seu ambiente existente do Databricks/Spark no Microsoft Sentinel e utilize bibliotecas e modelos BYO-ML para criar modelos de ML para as suas situações únicas.

Importe o seu próprio modelo de ML: Pode importar os seus próprios modelos de ML e utilizar a plataforma e os utilitários BYO-ML para os integrar com Microsoft Sentinel.

Partilhar um algoritmo ML: Partilhe um algoritmo ML para a comunidade adotar e adaptar-se.

Use o aprendizado de máquina para fortalecer as operações de segurança: use seu próprio modelo personalizado de aprendizado de máquina e resultados para busca de ameaças, detecção, investigação e resposta.

Este artigo mostra-lhe os componentes da plataforma BYO-ML e como tirar partido da plataforma e do algoritmo Anomalous Resource Access para fornecer uma deteção de ML personalizada com Microsoft Sentinel.

Ambiente do Azure Databricks/Spark

O Apache Spark deu um passo em frente na simplificação dos macrodados ao fornecer uma arquitetura unificada para a criação de pipelines de dados. Azure Databricks vai mais longe ao fornecer uma plataforma de cloud de gestão zero criada em torno do Spark. Recomendamos que utilize o Databricks para a sua plataforma BYO-ML, para que possa concentrar-se em encontrar respostas que afetam imediatamente o seu negócio, em vez de abordar os pipelines de dados e os problemas da plataforma.

Se já tiver o Databricks ou qualquer outro ambiente do Spark e preferir utilizar a configuração existente, o pacote BYO-ML também funcionará bem nos mesmos.

Pacote BYO-ML

O pacote BYO ML inclui as melhores práticas e investigação da Microsoft no front-end do ML para segurança. Neste pacote, fornecemos a seguinte lista de utilitários, Blocos de Notas e modelos de algoritmo 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 Bloco de Notas demonstra a utilização do modelo de Acesso a Recursos Anómalos no Microsoft Sentinel com dados de exemplo de preparação e teste gerados.
AnomalousRATraining.ipynb Bloco de notas para preparar o algoritmo, criar e guardar os modelos.
AnomalousRAScoring.ipynb Notebook para agendar a execução do modelo, visualizar o resultado e gravar a pontuação de volta no Microsoft Sentinel.

O primeiro modelo de algoritmo ML que oferecemos destina-se à deteção de Acesso a Recursos Anómalos. 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 informações principais de que você precisa no registro para este modelo são a associação entre usuários e recursos acessados.

Instruções de Exemplo: Deteção de Acesso a Partilhas de Ficheiros Anómalos

Agora que está familiarizado com os componentes principais da plataforma BYO-ML, eis um exemplo para lhe mostrar como utilizar a plataforma e os componentes para fornecer uma deteção de ML personalizada.

Configurar o Ambiente do Databricks/Spark

Terá de configurar o seu próprio ambiente do Databricks se ainda não tiver um. Veja o documento de início rápido do Databricks para obter instruções.

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

Para criar modelos de ML personalizados com base nos seus próprios dados no Microsoft Sentinel, terá de exportar os seus dados do Log Analytics para um armazenamento de Blobs ou recurso do Hub de Eventos, para que o modelo de ML possa aceder aos mesmos a partir do Databricks. Saiba como ingerir dados em Microsoft 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 está documentado no bloco de notas e nas bibliotecas.

Pode exportar automaticamente os seus dados do Log Analytics com a CLI do Azure.

Tem de lhe ser atribuída a função Contribuidor na área de trabalho do Log Analytics, na conta de Armazenamento e no recurso do EventHub para executar os comandos.

Segue-se 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 são suportados pela exportação automática do Log Analytics, pode utilizar a Aplicação Lógica ou outras soluções para mover os seus dados. Pode consultar o blogue e o script Exportar Dados do Log Analytics para o Blob Store .

Correlacionar com dados fora do Microsoft Sentinel

Também pode trazer dados de fora do Microsoft Sentinel para o armazenamento de blobs ou o Hub de Eventos e correlacioná-los com os dados Microsoft Sentinel para criar os seus modelos de ML.

Copie o pacote BYO-ML do repositório do GitHub do Microsoft Sentinel mencionado anteriormente para o seu ambiente do Databricks. Em seguida, abra os blocos de notas e siga as instruções no bloco de notas para instalar as bibliotecas necessárias nos clusters.

Treinamento e pontuação de modelos

Siga as instruções nos dois blocos de notas para alterar as configurações de acordo com o seu próprio ambiente e recursos, siga os passos para preparar e criar o seu modelo e, em seguida, agende o modelo para classificar os registos de acesso de partilha de ficheiros recebidos.

Escrever resultados no Log Analytics

Assim que tiver a classificação agendada, pode utilizar o módulo no bloco de notas de classificação para escrever os resultados da classificação na área de trabalho do Log Analytics associada à sua instância do Microsoft Sentinel.

Verificar os resultados no Microsoft 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 no seu nome de tabela personalizado). Você pode usar esses resultados para aprimorar suas atividades de investigação e caça.

registos de acesso a recursos anómalos

Criar uma regra de análise personalizada com resultados de ML

Depois de confirmar que os resultados do ML estão na tabela de registos personalizados e estiver satisfeito com a fidelidade das classificações, pode criar uma deteção com base nos resultados. Aceda a Análise a partir do portal Microsoft Sentinel e crie uma nova regra de deteção. Segue-se um exemplo que mostra a consulta utilizada para criar a deteção.

criar regra de análise personalizada para detecções BYOML

Exibir incidentes e responder a eles

Depois de configurar a regra de análise com base nos resultados do ML, se existirem resultados acima do limiar que definiu na consulta, um incidente será gerado e apresentado na página Incidentes no Microsoft Sentinel.

Próximas etapas

Neste documento, aprendeu a utilizar a plataforma BYO-ML do Microsoft Sentinel para criar ou importar os seus próprios algoritmos de machine learning para analisar dados e detetar ameaças.