Построение цепочки процессов с помощью SQL-запроса
Скопировано

13 октября 2026

ID 337656

Построение цепочки процессов с помощью SQL-запроса

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

События создания процессов Windows с идентификатором 4688 содержат сведения о созданном процессе и его родительском процессе. С помощью SQL-запроса можно связать события создания процессов между собой и получить цепочку из трех уровней: GrandParent (верхний) → Parent (родительский) → Current (текущий).

Запрос связывает события создания процессов по идентификаторам процессов и формирует текстовое представление полученной цепочки в поле ProcessTree.

В результате можно получить следующие сведения:

  • имя конечного устройства;
  • учетную запись и имя пользователя;
  • идентификаторы и имена процессов верхнего, родительского и текущего уровней;
  • последовательность запуска процессов в поле ProcessTree.

Чтобы построить цепочку процессов:

  1. В веб-интерфейсе перейдите в раздел События.
  2. С помощью конструктора запросов или вручную в поле вводе укажите следующий запрос:

    SELECT

    b.DeviceHostName AS HostName,

    b.SourceAccountID AS AccountID,

    b.SourceUserName AS UserName,

    a.DeviceCustomString3 AS GrandParentProcessID,

    a.SourceProcessName AS GrandParentProcessName,

    a.DeviceCustomString5 AS ParentProcessID,

    a.DestinationProcessName AS ParentProcessName,

    b.DeviceCustomString5 AS ProcessID,

    b.DestinationProcessName AS ProcessName,

    CONCAT(

    a.SourceProcessName,

    ' -> ',

    a.DestinationProcessName,

    ' -> ',

    b.DestinationProcessName

    ) AS ProcessTree

    FROM `events` AS a

    INNER JOIN (

    SELECT *

    FROM `events`

    WHERE DeviceEventClassID = '4688'

    ) AS b

    ON a.DeviceCustomString5 = b.DeviceCustomString3

    WHERE a.DeviceEventClassID = '4688';

  3. В верхней части окна откройте раскрывающийся список временного периода и укажите нужный диапазон времени для поиска событий.
  4. Нажмите на кнопку Выполнить запрос.

    После выполнения запроса в рабочей области отобразится таблица с результатами.

    Пример таблицы с результатами запроса

  5. Если вы хотите использовать SQL-запрос повторно, сохраните его, выполнив следующие действия:
    1. Сохраните созданный запрос, нажав на значок дискеты icon_save.
    2. В открывшемся окне укажите название, например Цепочка процессов (4688).
    3. Выберите папку, в которой нужно сохранить этот запрос.
    4. Нажмите на кнопку Сохранить.

      Сохраненный запрос можно найти, нажав на значок закладки .

После выполнения запроса убедитесь, что:

  • В результатах отображаются события создания процессов с DeviceEventClassID = '4688'.
  • Значение поля ParentProcessID соответствует идентификатору родительского процесса.
  • Значение поля ProcessID соответствует идентификатору текущего процесса.
  • Поле ProcessTree содержит последовательность из трех связанных процессов.
  • Сведения о хосте и пользователе соответствуют исходным событиям.

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

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!