Поделиться через


Создание пользовательских отчетов Microsoft Defender XDR с помощью API безопасности Microsoft Graph и Power BI

Предоставление специалистам по безопасности возможности визуализировать свои данные позволяет им быстро распознавать сложные закономерности, аномалии и тенденции, которые в противном случае могли бы скрываться под шумом. С помощью визуализаций команды SOC могут быстро выявлять угрозы, принимать обоснованные решения и эффективно обмениваться аналитическими сведениями по всей организации.

Существует несколько способов визуализации Microsoft Defender данных безопасности:

  • Навигация по встроенным отчетам на портале Microsoft Defender.
  • Использование Microsoft Sentinel книг с предварительно созданными шаблонами для каждого продукта Defender (требуется интеграция с Microsoft Sentinel).
  • Применение функции отрисовки в Advanced Hunting.
  • Использование Power BI для расширения существующих возможностей создания отчетов.

В этой статье мы создадим пример панели мониторинга эффективности Центра безопасности (SOC) в Power BI с помощью API безопасности Microsoft Graph. Мы доступ к ней в контексте пользователя, поэтому пользователь должен иметь соответствующие разрешения , чтобы иметь возможность просматривать данные оповещений и инцидентов.

Примечание.

Пример ниже основан на нашем новом API безопасности MS Graph. Дополнительные сведения см. в статье Использование API безопасности Microsoft Graph.

Импорт данных в Power BI

В этом разделе мы рассмотрим действия, необходимые для получения Microsoft Defender XDR данных в Power BI, используя в качестве примера данные оповещений.

  1. Откройте Microsoft Power BI Desktop.

  2. Выберите Получить пустой запрос данных>.

  3. Выберите Расширенный редактор.

    Снимок экрана: создание запроса данных в Power BI Desktop.

  4. Вставьте в запрос:

    let
        Source = OData.Feed("https://graph.microsoft.com/v1.0/security/alerts_v2", null, [Implementation="2.0"])
    in
        Source
    
  5. Нажмите кнопку Готово.

  6. Когда вам будет предложено ввести учетные данные, выберите Изменить учетные данные:

    Снимок экрана: изменение учетных данных для подключения к API.

  7. Выберите Учетная запись > организации Вход.

    Снимок экрана: окно проверки подлинности учетной записи организации.

  8. Введите учетные данные для учетной записи с доступом к данным об инцидентах Microsoft Defender XDR.

  9. Нажмите Подключиться.

Теперь результаты запроса отображаются в виде таблицы, и вы можете приступить к созданию визуализаций поверх нее.

Совет

Если вы хотите визуализировать другие формы данных безопасности Microsoft Graph, такие как инциденты, расширенная охота, оценка безопасности и т. д., см. статью Обзор API безопасности Microsoft Graph.

Фильтрация данных

Microsoft API Graph поддерживает протокол OData, поэтому пользователям не придется беспокоиться о разбиении на страницы или запросе следующего набора данных. Однако фильтрация данных имеет важное значение для повышения времени загрузки в среде с напряженной работой.

Microsoft API Graph поддерживает параметры запросов. Вот несколько примеров фильтров, используемых в отчете:

  • Следующий запрос возвращает список оповещений, созданных за последние три дня. Использование этого запроса в средах с большим объемом данных может привести к сотням мегабайт данных, которые могут занять некоторое время. Используя этот жестко заданный подход, вы сможете быстро увидеть последние оповещения за последние три дня сразу после открытия отчета.

    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
    
  • Вместо сбора данных в диапазоне дат можно собирать оповещения по более точным датам, вводя дату в формате ГГГГ-ММ-ДД.

    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
    
  • Если требуются исторические данные (например, сравнение количества инцидентов в месяц), фильтрация по дате не является вариантом (так как мы хотим вернуться как можно дальше). В этом случае необходимо извлечь несколько выбранных полей, как показано в следующем примере:

    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
    

Знакомство с параметрами

Вместо того, чтобы постоянно запрашивать код для корректировки временных интервалов, используйте параметры для задания начальной и конечной даты при каждом открытии отчета.

  1. Перейдите к Редактор запросов.

  2. Выберите Управление параметрами>Новый параметр.

  3. Задайте нужные параметры.

    В следующем примере мы используем два разных временных интервала: начальную и конечную даты.

    Снимок экрана: управление параметрами в Power BI.

  4. Удалите жестко заданные значения из запросов и убедитесь, что имена переменных StartDate и EndDate соответствуют именам параметров:

    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
    

Просмотр отчета

После запроса данных и задания параметров можно просмотреть отчет. При первом запуске файла отчета PBIT вам будет предложено указать параметры, указанные ранее:

Снимок экрана: окно запроса параметров шаблона Power BI.

Панель мониторинга содержит три вкладки, предназначенные для предоставления аналитических сведений SOC. Первая вкладка содержит сводку всех последних оповещений (в зависимости от выбранного периода). Эта вкладка помогает аналитикам четко понять состояние безопасности в своей среде, используя сведения об оповещении с разбивкой по источнику обнаружения, серьезности, общему количеству оповещений и среднему времени до разрешения.

Снимок экрана: вкладка

Вторая вкладка содержит дополнительные сведения об атаках, собираемых в рамках инцидентов и оповещений. Это представление может предоставить аналитикам более широкий взгляд на типы выполняемых атак и их сопоставление с платформой MITRE ATT&CK.

Снимок экрана: вкладка

Примеры панели мониторинга Power BI

Дополнительные сведения см. в примере файла шаблонов отчетов Power BI.