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

12 октября 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 без прослушивающего приложения. В части 2 этого руководства будет разработано приложение, прослушивающее события 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 этого руководства.

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