RU2841028C1 - Method of detecting and counteracting denial of service attacks - Google Patents
Method of detecting and counteracting denial of service attacks Download PDFInfo
- Publication number
- RU2841028C1 RU2841028C1 RU2024132214A RU2024132214A RU2841028C1 RU 2841028 C1 RU2841028 C1 RU 2841028C1 RU 2024132214 A RU2024132214 A RU 2024132214A RU 2024132214 A RU2024132214 A RU 2024132214A RU 2841028 C1 RU2841028 C1 RU 2841028C1
- Authority
- RU
- Russia
- Prior art keywords
- interaction
- network
- values
- flow
- columns
- Prior art date
Links
Abstract
Description
Область техники, к которой относиться изобретениеField of technology to which the invention relates
Предполагаемое изобретение относится к области информационной безопасности цифровых сетей передачи данных и может быть использовано для защиты отдельных компьютеров в сети и корпоративных сетей от компьютерных атак типа отказ в обслуживании.The proposed invention relates to the field of information security of digital data transmission networks and can be used to protect individual computers in a network and corporate networks from computer attacks of the denial of service type.
Уровень техникиState of the art
Целью атак типа «отказ в обслуживании» (DoS/DDoS атак) является перегрузка сервера, сети или приложений для того, чтобы замедлить или полностью прекратить обслуживание легитимных пользователей. Такие атаки обычно направлены на исчерпание ресурсов сети или сервера. Для реализации такой атаки, злоумышленник может использовать широкий спектр приемов. Отказ в обслуживании может быть вызван как большим потоком трафика, так и с помощью эксплуатации уязвимостей некоторых сетевых протоколов. Для усиления и усложнения противодействия такому типу атак, злоумышленник может использовать различные методы.The purpose of a denial of service attack (DoS/DDoS attack) is to overload a server, network or application in order to slow down or completely stop service to legitimate users. Such attacks are usually aimed at exhausting network or server resources. To implement such an attack, an attacker can use a wide range of techniques. Denial of service can be caused by both a large flow of traffic and by exploiting vulnerabilities in some network protocols. To strengthen and complicate counteraction to this type of attack, an attacker can use various methods.
Одним из способов усиления атаки является использование распределенной бот-сети. В случае такой распределенной атаки, количество источников атаки достаточно большое, что затрудняет блокировку такого вида атак и увеличивает общую интенсивность трафика атаки.One way to amplify an attack is to use a distributed botnet. In the case of such a distributed attack, the number of attack sources is quite large, which makes it difficult to block this type of attack and increases the overall intensity of the attack traffic.
Для генерации большого потока трафика не всегда требуется наличие большой распределенной бот-сети. Усиление атаки может производиться за счет техники отражения атаки. Например, злоумышленник может отправить определенный запрос небольшого размера на DNS сервер, при этом ответ сервера будет значительно больше. Если злоумышленник подменит IP-адрес источника в своем запросе на адрес целевого сервера, тогда и ответ с DNS сервера будет отправлен на этот целевой сервер.Generating a large traffic flow does not always require a large distributed botnet. Attack amplification can be achieved through attack reflection techniques. For example, an attacker can send a specific small query to a DNS server, and the server's response will be significantly larger. If the attacker replaces the source IP address in his query with the address of the target server, then the response from the DNS server will be sent to this target server.
Подмена адреса источника может использоваться и в других техниках для реализации подобных атак. Например, злоумышленник может изменять адреса источника атаки на адреса из внутренней сети или другие адреса легитимных пользователей.Source address substitution can be used in other techniques to implement similar attacks. For example, an attacker can change the attack source addresses to addresses from the internal network or other addresses of legitimate users.
Также интенсивность атаки типа отказ в обслуживании не всегда является стационарной. Могут использовать атаки с нарастающей активностью. Таким образом, если способ противодействия основан на вычислении пороговых значений, тогда атака будет заблокирована не сразу, а только в момент, когда интенсивность атаки возрастет настолько, что будет превышать заданные пороговые значения.Also, the intensity of a denial of service attack is not always stationary. Attacks with increasing activity can be used. Thus, if the counteraction method is based on calculating threshold values, then the attack will not be blocked immediately, but only when the intensity of the attack increases so much that it exceeds the specified threshold values.
Известен способ обнаружения DDoS атак (международная заявка на изобретение CN 107864155, приоритет от 12.12.2017). Способ предполагает сбор сетевого трафика и агрегирование параметров трафика с учетом IP-адресов, пакетов и портов. Таким образом вычисляется ряд статистических характеристик в единичном интервале. Если происходит превышение установленного порогового значения, тогда формируется отчет об атаке. Определение цели атаки и атакующих IP-адресов производится с помощью ранжирования активности. Адреса, на которые приходило наибольшее количество трафика, считаются целью атаки. Адреса, с которых поступало больше всего активности, считаются источником атаки.A method for detecting DDoS attacks is known (international patent application CN 107864155, priority dated 12.12.2017). The method involves collecting network traffic and aggregating traffic parameters taking into account IP addresses, packets and ports. In this way, a number of statistical characteristics are calculated in a single interval. If the set threshold value is exceeded, then an attack report is generated. The attack target and attacking IP addresses are determined using activity ranking. The addresses that received the most traffic are considered the attack target. The addresses from which the most activity was received are considered the attack source.
Известный способ имеет следующие недостатки:The known method has the following disadvantages:
• уязвимость к распределенным атакам и техникам подмены IP-адресов, так-как источник атаки в таких случаях может определяться некорректно;• vulnerability to distributed attacks and IP address spoofing techniques, since the source of the attack in such cases may be determined incorrectly;
• уязвимость к атакам с нарастающей активностью, так-как отчеты об атаке формируются при превышении установленного порога активности;• vulnerability to attacks with increasing activity, since attack reports are generated when the established activity threshold is exceeded;
• уязвимость к отраженным атакам, так как сервер, используемый для отражения атаки, может активно использоваться защищаемым сервером, тогда блокировка трафика с такого сервера может повлечь некорректную работу или отказ в обслуживании целевого сервера.• vulnerability to reflected attacks, since the server used to reflect the attack can be actively used by the protected server, then blocking traffic from such a server can lead to incorrect operation or denial of service of the target server.
Известен также способ обнаружения компьютерных атак (патент РФ №2683631, приоритет от 08.12.2017 г.). Способ заключается в том, чтоThere is also a known method for detecting computer attacks (RU Patent No. 2683631, priority dated 08.12.2017). The method consists in the fact that
• устанавливают и запоминают пороговые значения параметров, рассчитываемых в единицу времени,• establish and store threshold values of parameters calculated per unit of time,
• принимают из сети последовательность пакетов сообщений,• receive a sequence of message packets from the network,
• запоминают принятые пакеты сообщений,• remember received message packets,
• выделяют из пакетов сообщений характеризующие их данные,• extract from message packets the data that characterizes them,
• рассчитывают значения параметров, зависящих от полученных пакетов сообщений,• calculate the values of parameters that depend on the received message packets,
• сравнивают рассчитанные значения параметров с пороговыми значениями,• compare the calculated parameter values with the threshold values,
• принимают решение о факте наличия или отсутствия компьютерной атаки при сравнении рассчитанных значений параметров с пороговыми значениями,• make a decision on the presence or absence of a computer attack by comparing the calculated values of the parameters with the threshold values,
при этомat the same time
• предварительно задают необходимое число определяемых типов атак Z≥1, количество обучающих L и контрольных С примеров для каждого типа атак,• pre-set the required number of attack types to be determined Z≥1, the number of training L and control C examples for each attack type,
• определяют виды протоколов и необходимые параметры Fij, где i≤Z, требуемые для распознавания атак заданных типов и используют эти параметры в качестве характеризующих пакеты данных,• determine the types of protocols and the necessary parameters Fij, where i≤Z, required to recognize attacks of given types and use these parameters as those characterizing data packets,
• задают структуру нейронной сети:• define the structure of the neural network:
тип нейронной сети R, neural network type R,
количество скрытых слоев U, number of hidden layers U,
количество нейронов во входном слое, скрытых слоях и выходном слое the number of neurons in the input layer, hidden layers and output layer
таким образом, что число нейронов во входном слое N определяется количеством полей протоколов, необходимых для распознавания атак заданных типов, а число нейронов в выходном слое равно K,such that the number of neurons in the input layer N is determined by the number of protocol fields required to recognize attacks of given types, and the number of neurons in the output layer is equal to K,
• формируют необходимое количество обучающих примеров, представляющих собой векторы размерности N+K, где первые N элементов равны значениям определенных полей протоколов, а последние К равны нулю за исключением значения, соответствующего типу атаки, к которой относится данный элемент выборки, которое равно единице,• form the required number of training examples, which are vectors of dimension N+K, where the first N elements are equal to the values of certain protocol fields, and the last K are equal to zero, with the exception of the value corresponding to the type of attack to which this sample element belongs, which is equal to one,
• задают требуемую достоверность распознавания D для нейронной сети,• set the required recognition reliability D for the neural network,
• обучают нейронную сеть с использованием подготовленных примеров,• train a neural network using prepared examples,
• завершают обучение нейронной сети после выполнения всех итераций генерации выборок или по достижении требуемой достоверности распознавания,• complete the training of the neural network after all iterations of sample generation have been completed or upon reaching the required recognition reliability,
• при наличии компьютерной атаки определяют тип одиночной компьютерной атаки по сочетанию рассчитанных значений параметров Oj на основе следующих условий:• in the presence of a computer attack, the type of a single computer attack is determined by a combination of calculated values of the parameters Oj based on the following conditions:
если значение, полученное только на одном из выходных нейронов, превысило пороговое значение, то определяют тип атаки Aj, if the value obtained on only one of the output neurons exceeds the threshold value, then the attack type Aj is determined,
если значение, полученное на нескольких выходных нейронах, превысило пороговое значение, то тип атаки считают комбинированным и добавляют к типу атаки тип Aj. If the value obtained on several output neurons exceeds the threshold value, then the attack type is considered combined and type Aj is added to the attack type.
В качестве нейронной сети для реализации способа была сформирована и обучена нейронная сеть типа многослойный персептрон и произведено ее обучение методом обратного распространения ошибки.As a neural network for implementing the method, a neural network of the multilayer perceptron type was formed and trained and its training was performed using the back propagation method.
Необходимо отметить, что приводимая таблица результатов работы способа содержит значения точности обнаружения компьютерных атак, при этом термин "точность обнаружения", наиболее вероятно, употреблен не вполне корректно, соответственно, более понятным было бы, видимо, использование термина "доля обнаруженных атак" или, с учетом этого, вероятность обнаружения атак.It should be noted that the provided table of the results of the method contains the values of the accuracy of detecting computer attacks, and the term "accuracy of detection" is most likely not used entirely correctly; accordingly, it would probably be more understandable to use the term "proportion of detected attacks" or, taking this into account, the probability of detecting attacks.
В способе используется ряд характеристик сети, рассчитываемых в единицу времени. Таким образом, в способе определяется наличие или отсутствие атаки одного из видов, используемых при обучении.The method uses a number of network characteristics calculated per unit of time. Thus, the method determines the presence or absence of an attack of one of the types used in training.
Однако, известный способ имеет ряд недостатков:However, the known method has a number of disadvantages:
• относительно невысокая вероятность обнаружения распределенных атак, атак с техникой подмены IP-адреса источника атаки, отраженных атак и атак с нарастающей активностью,• relatively low probability of detecting distributed attacks, attacks using the technique of substituting the IP address of the attack source, reflected attacks and attacks with increasing activity,
• необходимость предварительного формирования значительного количество обучающих примеров для каждого вида атак,• the need to pre-generate a significant number of training examples for each type of attack,
• отсутствие возможности идентифицировать поток, относящийся к атаке.• inability to identify the flow related to the attack.
Раскрытие изобретенияDisclosure of invention
Техническим результатом является:The technical result is:
1) повышение вероятности обнаружения и защиты от разновидностей атак типа отказ в обслуживании с использованием подмены IP-адреса источника атаки, распределенных атак, отраженных атак и атак типа отказ в обслуживании с нарастающей активностью,1) increasing the probability of detection and protection against types of denial of service attacks using IP spoofing of the attack source, distributed attacks, reflected attacks and denial of service attacks with increasing activity,
2) обеспечение возможности обнаружение конкретных пакетов и потоков, принадлежащих к атаке;2) ensuring the ability to detect specific packets and flows belonging to the attack;
3) обеспечение возможности обучения нейронной сети только на легитимном трафике без необходимости подготовки размеченные данные для каждого вида атак.3) ensuring the ability to train a neural network only on legitimate traffic without the need to prepare labeled data for each type of attack.
Для этого предлагается способ обнаружения и противодействия атакам типа отказ в обслуживании с использованием вычислительной системы, подключенный к внешней цифровой сети передачи данных и локальной цифровой сети передачи данных и включающей, по крайней мере, один компьютер, который имеет установленную операционную систему и прикладные программы, позволяющиеFor this purpose, a method is proposed for detecting and countering denial of service attacks using a computing system connected to an external digital data transmission network and a local digital data transmission network and including at least one computer that has an installed operating system and application programs that allow
• получать, обрабатывать и хранить многомерные данные сетевого трафика;• receive, process and store multidimensional network traffic data;
• обеспечивать формирование, функционирование и обучение нейронной сети типа автокодировщик;• ensure the formation, functioning and training of a neural network of the autoencoder type;
• блокировать сетевые пакеты, проходящие из внешней цифровой сети передачи данных в локальную цифровую сеть передачи данных;• block network packets passing from the external digital data transmission network to the local digital data transmission network;
способ заключающийся в том, что:a method consisting in the fact that:
• запускают компьютер в режиме контролируемой нормальной работы;• start the computer in controlled normal operation mode;
• создают таблицу характеристик сети, изначально заполненную нулевыми значениями;• create a table of network characteristics, initially filled with zero values;
• создают таблицу статистических характеристик сети, изначально заполненную нулевыми значениями;• create a table of statistical characteristics of the network, initially filled with zero values;
• создают таблицу характеристик взаимодействий, изначальной пустую;• create a table of interaction characteristics, initially empty;
• создают таблицу статистических характеристик взаимодействий, изначально пустую;• create a table of statistical characteristics of interactions, initially empty;
• создают таблицу для обучения, изначально пустую;• create a table for training, initially empty;
• задают период Т1 для формирования таблиц параметров потоков;• set the period T1 for generating tables of flow parameters;
• задают промежуток времени Т2>Т1 для формирования обучающей таблицы;• set the time interval T2>T1 for forming the training table;
• принимают и обрабатывают данные из сетевых потоков;• receive and process data from network streams;
• дополняют таблицу для обучения на протяжении всего промежутка времени Т2, для этого, с периодом Т1 выполняют следующие действия:• supplement the table for training throughout the entire time interval T2, for this, with the period T1, the following actions are performed:
получают таблицу параметров потоков; receive a table of flow parameters;
создают таблицу характеристик потоков, изначально пустую, с количеством строк, равным количеству строк в таблице параметров потоков и со столбцами для значений параметров потоков, характеристик сети и характеристик взаимодействий; create a flow characteristics table, initially empty, with a number of rows equal to the number of rows in the flow parameters table and with columns for flow parameter values, network characteristics, and interaction characteristics;
заполняют в таблице характеристик потоков столбцы параметров потоков значениями из столбцов таблицы параметров потоков; fill in the flow parameter columns in the flow characteristics table with values from the columns of the flow parameter table;
вычисляют характеристики сети для таблицы параметров потоков; calculate network characteristics for the flow parameter table;
сглаживают значения характеристик сети; smooth out the values of network characteristics;
записывают сглаженные характеристики сети в таблицу характеристик сети; write the smoothed network characteristics into the network characteristics table;
записывают в таблице характеристик потоков значения характеристик сети из таблицы характеристик сети в столбцы для каждой из характеристик сети в виде набора одинаковых значений в каждой строке; write down in the table of flow characteristics the values of the network characteristics from the table of network characteristics in columns for each of the network characteristics in the form of a set of identical values in each row;
вычисляют значения статистических характеристик сети; calculate the values of statistical characteristics of the network;
записывают значения статистических характеристик сети в таблицу статистических характеристик сети; record the values of the statistical characteristics of the network in the table of statistical characteristics of the network;
заполняют в таблице характеристик потоков значения в столбцах характеристик взаимодействий, выполняя следующие действия для каждой строки таблицы характеристик потоков: fill in the values in the interaction characteristic columns in the flow characteristics table by performing the following actions for each row of the flow characteristics table:
определяют взаимодействие потока с помощью двух его IP-адресов, протокола и серверного порта; define the interaction of a stream using its two IP addresses, protocol and server port;
если в таблице характеристик взаимодействий отсутствует взаимодействие, к которому относиться поток, тогда: if the interaction characteristics table does not contain the interaction to which the flow belongs, then:
создают новое взаимодействие в таблице характеристик взаимодействий; create a new interaction in the interaction characteristics table;
задают значения количества потоков, пакетов и байтов в секунду равными нулю в таблице характеристик взаимодействий; set the values for the number of streams, packets, and bytes per second to zero in the interaction characteristics table;
задают значения количества пакетов и байтов равными количеству пакетов и байтов в рассматриваемом потоке; set the values of the number of packets and bytes equal to the number of packets and bytes in the stream in question;
иначе, если взаимодействие имеется в таблице характеристик взаимодействий, тогда:otherwise, if the interaction is in the interaction characteristics table, then:
вычисляют характеристики взаимодействия для рассматриваемого потока; calculate the interaction characteristics for the flow under consideration;
сглаживают значения характеристик взаимодействия; smooth out the values of interaction characteristics;
задают момент времени последней активности взаимодействия равным времени появления потока; set the time of the last interaction activity equal to the time of the flow appearance;
записывают сглаженные значения характеристик взаимодействия в таблицу характеристик взаимодействий; write the smoothed values of the interaction characteristics into the interaction characteristics table;
вычисляют статистические характеристики взаимодействия; calculate statistical characteristics of the interaction;
записывают значения статистических характеристик взаимодействия в таблицу статистических характеристик взаимодействий; write down the values of statistical characteristics of interaction in the table of statistical characteristics of interactions;
записывают в столбцы характеристик взаимодействий таблицы характеристик потоков значения из таблицы характеристик взаимодействий для рассматриваемого потока; write down in the columns of the interaction characteristics of the flow characteristics table the values from the interaction characteristics table for the flow under consideration;
дополняют таблицу для обучения строками таблицы характеристик потоков; supplement the training table with rows from the flow characteristics table;
• по завершению промежутка времени Т2 осуществляют оцифровку символьных значений в столбцах протокола и серверного порта в таблице для обучения;• at the end of the time interval T2, the symbolic values in the protocol and server port columns in the training table are digitized;
• осуществляют оцифровку IP-адресов, путем разделения адреса на 4 значения по байтам в таблице для обучения;• digitize IP addresses by dividing the address into 4 byte values in a table for training;
• нормализуют в оцифрованной таблице для обучения значения в столбцах количества байт и пакетов, в восьми столбцах оцифрованных столбцов IP-адресов, характеристик сети, характеристик взаимодействий, а также в столбцах с количеством различных TCP флагов, получая нормализованную таблицу для обучения;• normalize the values in the byte and packet count columns, the eight digitized IP address columns, network characteristics, interaction characteristics, and the columns with the number of different TCP flags in the digitized training table, obtaining a normalized training table;
• формируют нейронную сеть типа автокодировщик, имеющую• form a neural network of the autoencoder type, which has
размерность входного слоя и слоя на выходе равную количеству столбцов в нормализованной таблице для обучения, the dimension of the input layer and the output layer is equal to the number of columns in the normalized table for training,
один скрытый слой с размерностью меньшей, чем количество столбцов в нормализованной таблице для обучения; one hidden layer with a dimension less than the number of columns in the normalized training table;
• обучают нейронную сеть с использованием нормализованной таблицы для обучения, причем при обучении минимизируют ошибку реконструкции параметров потока R, которая вычисляется по формуле:• train a neural network using a normalized table for training, and during training minimize the error in reconstructing the flow parameters R, which is calculated using the formula:
где n - количество столбцов в нормализованной таблице для обучения;where n is the number of columns in the normalized table for training;
Yi,j - значение i-ого столбца j-го потока в нормализованной таблице для обучения;Y i,j is the value of the i-th column of the j-th stream in the normalized table for training;
- реконструированное на выходе нейронной сети значение i-го столбца j-го потока в нормализованной таблице для обучения; - the reconstructed value of the i-th column of the j-th stream in the normalized table for training at the output of the neural network;
• формируют таблицу пороговых значений характеристик сети, изначально пустую;• form a table of threshold values of network characteristics, initially empty;
• вычисляют пороговые значения для каждой характеристики сети TNi по формуле:• calculate threshold values for each network characteristic TN i using the formula:
где - оценка математического ожидания i-й характеристики сети из таблицы статистических характеристик сети;Where - assessment of the mathematical expectation of the i-th network characteristic from the table of statistical network characteristics;
- оценка среднеквадратического отклонения i-й характеристики сети из таблицы статистических характеристик сети; - assessment of the standard deviation of the i-th network characteristic from the table of statistical network characteristics;
• записывают пороговые значения характеристик сети в таблицу пороговых значений характеристик сети;• record the threshold values of network characteristics in the table of threshold values of network characteristics;
• вычисляют пороговые значения для каждой характеристики взаимодействия TCi,j по формуле:• calculate threshold values for each interaction characteristic TC i,j using the formula:
где - оценка математического ожидания i-й характеристики j-го взаимодействия из таблицы статистических характеристик взаимодействий;Where - estimate of the mathematical expectation of the i-th characteristic of the j-th interaction from the table of statistical characteristics of interactions;
- оценка среднеквадратического отклонения i-й характеристики j-го взаимодействия из таблицы статистических характеристик взаимодействий; - estimate of the standard deviation of the i-th characteristic of the j-th interaction from the table of statistical characteristics of interactions;
• записывают пороговые значения характеристик взаимодействий в таблицу пороговых значений характеристик взаимодействий;• record the threshold values of interaction characteristics in the table of threshold values of interaction characteristics;
• задают длительность промежутка времени для валидации Т3>Т1;• set the duration of the time interval for validation T3>T1;
• создают одномерный массив значений средней ошибки реконструкции VR, изначально пустой;• create a one-dimensional array of VR reconstruction mean error values, initially empty;
• на протяжении всего промежутка времени Т3 с периодом Т1 выполняют следующие действия:• throughout the entire time interval T3 with period T1, the following actions are performed:
получают таблицу параметров потоков; receive a table of flow parameters;
создают таблицу характеристик потоков, изначально пустую, с количеством строк, равным количеству строк в таблице параметров потоков и со столбцами для значений параметров потоков, характеристик сети и характеристик взаимодействий; create a flow characteristics table, initially empty, with a number of rows equal to the number of rows in the flow parameters table and with columns for flow parameter values, network characteristics, and interaction characteristics;
в таблице характеристик потоков, заполняют столбцы параметров потоков значениями из столбцов таблицы параметров потоков; in the flow characteristics table, fill in the flow parameter columns with values from the flow parameter table columns;
вычисляют характеристики сети для таблицы параметров потоков; calculate network characteristics for the flow parameter table;
сглаживают значения характеристик сети; smooth out the values of network characteristics;
записывают сглаженные характеристики сети в таблицу характеристик сети; write the smoothed network characteristics into the network characteristics table;
записывают в таблице характеристик потоков значения характеристик сети из таблицы характеристик сети в столбцы для каждой из характеристик сети в виде набора одинаковых значений в каждой строке; write down in the table of flow characteristics the values of the network characteristics from the table of network characteristics in columns for each of the network characteristics in the form of a set of identical values in each row;
вычисляют значения статистических характеристик сети; calculate the values of statistical characteristics of the network;
записывают значения статистических характеристик сети в таблицу статистических характеристик сети; record the values of the statistical characteristics of the network in the table of statistical characteristics of the network;
заполняют значения в столбцах характеристик взаимодействий в таблице характеристик потоков, выполняя следующие действия для каждой строки таблицы характеристик потоков: populate the values in the interaction characteristic columns of the flow characteristic table by performing the following steps for each row of the flow characteristic table:
определяют взаимодействие потока с помощью двух его IP-адресов, протокола и серверного порта; define the interaction of a stream using its two IP addresses, protocol and server port;
если в таблице характеристик взаимодействий отсутствует взаимодействие, к которому относиться поток, тогда: if the interaction characteristics table does not contain the interaction to which the flow belongs, then:
создают новое взаимодействие в таблице характеристик взаимодействий; create a new interaction in the interaction characteristics table;
задают значения количества потоков, пакетов и байтов в секунду равными нулю в таблице характеристик взаимодействий; set the values for the number of streams, packets, and bytes per second to zero in the interaction characteristics table;
задают значения количества пакетов и байтов равными количеству пакетов и байтов в рассматриваемом потоке; set the values of the number of packets and bytes equal to the number of packets and bytes in the stream in question;
иначе, если взаимодействие имеется в таблице характеристик взаимодействий, тогда:otherwise, if the interaction is in the interaction characteristics table, then:
вычисляют характеристики взаимодействия для рассматриваемого потока; calculate the interaction characteristics for the flow under consideration;
сглаживают значения характеристик взаимодействия; smooth out the values of interaction characteristics;
задают момент времени последней активности взаимодействия равным времени появления потока; set the time of the last interaction activity equal to the time of the flow appearance;
записывают сглаженные значения характеристик взаимодействия в таблицу характеристик взаимодействий; write the smoothed values of the interaction characteristics into the interaction characteristics table;
вычисляют статистические характеристики взаимодействия; записывают значения статистических характеристик взаимодействия в таблицу статистических характеристик взаимодействий; calculate statistical characteristics of the interaction; record the values of statistical characteristics of the interaction in the table of statistical characteristics of the interactions;
записывают в столбцы характеристик взаимодействий таблицы характеристик потоков значения из таблицы характеристик взаимодействий для рассматриваемого потока; write down in the columns of the interaction characteristics of the flow characteristics table the values from the interaction characteristics table for the flow under consideration;
осуществляют оцифровку символьных значений в столбцах протокола и серверного порта в таблице характеристик потоков; digitize the symbolic values in the protocol and server port columns in the flow characteristics table;
осуществляют оцифровку IP-адресов, путем разделения адреса на 4 значения по байтам в таблице характеристик потоков; digitize IP addresses by dividing the address into 4 byte values in the flow characteristic table;
нормализуют в оцифрованной таблице характеристик потоков значения в столбцах количества байт и пакетов, в восьми столбцах оцифрованных столбцов IP-адресов, характеристик сети, характеристик взаимодействий, а также в столбцах с количеством различных TCP флагов; normalize in the digitized flow characteristics table the values in the columns of the number of bytes and packets, in the eight columns of the digitized columns of IP addresses, network characteristics, interaction characteristics, and also in the columns with the number of different TCP flags;
получают валидационную таблицу после нормализации оцифрованной таблицы характеристик потоков; obtain a validation table after normalizing the digitized flow characteristic table;
подают на вход автокодировщика валидационную таблицу; feed the validation table to the autoencoder input;
вычисляют среднюю ошибку реконструкции MR по формуле calculate the average reconstruction error MR using the formula
где n - количество столбцов в валидационной таблице;where n is the number of columns in the validation table;
m - количество потоков в валидационной таблице;m - the number of threads in the validation table;
Yi,j - значение i-ого параметра j-го потока в валидационной таблице;Y i,j is the value of the i-th parameter of the j-th stream in the validation table;
- реконструированное на выходе нейронной сети значение i-ого параметра j-ого потока в валидационной таблице; - the value of the i-th parameter of the j-th stream in the validation table reconstructed at the output of the neural network;
дополняют массив VR значением MR; complement the VR array with the MR value;
• вычисляют пороговое значение NT для массива VR;• calculate the threshold value NT for the VR array;
• задают промежуток времени актуальности пороговых значений Т4>Т1;• set the time period for the relevance of threshold values T4>T1;
• задают промежуток времени неактивности взаимодействия Т5>Т1;• set the time interval of inactivity of interaction T5>T1;
• задают промежуток времени блокировки взаимодействия Т6>Т1;• set the time interval for blocking interaction T6>T1;
• задают промежуток времени для обнаружения и противодействия атакам Т7>Т1;• set the time interval for detecting and countering attacks T7>T1;
• на протяжении всего промежутка времени для обнаружения и противодействия атакам Т7 с периодом Т1 выполняют следующие действия:• throughout the entire period of time, to detect and counteract T7 attacks with a period of T1, the following actions are performed:
этап А: получают таблицу параметров потоков; Stage A: obtain a table of flow parameters;
создают таблицу характеристик потоков, изначально пустую, с количеством строк, равным количеству строк в таблице параметров потоков и со столбцами для значений параметров потоков, характеристик сети и характеристик взаимодействий; create a flow characteristics table, initially empty, with a number of rows equal to the number of rows in the flow parameters table and with columns for flow parameter values, network characteristics, and interaction characteristics;
заполняют в таблице характеристик потоков столбцы параметров потоков значениями из столбцов таблицы параметров потоков; fill in the flow parameter columns in the flow characteristics table with values from the columns of the flow parameter table;
вычисляют характеристики сети для таблицы параметров потоков; calculate network characteristics for the flow parameter table;
сглаживают значения характеристик сети; smooth out the values of network characteristics;
записывают сглаженные характеристики сети в таблицу характеристик сети; write the smoothed network characteristics into the network characteristics table;
записывают в таблице характеристик потоков значения характеристик сети из таблицы характеристик сети в столбцы для каждой из характеристик сети в виде набора одинаковых значений в каждой строке; write down in the table of flow characteristics the values of the network characteristics from the table of network characteristics in columns for each of the network characteristics in the form of a set of identical values in each row;
вычисляют значения статистических характеристик сети; calculate the values of statistical characteristics of the network;
записывают значения статистических характеристик сети в таблицу статистических характеристик сети; record the values of the statistical characteristics of the network in the table of statistical characteristics of the network;
заполняют значения в столбцах характеристик взаимодействий в таблице характеристик потоков, выполняя следующие действия для каждой строки таблицы характеристик потоков: populate the values in the interaction characteristic columns of the flow characteristic table by performing the following steps for each row of the flow characteristic table:
определяют взаимодействие потока с помощью двух его IP-адресов, протокола и серверного порта; define the interaction of a stream using its two IP addresses, protocol and server port;
если в таблице характеристик взаимодействий отсутствует взаимодействие, к которому относиться поток, тогда: if the interaction characteristics table does not contain the interaction to which the flow belongs, then:
создают новое взаимодействие в таблице характеристик взаимодействий; create a new interaction in the interaction characteristics table;
задают значения количества потоков, пакетов и байтов в секунду равными нулю в таблице характеристик взаимодействий; set the values for the number of streams, packets, and bytes per second to zero in the interaction characteristics table;
задают значения количества пакетов и байтов равными количеству пакетов и байтов в рассматриваемом потоке; set the values of the number of packets and bytes equal to the number of packets and bytes in the stream in question;
иначе, если взаимодействие имеется в таблице характеристик взаимодействий, тогда:otherwise, if the interaction is in the interaction characteristics table, then:
вычисляют характеристики взаимодействия для рассматриваемого потока; calculate the interaction characteristics for the flow under consideration;
сглаживают значения характеристик взаимодействия; smooth out the values of interaction characteristics;
задают момент времени последней активности взаимодействия равным времени появления потока; set the time of the last interaction activity equal to the time of the flow appearance;
записывают сглаженные значения характеристик взаимодействия в таблицу характеристик взаимодействий; write the smoothed values of the interaction characteristics into the interaction characteristics table;
вычисляют статистические характеристики взаимодействия; calculate statistical characteristics of the interaction;
записывают значения статистических характеристик взаимодействия в таблицу статистических характеристик взаимодействий; write down the values of statistical characteristics of interaction in the table of statistical characteristics of interactions;
записывают в столбцы характеристик взаимодействий таблицы характеристик потоков значения из таблицы характеристик взаимодействий для рассматриваемого потока; write down in the columns of the interaction characteristics of the flow characteristics table the values from the interaction characteristics table for the flow under consideration;
осуществляют оцифровку символьных значений в столбцах протокола и серверного порта в таблице характеристик потоков; digitize the symbolic values in the protocol and server port columns in the flow characteristics table;
осуществляют оцифровку IP-адресов, путем разделения адреса на 4 значения по байтам в таблице характеристик потоков; digitize IP addresses by dividing the address into 4 byte values in the flow characteristics table;
нормализуют в оцифрованной таблице характеристик потоков значения в столбцах количества байт и пакетов, в восьми столбцах оцифрованных столбцов IP-адресов, характеристик сети, характеристик взаимодействий и столбцы с количеством различных TCP флагов; normalize in the digitized flow characteristics table the values in the columns of the number of bytes and packets, in the eight columns of the digitized columns of IP addresses, network characteristics, interaction characteristics, and columns with the number of different TCP flags;
получают тестовую таблицу после нормализации таблицы характеристик потоков; obtain a test table after normalizing the flow characteristics table;
подают на вход автокодировщика тестовую таблицу; a test table is fed to the autoencoder input;
вычисляют среднюю ошибку реконструкции TRE для тестовой таблицы calculate the average reconstruction error TRE for the test table
где n - количество столбцов в тестовой таблице;where n is the number of columns in the test table;
m - количество потоков в тестовой таблице;m - the number of threads in the test table;
Yi,j - значение i-го параметра j-го потока в тестовой таблице;Y i,j is the value of the i-th parameter of the j-th stream in the test table;
- реконструированное на выходе нейронной сети значение i-го параметра j-го потока в тестовой таблице параметров потоков; - the value of the i-th parameter of the j-th flow in the test table of flow parameters reconstructed at the output of the neural network;
отмечают аномальные взаимодействия как нормальные, если они не отмечались как аномальные за промежуток времени Т6; mark anomalous interactions as normal if they were not marked as anomalous during the T6 time interval;
если значение TRE больше, чем NT, или, по крайней мере, одна из характеристик сети превышает пороговое значение из таблицы пороговых значений характеристик сети, тогда: if the TRE value is greater than NT, or at least one of the network characteristics exceeds a threshold from the network characteristic threshold table, then:
отмечают как аномальные все взаимодействия в таблице характеристик взаимодействий, характеристики которых превышают пороговые значения из таблицы пороговых значений характеристик взаимодействий; mark as abnormal all interactions in the interaction characteristics table whose characteristics exceed the threshold values from the interaction characteristics threshold values table;
блокируют все пакеты из внешней цифровой сети передачи данных от прохождения в локальную цифровую сеть передачи данных, у которых набор из двух IP-адресов, протокола и серверного порта совпадает с одним из аномальных взаимодействий; block all packets from the external digital data transmission network from passing into the local digital data transmission network, for which the set of two IP addresses, protocol and server port matches one of the anomalous interactions;
удаляют взаимодействия, время неактивности которых превысило промежуток времени Т5, из таблиц характеристик взаимодействий, статистических характеристик взаимодействий и пороговых значений взаимодействий; remove interactions whose inactivity time has exceeded the T5 time interval from the interaction characteristics, interaction statistics, and interaction thresholds tables;
вычисляют и обновляют пороговые значения для характеристик сети и характеристик каждого взаимодействия, если за промежуток времени Т4 пороговые значения не обновлялись и при этом за промежуток времени Т4 не было отмечено аномальных взаимодействий; calculate and update the threshold values for the network characteristics and the characteristics of each interaction if the threshold values have not been updated during the time interval T4 and no abnormal interactions have been observed during the time interval T4;
при необходимости, переходят к этапу А. В предложенном способе используется система обнаружения атак типа отказ в обслуживании (DoS/DDoS атак), основанная на анализе активности сетевых взаимодействий и общей активности сети в реальном времени. if necessary, proceed to stage A. The proposed method uses a system for detecting denial of service attacks (DoS/DDoS attacks) based on the analysis of network interaction activity and overall network activity in real time.
К одному взаимодействию будем относить обмен данными, происходящий при использовании определенного набора из двух IP-адресов, протокола и серверного порта.One interaction is defined as the exchange of data that occurs when using a specific set of two IP addresses, a protocol, and a server port.
Для анализа трафика в способе используются сетевые потоки. В предложенном варианте реализации используется формат формирования потоков NetFlow, однако, допускаются и другие способы формирования потоков. Множество различных потоков могут относиться к одному взаимодействию при условии совпадения двух IP-адресов, протокола взаимодействия и номера серверного порта. При этом для каждого потока рассматриваются, по крайней мере, следующие параметры:The method uses network flows to analyze traffic. The proposed implementation uses the NetFlow flow generation format, but other flow generation methods are also allowed. Multiple different flows may be related to a single interaction, provided that two IP addresses, the interaction protocol, and the server port number match. At least the following parameters are considered for each flow:
• IP-адрес источника,• Source IP address,
• IP-адрес назначения,• Destination IP address,
• номер серверного порта,• server port number,
• протокол,• protocol,
• количество TCP флагов каждого из типов,• the number of TCP flags of each type,
• количество пакетов в потоке,• number of packets in the stream,
• количество байтов в потоке,• number of bytes in the stream,
• время появления потока.• time of flow appearance.
Таблица параметров потоков имеет следующий вид (табл. 1)The table of flow parameters has the following form (Table 1)
Предполагается, что во время работы способа с заданным периодом Т1 будут формироваться таблицы параметров потоков. В такую таблицу будут записываться параметры всех потоков, которые были активны в заданный период времени. При этом таблица параметров потоков используется только до момента обновления периода, таблица за предыдущий период удаляется.It is assumed that during the operation of the method with a given period T1, tables of flow parameters will be formed. The parameters of all flows that were active during a given period of time will be recorded in such a table. In this case, the table of flow parameters is used only until the moment of updating the period; the table for the previous period is deleted.
Способ может быть выполнен с использованием вычислительной системы, пропускающей сетевой трафик между внешней сетью (Интернет) и защищаемой локальной сетью (например, корпоративная сеть), и включающей, по крайней мере, один компьютер имеющий установленную операционную систему и прикладные программы. Таким образом, в способе будет анализироваться весь входящий трафик из внешней сети и блокироваться отдельные пакеты на основе ряда параметров.The method can be implemented using a computing system that passes network traffic between an external network (Internet) and a protected local network (e.g., a corporate network), and includes at least one computer with an installed operating system and application programs. Thus, the method will analyze all incoming traffic from the external network and block individual packets based on a number of parameters.
Также способ может быть выполнен с использованием вычислительной системы, подключенной к цифровой сети передачи данных, и включающей, по крайней мере, один компьютер, имеющий установленную операционную систему и прикладные программы. В этом случае компьютер будет получать сетевой трафик с сетевого устройства установленного между внешней сетью и защищаемой локальной сетью. При этом компьютер будет иметь возможность давать команды сетевому устройству для блокировки отдельных пакетов на основе ряда параметров.The method can also be implemented using a computing system connected to a digital data transmission network and including at least one computer with an installed operating system and application programs. In this case, the computer will receive network traffic from a network device installed between the external network and the protected local network. In this case, the computer will be able to give commands to the network device to block individual packets based on a number of parameters.
Блокировка пакета подразумевает, что заблокированный пакет не пройдет в защищаемую локальную сеть, однако, такой пакет будет использоваться в способе для анализа.Blocking a packet means that the blocked packet will not pass into the protected local network, however, such a packet will be used in the analysis method.
Способ основан на вычислении ряда характеристик сети и характеристик взаимодействий. Характеристика - это наблюдаемое значение, характеризующее текущее состояние активности сети или взаимодействия.The method is based on calculating a number of network characteristics and interaction characteristics. A characteristic is an observed value that characterizes the current state of network activity or interaction.
Характеристики сети используются для отслеживания активности во всей сети. Такие характеристики хранятся в таблице характеристик сети в которой столбцами являются - характеристики сети и при этом в такой таблице только одна строка.Network characteristics are used to track activity across the entire network. Such characteristics are stored in a network characteristics table in which the columns are - network characteristics and in such a table there is only one row.
К характеристикам сети относятся:Network characteristics include:
• количество потоков в секунду;• number of threads per second;
• количество пакетов в секунду;• number of packets per second;
• количество байтов в секунду.• number of bytes per second.
Таблица характеристик сети имеет следующий вид (табл.2)The table of network characteristics looks like this (Table 2)
Характеристики взаимодействия используются для отслеживания активности сетевых взаимодействий. Таким образом, у каждого взаимодействия будет собственный набор характеристик. Такие характеристики хранятся в таблице характеристик взаимодействий. Строками в такой таблице являются взаимодействия (уникальный идентификатор взаимодействия формируется из протокола, серверного порта и двух IP-адресов, вне зависимости от порядка адресов), а столбцами -характеристики взаимодействий. При этом для каждого потока или пакета сетевого трафика можно определить взаимодействие, к которому он относиться, так как предполагается, что у любого потока или пакета будет определен набор из двух IP-адресов, протокола и серверного порта. На основе такого набора значений происходит определение взаимодействия для потока или пакета. К характеристикам взаимодействия относятся:Interaction characteristics are used to track the activity of network interactions. Thus, each interaction will have its own set of characteristics. Such characteristics are stored in the interaction characteristics table. The rows in such a table are interactions (a unique interaction identifier is formed from a protocol, a server port, and two IP addresses, regardless of the order of the addresses), and the columns are interaction characteristics. In this case, for each network traffic flow or packet, it is possible to determine the interaction to which it belongs, since it is assumed that any flow or packet will have a set of two IP addresses, a protocol, and a server port. Based on this set of values, an interaction is determined for a flow or packet. Interaction characteristics include:
• количество потоков взаимодействия в секунду,• number of interaction threads per second,
• количество пакетов взаимодействия в секунду,• number of interaction packets per second,
• количество байтов взаимодействия в секунду,• number of interaction bytes per second,
• количество пакетов в потоке,• number of packets in the stream,
• количество байтов в потоке,• number of bytes in the stream,
• время последней активности взаимодействия.• time of last interaction activity.
Таблица характеристик взаимодействия имеет следующий вид (табл.3)The table of interaction characteristics is as follows (Table 3)
Характеристики сети и характеристики взаимодействий используются для обнаружения и предотвращения атак типа отказ в обслуживании. Таким образом, превышение пороговых значений характеристик сети подтверждает наличие атаки. Тогда как превышение пороговых значений характеристик определенных взаимодействий позволяет блокировать только аномальные взаимодействия, при подтверждении наличия атаки.Network characteristics and interaction characteristics are used to detect and prevent denial of service attacks. Thus, exceeding the threshold values of network characteristics confirms the presence of an attack. Whereas exceeding the threshold values of certain interaction characteristics allows blocking only abnormal interactions, when the presence of an attack is confirmed.
Для вычисления пороговых значений могут требоваться некоторые статистические характеристики, которые можно обновлять на каждом периоде при появлении информации о новых потоках. Для хранения статистических характеристик сети и взаимодействий используются таблица статистических характеристик сети и таблица статистических характеристик взаимодействий.Calculating thresholds may require some statistics that can be updated at each period when new flows are reported. The network statistics table and the interaction statistics table are used to store the network and interaction statistics.
Для характеристик каждого взаимодействия и характеристики сети может храниться несколько статистических характеристик. В предложенном способе предполагается использовать оценки математического ожидания и среднеквадратичного отклонения. Таким образом, при обновлении определенной характеристики, соответственные оценки математического ожидания и среднеквадратичного отклонения также пересчитываются и обновляются.For each interaction characteristic and network characteristic, several statistical characteristics can be stored. The proposed method assumes the use of estimates of the mathematical expectation and standard deviation. Thus, when updating a certain characteristic, the corresponding estimates of the mathematical expectation and standard deviation are also recalculated and updated.
Помимо таблиц, в способе также используется нейронная сеть типа автокодировщик с одним скрытым слоем.In addition to tables, the method also uses a neural network of the autoencoder type with one hidden layer.
Автокодировщик - это архитектура нейронной сети, которая обучается восстанавливать входные данные из сжатого представления с минимальной ошибкой реконструкции.An autoencoder is a neural network architecture that learns to reconstruct input data from a compressed representation with minimal reconstruction error.
Такая архитектура нейронной сети предполагает, что размер входного слоя совпадает с размером слоя на выходе, а размерность скрытых слоев меньше чем размерность входного слоя. В предложенном способе принимается, что скрытый слой автокодировщика, по крайней мере, в два раза меньше чем слой на входе.This neural network architecture assumes that the size of the input layer is the same as the size of the output layer, and the hidden layers are smaller than the input layer. The proposed method assumes that the hidden layer of the autoencoder is at least two times smaller than the input layer.
Для обучения нейронной сети создают таблицу для обучения. Для этого задают промежуток времени Т2 для формирования таблицы для обучения. Предполагается, что промежуток времени Т2 больше, чем период Т1. На протяжении всего промежутка времени Т2 с периодом Т1 выполняют следующие действия:To train a neural network, a training table is created. To do this, a time interval T2 is set for forming a training table. It is assumed that the time interval T2 is longer than the period T1. The following actions are performed throughout the entire time interval T2 with the period T1:
• получают таблицу параметров потоков;• obtain a table of flow parameters;
• создают таблицу характеристик потоков со столбцами для параметров потоков, характеристик сети и характеристик взаимодействий:• create a flow characteristics table with columns for flow parameters, network characteristics, and interaction characteristics:
IP-адрес источника (параметр потока); Source IP address (flow parameter);
IP-адрес назначения (параметр потока); Destination IP address (flow parameter);
номер серверного порта (параметр потока); server port number (stream parameter);
протокол (параметр потока); protocol(stream parameter);
количество TCP флагов каждого из типов (параметры потока); the number of TCP flags of each type (flow parameters);
количество потоков в секунду по сети (характеристика сети); number of flows per second over the network (network characteristic);
количество пакетов в секунду по сети (характеристика сети); number of packets per second over the network (network characteristic);
количество байтов в секунду по сети (характеристика сети); number of bytes per second over the network (network characteristic);
количество потоков взаимодействия в секунду (характеристика взаимодействия); number of interaction flows per second (interaction characteristic);
количество пакетов взаимодействия в секунду (характеристика взаимодействия); number of interaction packets per second (interaction characteristic);
количество байтов взаимодействия в секунду (характеристика number of bytes of interaction per second (characteristic
взаимодействия);interactions);
количество пакетов потока (характеристика взаимодействия); number of packets in the flow (interaction characteristic);
количество байт потока (характеристика взаимодействия); number of bytes of the stream (interaction characteristic);
• заполняют столбцы параметров потоков в таблице характеристик потоков значениями из столбцов таблицы параметров потоков;• fill the flow parameter columns in the flow characteristics table with values from the flow parameter table columns;
• вычисляют характеристики сети и статистические характеристики сети для всей таблицы параметров потоков;• calculate network characteristics and network statistics for the entire flow parameter table;
• вычисляют характеристики взаимодействия и статистические характеристики взаимодействия для каждого потока из таблицы характеристик потоков;• calculate interaction characteristics and statistical interaction characteristics for each flow from the flow characteristics table;
• заполняют столбцы характеристик сети и характеристик взаимодействий в таблице характеристик потоков;• fill in the network characteristics and interaction characteristics columns in the flow characteristics table;
• дополняют таблицу для обучения строками из таблицы характеристик потоков.• supplement the training table with rows from the flow characteristics table.
При этом актуальные значения в таблицах характеристик сети и характеристик взаимодействий обновляются при формировании таблицы характеристик потоков в каждом периоде. Таким образом, после формирования таблицы параметров потоков, вычисляются характеристики сети. Причем для всей таблицы параметров потоков будет вычислено по одному значению каждой из характеристик сети.In this case, the current values in the tables of network characteristics and interaction characteristics are updated when the table of flow characteristics is formed in each period. Thus, after the table of flow parameters is formed, the network characteristics are calculated. Moreover, for the entire table of flow parameters, one value of each of the network characteristics will be calculated.
Значения характеристик сети сглаживают с учетом характеристик сети за предыдущий период. В предложенном варианте реализации используется экспоненциальное сглаживание, так как такой подход не требует сохранять большое количество предшествующих значений.The values of the network characteristics are smoothed taking into account the network characteristics for the previous period. The proposed implementation uses exponential smoothing, since this approach does not require storing a large number of previous values.
где st - сглаженное значение в момент времени t,where s t is the smoothed value at time t,
α - коэффициент сглаживания (0<α<1),α - smoothing coefficient (0<α<1),
xt - наблюдаемое значение в момент времени t.x t is the observed value at time t.
Характеристики сети нужны для отслеживания общей активности во всей сети. Для того, чтобы их можно было удобно передавать в нейронную сеть в совокупности с параметрами отдельных потоков и характеристиками взаимодействий, характеристики сети, вычисленные для целой таблицы параметров потоков, записываются в столбцы характеристик сети в таблице характеристик потоков. При этом значения в таких столбцах для каждого потока в одной таблице характеристик потоков будут одинаковыми для каждой строки. Однако, при формировании таблицы характеристик потоков в последующем периоде, характеристики сети будут обновлены и значения в новой таблице характеристик потоков будут отличаться. Предполагается, что период Т1 формирования таблиц параметров потоков будет достаточно коротким, таким образом характеристики сети можно считать актуальными для каждого потока в одном периоде.Network characteristics are needed to track the overall activity in the entire network. In order to be able to conveniently transfer them to the neural network together with the parameters of individual flows and interaction characteristics, the network characteristics calculated for the entire flow parameter table are written to the columns of the network characteristics in the flow characteristic table. In this case, the values in such columns for each flow in one flow characteristic table will be the same for each row. However, when forming the flow characteristic table in the next period, the network characteristics will be updated and the values in the new flow characteristic table will differ. It is assumed that the period T1 of forming the flow parameter tables will be short enough, so the network characteristics can be considered relevant for each flow in one period.
Помимо характеристик сети, при формировании таблицы характеристик потоков будут вычисляться и характеристики взаимодействий для каждого из потоков. Характеристики взаимодействия можно вычислить для каждого потока в таблице параметров потоков следующим образом:In addition to the network characteristics, interaction characteristics for each flow will be calculated when forming the flow characteristics table. Interaction characteristics can be calculated for each flow in the flow parameters table as follows:
• определяют взаимодействие потока с помощью двух его IP-адресов протокола и серверного порта;• define the interaction of a stream using its two protocol IP addresses and server port;
• если в таблице характеристик взаимодействий отсутствует взаимодействие, к которому относиться поток, тогда:• if the interaction characteristics table does not contain the interaction to which the flow belongs, then:
создают новое взаимодействие в таблице характеристик взаимодействий; create a new interaction in the interaction characteristics table;
задают значения количества потоков, пакетов и байтов в секунду равными нулю в таблице характеристик взаимодействий; set the values for the number of streams, packets, and bytes per second to zero in the interaction characteristics table;
задают значения количества пакетов и байтов равными количеству пакетов и байтов в рассматриваемом потоке; set the values of the number of packets and bytes equal to the number of packets and bytes in the stream in question;
иначе, если взаимодействие имеется в таблице характеристик взаимодействий, тогда:otherwise, if the interaction is in the interaction characteristics table, then:
вычисляют характеристики взаимодействия для рассматриваемого потока; calculate the interaction characteristics for the flow under consideration;
сглаживают значения характеристик взаимодействия; smooth out the values of interaction characteristics;
• задают момент времени последней активности взаимодействия равным моменту времени появления потока;• set the time of the last interaction activity equal to the time of the flow appearance;
• вычисляют статистические характеристики взаимодействия;• calculate statistical characteristics of the interaction;
• записывают значения статистических характеристик взаимодействия в таблицу статистических характеристик взаимодействий;• record the values of statistical characteristics of interaction in the table of statistical characteristics of interactions;
• записывают в столбцы характеристик взаимодействий таблицы характеристик потоков значения из таблицы характеристик взаимодействий для рассматриваемого потока.• write down in the columns of the interaction characteristics of the flow characteristics table the values from the interaction characteristics table for the flow under consideration.
По окончанию промежутка времени для обучения некоторые столбцы в таблице для обучения необходимо оцифровать или нормализовать. Оцифровка символьных параметров может производится с помощью различных методов, однако, предложенная реализация предполагает следующий способ оцифровки таких параметров.At the end of the training period, some columns in the training table need to be digitized or normalized. Digitization of symbolic parameters can be done using various methods, however, the proposed implementation assumes the following method of digitizing such parameters.
Протокол и серверный порт оцифровываются методом One-Hot-Encoding [https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html].The protocol and server port are digitized using the One-Hot-Encoding method [https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html].
При оцифровке символьных параметров с использованием метода One-Hot-Encoding сначала выявляются набор уникальных значений, которые может принимать данный символьный параметр. Данный набор уникальных значений используется как для оцифровки таблицы для обучения, так и для оцифровки таблиц валидации и тестовых таблиц. Для каждого уникального значения создается отдельный столбец. Также выделяют отдельных столбец для значений, которых нет в наборе уникальных значений. Такие неизвестные значения могут появиться при оцифровке таблиц валидации и тестовых таблиц, так как набор уникальных значений для оцифровки остается неизменным. При этом в каждой строке полученной таблицы все значения инициализируются нулями, кроме значения в столбце символьного значения этой строки.When digitizing symbolic parameters using the One-Hot-Encoding method, a set of unique values that a given symbolic parameter can take is first identified. This set of unique values is used both to digitize the training table and to digitize the validation and test tables. A separate column is created for each unique value. A separate column is also allocated for values that are not in the set of unique values. Such unknown values may appear when digitizing the validation and test tables, since the set of unique values for digitization remains unchanged. In this case, in each row of the resulting table, all values are initialized to zeros, except for the value in the column of the symbolic value of this row.
После того, как столбцы с оцифровкой были сформированы, исходный столбец символьных значений удаляется. Такой подход часто применяют для оцифровки символьных значений при использовании нейронных сетей, так как символьные значения преобразуются в численные значения равные 0 или 1.After the columns with digitization have been formed, the original column of symbolic values is deleted. This approach is often used to digitize symbolic values when using neural networks, since the symbolic values are converted to numerical values equal to 0 or 1.
Например, при кодировании параметра протокола набор уникальных символьных значений может быть, следующим: UDP, TCP, ICMP. Тогда таблица исходных значений (табл. 4)For example, when encoding a protocol parameter, the set of unique symbolic values may be as follows: UDP, TCP, ICMP. Then the table of initial values (Table 4)
оцифровывается и преобразуется в таблицу оцифрованных значений (табл. 5).is digitized and converted into a table of digitized values (Table 5).
Для оцифровки IP-адресов используем разбиение на 4 значения по байтам (например, IP-адрес 10.0.0.1 будет оцифрован с помощью четырех значений: 10, 0, 0, 1). Получаем оцифрованную таблицу для обучения, путем замены столбцов символьных параметров в таблице для обучения на столбцы этих параметров после оцифровки.To digitize IP addresses, we use a split into 4 values by bytes (for example, the IP address 10.0.0.1 will be digitized using four values: 10, 0, 0, 1). We obtain a digitized table for training by replacing the columns of symbolic parameters in the table for training with the columns of these parameters after digitization.
Значения количества байт и пакетов, 8 столбцов, оцифрованных IP-адресов и характеристики сети, характеристики взаимодействий и столбцы с количеством различных флагов в потоке в оцифрованной таблице для обучения нормализуются. Таким образом, получаем нормализованную таблицу для обучения. В предложенном варианте реализации используется метод Йео-Джонсона, который использует логарифмические и показательные функции, для того, чтобы приблизить исходное распределение параметра к нормальному.The values of the number of bytes and packets, 8 columns, digitalized IP addresses and network characteristics, interaction characteristics and columns with the number of different flags in the flow in the digitalized table for training are normalized. Thus, we obtain a normalized table for training. The proposed implementation uses the Yeo-Johnson method, which uses logarithmic and exponential functions in order to bring the original distribution of the parameter closer to normal.
[https://www.researchgate.net/publication/31373954_A_new_family_of_power_transformations_to_improve_normality_or_symmetry].[https://www.researchgate.net/publication/31373954_A_new_family_of_power_transformations_to_improve_normality_or_symmetry].
Обучение нейронной сети производится с помощью нормализованной таблицы для обучения, при этом, оптимизируется ошибка реконструкции (reconstruction error, RE) с использованием методом градиентного спуска. В качестве ошибки реконструкции используется среднеквадратичная ошибка, которая вычисляется по формуле:The neural network is trained using a normalized training table, and the reconstruction error (RE) is optimized using the gradient descent method. The mean square error is used as the reconstruction error, which is calculated using the formula:
где n - количество параметров потока;where n is the number of flow parameters;
Yi - значение i-ого параметра j-ого потока в таблице для обучения;Y i is the value of the i-th parameter of the j-th stream in the training table;
- реконструированное на выходе нейронной сети значение i-ого параметра j-ого потока. - the value of the i-th parameter of the j-th stream reconstructed at the output of the neural network.
При обучении нейронной сети на потоках легитимного трафика, предполагается, что, если ошибка реконструкции определенного потока будет аномальной, то данный поток также является аномальным.When training a neural network on legitimate traffic flows, it is assumed that if the reconstruction error of a particular flow is anomalous, then that flow is also anomalous.
Однако, при атаке типа отказ в обслуживании характеристики сети могут быть аномальными даже для нормальных потоков, тогда такие потоки также могут быть отмечены нейронной сетью как аномальные. Поэтому нейронная сеть используется только как дополнительный способ вычисления еще одной характеристики сети для подтверждения наличия атаки типа отказ в обслуживании.However, in a denial of service attack, the network characteristics may be abnormal even for normal flows, then such flows can also be marked as abnormal by the neural network. Therefore, the neural network is used only as an additional way to calculate another network characteristic to confirm the presence of a denial of service attack.
Также после обучения нейронной сети вычисляются пороговые значения для всех характеристик сети и характеристик взаимодействия для каждого из взаимодействий.Also, after training the neural network, threshold values are calculated for all network characteristics and interaction characteristics for each of the interactions.
Характеристики сети используются для того, чтобы определить наличие атаки типа отказ в обслуживании. Если одна из характеристик сети превышает заданное пороговое значение, тогда считаем, что происходит атака типа отказ в обслуживании. Либо если средняя ошибка реконструкции, полученная с помощью нейронной сети, превышает заданное пороговое значение, тогда считаем, что происходит атака типа отказ в обслуживании.Network characteristics are used to determine the presence of a denial of service attack. If one of the network characteristics exceeds a given threshold, then we consider that a denial of service attack occurs. Or if the average reconstruction error obtained by the neural network exceeds a given threshold, then we consider that a denial of service attack occurs.
Характеристики взаимодействия используются для блокировки конкретный взаимодействий. В случае если с помощью средней ошибки реконструкции или характеристик сети было обнаружено наличие атаки, все взаимодействия у которых хотя бы одна из характеристик взаимодействий превышает заданный порог, блокируются.Interaction characteristics are used to block specific interactions. If an attack is detected using the average reconstruction error or network characteristics, all interactions in which at least one of the interaction characteristics exceeds a given threshold are blocked.
Также любые новые взаимодействия (взаимодействия, информации о которых нет в таблицах), также блокируются.Also, any new interactions (interactions for which information is not in the tables) are also blocked.
Пороговые значения характеристик взаимодействий вычисляются для всех характеристик взаимодействий, кроме момента времени последней активности взаимодействий. Пороговые значения характеристик сети и характеристик взаимодействий хранятся, соответственно, в таблицах пороговых значений характеристик сети и характеристик взаимодействий.The threshold values of interaction characteristics are calculated for all interaction characteristics except the time of the last interaction activity. The threshold values of network characteristics and interaction characteristics are stored in the threshold values of network characteristics and interaction characteristics tables, respectively.
Столбцами в таблица пороговых значений характеристик взаимодействий являются пороговые значения для каждой характеристики взаимодействия, за исключением момента времени последней активности взаимодействия. Строками в такой таблице являются взаимодействия.The columns in the interaction characteristic thresholds table are the thresholds for each interaction characteristic, excluding the time of the last interaction activity. The rows in such a table are the interactions.
Столбцами в таблице пороговых значений характеристик сети являются пороговые значения для каждой характеристики сети. При этом такая таблица содержит только одну строку.The columns in the network characteristic threshold values table are the threshold values for each network characteristic. However, such a table contains only one row.
Таблица пороговых значений характеристик взаимодействий имеет следующий вид (табл. 6)The table of threshold values of interaction characteristics has the following form (Table 6)
Таблица пороговых значений характеристик сети имеет следующий вид (табл. 7)The table of threshold values of network characteristics is as follows (Table 7)
Вычисление пороговых значений для каждой характеристики каждого из взаимодействий может быть достаточно ресурсоемкой задачей в различных реализациях. Поэтому вычисление пороговых значений производится единожды при обучении и периодически после обучения, если в течении заданного периода обновления пороговых значения не было отмечено никаких аномальных взаимодействий.Calculating thresholds for each characteristic of each interaction can be quite a resource-intensive task in different implementations. Therefore, thresholds are calculated once during training and periodically after training if no abnormal interactions were noted during a given threshold update period.
При длительном обучении и последующем длительном использовании способа для обнаружения и противодействия атакам, таблица характеристик взаимодействий может стать достаточно большой, так как в ней будут создаваться строки для каждого нового взаимодействия. Поэтому, чтобы избежать переполнения таблицы характеристик взаимодействий, задают максимальный промежуток времени неактивности взаимодействия. Если длительность неактивности взаимодействия превысило максимальный промежуток времени неактивности, тогда такое взаимодействие удаляется из таблицы характеристик взаимодействий. При удалении неактивного взаимодействия из таблицы характеристик взаимодействий такое взаимодействие также удаляется из таблицы статистических характеристик взаимодействий и таблицы пороговых значений характеристик взаимодействий.During long-term training and subsequent long-term use of the method for detecting and countering attacks, the table of interaction characteristics can become quite large, since rows will be created in it for each new interaction. Therefore, to avoid overflowing the table of interaction characteristics, a maximum period of interaction inactivity is specified. If the duration of interaction inactivity exceeds the maximum period of inactivity, then such interaction is deleted from the table of interaction characteristics. When deleting an inactive interaction from the table of interaction characteristics, such interaction is also deleted from the table of statistical interaction characteristics and the table of threshold values of interaction characteristics.
В реальной сети при нормальной работе достаточно часто могут происходить внезапные пики активности между определенными IP-адресами по различным взаимодействиям, связанные с некоторыми поведенческими особенностями конкретной сети. Такие взаимодействия могут не относиться к сетевой атаке. Также в сети могут постоянно появляться новые взаимодействия и прекращаться существующие. Подобная активность также часто не является признаком сетевой атаки. Таким образом, при случайных всплесках активности или появлении новых взаимодействий без достаточного влияния на сеть в целом, не будут блокироваться легитимные взаимодействия, так как пороговые значения характеристик сети не будут превышаться.In a real network, during normal operation, sudden peaks of activity between certain IP addresses for various interactions may occur quite often, due to certain behavioral characteristics of a particular network. Such interactions may not be related to a network attack. Also, new interactions may constantly appear in the network and existing ones may cease. Such activity is also often not a sign of a network attack. Thus, in case of random bursts of activity or the appearance of new interactions without sufficient impact on the network as a whole, legitimate interactions will not be blocked, since the threshold values of network characteristics will not be exceeded.
Таким образом, при распределенных атаках типа отказ в обслуживании, а также при использовании атак с подменой IP-адреса источника атаки, уменьшается вероятность блокировки легитимных взаимодействий, и увеличивается вероятность блокировки взаимодействий, относящихся к атаке, поскольку будут блокироваться любые взаимодействия с аномальной активностью, а также новые взаимодействия, в том числе, взаимодействия, порожденные потоками с использованием подмены IP-адреса.Thus, in distributed denial of service attacks, as well as in attacks using IP spoofing attacks, the probability of blocking legitimate interactions is reduced, and the probability of blocking interactions related to the attack is increased, since any interactions with anomalous activity will be blocked, as well as new interactions, including interactions generated by flows using IP spoofing.
Также увеличивается вероятность обнаружения и блокировки отраженных атак, при этом снижается вероятность блокировки легитимных взаимодействий. В этом случае будут блокироваться только те потоки, взаимодействия, которых будут превышать заданные пороги. При этом взаимодействия легитимных пользователей с таким легитимным сервером не будет блокироваться, так как характеристики взаимодействий таких потоков не будут превышать заданные пороговые значения.The probability of detecting and blocking reflected attacks also increases, while the probability of blocking legitimate interactions decreases. In this case, only those flows whose interactions exceed the specified thresholds will be blocked. At the same time, interactions of legitimate users with such a legitimate server will not be blocked, since the characteristics of interactions of such flows will not exceed the specified threshold values.
После обучения нейронной сети требуется некоторый промежуток времени валидации Т3 для вычисления порогового значения средней ошибки реконструкции. Предполагается, что Т3 больше чем Т1. Создается пустой массив средний ошибок реконструкций VR. Такой массив нужен для последующего вычисления порогового значения средней ошибки реконструкции для таблицы характеристик потоков. На протяжении всего промежутка времени валидации Т3 с периодом Т1 выполняют следующие действия:After training the neural network, a certain period of validation time T3 is required to calculate the threshold value of the average reconstruction error. It is assumed that T3 is greater than T1. An empty array of average reconstruction errors VR is created. Such an array is needed for the subsequent calculation of the threshold value of the average reconstruction error for the flow characteristic table. Throughout the entire validation time T3 with a period of T1, the following actions are performed:
• получают таблицу параметров потоков;• obtain a table of flow parameters;
• создают таблицу характеристик потоков со столбцами для параметров потоков, характеристик сети и характеристик взаимодействий:• create a flow characteristics table with columns for flow parameters, network characteristics, and interaction characteristics:
IP-адрес источника (параметр потока); Source IP address (flow parameter);
IP-адрес назначения (параметр потока); Destination IP address (flow parameter);
номер серверного порта (параметр потока); server port number (stream parameter);
протокол (параметр потока); protocol(stream parameter);
количество TCP флагов каждого из типов (параметры потока); the number of TCP flags of each type (flow parameters);
количество потоков в секунду по сети (характеристика сети); number of flows per second over the network (network characteristic);
количество пакетов в секунду по сети (характеристика сети); number of packets per second over the network (network characteristic);
количество байтов в секунду по сети (характеристика сети); number of bytes per second over the network (network characteristic);
количество потоков взаимодействия в секунду (характеристика взаимодействия); number of interaction flows per second (interaction characteristic);
количество пакетов взаимодействия в секунду (характеристика взаимодействия); number of interaction packets per second (interaction characteristic);
количество байтов взаимодействия в секунду (характеристика взаимодействия); number of interaction bytes per second (interaction characteristic);
количество пакетов потока (характеристика взаимодействия); number of packets in the flow (interaction characteristic);
количество байт потока (характеристика взаимодействия); number of bytes of the stream (interaction characteristic);
• заполняют столбцы параметров потоков в таблице характеристик потоков значениями из столбцов таблицы параметров потоков;• fill the flow parameter columns in the flow characteristics table with values from the flow parameter table columns;
• вычисляют характеристики сети для всей таблицы параметров потоков;• calculate network characteristics for the entire table of flow parameters;
• вычисляют характеристики взаимодействия для каждого потока из таблицы характеристик потоков;• calculate the interaction characteristics for each flow from the flow characteristics table;
• заполняют столбцы характеристик сети и характеристик взаимодействий в таблице характеристик потоков;• fill in the network characteristics and interaction characteristics columns in the flow characteristics table;
• оцифровывают в таблице характеристик потоков параметры протокола и серверного порта с таким же набором уникальных значений, что и при обучении;• digitize the protocol and server port parameters in the flow characteristics table with the same set of unique values as during training;
• оцифровывают два столбца IP-адресов путем разбиения на 4 байта;• digitize two columns of IP addresses by splitting them into 4 bytes;
• получают оцифрованную таблицу характеристик потоков путем замены столбцов символьных параметров из таблицы характеристик потоков на оцифрованные столбцы символьных параметров;• a digitized table of flow characteristics is obtained by replacing the columns of symbolic parameters from the table of flow characteristics with digitized columns of symbolic parameters;
• нормализуют в оцифрованной таблице характеристик потоков значения в столбцах количества байт и пакетов, в восьми столбцах, оцифрованных IP-адресов, характеристик сети, характеристик взаимодействий, а также в столбцах с количеством различных TCP флагов, получая таблицу для валидации;• normalize the values in the byte and packet count columns, the eight columns of digitized IP addresses, network characteristics, interaction characteristics, and the columns with the number of different TCP flags in the digitized flow characteristics table, obtaining a table for validation;
• вычисляют среднюю ошибку реконструкции MR по формуле• calculate the average reconstruction error MR using the formula
где n - количество столбцов в валидационной таблице;where n is the number of columns in the validation table;
m - количество потоков в валидационной таблице;m - the number of threads in the validation table;
Yi,j - значение i-ого параметра j-ого потока в валидационной таблице;Y i,j - the value of the i-th parameter of the j-th flow in the validation table;
- реконструированное на выходе нейронной сети значение i-ого параметра j-ого потока в валидационной таблице; - the value of the i-th parameter of the j-th stream in the validation table reconstructed at the output of the neural network;
• дополняют массив VR значением MR;• supplement the VR array with the MR value;
Таблица характеристик потоков имеет следующий вид (табл. 8)The table of flow characteristics is as follows (Table 8)
По истечении промежутка времени валидации вычисляется пороговое значение средней ошибки реконструкции на основе массива VR. Пороговое значение можно вычислять различными способами, однако, в данной реализации используется следующая последовательность действий:After the validation time, the threshold value of the average reconstruction error is calculated based on the VR array. The threshold value can be calculated in various ways, but in this implementation the following sequence of actions is used:
• задают относительное количество допустимых превышений порогового значения α на валидации,• set the relative number of permissible exceedances of the threshold value α during validation,
• выбирают порог средней ошибки реконструкции NT как квантиль массива значений VR уровня 1-α.• select the threshold of the average reconstruction error NT as a quantile of the array of VR values of level 1-α.
Такой подход позволяет вычислять пороговое значение на основе предполагаемого допустимого относительного количества ложных срабатываний при обнаружении атак в периоды нормальной работы сети. Однако, в других вариантах реализации для вычисления порогового значения могут использоваться другие подходы.This approach allows the threshold to be calculated based on the expected acceptable relative number of false positives when detecting attacks during periods of normal network operation. However, other implementations may use other approaches to calculate the threshold.
Средняя ошибка реконструкции нейронной сети для таблицы параметров потоков используется как дополнительная характеристика сети в рамках противодействия атаке. Соответственно, аномальные и новые взаимодействия будут блокироваться, только в случае, если средняя ошибка реконструкции нейронной сети для таблицы характеристик потоков превышает NT или одна из характеристик сети превышает пороговое значение.The average neural network reconstruction error for the flow parameter table is used as an additional network characteristic in the framework of countering the attack. Accordingly, abnormal and new interactions will be blocked only if the average neural network reconstruction error for the flow parameter table exceeds NT or one of the network characteristics exceeds the threshold value.
Таким образом, при внезапном появлении повышенной активности, о наличии атаки могут сигнализировать как характеристики сети, так и средняя ошибка реконструкции нейронной сети. Однако, если злоумышленник использует технику атаки типа отказ в обслуживании с нарастающей активностью, тогда характеристики сети, могут не превышать заданных порогов. В этом случае нейронная сеть может сигнализировать об обнаружении атаки в случае появления нехарактерных для сети наборов параметров потоков, характеристик сети и взаимодействий. В результате, увеличивается вероятность обнаружения различного рода атак в том числе атак с нарастающей активностью.Thus, when sudden increased activity occurs, both network characteristics and the average neural network reconstruction error can signal the presence of an attack. However, if the attacker uses a denial of service attack technique with increasing activity, then the network characteristics may not exceed the specified thresholds. In this case, the neural network can signal the detection of an attack in the event of the appearance of atypical sets of flow parameters, network characteristics, and interactions for the network. As a result, the probability of detecting various types of attacks, including attacks with increasing activity, increases.
После проведения валидации задают:After validation, the following is asked:
• промежуток времени актуальности пороговых значений Т4,• the time period of relevance of the threshold values T4,
• промежуток времени максимальной неактивности взаимодействия Т5,• time interval of maximum inactivity of T5 interaction,
• промежуток времени блокировки взаимодействия Т6,• T6 interaction blocking time interval,
• промежуток времени для обнаружения и блокирования атак Т7. Устанавливается флаг наличия атаки AT=0.• time interval for detecting and blocking T7 attacks. The attack presence flag AT=0 is set.
Противодействие атакам происходит в течении всего промежутка времени Т7, при этом формирование таблиц для обучения, обнаружение наличия атаки и обнаружение аномальных взаимодействий производится с периодом Т1 на протяжении всего промежутка времени Т7. Блокировка пакетов сетевого трафика аномальных взаимодействий происходит на сетевом устройстве все время, пока флаг AT=1. Заметим, что блокировка пакетов производится таким образом, что такие пакеты не поступают в защищаемую локальную сеть, однако, используются в способе для формирования потоков и таблицы параметров потоков.Counteraction to attacks occurs during the entire time interval T7, while the formation of tables for training, detection of the presence of an attack and detection of anomalous interactions is performed with a period of T1 throughout the entire time interval T7. Blocking of network traffic packets of anomalous interactions occurs on the network device all the time while the flag AT=1. Note that blocking of packets is performed in such a way that such packets do not enter the protected local network, however, they are used in the method for forming flows and a table of flow parameters.
В течении всего промежутка времени Т7 для пороговых значений учитывается промежуток времени Т4. Если в течении промежутка времени Т4 не было обнаружено никаких аномальных взаимодействий, тогда производится вычисление и обновление пороговых значений. При этом, если аномалии были обнаружены, тогда отсчет промежутка времени Т4 начинается заново. Тогда, если со временем в нормальной работе сети произойдут какие-либо изменения, пороговые значения будут подстраиваться и количество ложных срабатываний при нормальной работе не будет увеличиваться. При этом такой подход обновления пороговых значений используется для того, чтобы, при наличии атаки, пороговые значения не обновлялись и не становились завышенными.During the entire T7 time interval, the T4 time interval is taken into account for the threshold values. If no abnormal interactions were detected during the T4 time interval, then the threshold values are calculated and updated. However, if anomalies were detected, then the T4 time interval counting starts over again. Then, if any changes occur in the normal operation of the network over time, the threshold values will be adjusted and the number of false positives during normal operation will not increase. This approach to updating the threshold values is used so that, in the presence of an attack, the threshold values are not updated and do not become overstated.
В течении всего промежутка времени Т7 для каждого взаимодействия учитывается промежуток времени максимальной неактивности взаимодействия Т5. Если длительность неактивности взаимодействия превысило промежуток времени Т5, тогда такое взаимодействие удаляется из таблиц характеристик взаимодействий, статистических характеристик взаимодействий и пороговых значений характеристик взаимодействий. Удаление неактивных взаимодействий позволяет избежать переполнения таблиц.During the entire time interval T7, the maximum interaction inactivity time interval T5 is taken into account for each interaction. If the duration of interaction inactivity exceeds the time interval T5, then such interaction is removed from the tables of interaction characteristics, statistical interaction characteristics, and threshold values of interaction characteristics. Removing inactive interactions allows avoiding overflow of the tables.
В течении всего промежутка времени Т7 для каждого аномального взаимодействия учитывается момент времени последней отметки его как аномалии. Таким образом, если аномальное взаимодействие не отмечалось как аномальное на протяжении промежутка времени Т6, тогда оно отмечается как нормальное. Такой подход позволяет избавляться от лишних правил блокировки сетевого трафика при завершении атаки или при использовании атаки с подменой IP-адресов источника атаки. Также, если легитимное взаимодействие было случайно заблокировано в период атаки, тогда такое взаимодействие будет разблокировано по окончании времени Т6, если аномальная активность такого взаимодействия не повториться за это время.During the entire T7 time interval, the time of the last time it was marked as an anomaly is taken into account for each anomalous interaction. Thus, if an anomalous interaction was not marked as anomalous during the T6 time interval, then it is marked as normal. This approach allows you to get rid of unnecessary rules for blocking network traffic when an attack is completed or when using an attack with the substitution of IP addresses of the attack source. Also, if a legitimate interaction was accidentally blocked during the attack period, then such interaction will be unblocked at the end of T6, if the anomalous activity of such interaction does not repeat during this time.
В течении всего промежутка времени Т7 с периодом Т1 для обнаружения и предотвращения атак типа отказ в обслуживании выполняют следующие действия:During the entire time interval T7 with the period T1, the following actions are performed to detect and prevent denial of service attacks:
• получают таблицу параметров потоков;• obtain a table of flow parameters;
• создают таблицу характеристик потоков со столбцами для параметров потоков, характеристик сети и характеристик взаимодействий:• create a flow characteristics table with columns for flow parameters, network characteristics, and interaction characteristics:
IP-адрес источника (параметр потока); Source IP address (flow parameter);
IP-адрес назначения (параметр потока); Destination IP address (flow parameter);
номер серверного порта (параметр потока); server port number (stream parameter);
протокол (параметр потока); protocol(stream parameter);
количество TCP флагов каждого из типов (параметры потока); the number of TCP flags of each type (flow parameters);
количество потоков в секунду по сети (характеристика сети); number of flows per second over the network (network characteristic);
количество пакетов в секунду по сети (характеристика сети); number of packets per second over the network (network characteristic);
количество байтов в секунду по сети (характеристика сети); number of bytes per second over the network (network characteristic);
количество потоков взаимодействия в секунду (характеристика взаимодействия); number of interaction flows per second (interaction characteristic);
количество пакетов взаимодействия в секунду (характеристика взаимодействия); number of interaction packets per second (interaction characteristic);
количество байтов взаимодействия в секунду (характеристика взаимодействия); number of interaction bytes per second (interaction characteristic);
количество пакетов потока (характеристика взаимодействия); number of packets in the flow (interaction characteristic);
количество байт потока (характеристика взаимодействия); number of bytes of the stream (interaction characteristic);
• заполняют столбцы параметров потоков в таблице характеристик потоков значениями из столбцов таблицы параметров потоков;• fill the flow parameter columns in the flow characteristics table with values from the flow parameter table columns;
• вычисляют характеристики сети для всей таблицы параметров потоков;• calculate network characteristics for the entire table of flow parameters;
• вычисляют характеристики взаимодействия для каждого потока из таблицы характеристик потоков;• calculate the interaction characteristics for each flow from the flow characteristics table;
• заполняют столбцы характеристик сети и характеристик взаимодействий в таблице характеристик потоков;• fill in the network characteristics and interaction characteristics columns in the flow characteristics table;
• оцифровывают в таблице характеристик потоков параметры протокола и серверного порта методом One-hot-encoding с таким же набором уникальных значений, что и при обучении;• digitize the protocol and server port parameters in the flow characteristics table using the One-hot encoding method with the same set of unique values as during training;
• оцифровывают два столбца IP-адреса путем разбиения на 4 байта;• digitize the two columns of the IP address by splitting them into 4 bytes;
• получают оцифрованную таблицу характеристик потоков путем замены столбцов символьных параметров из таблицы характеристик потоков на оцифрованные столбцы символьных параметров;• a digitized table of flow characteristics is obtained by replacing the columns of symbolic parameters from the table of flow characteristics with digitized columns of symbolic parameters;
• нормализуют в оцифрованной таблице характеристик потоков значения в столбцах количества байт и пакетов, в восьми столбцах, оцифрованных IP-адресов, характеристик сети, характеристик взаимодействий, а также в столбцах с количеством различных TCP флагов, получая тестовую таблицу;• normalize the values in the byte and packet count columns, the eight columns of digitized IP addresses, network characteristics, interaction characteristics, and the columns with the number of different TCP flags in the digitized flow characteristics table, obtaining a test table;
• вычисляют среднюю ошибку реконструкции TRE по формуле:• calculate the average reconstruction error TRE using the formula:
где n - количество столбцов в тестовой таблице;where n is the number of columns in the test table;
m - количество потоков в тестовой таблице;m - the number of threads in the test table;
Yi,j - значение i-ого параметра j-ого потока в тестовой таблице;Y i,j is the value of the i-th parameter of the j-th stream in the test table;
- реконструированное на выходе нейронной сети значение i-ого параметра j-ого потока в тестовой таблице параметров потоков; - the value of the i-th parameter of the j-th flow in the test table of flow parameters reconstructed at the output of the neural network;
• отмечают аномальные взаимодействия как нормальные, если они не отмечались как аномальные за последнее время Т6;• mark abnormal interactions as normal if they have not been marked as abnormal in the recent past T6;
• если значение TRE больше, чем NT, или по крайней мере одна из характеристик сети превышает пороговое значение из таблицы пороговых значений характеристик сети, тогда:• if the TRE value is greater than NT, or at least one of the network characteristics exceeds the threshold value from the network characteristic threshold value table, then:
отмечают как аномальные все взаимодействия в таблице характеристик взаимодействий, характеристики которых превышают пороговые значения из таблицы пороговых значений характеристик взаимодействий; mark as abnormal all interactions in the interaction characteristics table whose characteristics exceed the threshold values from the interaction characteristics threshold values table;
блокируют для прохождения внутрь защищаемой локальной сети все пакеты, приходящие из сети Интернет, у которых набор из двух IP-адресов, протокола и серверного порта совпадает с одним из аномальных взаимодействий; block all packets coming from the Internet from passing into the protected local network, for which the set of two IP addresses, protocol and server port matches one of the anomalous interactions;
• удаляют взаимодействия, время неактивности которых превысило максимальное время неактивности Т5, из таблиц характеристик взаимодействий, статистических характеристик взаимодействий и пороговых значений взаимодействий;• remove interactions whose inactivity time exceeded the maximum inactivity time T5 from the interaction characteristics, interaction statistics, and interaction thresholds tables;
• вычисляют и обновляют пороговые значения для характеристик сети и характеристик каждого взаимодействия, если за последнее время Т4 пороговые значения не обновлялись и при этом за последнее время Т4 не было отмечено аномальных взаимодействий.• calculate and update the thresholds for the network characteristics and the characteristics of each interaction if the thresholds have not been updated in the last T4 time and no abnormal interactions have been observed in the last T4 time.
Процесс формирования тестовых таблиц и обнаружения аномальных взаимодействий можно производить как на протяжении установленного промежутка времени Т7, так и до тех пор, пока требуется защита от атак типа отказ в обслуживании.The process of generating test tables and detecting abnormal interactions can be performed either during the set time interval T7 or as long as protection against denial of service attacks is required.
Трафик относящийся к аномальным взаимодействиям, будет блокироваться на сетевом устройстве все время, пока флаг AT=1.Traffic related to anomalous interactions will be blocked on the network device as long as the AT flag is set to 1.
Заметим, что при формировании таблиц параметров потоков обновляется только таблица характеристик взаимодействий и таблица статистических характеристик взаимодействий, тогда как таблица пороговых значений характеристик взаимодействий не обновляется в каждом периоде Т1. Тогда для новых взаимодействий будут не определены пороговые значения. Таким образом, взаимодействия атаки будут корректно блокироваться даже в случае обнаружения начала атаки с задержкой.Note that when generating flow parameter tables, only the interaction characteristics table and the interaction statistical characteristics table are updated, while the interaction characteristic threshold values table is not updated in each T1 period. Then, no threshold values will be defined for new interactions. Thus, attack interactions will be correctly blocked even if the attack start is detected with a delay.
Технический результат достигается за счет использования нейронной сети типа автокодировщик и характеристик сети для обнаружения атаки и характеристик взаимодействий для блокирования отдельных взаимодействий. Такой подход позволяет увеличить вероятность обнаружения конкретных взаимодействий, принадлежащих к атаке, при этом не требуется обучение с использованием заранее подготовленной выборки для каждого вида атаки типа отказ в обслуживании.The technical result is achieved by using a neural network of the autoencoder type and network characteristics to detect an attack and interaction characteristics to block individual interactions. This approach increases the probability of detecting specific interactions belonging to an attack, without requiring training using a pre-prepared sample for each type of denial of service attack.
Вероятность обнаружения различного вида атак типа отказ в обслуживании, в том числе атак с нарастающей активностью, производится за счет использования характеристик сети и средней ошибки реконструкции нейронной сети. При обнаружении атаки типа отказ в обслуживании взаимодействия, порожденные различными техниками распределенных атак, а также техниками с использованием подмены IP-адреса источника будут блокироваться как взаимодействия с аномальной активностью, либо как новые взаимодействия. Таким образом, повышается вероятность обнаружения и блокировки атак с использованием различных техник распределенных атак, а также техник с подменой IP-адреса источника, при этом уменьшается вероятность блокировки легитимных взаимодействий.The probability of detecting various types of denial of service attacks, including attacks with increasing activity, is produced by using network characteristics and the average error of neural network reconstruction. When a denial of service attack is detected, interactions generated by various distributed attack techniques, as well as techniques using source IP spoofing, will be blocked as interactions with abnormal activity or as new interactions. This increases the probability of detecting and blocking attacks using various distributed attack techniques, as well as techniques using source IP spoofing, while reducing the probability of blocking legitimate interactions.
Использование характеристик взаимодействий для блокировки отдельных взаимодействий также позволяет увеличить вероятность обнаружения атак и уменьшить вероятность блокировки легитимного взаимодействия при использовании техники отражения атаки от легитимного сервера, так-как будет заблокирован обмен данными с легитимным сервером только по аномальным взаимодействиям.Using interaction characteristics to block individual interactions also increases the likelihood of detecting attacks and reduces the likelihood of blocking legitimate interactions when using the technique of reflecting an attack from a legitimate server, since data exchange with the legitimate server will be blocked only for anomalous interactions.
Осуществление изобретенияImplementation of the invention
Предложенный способ может быть, в общем случае, реализован с использованием одного компьютера, разделяющего внешнюю цифровую сеть передачи данных (Интернет) и локальную цифровую сеть передачи данных (корпоративную сеть).The proposed method can, in general, be implemented using one computer separating the external digital data transmission network (Internet) and the local digital data transmission network (corporate network).
Более предпочтительной, с точки зрения скорости работы в целом, может быть реализация предложенного способа, например, в следующей программно-аппаратной среде.More preferable, from the point of view of overall operating speed, may be the implementation of the proposed method, for example, in the following software and hardware environment.
В качестве вычислительной системы выбирается компьютер со следующими аппаратными характеристиками:A computer with the following hardware characteristics is selected as a computing system:
процессор Intel Core i7-4770 3.40 GHz; processor Intel Core i7-4770 3.40 GHz;
оперативная память 16 GB; RAM 16 GB;
жесткий диск SSD 240 GB, SSD 240 GB hard drive,
и установленным программным обеспечением:and installed software:
операционная система Microsoft Windows 10; Microsoft Windows 10 operating system;
Python 3.10.11; Python 3.10.11;
модули Python: numpy 1.26.0, pandas 2.1.1, torch 2.2.1. Python modules: numpy 1.26.0, pandas 2.1.1, torch 2.2.1.
Дополнительно, для реализации предложенного способа, формируется и устанавливается на компьютер вычислительной системы программным обеспечение (ПО), обеспечивающее выполнение вычислений и действий способа. Разработку и формирование такого ПО может обеспечить специалист по программированию (программист), на основе знания действий в предложенном способе.Additionally, to implement the proposed method, software (SW) is formed and installed on the computer of the computing system, ensuring the execution of calculations and actions of the method. The development and formation of such SW can be provided by a programming specialist (programmer), based on knowledge of the actions in the proposed method.
Также для реализации способа используется сетевое устройство, установленное между корпоративной сетью и внешней сетью передачи данных. Сетевое устройство, в качестве которого используется межсетевой экран типа ViPNet xFirewall 5 (https://infotecs.ru/products/vipnet-xfirewall-5). способно пропускать и блокировать сетевой трафик. Компьютер вычислительной системы подключается к сетевому устройству с помощью локальной цифровой сети передачи данных. Сетевое устройство, имеет возможность блокировать сетевой трафик на основе таблицы правил блокировки. При этом, для обеспечения правильного обмена данными с вычислительной системой и блокировки трафика согласно инструкциям, получаемым от вычислительной системы, в ПО сетевого устройства были произведены доработка.Also, to implement the method, a network device installed between the corporate network and the external data transmission network is used. The network device, which is a firewall of the ViPNet xFirewall 5 type (https://infotecs.ru/products/vipnet-xfirewall-5) is capable of passing and blocking network traffic. The computer of the computing system is connected to the network device using a local digital data transmission network. The network device has the ability to block network traffic based on the blocking rule table. At the same time, to ensure correct data exchange with the computing system and blocking of traffic according to the instructions received from the computing system, the software of the network device was modified.
На вход сетевого устройства подается сетевой трафик из корпоративной сети, к которому может подмешиваться трафик сетевых атак. Для формирования трафика сетевых атак используется отдельный компьютер (тестовый стенд), подключенный по сети и снабженный специализированным ПО, которое обеспечивает формирование трафика атак с множеством IP-адресов источника, с отражением от DNS сервера и с нарастающей активностью.Network traffic from the corporate network is fed to the input of the network device, to which network attack traffic can be mixed. To generate network attack traffic, a separate computer (test stand) is used, connected via the network and equipped with specialized software that ensures the generation of attack traffic with multiple source IP addresses, with reflection from the DNS server and with increasing activity.
Сетевые потоки в формате Netflow формируются в сетевом устройстве и отправляются по протоколу UDP в вычислительную систему. В рамках предложенного способа сетевое устройство используется исключительно для формирования потоков и блокировки пакетов. При этом вычислительная система может давать команды сетевому устройству для блокировки пакетов с определенным набором параметров. Сетевые потоки в формате Netflow отправляются в вычислительную систему на протяжении всего времени работы способа.Network flows in the Netflow format are formed in the network device and sent via the UDP protocol to the computing system. Within the framework of the proposed method, the network device is used exclusively for forming flows and blocking packets. At the same time, the computing system can give commands to the network device to block packets with a certain set of parameters. Network flows in the Netflow format are sent to the computing system throughout the entire operation of the method.
После подготовки программно-аппаратной части запускают компьютер вычислительной системы в режиме контролируемой нормальной работы.After preparing the software and hardware, the computer of the computing system is started in the controlled normal operation mode.
В вычислительной системе создается таблица характеристик сети, изначально заполненная нулевыми значениями с одной строкой и столбцами:The computing system creates a network characteristics table, initially filled with zero values with one row and columns:
• количество потоков в секунду;• number of threads per second;
• количество пакетов в секунду;• number of packets per second;
• количество байтов в секунду.• number of bytes per second.
Создается таблица статистических характеристик сети, изначально заполненная нулевыми значениями. Таблица статистических характеристик сети содержит одну строку и столбцы:A table of network statistics is created, initially filled with zero values. The table of network statistics contains one row and columns:
• оценка математического ожидания количества потоков в секунду;• assessment of the mathematical expectation of the number of flows per second;
• оценка математического ожидания количества пакетов в секунду;• assessment of the mathematical expectation of the number of packets per second;
• оценка математического ожидания количества байтов в секунду;• estimation of the mathematical expectation of the number of bytes per second;
• оценка среднеквадратичного отклонения количества потоков в секунду;• estimation of the standard deviation of the number of flows per second;
• оценка среднеквадратичного отклонения количества пакетов в секунду;• estimation of the standard deviation of the number of packets per second;
• оценка среднеквадратичного отклонения количества байтов в секунду.• estimate of the standard deviation of the number of bytes per second.
Создается таблица характеристик взаимодействий, изначально пустая. Таблица характеристик взаимодействий содержит столбцы:An interaction characteristics table is created, initially empty. The interaction characteristics table contains the following columns:
• количество потоков взаимодействия в секунду;• number of interaction threads per second;
• количество пакетов взаимодействия в секунду;• number of interaction packets per second;
• количество байтов взаимодействия в секунду;• number of interaction bytes per second;
• количество пакетов в потоке;• number of packets in the stream;
• количество байтов в потоке;• number of bytes in the stream;
• время последней активности взаимодействия.• time of last interaction activity.
Создается таблица статистических характеристик взаимодействия, изначально пустая. Таблица статистических характеристик взаимодействий содержит столбцы:A table of statistical characteristics of interactions is created, initially empty. The table of statistical characteristics of interactions contains the following columns:
• оценка математического ожидания потоков взаимодействия в секунду;• assessment of the mathematical expectation of interaction flows per second;
• оценка математического ожидания пакетов взаимодействия в секунду;• assessment of the mathematical expectation of interaction packets per second;
• оценка математического ожидания байтов взаимодействия в секунду;• estimation of the mathematical expectation of interaction bytes per second;
• оценка математического ожидания пакетов в потоке;• assessment of the mathematical expectation of packets in a flow;
• оценка математического ожидания байтов в потоке;• estimation of the mathematical expectation of bytes in a stream;
• оценка среднеквадратичного отклонения потоков взаимодействия в секунду;• estimation of the standard deviation of interaction flows per second;
• оценка среднеквадратичного отклонения пакетов взаимодействия в секунду;• estimation of the standard deviation of interaction packets per second;
• оценка среднеквадратичного отклонения байтов взаимодействия в секунду;• estimation of the standard deviation of interaction bytes per second;
• оценка среднеквадратичного отклонения пакетов в потоке;• estimation of the standard deviation of packets in the flow;
• оценка среднеквадратичного отклонения байтов в потоке. Создается таблица для обучения, изначально пустая.• estimation of the standard deviation of bytes in the stream. A training table is created, initially empty.
Устанавливается период формирования таблиц параметров сетевых потоков Т1=10 с. Устанавливается время для формирования обучающей выборки Т2, равное одним суткам, или Т2=86400 с.The period for generating network flow parameter tables is set to T1=10 s. The time for generating the training sample T2 is set to be one day, or T2=86400 s.
На тестовом стенде на протяжении времени Т2 воспроизводится нормальный трафик из корпоративной сети. При этом в вычислительной системе с периодом Т1 накапливаются параметры сетевых потоков. Таким образом, будет произведено 8640 периодов по 10 секунд. В течении каждого периода Т1 из накопленных параметров потоков формируется таблица параметров потоков со столбцами:On the test stand, normal traffic from the corporate network is reproduced during the time T2. At the same time, network flow parameters are accumulated in the computing system with the period T1. Thus, 8640 periods of 10 seconds will be produced. During each period T1, a table of flow parameters with columns is formed from the accumulated flow parameters:
• IP-адрес источника,• Source IP address,
• IP-адрес назначения,• Destination IP address,
• номер серверного порта,• server port number,
• протокол,• protocol,
• количество TCP флагов каждого из типов,• the number of TCP flags of each type,
• количество пакетов в потоке,• number of packets in the stream,
• количество байтов в потоке,• number of bytes in the stream,
• время появления потока.• time of flow appearance.
В течении разных периодов Т1 количество строк в таблице параметров потоков может варьироваться, поскольку интенсивность сетевого трафика в различные периоды времени может колебаться. После формирования таблицы параметров потоков создается таблица характеристик потоков с количеством строк равным количеству строк в таблице параметров потоков и со столбцами параметров потоков, характеристик сети и характеристик взаимодействий:During different periods T1, the number of rows in the flow parameter table may vary, since the intensity of network traffic may fluctuate during different periods of time. After the flow parameter table is generated, a flow characteristics table is created with the number of rows equal to the number of rows in the flow parameter table and with columns for flow parameters, network characteristics, and interaction characteristics:
• IP-адрес источника (параметр потока);• Source IP address (flow parameter);
• IP-адрес назначения (параметр потока);• Destination IP address (flow parameter);
• номер серверного порта (параметр потока);• server port number (stream parameter);
• протокол (параметр потока);• protocol (stream parameter);
• количество TCP флагов каждого из типов (параметры потока);• the number of TCP flags of each type (flow parameters);
• количество потоков в секунду по сети (характеристика сети);• number of flows per second over the network (network characteristic);
• количество пакетов в секунду по сети (характеристика сети);• number of packets per second over the network (network characteristic);
• количество байтов в секунду по сети (характеристика сети);• number of bytes per second over the network (network characteristic);
• количество потоков взаимодействия в секунду (характеристика взаимодействия);• number of interaction flows per second (interaction characteristic);
• количество пакетов взаимодействия в секунду (характеристика взаимодействия);• number of interaction packets per second (interaction characteristic);
• количество байтов взаимодействия в секунду (характеристика взаимодействия);• number of interaction bytes per second (interaction characteristic);
• количество пакетов потока (характеристика взаимодействия);• number of packets in the flow (interaction characteristic);
• количество байт потока (характеристика взаимодействия).• number of bytes of the stream (interaction characteristic).
В таблице характеристик потоков столбцы параметров потоков заполняются значениями из столбцов таблицы параметров потоков.In the flow characteristics table, the flow parameter columns are filled with values from the flow parameter table columns.
Вычисляются характеристики сети для таблицы параметров потоков:The network characteristics for the flow parameter table are calculated:
где FPS - количество потоков в секунду,where FPS is the number of threads per second,
PPS - количество пакетов в секунду,PPS - packets per second,
BPS - количество байтов в секунду,BPS - bytes per second,
N - количество потоков в таблице параметров потоков,N - the number of threads in the thread parameters table,
D - разница между наибольшим и наименьшим временем появления потока из таблицы параметров потоков в секундах,D - the difference between the largest and smallest time of appearance of a stream from the stream parameters table in seconds,
PN - сумма количества пакетов всех потоков в таблице параметров потоков,PN - the sum of the number of packets of all flows in the flow parameter table,
BN - сумма количества байтов всех потоков в таблице параметров потоков.BN is the sum of the number of bytes of all streams in the stream parameter table.
Вычисленные значения характеристик сети, FPS, PPS, BPS, сглаживаются по формуле экспоненциального сглаживающего среднего:The calculated values of network characteristics, FPS, PPS, BPS, are smoothed using the exponential smoothing average formula:
где - сглаженное значение i-той характеристики сети,Where - smoothed value of the i-th network characteristic,
PSi - вычисленное значение i-той характеристики сети,PS i - calculated value of the i-th network characteristic,
PTi - значение i-той характеристики сети из таблицы характеристик сети, которое было записано в предыдущем периоде.PT i is the value of the i-th network characteristic from the network characteristics table, which was recorded in the previous period.
Сглаженные характеристики сети записываются в таблицу характеристик сети. В таблицу характеристик потоков в столбцы характеристик сети записываются значения из таблицы характеристик сети. Таким образом, в каждой строке таблицы характеристик потоков в трех столбцах характеристик сети в каждой строке будет записан одинаковый набор из трех значений характеристик сети.The smoothed network characteristics are written to the network characteristics table. The values from the network characteristics table are written to the network characteristics columns in the flow characteristics table. Thus, in each row of the flow characteristics table, the same set of three network characteristics values will be written in the three columns of the network characteristics in each row.
Вычисляются статистические характеристики сети согласно формулам:The statistical characteristics of the network are calculated according to the formulas:
где - оценка математического ожидания для i-той характеристики сети,Where - estimate of the mathematical expectation for the i-th network characteristic,
EPSi - оценка математического ожидания из таблицы статистических характеристик сети, вычисленная за предыдущий период,EPS i - the estimate of the mathematical expectation from the table of statistical characteristics of the network, calculated for the previous period,
- значение i-той характеристики сети из таблицы характеристик сети, - the value of the i-th network characteristic from the network characteristics table,
m - количество предыдущих периодов,m - number of previous periods,
- оценка среднеквадратичного отклонения для i-той характеристики сети, - estimate of the standard deviation for the i-th network characteristic,
DPSi - оценка среднеквадратичного отклонения из таблицы статистических характеристик сети, вычисленная за предыдущий период.DPS i is the estimate of the standard deviation from the table of statistical characteristics of the network, calculated for the previous period.
Характеристики сети и статистические характеристики сети вычисляются для всей таблицы характеристик потоков в каждом периоде Т1.Network characteristics and statistical network characteristics are calculated for the entire flow characteristics table in each period T1.
После чего, для каждой строки из таблицы характеристик потоков вычисляют характеристики взаимодействий. Для этого сначала определяется взаимодействие потока в строке. Взаимодействие определяется с помощью набора из двух IP-адресов, серверного порта и протокола. Если взаимодействие отсутствует в таблице характеристик взаимодействий, тогда:After that, for each row from the flow characteristics table, the interaction characteristics are calculated. To do this, the flow interaction in the row is first determined. The interaction is determined using a set of two IP addresses, a server port, and a protocol. If the interaction is not in the interaction characteristics table, then:
• создается новое взаимодействие в таблице характеристик взаимодействий;• a new interaction is created in the interaction characteristics table;
• значения количества потоков, пакетов и байтов в секунду задаются равным нулю;• the values of the number of streams, packets and bytes per second are set to zero;
• значения количества пакетов и байтов взаимодействия задаются равными значениям количества пакетов и байтов в рассматриваемом потоке.• the values of the number of packets and bytes of interaction are set equal to the values of the number of packets and bytes in the flow under consideration.
Иначе, если взаимодействие есть в таблице характеристик взаимодействий, тогда:Otherwise, if the interaction is in the interaction characteristics table, then:
• значения количества пакетов и байт задаются равными значениям количества пакетов и байтов в рассматриваемом потоке;• the values of the number of packets and bytes are set equal to the values of the number of packets and bytes in the flow under consideration;
• другие характеристики взаимодействия для рассматриваемого потока вычисляются по формулам:• other interaction characteristics for the flow under consideration are calculated using the formulas:
где IFPS - количество потоков взаимодействия в секунду;where IFPS is the number of interaction flows per second;
IPPS - количество пакетов взаимодействия в секунду;IPPS - number of interaction packets per second;
IBPS - количество байтов взаимодействия в секунду;IBPS - Interaction Bytes Per Second;
IPN - количество пакетов взаимодействия;IPN - number of interaction packets;
IBN - количество байтов взаимодействия;IBN - number of interaction bytes;
t - время последней активности взаимодействия из таблицы характеристик взаимодействий за предыдущий период;t - the time of the last interaction activity from the table of interaction characteristics for the previous period;
- время появления рассматриваемого потока. - the time of appearance of the flow in question.
После этого сглаживают характеристики взаимодействия рассматриваемого потока по формуле:After this, the interaction characteristics of the flow under consideration are smoothed using the formula:
где - сглаженное значение i-той характеристики взаимодействия потока,Where - smoothed value of the i-th characteristic of flow interaction,
IPSi - вычисленное значение i-той характеристики взаимодействия потока,IPS i - the calculated value of the i-th interaction characteristic of the flow,
IPTi - значение i-той характеристики взаимодействия потока из таблицы характеристик взаимодействия, которое было записано при предыдущем появлении потока.IPT i is the value of the i-th interaction characteristic of a flow from the interaction characteristics table, which was recorded during the previous appearance of the flow.
Момент времени последней активности потока задают равным моменту времени появления рассматриваемого потока. После чего значения в таблице характеристик взаимодействий обновляют на вычисленные и сглаженные значения. Также сглаженными значениями характеристик взаимодействий заполняются столбцы характеристик взаимодействий в таблице характеристик потоков в рассматриваемой строке.The moment of time of the last activity of the flow is set equal to the moment of time of the appearance of the flow in question. After that, the values in the table of interaction characteristics are updated with the calculated and smoothed values. The columns of interaction characteristics in the table of flow characteristics in the row in question are also filled with the smoothed values of the interaction characteristics.
Вычисляются статистические характеристики взаимодействия согласно формулам:Statistical characteristics of interaction are calculated according to the formulas:
где - оценка математического ожидания для i-той характеристики взаимодействия,Where - estimate of the mathematical expectation for the i-th interaction characteristic,
IEPSi - оценка математического ожидания из таблицы статистических характеристик взаимодействия, вычисленная для предшествующего потока взаимодействия,IEPS i - the estimate of the mathematical expectation from the table of statistical characteristics of interaction, calculated for the previous interaction flow,
- значение i-той характеристики взаимодействия из таблицы характеристик взаимодействий, - the value of the i-th interaction characteristic from the table of interaction characteristics,
n - общее количество всех предшествующих потоков взаимодействия,n is the total number of all previous interaction flows,
- оценка среднеквадратичного отклонения для i-той характеристики взаимодействия, - estimate of the standard deviation for the i-th interaction characteristic,
IDPSi - оценка среднеквадратичного отклонения из таблицы статистических характеристик взаимодействия, вычисленная для предшествующего потока.IDPS i is the estimate of the standard deviation from the table of statistical characteristics of interaction, calculated for the previous flow.
Вычисленные статистические характеристики взаимодействия записываются в таблицу статистических характеристик взаимодействий в строку рассматриваемого взаимодействия. Если такого взаимодействия нет в таблице статистических характеристик, тогда оно создается в новой строке таблицы и заполняется вычисленными значениями.The calculated statistical characteristics of the interaction are written to the table of statistical characteristics of interactions in the row of the interaction under consideration. If such an interaction is not in the table of statistical characteristics, then it is created in a new row of the table and filled with the calculated values.
Характеристики взаимодействий и статистические характеристики взаимодействий последовательно вычисляются для каждой строки в таблице характеристик потоков в каждом периоде Т1.The interaction characteristics and statistical interaction characteristics are sequentially calculated for each row in the flow characteristics table in each period T1.
Таким образом, вычисляются характеристики взаимодействия для каждой строки в таблице характеристик сети. После заполнения таблицы характеристик потоков, таблица для обучения дополняется строками таблицы характеристик потоков. Соответственно, в каждый период Т1 таблица для обучения дополняется с помощью таблицы характеристик потоков. При этом в каждом новом периоде таблица характеристик потоков создается и заполняется значениями заново.Thus, the interaction characteristics are calculated for each row in the network characteristics table. After filling the flow characteristics table, the training table is supplemented with rows of the flow characteristics table. Accordingly, in each period T1, the training table is supplemented with the flow characteristics table. In this case, in each new period, the flow characteristics table is created and filled with values anew.
По завершении времени для обучения таблица для обучения содержит 30236224 строк с параметрами потоков. При этом таблица характеристик взаимодействий содержит 1451 взаимодействие (табл. 9).At the end of the training time, the training table contains 30236224 rows with flow parameters. At the same time, the interaction characteristics table contains 1451 interactions (Table 9).
Пример нескольких строк таблицы характеристик взаимодействий после завершения обучения с анонимизированными IP-адресами имеет следующий вид (табл. 10).An example of several rows of the interaction characteristics table after completion of training with anonymized IP addresses looks like this (Table 10).
По завершении времени для обучения Т2, в таблице для обучения оцифровываются столбцы протокола и серверного порта методом One-Hot-Encoding. При этом наборы уникальных значений для протокола и серверного порта, которые использовались при оцифровке, необходимо сохранить, для дальнейшего использования таких наборов при оцифровке валидационной и тестовой таблиц. Столбцы IP-адресов оцифровываем путем разбиения IP-адреса на 4 байта.After the T2 training time is completed, the protocol and server port columns are digitized in the training table using the One-Hot-Encoding method. In this case, the sets of unique values for the protocol and server port that were used during digitization must be saved for further use of such sets when digitizing the validation and test tables. The IP address columns are digitized by splitting the IP address into 4 bytes.
В оцифрованной таблице для обучения нормализуют столбцы количества байт и пакетов, оцифрованные столбцы IP-адресов, характеристик сети, характеристик взаимодействий, а также столбцы с количеством различных TCP флагов с помощью преобразования Йео-Джонсона.In the digitized training table, the byte and packet count columns, the digitized IP address columns, network characteristics, interaction characteristics, and the columns with the number of different TCP flags are normalized using the Yeo-Johnson transform.
С помощью модуля pytorch создают нейронную сеть типа автокодировщик, имеющуюUsing the pytorch module, a neural network of the autoencoder type is created, which has
• размерность входного слоя и слоя на выходе, равную количеству столбцов в нормализованной таблице для обучения 1728,• the dimension of the input layer and the output layer is equal to the number of columns in the normalized table for training 1728,
• один скрытый слой с размерностью 48.• one hidden layer with dimension 48.
Обучают нейронную сеть с использованием нормализованной таблицы для обучения, причем при обучении минимизируют ошибку реконструкции параметров потока R, которая вычисляется по формуле:The neural network is trained using a normalized training table, and during training, the error in reconstructing the flow parameters R is minimized, which is calculated using the formula:
где n количество столбцов в нормализованной таблице для обучения;where n is the number of columns in the normalized table for training;
Yi,j - значение i-ого столбца j-ого потока в нормализованной таблице для обучения;Y i,j is the value of the i-th column of the j-th stream in the normalized table for training;
- реконструированное на выходе нейронной сети значение i-ого столбца j-ого потока в нормализованной таблице для обучения. - the reconstructed value of the i-th column of the j-th stream in the normalized table for training at the output of the neural network.
После обучения нейронной сети вычисляют пороговые значения для каждой характеристики сети по формуле:After training the neural network, threshold values are calculated for each network characteristic using the formula:
где - оценка математического ожидания i-ой характеристики сети из таблицы статистических характеристик сети;Where - assessment of the mathematical expectation of the i-th network characteristic from the table of statistical network characteristics;
- оценка среднеквадратического отклонения i-ой характеристики сети из таблицы статистических характеристик сети. - assessment of the standard deviation of the i-th network characteristic from the table of statistical network characteristics.
Полученные пороговые значения характеристик сети записывают в таблицу пороговых значений характеристик сети.The obtained threshold values of network characteristics are recorded in the table of threshold values of network characteristics.
Также вычисляются пороговые значения для каждой характеристики каждого из взаимодействий по формулеThreshold values for each characteristic of each interaction are also calculated using the formula
где - оценка математического ожидания i-ой характерисшки j-ого взаимодействия из таблицы статистических характеристик взаимодействий;Where - estimate of the mathematical expectation of the i-th characteristic of the j-th interaction from the table of statistical characteristics of interactions;
- оценка среднеквадратического отклонения i-ой характеристики j-ого взаимодействия из таблицы статистических характеристик взаимодействий. - an estimate of the standard deviation of the i-th characteristic of the j-th interaction from the table of statistical characteristics of interactions.
Полученные пороговые значения характеристик взаимодействий записывают в таблицу пороговых значений характеристик взаимодействий.The obtained threshold values of interaction characteristics are recorded in the table of threshold values of interaction characteristics.
Таблица пороговых значений характеристик сети после завершения обучения имеет следующий вид (табл. 11)The table of threshold values of network characteristics after completion of training looks like this (Table 11)
Несколько строк таблицы пороговых значений характеристик взаимодействий после завершения обучения имеют следующий вид (табл. 12, с анонимизированными IP-адресами).Several lines of the table of threshold values of interaction characteristics after completion of training look like this (Table 12, with anonymized IP addresses).
Задают длительность промежутка времени для валидации Т3, равное одним суткам, или Т3=86400 с. На протяжении времени Т3 на тестовом стенде воспроизводится сетевой трафик из корпоративной сети. Создают массив значений VR, изначально пустой. На протяжении всего промежутка времени Т3 с периодом Т1 накапливаются параметры сетевых потоков. Как только проходит период Т1 из накопленных параметров потоков формируется таблица параметров потоков со столбцами:The duration of the time interval for validation T3 is set to be one day, or T3=86400 s. During the time T3, network traffic from the corporate network is reproduced on the test bench. An array of VR values is created, initially empty. During the entire time interval T3 with a period of T1, network flow parameters are accumulated. As soon as the period T1 passes, a table of flow parameters with columns is formed from the accumulated flow parameters:
• IP-адрес источника,• Source IP address,
• IP-адрес назначения,• Destination IP address,
• номер серверного порта,• server port number,
• протокол,• protocol,
• количество TCP флагов каждого из типов,• the number of TCP flags of each type,
• количество пакетов в потоке,• number of packets in the stream,
• количество байтов в потоке,• number of bytes in the stream,
• время появления потока.• time of flow appearance.
В течении разных периодов количество строк в таблице параметров потоков может варьироваться, так как интенсивность сетевого трафика в различные периоды времени может колебаться.The number of rows in the flow parameter table may vary over different periods of time because the intensity of network traffic may fluctuate during different periods of time.
После формирования таблицы параметров потоков создается таблица характеристик потоков с количеством строк, равным количеству строк в таблице параметров потоков и со столбцами параметров потоков, характеристик сети и характеристик взаимодействий:After the flow parameter table is generated, a flow characteristics table is created with a number of rows equal to the number of rows in the flow parameter table and with columns for flow parameters, network characteristics, and interaction characteristics:
• IP-адрес источника (параметр потока);• Source IP address (flow parameter);
• IP-адрес назначения (параметр потока);• Destination IP address (flow parameter);
• номер серверного порта (параметр потока);• server port number (stream parameter);
• протокол (параметр потока);• protocol (stream parameter);
• количество TCP флагов каждого из типов (параметры потока);• the number of TCP flags of each type (flow parameters);
• количество потоков в секунду по сети (характеристика сети);• number of flows per second over the network (network characteristic);
• количество пакетов в секунду по сети (характеристика сети);• number of packets per second over the network (network characteristic);
• количество байтов в секунду по сети (характеристика сети);• number of bytes per second over the network (network characteristic);
• количество потоков взаимодействия в секунду (характеристика взаимодействия);• number of interaction flows per second (interaction characteristic);
• количество пакетов взаимодействия в секунду (характеристика взаимодействия);• number of interaction packets per second (interaction characteristic);
• количество байтов взаимодействия в секунду (характеристика взаимодействия);• number of interaction bytes per second (interaction characteristic);
• количество пакетов потока (характеристика взаимодействия);• number of packets in the flow (interaction characteristic);
• количество байт потока (характеристика взаимодействия).• number of bytes of the stream (interaction characteristic).
В таблице характеристик потоков столбцы параметров потоков заполняются значениями из столбцов таблицы параметров потоков.In the flow characteristics table, the flow parameter columns are filled with values from the flow parameter table columns.
Вычисляются характеристики сети для таблицы параметров потоков по формулам (5)-(7). Вычисленные значения характеристик сети, FPS, PPS, BPS, сглаживаются по формуле (8). Сглаженные характеристики сети записываются в таблицу характеристик сети.The network characteristics are calculated for the flow parameter table using formulas (5)-(7). The calculated values of the network characteristics, FPS, PPS, BPS, are smoothed using formula (8). The smoothed network characteristics are written to the network characteristics table.
В таблицу характеристик потоков в столбцы характеристик сети записываются значения из таблицы характеристик сети. Таким образом, в каждой строке таблицы характеристик потоков в трех столбцах характеристик сети в каждой строке будет записан одинаковый набор из трех значений характеристик сети. Вычисляются статистические характеристики сети согласно формулам (9)-(10).The table of flow characteristics records the values from the table of network characteristics in the columns of the network characteristics. Thus, in each row of the table of flow characteristics, the same set of three values of network characteristics will be recorded in the three columns of the network characteristics in each row. The statistical characteristics of the network are calculated according to formulas (9)-(10).
Характеристики сети и статистические характеристики сети вычисляются для всей таблицы характеристик потоков в каждом периоде Т1.Network characteristics and statistical network characteristics are calculated for the entire flow characteristics table in each period T1.
После этого, для каждой строки из таблицы характеристик потоков вычисляют характеристики взаимодействий. Для этого сначала определяется взаимодействие потока в строке. Взаимодействие определяется с помощью набора из двух IP-адресов, серверного порта и протокола. Если взаимодействие отсутствует в таблице характеристик взаимодействий, тогда:After that, for each row in the flow characteristics table, the interaction characteristics are calculated. To do this, the flow interaction in the row is first determined. The interaction is determined using a set of two IP addresses, a server port, and a protocol. If the interaction is not in the interaction characteristics table, then:
• создается новое взаимодействие в таблице характеристик взаимодействий;• a new interaction is created in the interaction characteristics table;
• значения количества потоков, пакетов и байтов в секунду задаются равным нулю;• the values of the number of streams, packets and bytes per second are set to zero;
• значения количества пакетов и байтов взаимодействия задаются равными значениям количества пакетов и байтов в рассматриваемом потоке.• the values of the number of packets and bytes of interaction are set equal to the values of the number of packets and bytes in the flow under consideration.
Иначе, если взаимодействие имеется в таблице характеристик взаимодействий, тогда:Otherwise, if the interaction is in the interaction characteristics table, then:
• значения количества пакетов и байт задаются равными значениям количества пакетов и байтов в рассматриваемом потоке;• the values of the number of packets and bytes are set equal to the values of the number of packets and bytes in the flow under consideration;
• другие характеристики взаимодействия для рассматриваемого потока вычисляются по формулам (11)-(13).• other interaction characteristics for the flow under consideration are calculated using formulas (11)–(13).
После чего сглаживают характеристики взаимодействия рассматриваемого потока по формуле (14).After which the interaction characteristics of the flow under consideration are smoothed using formula (14).
Момент времени последней активности потока задают равным моменту времени появления рассматриваемого потока. После чего значения в таблице характеристик взаимодействий обновляют на вычисленные и сглаженные значения. Также сглаженными значениями характеристик взаимодействий заполняются столбцы характеристик взаимодействий в таблице характеристик потоков в рассматриваемой строке.The moment of time of the last activity of the flow is set equal to the moment of time of the appearance of the flow in question. After that, the values in the table of interaction characteristics are updated with the calculated and smoothed values. The columns of interaction characteristics in the table of flow characteristics in the row in question are also filled with the smoothed values of the interaction characteristics.
Вычисляются статистические характеристики взаимодействия согласно формулам (15)-(16). Вычисленные статистические характеристики взаимодействия записываются в таблицу статистических характеристик взаимодействий в строку рассматриваемого взаимодействия. Если такого взаимодействия нет в таблице статистических характеристик, тогда оно создается в новой строке таблицы и заполняется вычисленными значениями.Statistical characteristics of interaction are calculated according to formulas (15)-(16). The calculated statistical characteristics of interaction are recorded in the table of statistical characteristics of interactions in the row of the interaction under consideration. If such interaction is not in the table of statistical characteristics, then it is created in a new row of the table and filled with the calculated values.
Характеристики взаимодействий и статистические характеристики взаимодействий последовательно вычисляются для каждой строки в таблице характеристик потоков на каждом периоде Т1.The interaction characteristics and statistical interaction characteristics are sequentially calculated for each row in the flow characteristics table at each period T1.
После того как таблица характеристик потоков была заполнена значениями, в каждом периоде Т1 в течении времени валидации, такую таблицу оцифровывают. Столбцы протокола и серверного порта оцифровываются методом One-Hot-Encoding. При этом уникальные значения для протокола и серверного порта используются точно такие же, что и при оцифровке таблицы для обучения. Столбцы IP-адресов оцифровываются путем разбиения IP-адреса на 4 байта.After the flow characteristic table has been filled with values, in each T1 period during the validation time, such a table is digitized. The protocol and server port columns are digitized using the One-Hot-Encoding method. In this case, the unique values for the protocol and server port are exactly the same as when digitizing the table for training. The IP address columns are digitized by splitting the IP address into 4 bytes.
В оцифрованной таблице характеристик потоков нормализуются столбцы количества байт и пакетов, оцифрованные столбцы IP-адресов, характеристик сети, характеристик взаимодействий, а также столбцы с количеством различных TCP флагов с помощью преобразования Йео-Джонсона. Таким образом, в каждом периоде Т1 получаем таблицу валидации.In the digitized flow characteristics table, the columns of bytes and packets, the digitized columns of IP addresses, network characteristics, interaction characteristics, and the columns with the number of different TCP flags are normalized using the Yeo-Johnson transform. Thus, in each T1 period, we obtain a validation table.
Вычисляем среднюю ошибку реконструкции MR по формулеWe calculate the average reconstruction error MR using the formula
где n - количество столбцов в таблице валидации;where n is the number of columns in the validation table;
m - количество потоков в таблице валидации;m - the number of threads in the validation table;
Yi,j - значение i-ого параметра j-ого потока в таблице валидации;Y i,j is the value of the i-th parameter of the j-th stream in the validation table;
- реконструированное на выходе нейронной сети значение i-ого параметра j-ого потока в таблице валидации. - the value of the i-th parameter of the j-th stream in the validation table reconstructed at the output of the neural network.
Дополняем массив VR значением MR в каждом периоде Т1.We supplement the VR array with the MR value in each T1 period.
Как только промежуток времени для валидации завершен, выбирают в качестве порогового значения NT - квантиль уровня 0,995 значений из массива VR. Таким образом, пороговое значение NT равно 0,0022.Once the validation period is completed, the threshold value NT is chosen to be the quantile of the 0.995 level of values from the VR array. Thus, the threshold value NT is equal to 0.0022.
Далее задаютсяNext, the following questions are asked:
• период обновления пороговых значений Т4, равный одним суткам, или или Т4=86400 с,• the period of updating the threshold values T4, equal to one day, or T4=86400 s,
• промежуток времени неактивности взаимодействия Т5, равный одним суткам, или Т5=86400 с,• the time interval of inactivity of interaction T5, equal to one day, or T5=86400 s,
• промежуток времени блокировки взаимодействия Т6, равный пяти минутам, или Т6=300 с,• the time interval for blocking interaction T6, equal to five minutes, or T6=300 s,
• промежуток времени обнаружения и противодействия атакам Т7, равный трем часам, или Т4=10800 с.• the time interval for detecting and countering attacks T7, equal to three hours, or T4=10800 s.
Тестирование способа производилось на основе легитимного сетевого трафика из корпоративной сети.The method was tested using legitimate network traffic from a corporate network.
В первом тесте в качестве входных данных использовался только легитимный трафик, таким образом можно оценить количество ошибок второго рода при отсутствии атаки.In the first test, only legitimate traffic was used as input, so that the number of type II errors could be estimated in the absence of an attack.
Общая длительного тестирования на легитимном трафике не превышала 120 минут,The total duration of long-term testing on legitimate traffic did not exceed 120 minutes,
Во втором тесте, на вход подавался сетевой трафик за один час легитимной активности сети, после чего к такому легитимного трафику подмешивалась атака типа отказ в обслуживании с использованием множества различных IP-адресов. Данный тест позволяет оценить вероятность обнаружения и блокировки атакующих потоков, а также вероятность блокировки легитимных потоков при проведении распределенных атак типа "отказ в обслуживании" и атак с подменой IP-адресов источника. Для таких атак характерно использование множества различных IP-адресов. В случае распределенных атак это связано с наличием распределенной бот-сети, а при использовании техники подмены IP-адресов источника - с генерацией случайных IP-адресов.In the second test, the network traffic for one hour of legitimate network activity was fed to the input, after which a denial of service attack using many different IP addresses was mixed into this legitimate traffic. This test allows us to estimate the probability of detecting and blocking attack flows, as well as the probability of blocking legitimate flows during distributed denial of service attacks and attacks with source IP address substitution. Such attacks are characterized by the use of many different IP addresses. In the case of distributed attacks, this is due to the presence of a distributed botnet, and when using the source IP address substitution technique, it is due to the generation of random IP addresses.
В третьем тесте, на вход подавался сетевой трафик за один час легитимной активности сети, после чего к такому легитимного трафику подмешивалась атака типа отказ в обслуживании отраженная от легитимного DNS сервера. Такой тест позволяет оценить количество ошибок первого и второго рода при противодействии отраженным атакам типа отказ в обслуживании при использовании техники отражения от легитимного сервера.In the third test, the network traffic for one hour of legitimate network activity was fed to the input, after which a denial-of-service attack reflected from a legitimate DNS server was mixed into this legitimate traffic. This test allows us to estimate the number of type I and type II errors in countering reflected denial-of-service attacks using the technique of reflection from a legitimate server.
В четвертом тесте, на вход подавался сетевой трафик за один час с легитимной активностью сети, после чего к такому легитимному трафику подмешивалась атака типа отказ в обслуживании с нарастающей активностью. При этом активность нарастала линейно до тех пор, пока не достигла интенсивности атаки из первого теста. При этом в тесте IP-адреса источника атаки были сгенерированы случайно, аналогично атаке из первого теста.In the fourth test, one hour of network traffic with legitimate network activity was fed to the input, after which a denial of service attack with increasing activity was mixed into this legitimate traffic. In this case, the activity increased linearly until it reached the intensity of the attack from the first test. In this test, the IP addresses of the attack source were generated randomly, similar to the attack from the first test.
Тестирование способа на разных атаках производилось отдельно, но согласно одинаковому порядку действий. При этом в начале тестирования на противодействие каждому из трех типов атак, на вход вычислительной системы подавался только легитимный трафик, после чего с задержкой примерно в 90 минут в нормальный трафик подмешивался трафик атаки. Длительность атаки каждого из типов не превышала 25 минут.При этом по завершении атаки, еще некоторое время подавался на вход легитимный трафик.The testing of the method on different attacks was carried out separately, but according to the same order of actions. At the beginning of the testing to counter each of the three types of attacks, only legitimate traffic was fed to the input of the computing system, after which, with a delay of approximately 90 minutes, the attack traffic was mixed into the normal traffic. The duration of each type of attack did not exceed 25 minutes. At the end of the attack, legitimate traffic was fed to the input for some time.
Общая длительность каждого из тестов с учетом легимной активности до и после сетевой атаки, не превышала 200 минут.The total duration of each test, taking into account legitimate activity before and after the network attack, did not exceed 200 minutes.
На протяжении всего промежутка времени Т7 с периодом Т1 накапливаются параметры сетевых потоков. Как только проходит период Т1, из накопленных параметров потоков формируется таблица параметров потоков со столбцами:During the entire time interval T7 with the period T1, the parameters of network flows are accumulated. As soon as the period T1 passes, a table of flow parameters with columns is formed from the accumulated flow parameters:
• IP-адрес источника,• Source IP address,
• IP-адрес назначения,• Destination IP address,
• номер серверного порта,• server port number,
• протокол,• protocol,
• количество TCP флагов каждого из типов,• the number of TCP flags of each type,
• количество пакетов в потоке,• number of packets in the stream,
• количество байтов в потоке,• number of bytes in the stream,
• время появления потока.• time of flow appearance.
После формирования таблицы параметров потоков создается таблица характеристик потоков с количеством строк равным количеству строк в таблице параметров потоков и со столбцами параметров потоков, характеристик сети и характеристик взаимодействий:After the flow parameter table is formed, a flow characteristics table is created with the number of rows equal to the number of rows in the flow parameter table and with columns of flow parameters, network characteristics, and interaction characteristics:
• IP-адрес источника (параметр потока);• Source IP address (flow parameter);
• IP-адрес назначения (параметр потока);• Destination IP address (flow parameter);
• номер серверного порта (параметр потока);• server port number (stream parameter);
• протокол (параметр потока);• protocol (stream parameter);
• количество TCP флагов каждого из типов (параметры потока);• the number of TCP flags of each type (flow parameters);
• количество потоков в секунду по сети (характеристика сети);• number of flows per second over the network (network characteristic);
• количество пакетов в секунду по сети (характеристика сети);• number of packets per second over the network (network characteristic);
• количество байтов в секунду по сети (характеристика сети);• number of bytes per second over the network (network characteristic);
• количество потоков взаимодействия в секунду (характеристика взаимодействия);• number of interaction flows per second (interaction characteristic);
• количество пакетов взаимодействия в секунду (характеристика взаимодействия);• number of interaction packets per second (interaction characteristic);
• количество байтов взаимодействия в секунду (характеристика взаимодействия);• number of interaction bytes per second (interaction characteristic);
• количество пакетов потока (характеристика взаимодействия);• number of packets in the flow (interaction characteristic);
• количество байт потока (характеристика взаимодействия).• number of bytes of the stream (interaction characteristic).
В таблице характеристик потоков столбцы параметров потоков заполняются значениями из столбцов таблицы параметров потоков.In the flow characteristics table, the flow parameter columns are filled with values from the flow parameter table columns.
Вычисляются характеристики сети для таблицы параметров потоков по формулам (5)-(7). Вычисленные значения характеристик сети, FPS, PPS, BPS, сглаживаются по формуле (8).The network characteristics for the flow parameter table are calculated using formulas (5)-(7). The calculated values of the network characteristics, FPS, PPS, BPS, are smoothed using formula (8).
Сглаженные характеристики сети записываются в таблицу характеристик сети. В таблицу характеристик потоков в столбцы характеристик сети записываются значения из таблицы характеристик сети. Таким образом, в каждой строке таблицы характеристик потоков в трех столбцах характеристик сети в каждой строке будет записан одинаковый набор из трех значений характеристик сети. Вычисляются статистические характеристики сети согласно формулам (9)-(10).Smoothed network characteristics are written to the network characteristics table. The values from the network characteristics table are written to the flow characteristics table in the network characteristics columns. Thus, in each row of the flow characteristics table, the same set of three network characteristics values will be written in the three columns of the network characteristics in each row. The statistical network characteristics are calculated according to formulas (9)-(10).
Характеристики сети и статистические характеристики сети вычисляются для всей таблицы характеристик потоков в каждом периоде Т1.Network characteristics and statistical network characteristics are calculated for the entire flow characteristics table in each period T1.
После чего, для каждой строки из таблицы характеристик потоков вычисляют характеристики взаимодействий. Для этого сначала определяется взаимодействие потока в строке. Взаимодействие определяется с помощью набора из двух IP-адресов, серверного порта и протокола. Если взаимодействие отсутствует в таблице характеристик взаимодействий, тогда:After that, for each row from the flow characteristics table, the interaction characteristics are calculated. To do this, the flow interaction in the row is first determined. The interaction is determined using a set of two IP addresses, a server port, and a protocol. If the interaction is not in the interaction characteristics table, then:
• создается новое взаимодействие в таблице характеристик взаимодействий;• a new interaction is created in the interaction characteristics table;
• значения количества потоков, пакетов и байтов в секунду задаются равным нулю;• the values of the number of streams, packets and bytes per second are set to zero;
• значения количества пакетов и байтов взаимодействия задаются равными значениям количества пакетов и байтов в рассматриваемом потоке.• the values of the number of packets and bytes of interaction are set equal to the values of the number of packets and bytes in the flow under consideration.
Иначе, если взаимодействие есть в таблице характеристик взаимодействий, тогда:Otherwise, if the interaction is in the interaction characteristics table, then:
• значения количества пакетов и байт задаются равными значениям количества пакетов и байтов в рассматриваемом потоке;• the values of the number of packets and bytes are set equal to the values of the number of packets and bytes in the flow under consideration;
• другие характеристики взаимодействия для рассматриваемого потока вычисляются по формулам (11)-(13).• other interaction characteristics for the flow under consideration are calculated using formulas (11)–(13).
После чего сглаживают характеристики взаимодействия рассматриваемого потока по формуле (14).After which the interaction characteristics of the flow under consideration are smoothed using formula (14).
Момент времени последней активности потока задают равным моменту времени появления рассматриваемого потока. После чего значения в таблице характеристик взаимодействий обновляют на вычисленные и сглаженные значения. Также сглаженными значениями характеристик взаимодействий заполняются столбцы характеристик взаимодействий в таблице характеристик потоков в рассматриваемой строке.The moment of time of the last activity of the flow is set equal to the moment of time of the appearance of the flow in question. After that, the values in the table of interaction characteristics are updated with the calculated and smoothed values. The columns of interaction characteristics in the table of flow characteristics in the row in question are also filled with the smoothed values of the interaction characteristics.
Вычисляются статистические характеристики взаимодействия согласно формулам (15)-(16). Вычисленные статистические характеристики взаимодействия записываются в таблицу статистических характеристик взаимодействий в строку рассматриваемого взаимодействия. Если такого взаимодействия нет в таблице статистических характеристик, тогда оно создается в новой строке таблицы и заполняется вычисленными значениями.Statistical characteristics of interaction are calculated according to formulas (15)-(16). The calculated statistical characteristics of interaction are recorded in the table of statistical characteristics of interactions in the row of the interaction under consideration. If such interaction is not in the table of statistical characteristics, then it is created in a new row of the table and filled with the calculated values.
Характеристики взаимодействий и статистические характеристики взаимодействий последовательно вычисляются для каждой строки в таблице характеристик потоков на каждом периоде Т1.The interaction characteristics and statistical interaction characteristics are sequentially calculated for each row in the flow characteristics table at each period T1.
После того, как таблица характеристик потоков была заполнена значениями, в каждом периоде Т1, в течении промежутка времени Т7, такую таблицу оцифровывают. Столбцы протокола и серверного порта оцифровываются методом One-Hot-Encoding. При этом уникальные значения для протокола и серверного порта используются точно такие же, что и при оцифровке таблицы для обучения. Столбцы IP-адресов оцифровываем путем разбиения IP-адреса на 4 байта.After the flow characteristics table has been filled with values, in each T1 period, during the T7 time interval, such a table is digitized. The protocol and server port columns are digitized using the One-Hot-Encoding method. In this case, the unique values for the protocol and server port are exactly the same as when digitizing the table for training. The IP address columns are digitized by splitting the IP address into 4 bytes.
В оцифрованной таблице характеристик потоков нормализуем столбцы количества байт и пакетов, оцифрованные столбцы IP-адресов, характеристик сети, характеристик взаимодействий, а также столбцы с количеством различных TCP флагов с помощью преобразования Йео-Джонсона. Таким образом, на каждом периоде Т1 получаем тестовую таблицу.In the digitized flow characteristics table, we normalize the columns of bytes and packets, digitized columns of IP addresses, network characteristics, interaction characteristics, and columns with the number of different TCP flags using the Yeo-Johnson transform. Thus, at each T1 period, we obtain a test table.
Вычисляем среднюю ошибку реконструкции TRE по формулеWe calculate the average reconstruction error TRE using the formula
где n - количество столбцов в тестовой таблице;where n is the number of columns in the test table;
m - количество потоков в тестовой таблице;m - the number of threads in the test table;
Yi,j - значение i-ого параметра j-ого потока в тестовой таблице;Y i,j is the value of the i-th parameter of the j-th stream in the test table;
- реконструированное на выходе нейронной сети значение i-ого параметра j-ого потока в тестовой таблице. - the value of the i-th parameter of the j-th stream in the test table reconstructed at the output of the neural network.
После вычисления средней ошибки реконструкции для тестовой таблицы в каждом периоде T1, TRE сравнивается с пороговым значением NT. Также каждая из характеристик сети сравнивается с актуальным пороговым значением из таблицы пороговых значений характеристик сети.After calculating the average reconstruction error for the test table in each period T1, TRE is compared with the threshold value NT. Also, each of the network characteristics is compared with the current threshold value from the network characteristic threshold value table.
Если TRE больше порогового значения или одна из характеристик сети больше порогового значения, тогда:If TRE is greater than the threshold or one of the network characteristics is greater than the threshold, then:
• отмечают как аномальные все взаимодействия в таблице характеристик взаимодействий, характеристики которых превышают пороговые значения из таблицы пороговых значений характеристик взаимодействий;• mark as abnormal all interactions in the interaction characteristics table whose characteristics exceed the threshold values from the interaction characteristics threshold values table;
• отправляют из вычислительной системы команду на сетевое устройство для создания правил блокирования сетевых пакетов, относящихся к аномальным взаимодействиям с таймаутом равным Т6; таким образом, если в течении промежутка времени Т6 взаимодействие больше не отмечалось как аномальное, тогда правило для блокирования пакетов будет удалено.• send a command from the computing system to the network device to create rules for blocking network packets related to anomalous interactions with a timeout equal to T6; thus, if during the T6 time interval the interaction is no longer marked as anomalous, then the rule for blocking packets will be deleted.
Также в каждом периоде Т1 проверяется время неактивности каждого из взаимодействий. Если взаимодействие было неактивно на протяжении промежутка времени Т5, тогда такое взаимодействие удаляется из таблиц характеристик взаимодействий, статистических характеристик взаимодействий и пороговых значений взаимодействий.Also, in each period T1, the inactivity time of each interaction is checked. If the interaction was inactive during the time interval T5, then such interaction is removed from the tables of interaction characteristics, statistical characteristics of interactions, and threshold values of interactions.
Проверяется время с последнего обновления пороговых значений, если пороговые значения не обновлялись более промежутка времени Т4 (сутки), при этом за последние сутки не было обнаружено аномальных взаимодействий, тогда пороговые значения характеристик сети обновляются согласно формуле (18), а пороговые значения характеристик взаимодействий обновляются согласно формуле (19).The time since the last update of the threshold values is checked; if the threshold values have not been updated for more than the time interval T4 (day), and no abnormal interactions have been detected over the last day, then the threshold values of the network characteristics are updated according to formula (18), and the threshold values of the interaction characteristics are updated according to formula (19).
После чего, при необходимости, либо если время Т7 не истекло, происходит переход на новый период.After which, if necessary, or if time T7 has not expired, a transition to a new period occurs.
После тестирования способа на трех различных атаках типа отказ в обслуживании были получены следующие результаты (табл. 13)After testing the method on three different denial of service attacks, the following results were obtained (Table 13)
При тестировании способа на трафике без сетевых атак, не было заблокировано ни одного легитимного потока из 2527575 легитимных потоков, которые были обработаны за время тестирования.When testing the method on traffic without network attacks, not a single legitimate flow was blocked out of 2,527,575 legitimate flows that were processed during testing.
При тестировании способа на трафике с атакой типа отказ в обслуживании с использованием множества IP-адресов источника, из 4147391 легитимных потоков (всего 4139226 незаблокированных + 8165 заблокированных) было неверно заблокировано 8165 потоков. При этом из 13957904 потоков атаки было заблокировано 13949172 потока атаки. Таким образом, при использовании атаки типа отказ в обслуживании с использованием множества IP-адресов источника атаки было неверно заблокировано всего 0.19% легитимных потоков и верно заблокировано 99.94% потоков атаки.When testing the method on traffic with a denial of service attack using multiple source IP addresses, 8165 flows were incorrectly blocked out of 4147391 legitimate flows (4139226 unblocked + 8165 blocked in total). At the same time, 13949172 attack flows were blocked out of 13957904 attack flows. Thus, when using a denial of service attack using multiple source IP addresses, only 0.19% of legitimate flows were incorrectly blocked and 99.94% of attack flows were correctly blocked.
Долю в 99.94% вполне можно интерпретировать как вероятность обнаружения атаки и, с учетом блокировки потоков, защиты от атаки.The 99.94% rate can be interpreted as the probability of detecting an attack and, taking into account the blocking of flows, protecting against the attack.
При тестировании способа на трафике с атакой типа отказ в обслуживании с использованием техники отражения от легитимного DNS сервера, из 4161614 легитимных потоков было неверно заблокировано 9042 потока. При этом одновременно из 12758004 потоков атаки, было заблокировано 12749374 потока. Таким образом при использовании атаки типа отказ в обслуживании с использованием техники отражения от легитимного DNS сервера было неверно заблокировано всего 0.22% легитимных потоков и верно заблокировано 99.93% потоков атаки.When testing the method on traffic with a denial of service attack using the reflection technique from a legitimate DNS server, 9042 flows out of 4161614 legitimate flows were incorrectly blocked. At the same time, 12749374 flows out of 12758004 attack flows were blocked at the same time. Thus, when using a denial of service attack using the reflection technique from a legitimate DNS server, only 0.22% of legitimate flows were incorrectly blocked and 99.93% of attack flows were correctly blocked.
При тестировании способа на трафике с атакой типа отказ в обслуживании с нарастающей активностью, из 4142914 легитимных потоков было неверно заблокировано 4477. При этом одновременно из 697459 потоков атаки, было заблокировано 684918 потоков. Таким образом при использовании техники атаки типа отказ в обслуживании с нарастающей активностью было неверно заблокировано всего 0.11% легитимных потоков и верно заблокировано 98.20% потоков атаки.When testing the method on traffic with an attack type of denial of service with increasing activity, 4477 out of 4142914 legitimate flows were incorrectly blocked. At the same time, 684918 flows out of 697459 attack flows were blocked at the same time. Thus, when using the technique of attack type of denial of service with increasing activity, only 0.11% of legitimate flows were incorrectly blocked and 98.20% of attack flows were correctly blocked.
По результатам тестирования, вероятность обнаружения и защиты для трех разновидностей атак типа отказ в обслуживании выше, чем достигаемая в прототипе (85-96%, в зависимости от количества, подготовленных примеров). При этом для реализации предложенного способа специальной подготовки примеров не требуется.According to the testing results, the probability of detection and protection for three types of denial of service attacks is higher than that achieved in the prototype (85-96%, depending on the number of prepared examples). At the same time, special preparation of examples is not required to implement the proposed method.
Claims (146)
Publications (1)
| Publication Number | Publication Date |
|---|---|
| RU2841028C1 true RU2841028C1 (en) | 2025-06-02 |
Family
ID=
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8423645B2 (en) * | 2004-09-14 | 2013-04-16 | International Business Machines Corporation | Detection of grid participation in a DDoS attack |
| RU2538292C1 (en) * | 2013-07-24 | 2015-01-10 | Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" | Method of detecting computer attacks to networked computer system |
| CN107864155A (en) * | 2017-12-12 | 2018-03-30 | 蔡昌菊 | A kind of DDOS attack detection method of high-accuracy |
| RU2683631C1 (en) * | 2017-12-08 | 2019-03-29 | федеральное государственное казенное военное образовательное учреждение высшего образования "Военная академия связи имени Маршала Советского Союза С.М. Буденного" Министерства обороны Российской Федерации | Computer attacks detection method |
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8423645B2 (en) * | 2004-09-14 | 2013-04-16 | International Business Machines Corporation | Detection of grid participation in a DDoS attack |
| RU2538292C1 (en) * | 2013-07-24 | 2015-01-10 | Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" | Method of detecting computer attacks to networked computer system |
| RU2683631C1 (en) * | 2017-12-08 | 2019-03-29 | федеральное государственное казенное военное образовательное учреждение высшего образования "Военная академия связи имени Маршала Советского Союза С.М. Буденного" Министерства обороны Российской Федерации | Computer attacks detection method |
| CN107864155A (en) * | 2017-12-12 | 2018-03-30 | 蔡昌菊 | A kind of DDOS attack detection method of high-accuracy |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN108494746B (en) | Method and system for detecting abnormal flow of network port | |
| US11122063B2 (en) | Malicious domain scoping recommendation system | |
| Bouzida et al. | Neural networks vs. decision trees for intrusion detection | |
| Bai et al. | A machine learning approach for RDP-based lateral movement detection | |
| US8402543B1 (en) | Machine learning based botnet detection with dynamic adaptation | |
| CN111277570A (en) | Data security monitoring method and device, electronic equipment and readable medium | |
| CN110149343A (en) | A kind of abnormal communications and liaison behavioral value method and system based on stream | |
| CN111818103B (en) | Traffic-based tracing attack path method in network target range | |
| US20030097439A1 (en) | Systems and methods for identifying anomalies in network data streams | |
| Chen et al. | An efficient network intrusion detection | |
| US10440035B2 (en) | Identifying malicious communication channels in network traffic by generating data based on adaptive sampling | |
| Ahmad et al. | Application of artificial neural network in detection of probing attacks | |
| CN111901286B (en) | APT attack detection method based on flow log | |
| WO2023024506A1 (en) | Traffic detection method and apparatus, and electronic device and storage medium | |
| CN100379201C (en) | Method for Distributed Hacker Tracking in Controllable Computer Networks | |
| CN117354024A (en) | DNS malicious domain name detection system and method based on big data | |
| Wang et al. | Profiling program and user behaviors for anomaly intrusion detection based on non-negative matrix factorization | |
| US20200186550A1 (en) | Method and a system for detecting an intrusion on a network | |
| CN119696906A (en) | Intelligent management method and system for network attack blacklist | |
| RU2841028C1 (en) | Method of detecting and counteracting denial of service attacks | |
| Klots et al. | Research of the Neural Network Module for Detecting Anomalies in Network Traffic. | |
| CN118972156A (en) | Unknown threat detection method and system | |
| Alghamdi et al. | Pattern extraction for behaviours of multi-stage threats via unsupervised learning | |
| Rastogi et al. | Network anomalies detection using statistical technique: a chi-square approach | |
| RU2683631C1 (en) | Computer attacks detection method |