Partilhar via


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.

  1. Abra o Microsoft Power BI Desktop.

  2. Selecione Obter Dados > Em Branco Consulta.

  3. Selecione Editor Avançado.

    Captura de ecrã que mostra como criar uma nova consulta de dados no Power BI Desktop.

  4. Colar na Consulta:

    let
        Source = OData.Feed("https://graph.microsoft.com/v1.0/security/alerts_v2", null, [Implementation="2.0"])
    in
        Source
    
  5. Selecione Concluído.

  6. Quando lhe forem pedidas credenciais, selecione Editar Credenciais:

    Captura de ecrã a mostrar como editar credenciais para a ligação à API.

  7. Selecione Conta > organizacional Iniciar sessão.

    Captura de ecrã da janela de autenticação da conta organizacional.

  8. Introduza as credenciais da conta com acesso a dados de incidentes Microsoft Defender XDR.

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

  1. Aceda a Editor do Power Query.

  2. Selecione Gerir Parâmetros>Novo Parâmetro.

  3. Defina os parâmetros pretendidos.

    No exemplo seguinte, utilizamos dois intervalos de tempo diferentes, Datas de início e fim.

    Captura de ecrã a mostrar como gerir Parâmetros no Power BI.

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

Captura de ecrã da janela da linha de comandos de parâmetros do modelo do Power BI.

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.

Captura de ecrã do separador alertas do relatório do Power BI resultante.

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.

Captura de ecrã do separador informações do relatório do Power BI resultante.

Exemplos do dashboard do Power BI

Para obter mais informações, veja o ficheiro de exemplo de modelos de relatório do Power BI.