Учебное руководство по разработке приложения на Python: часть 1

29 июня 2026

ID 171598

В этом руководстве описывается реализация обмена данными с Kaspersky CyberTrace в приложении на Python.

В части 1 этого руководства описывается приложение, отправляющее данные в Kaspersky CyberTrace.

В части 2 этого руководства описывается приложение, ожидающее получения событий от Kaspersky CyberTrace.

Введение

Эта часть руководства посвящена реализации приложения Python, отправляющего данные в Kaspersky CyberTrace. Kaspersky CyberTrace анализирует полученные данные, сопоставляя их с индикаторами. Если сопоставление обнаруживает совпадающие индикаторы, Kaspersky CyberTrace отправляет в ответ свои собственные события.

Имя для приложения можно выбрать произвольно. В примерах в этом руководстве для этого приложения используется имя файла send_events_cybertrace.py.

Для реализации этого приложения рекомендуется использовать Python 3. В примерах кода в этом руководстве используется синтаксис Python 3.

О флаге X-KF-ReplyBack

В этой части руководства в разрабатываемом приложении используется флаг X-KF-ReplyBack для получения событий от Kaspersky CyberTrace без приложения-прослушивателя. Приложение, прослушивающее порт в ожидании событий от Kaspersky CyberTrace, реализуется во второй части этого руководства.

Флаг X-KF-ReplyBack включает режим ReplyBack mode. В этом режиме Kaspersky CyberTrace отправляет свои события обнаруженных киберугроз в то же самое сокетное соединение.

Этот флаг не является обязательным. Если разрабатываемое приложение не отправляет этот флаг, Kaspersky CyberTrace будет отправлять собственные события в соответствии с параметром OutputSettings > ConnectionString.

О флаге X-KF-SendFinishedEvent

Флаг X-KF-SendFinishedEvent используется в разрабатываемом приложении, чтобы Kaspersky CyberTrace генерировал специальное событие в ответ на каждое полученное событие.

Kaspersky CyberTrace генерирует это событие в формате, указанном в параметре OutputSettings > FinishedEventFormat. Значение атрибута enabled этого параметра игнорируется.

О флаге X-KF-SaveStatistic

Флаг X-KF-SaveStatistic используется в разрабатываемом приложении, чтобы Kaspersky CyberTrace сохранял статистику обнаруженных киберугроз для всех событий, полученных за время текущего соединения. События также сохраняются для ретроспективного сканирования.

1-й этап. Определение функции main()

На этом этапе выполняются следующие действия:

  1. Импорт модуля socket.

    Функции из этого модуля используются для установления соединения с Kaspersky CyberTrace и отправки данных.

  2. Определение функции main().
  3. В переменных CYBERTRACE_ADDR и CYBERTRACE_PORT необходимо указать адрес и порт, которые Kaspersky CyberTrace будет прослушивать в ожидании входящих событий.

    Эту информацию можно получить в веб-интерфейсе Kaspersky CyberTrace на странице General settings, в области Входящие события.

2-й этап. Добавление примеров событий

На этом этапе выполняются следующие действия:

  1. В функции main() определяется список с примерами событий.

    События в этом списке содержат индикаторы. Приложение отправляет эти события в Kaspersky CyberTrace.

    Каждое событие должно заканчиваться символом новой строки (\n). Символ новой строки служит разделителем событий.

3-й этап. Установление сокетного соединения

На этом этапе выполняются следующие действия:

  1. В функцию main() необходимо добавить код, устанавливающий соединение с Kaspersky CyberTrace и завершающий соединение после отправки всех событий.
  2. В этом коде необходимо отправить флаги X-KF-SendFinishedEvent и X-KF-ReplyBack.

    Флаги X-KF-SendFinishedEvent и X-KF-ReplyBack отправляются при установлении соединения. Эти флаги заставляют Kaspersky CyberTrace всегда генерировать событие в ответ на полученное событие, даже если при сопоставлении с полученного события с индикаторами не обнаруживается совпадений.

    Флаг X-KF-SaveStatistic следует отправлять, если требуется, чтобы в течение текущего соединения Kaspersky CyberTrace сохранял статистику обнаружения и события для ретроспективного сканирования (retroscan).

    Если используется флаг X-KF-ReplyBack, флаг X-KF-SendFinishedEvent должен ему предшествовать.

    Если используется флаг X-KF-SaveStatistic, флаг X-KF-ReplyBack должен ему предшествовать.

4-й этап. Отправка событий

На этом этапе выполняются следующие действия:

  1. В коде из предыдущего этапа в блоке try... finally выполняется итерация по списку events и каждое событие отправляется в Kaspersky CyberTrace.

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

  2. Добавление вывода в консоль для отправленных событий и полученных ответов.

5-й этап. Запуск приложения

На этом этапе выполняются следующие действия:

  1. Запуск приложения из консоли:

    python3 ./send_events_cybertrace.py

Ниже приведен пример вывода приложения. Kaspersky CyberTrace отправляет событие для каждого успешно сопоставленного индикатора и событие для завершенной операции поиска.

Полный код для части 1

Ниже приведен полный код для части 1 этого руководства.

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