ITERATIVE STATISTICAL-ENTROPY METHOD FOR ZERO KNOWLEDGE NETWORK TRAFFIC ANALYSIS ALGORITHM IMPLEMENTATION
Authors:   Deputy General Director for Scientific and Technical Work  LLC Ural Center for Security Systems (LLC USSC)., Domukhovsky N.A. , Sinadsky A.N. ,   junior  engineer  LLC  Ural  Center  for  Security  Systems  (LLS  USSC)
Published: February 2021

The article is devoted to traffic analysis with zero knowledge about its structure. As a result of combining existing entropy and statistical algorithms, a statistical-entropy method has been developed capable of distinguishing network nodes and significant fields from traffic with un-DOI: 10.14529/secur200105 МЕТОДЫ АНАЛИЗА ДАННЫХ49В Требованиях по обеспечению безопас-ности значимых объектов критической ин-формационной инфраструктуры Российской Федерации, утвержденных приказом ФСТЭК России от 25 декабря 2017 г. No239, в качестве меры АУД.5 указан «Контроль и анализ сете-вого трафика». При проведении мониторинга в условиях проприетарных протоколов, рас-пространённых как в сетях АСУ ТП, так и IoT, средство анализа сетевого трафика не может дать достаточно информации для обеспече-ния мер по защите сетевых ресурсов.Задача состоит в выделении сетевых адре-сов и границ полей заголовков протоколов.Разделение входного массива сетевого трафика на отдельные поля и идентификация сетевых адресов при отсутствии априорных знаний о протоколах является актуальной за-дачей. При этом предполагаются следующие предположения-эвристики:– в каждом сетевом пакете присутствует адресная и семантическая части данных;– адресная часть всегда расположена ближе к началу пакета, чем семантическая;– адресная часть всегда содержит адреса отправителя и получателя;– адресная часть меняется реже, чем се-мантическая.Известные решения [1-7] предлагают ва-рианты решения частных проблем (унифици-рованное описание сети, выделение полей из неизвестного трафика одного протокола, классификация трафика на протоколы), но не дают возможности выполнять все действия одновременно.В [8] представлен способ использования информационной энтропии в качестве мето-да определения границ полей, позволяющий, используя сравнительно небольшие вычис-лительные ресурсы, по графикам изменения энтропии отдельных байтов и их взаимной информации делать предположения о струк-туре анализируемого сетевого протокола. Недостатком такого метода является невоз-можность его использования на массиве тра-фика, имеющем более одного протокола.Предложенный статистико-энтропийный метод, применяет энтропийный модуль для определения границ полей протокола с по-мощью информационной энтропии и стати-стический модуль для выделения сетевых адресов на основе анализа статистики вхож-дения частей пакета в массив трафика.Статистико-энтропийный метод и его реализацияДля решения проблемы одновременного выделения сетевых адресов и границ семанти-ческих полей предлагается объединить два известных алгоритма – статистический и эн-тропийный (рис. 1). Статистический алгоритм использует оценку количества вхождений по-хожих на части сетевого пакета подстрок в ра-нее полученный массив сетевого трафика для выделения из сетевого трафика уровней адре-сации и конкретных адресов сетевых узлов, а энтропийный с помощью вычисления инфор-мационных характеристик осуществляет под-держку решения статистического и определя-ет границы полей в семантической части.Входные данные для статистико-энтро-пийного алгоритма – набор из lp сетевых па-кетов. Каждый сетевой пакет имеет номер n и содержит lbn байт d. Пакет – набор байт , di – байт пакета, расположенный по смещению i от его начала, n – порядковый номер пакета. Набор сетевых пакетов опре-деляется как .Выходные данные алгоритма – получен-ный из энтропийного алгоритма набор полей , где lf – количество выделенных полей, и сформированные из статистическо-го алгоритма множества адресных known protocol. The decision about significant fields boundaries in the analyzed traffic sample made by the algorithm is based on the entropy of individual bytes and byte pairs mutual infor-mation. The statistical algorithm determines network addresses using estimate number of oc-currences parts of a network packet similar (as a strings) to parts of a previously received array of network traffic. Based on the entropy algorithm, an iterative algorithm has been developed that solves the problem of traffic analysis, which includes more than one protocol. The mathe-matical models each of the algorithms are implemented as a module of the program that im-plements the statistical-entropy method. As a result of the software implementation of the de-scribed statistical-entropy method, network addresses are allocated from the network traffic with zero knowledge about the protocols used in it, and separation into semantic fields is pro-posed