Create relatórios de Microsoft Defender XDR personalizados com a API de segurança do Microsoft Graph e o Power BI
Aplica-se a:
Permitir que os profissionais de segurança visualizem os seus dados permite-lhes reconhecer rapidamente padrões complexos, anomalias e tendências que, de outra forma, poderiam estar à espreita por baixo do ruído. Com as visualizações, as equipas do SOC podem identificar rapidamente ameaças, tomar decisões informadas e comunicar informações de forma eficaz em toda a organização.
Existem várias formas de visualizar Microsoft Defender dados de segurança:
- Navegar em relatórios incorporados no portal do Microsoft Defender.
- Utilizar livros do Microsoft Sentinel com modelos pré-criados para cada produto Defender (requer integração com o Microsoft Sentinel).
- Aplicar a função de composição na Investigação Avançada.
- Utilizar o Power BI para expandir as capacidades de relatórios existentes.
Neste artigo, vamos criar um dashboard de eficiência do Centro de Operações de Segurança (SOC) de exemplo no Power BI com a API de segurança do Microsoft Graph. Acedemos ao mesmo no contexto de utilizador, pelo que o utilizador tem de ter permissões correspondentes para poder ver alertas e dados de incidentes.
Nota
O exemplo abaixo baseia-se na nossa nova API de segurança do MS Graph. Saiba mais em: Utilizar a API de segurança do Microsoft Graph.
Importar dados para o Power BI
Nesta secção, vamos percorrer os passos necessários para obter Microsoft Defender XDR dados para o Power BI, utilizando dados de Alertas como exemplo.
Abra o Microsoft Power BI Desktop.
Selecione Obter Dados > Em Branco Consulta.
Selecione Editor Avançado.
Colar na Consulta:
let Source = OData.Feed("https://graph.microsoft.com/v1.0/security/alerts_v2", null, [Implementation="2.0"]) in Source
Selecione Concluído.
Quando lhe forem pedidas credenciais, selecione Editar Credenciais:
Selecione Conta > organizacional Iniciar sessão.
Introduza as credenciais da conta com acesso a dados de incidentes Microsoft Defender XDR.
Selecione Ligar.
Agora, os resultados da consulta são apresentados como uma tabela e pode começar a criar visualizações sobre a mesma.
Sugestão
Se quiser visualizar outras formas de dados de segurança do Microsoft Graph, como Incidentes, Investigação Avançada, Classificação segura, etc., veja Descrição Geral da API de segurança do Microsoft Graph.
Filtrar dados
O Microsoft Graph API suporta o protocolo OData para que os utilizadores não tenham de se preocupar com a paginação ou pedir o próximo conjunto de dados. No entanto, filtrar dados é essencial para melhorar os tempos de carregamento num ambiente ocupado.
O Microsoft Graph API suporta parâmetros de consulta. Eis alguns exemplos de filtros utilizados no relatório:
A consulta seguinte devolve a lista de alertas gerados nos últimos três dias. A utilização desta consulta em ambientes com grandes volumes de dados pode resultar em centenas de megabytes de dados que podem demorar algum tempo a carregar. Ao utilizar esta abordagem codificada, pode ver rapidamente os alertas mais recentes nos últimos três dias assim que abrir o relatório.
let AlertDays = "3", TIME = "" & Date.ToText(Date.AddDays(Date.From(DateTime.LocalNow()), -AlertDays), "yyyy-MM-dd") & "", Source = OData.Feed("https://graph.microsoft.com/v1.0/security/alerts_v2?$filter=createdDateTime ge " & TIME & "", null, [Implementation="2.0"]) in Source
Em vez de recolher dados num intervalo de datas, podemos recolher alertas em datas mais precisas ao introduzir uma data com o formato AAAA-MM-DD.
let StartDate = "YYYY-MM-DD", EndDate = "YYYY-MM-DD", Source = OData.Feed("https://graph.microsoft.com/v1.0/security/ alerts_v2?$filter=createdDateTime ge " & StartDate & " and createdDateTime lt " & EndDate & "", null, [Implementation="2.0"]) in Source
Quando são necessários dados históricos (por exemplo, comparar o número de incidentes por mês), filtrar por data não é uma opção (uma vez que queremos ir o mais longe possível). Neste caso, precisamos de extrair alguns campos selecionados, conforme mostrado no exemplo seguinte:
let Source = OData.Feed("https://graph.microsoft.com/v1.0/security/alerts_v2?$filter=createdDateTime ge " & StartLookbackDate & " and createdDateTime lt " & EndLookbackDate & "&$select=id,title,severity,createdDateTime", null, [Implementation="2.0"]) in Source
Introdução aos parâmetros
Em vez de consultar constantemente o código para ajustar o período de tempo, utilize os parâmetros para definir uma Data de Início e De Fim sempre que abrir o relatório.
Aceda a Editor do Power Query.
Selecione Gerir Parâmetros>Novo Parâmetro.
Defina os parâmetros pretendidos.
No exemplo seguinte, utilizamos dois intervalos de tempo diferentes, Datas de início e fim.
Remova os valores codificados das consultas e certifique-se de que os nomes das variáveis StartDate e EndDate correspondem aos nomes dos parâmetros:
let Source = OData.Feed("https://graph.microsoft.com/v1.0/security/incidents?$filter=createdDateTime ge " & StartDate & " and createdDateTime lt " & EndDate & "", null, [Implementation="2.0"]) in Source
Rever o relatório
Assim que os dados tiverem sido consultados e os parâmetros estiverem definidos, agora podemos rever o relatório. Durante o primeiro lançamento do ficheiro de relatório PBIT, ser-lhe-á pedido que forneça os parâmetros que especificámos anteriormente:
O dashboard oferece três separadores destinados a fornecer informações do SOC. O primeiro separador fornece um resumo de todos os alertas recentes (dependendo do período de tempo selecionado). Este separador ajuda os analistas a compreender claramente o estado de segurança sobre o seu ambiente através de detalhes de alerta divididos pela origem de deteção, gravidade, número total de alertas e tempo médio para resolução.
O segundo separador oferece mais informações sobre os dados de ataque recolhidos nos incidentes e alertas. Esta vista pode fornecer aos analistas uma perspetiva maior sobre os tipos de ataques executados e como mapeiam para a arquitetura MITRE ATT&CK.
Exemplos do dashboard do Power BI
Para obter mais informações, veja o ficheiro de exemplo de modelos de relatório do Power BI.