Область техники, к которой относиться изобретение
Предполагаемое изобретение относится к области информационной безопасности цифровых сетей передачи данных и может быть использовано для защиты отдельных компьютеров в сети и корпоративных сетей от компьютерных атак типа отказ в обслуживании.
Уровень техники
Целью атак типа «отказ в обслуживании» (DoS/DDoS атак) является перегрузка сервера, сети или приложений для того, чтобы замедлить или полностью прекратить обслуживание легитимных пользователей. Такие атаки обычно направлены на исчерпание ресурсов сети или сервера. Для реализации такой атаки, злоумышленник может использовать широкий спектр приемов. Отказ в обслуживании может быть вызван как большим потоком трафика, так и с помощью эксплуатации уязвимостей некоторых сетевых протоколов. Для усиления и усложнения противодействия такому типу атак, злоумышленник может использовать различные методы.
Одним из способов усиления атаки является использование распределенной бот-сети. В случае такой распределенной атаки, количество источников атаки достаточно большое, что затрудняет блокировку такого вида атак и увеличивает общую интенсивность трафика атаки.
Для генерации большого потока трафика не всегда требуется наличие большой распределенной бот-сети. Усиление атаки может производиться за счет техники отражения атаки. Например, злоумышленник может отправить определенный запрос небольшого размера на DNS сервер, при этом ответ сервера будет значительно больше. Если злоумышленник подменит IP-адрес источника в своем запросе на адрес целевого сервера, тогда и ответ с DNS сервера будет отправлен на этот целевой сервер.
Подмена адреса источника может использоваться и в других техниках для реализации подобных атак. Например, злоумышленник может изменять адреса источника атаки на адреса из внутренней сети или другие адреса легитимных пользователей.
Также интенсивность атаки типа отказ в обслуживании не всегда является стационарной. Могут использовать атаки с нарастающей активностью. Таким образом, если способ противодействия основан на вычислении пороговых значений, тогда атака будет заблокирована не сразу, а только в момент, когда интенсивность атаки возрастет настолько, что будет превышать заданные пороговые значения.
Известен способ обнаружения DDoS атак (международная заявка на изобретение CN 107864155, приоритет от 12.12.2017). Способ предполагает сбор сетевого трафика и агрегирование параметров трафика с учетом IP-адресов, пакетов и портов. Таким образом вычисляется ряд статистических характеристик в единичном интервале. Если происходит превышение установленного порогового значения, тогда формируется отчет об атаке. Определение цели атаки и атакующих IP-адресов производится с помощью ранжирования активности. Адреса, на которые приходило наибольшее количество трафика, считаются целью атаки. Адреса, с которых поступало больше всего активности, считаются источником атаки.
Известный способ имеет следующие недостатки:
• уязвимость к распределенным атакам и техникам подмены IP-адресов, так-как источник атаки в таких случаях может определяться некорректно;
• уязвимость к атакам с нарастающей активностью, так-как отчеты об атаке формируются при превышении установленного порога активности;
• уязвимость к отраженным атакам, так как сервер, используемый для отражения атаки, может активно использоваться защищаемым сервером, тогда блокировка трафика с такого сервера может повлечь некорректную работу или отказ в обслуживании целевого сервера.
Известен также способ обнаружения компьютерных атак (патент РФ №2683631, приоритет от 08.12.2017 г.). Способ заключается в том, что
• устанавливают и запоминают пороговые значения параметров, рассчитываемых в единицу времени,
• принимают из сети последовательность пакетов сообщений,
• запоминают принятые пакеты сообщений,
• выделяют из пакетов сообщений характеризующие их данные,
• рассчитывают значения параметров, зависящих от полученных пакетов сообщений,
• сравнивают рассчитанные значения параметров с пороговыми значениями,
• принимают решение о факте наличия или отсутствия компьютерной атаки при сравнении рассчитанных значений параметров с пороговыми значениями,
при этом
• предварительно задают необходимое число определяемых типов атак Z≥1, количество обучающих L и контрольных С примеров для каждого типа атак,
• определяют виды протоколов и необходимые параметры Fij, где i≤Z, требуемые для распознавания атак заданных типов и используют эти параметры в качестве характеризующих пакеты данных,
• задают структуру нейронной сети:
тип нейронной сети R,
количество скрытых слоев U,
количество нейронов во входном слое, скрытых слоях и выходном слое
таким образом, что число нейронов во входном слое N определяется количеством полей протоколов, необходимых для распознавания атак заданных типов, а число нейронов в выходном слое равно K,
• формируют необходимое количество обучающих примеров, представляющих собой векторы размерности N+K, где первые N элементов равны значениям определенных полей протоколов, а последние К равны нулю за исключением значения, соответствующего типу атаки, к которой относится данный элемент выборки, которое равно единице,
• задают требуемую достоверность распознавания D для нейронной сети,
• обучают нейронную сеть с использованием подготовленных примеров,
• завершают обучение нейронной сети после выполнения всех итераций генерации выборок или по достижении требуемой достоверности распознавания,
• при наличии компьютерной атаки определяют тип одиночной компьютерной атаки по сочетанию рассчитанных значений параметров Oj на основе следующих условий:
если значение, полученное только на одном из выходных нейронов, превысило пороговое значение, то определяют тип атаки Aj,
если значение, полученное на нескольких выходных нейронах, превысило пороговое значение, то тип атаки считают комбинированным и добавляют к типу атаки тип Aj.
В качестве нейронной сети для реализации способа была сформирована и обучена нейронная сеть типа многослойный персептрон и произведено ее обучение методом обратного распространения ошибки.
Необходимо отметить, что приводимая таблица результатов работы способа содержит значения точности обнаружения компьютерных атак, при этом термин "точность обнаружения", наиболее вероятно, употреблен не вполне корректно, соответственно, более понятным было бы, видимо, использование термина "доля обнаруженных атак" или, с учетом этого, вероятность обнаружения атак.
В способе используется ряд характеристик сети, рассчитываемых в единицу времени. Таким образом, в способе определяется наличие или отсутствие атаки одного из видов, используемых при обучении.
Однако, известный способ имеет ряд недостатков:
• относительно невысокая вероятность обнаружения распределенных атак, атак с техникой подмены IP-адреса источника атаки, отраженных атак и атак с нарастающей активностью,
• необходимость предварительного формирования значительного количество обучающих примеров для каждого вида атак,
• отсутствие возможности идентифицировать поток, относящийся к атаке.
Раскрытие изобретения
Техническим результатом является:
1) повышение вероятности обнаружения и защиты от разновидностей атак типа отказ в обслуживании с использованием подмены IP-адреса источника атаки, распределенных атак, отраженных атак и атак типа отказ в обслуживании с нарастающей активностью,
2) обеспечение возможности обнаружение конкретных пакетов и потоков, принадлежащих к атаке;
3) обеспечение возможности обучения нейронной сети только на легитимном трафике без необходимости подготовки размеченные данные для каждого вида атак.
Для этого предлагается способ обнаружения и противодействия атакам типа отказ в обслуживании с использованием вычислительной системы, подключенный к внешней цифровой сети передачи данных и локальной цифровой сети передачи данных и включающей, по крайней мере, один компьютер, который имеет установленную операционную систему и прикладные программы, позволяющие
• получать, обрабатывать и хранить многомерные данные сетевого трафика;
• обеспечивать формирование, функционирование и обучение нейронной сети типа автокодировщик;
• блокировать сетевые пакеты, проходящие из внешней цифровой сети передачи данных в локальную цифровую сеть передачи данных;
способ заключающийся в том, что:
• запускают компьютер в режиме контролируемой нормальной работы;
• создают таблицу характеристик сети, изначально заполненную нулевыми значениями;
• создают таблицу статистических характеристик сети, изначально заполненную нулевыми значениями;
• создают таблицу характеристик взаимодействий, изначальной пустую;
• создают таблицу статистических характеристик взаимодействий, изначально пустую;
• создают таблицу для обучения, изначально пустую;
• задают период Т1 для формирования таблиц параметров потоков;
• задают промежуток времени Т2>Т1 для формирования обучающей таблицы;
• принимают и обрабатывают данные из сетевых потоков;
• дополняют таблицу для обучения на протяжении всего промежутка времени Т2, для этого, с периодом Т1 выполняют следующие действия:
получают таблицу параметров потоков;
создают таблицу характеристик потоков, изначально пустую, с количеством строк, равным количеству строк в таблице параметров потоков и со столбцами для значений параметров потоков, характеристик сети и характеристик взаимодействий;
заполняют в таблице характеристик потоков столбцы параметров потоков значениями из столбцов таблицы параметров потоков;
вычисляют характеристики сети для таблицы параметров потоков;
сглаживают значения характеристик сети;
записывают сглаженные характеристики сети в таблицу характеристик сети;
записывают в таблице характеристик потоков значения характеристик сети из таблицы характеристик сети в столбцы для каждой из характеристик сети в виде набора одинаковых значений в каждой строке;
вычисляют значения статистических характеристик сети;
записывают значения статистических характеристик сети в таблицу статистических характеристик сети;
заполняют в таблице характеристик потоков значения в столбцах характеристик взаимодействий, выполняя следующие действия для каждой строки таблицы характеристик потоков:
определяют взаимодействие потока с помощью двух его IP-адресов, протокола и серверного порта;
если в таблице характеристик взаимодействий отсутствует взаимодействие, к которому относиться поток, тогда:
создают новое взаимодействие в таблице характеристик взаимодействий;
задают значения количества потоков, пакетов и байтов в секунду равными нулю в таблице характеристик взаимодействий;
задают значения количества пакетов и байтов равными количеству пакетов и байтов в рассматриваемом потоке;
иначе, если взаимодействие имеется в таблице характеристик взаимодействий, тогда:
вычисляют характеристики взаимодействия для рассматриваемого потока;
сглаживают значения характеристик взаимодействия;
задают момент времени последней активности взаимодействия равным времени появления потока;
записывают сглаженные значения характеристик взаимодействия в таблицу характеристик взаимодействий;
вычисляют статистические характеристики взаимодействия;
записывают значения статистических характеристик взаимодействия в таблицу статистических характеристик взаимодействий;
записывают в столбцы характеристик взаимодействий таблицы характеристик потоков значения из таблицы характеристик взаимодействий для рассматриваемого потока;
дополняют таблицу для обучения строками таблицы характеристик потоков;
• по завершению промежутка времени Т2 осуществляют оцифровку символьных значений в столбцах протокола и серверного порта в таблице для обучения;
• осуществляют оцифровку IP-адресов, путем разделения адреса на 4 значения по байтам в таблице для обучения;
• нормализуют в оцифрованной таблице для обучения значения в столбцах количества байт и пакетов, в восьми столбцах оцифрованных столбцов IP-адресов, характеристик сети, характеристик взаимодействий, а также в столбцах с количеством различных TCP флагов, получая нормализованную таблицу для обучения;
• формируют нейронную сеть типа автокодировщик, имеющую
размерность входного слоя и слоя на выходе равную количеству столбцов в нормализованной таблице для обучения,
один скрытый слой с размерностью меньшей, чем количество столбцов в нормализованной таблице для обучения;
• обучают нейронную сеть с использованием нормализованной таблицы для обучения, причем при обучении минимизируют ошибку реконструкции параметров потока R, которая вычисляется по формуле:
где n - количество столбцов в нормализованной таблице для обучения;
Yi,j - значение i-ого столбца j-го потока в нормализованной таблице для обучения;
- реконструированное на выходе нейронной сети значение i-го столбца j-го потока в нормализованной таблице для обучения;
• формируют таблицу пороговых значений характеристик сети, изначально пустую;
• вычисляют пороговые значения для каждой характеристики сети TNi по формуле:
где - оценка математического ожидания i-й характеристики сети из таблицы статистических характеристик сети;
- оценка среднеквадратического отклонения i-й характеристики сети из таблицы статистических характеристик сети;
• записывают пороговые значения характеристик сети в таблицу пороговых значений характеристик сети;
• вычисляют пороговые значения для каждой характеристики взаимодействия TCi,j по формуле:
где - оценка математического ожидания i-й характеристики j-го взаимодействия из таблицы статистических характеристик взаимодействий;
- оценка среднеквадратического отклонения i-й характеристики j-го взаимодействия из таблицы статистических характеристик взаимодействий;
• записывают пороговые значения характеристик взаимодействий в таблицу пороговых значений характеристик взаимодействий;
• задают длительность промежутка времени для валидации Т3>Т1;
• создают одномерный массив значений средней ошибки реконструкции VR, изначально пустой;
• на протяжении всего промежутка времени Т3 с периодом Т1 выполняют следующие действия:
получают таблицу параметров потоков;
создают таблицу характеристик потоков, изначально пустую, с количеством строк, равным количеству строк в таблице параметров потоков и со столбцами для значений параметров потоков, характеристик сети и характеристик взаимодействий;
в таблице характеристик потоков, заполняют столбцы параметров потоков значениями из столбцов таблицы параметров потоков;
вычисляют характеристики сети для таблицы параметров потоков;
сглаживают значения характеристик сети;
записывают сглаженные характеристики сети в таблицу характеристик сети;
записывают в таблице характеристик потоков значения характеристик сети из таблицы характеристик сети в столбцы для каждой из характеристик сети в виде набора одинаковых значений в каждой строке;
вычисляют значения статистических характеристик сети;
записывают значения статистических характеристик сети в таблицу статистических характеристик сети;
заполняют значения в столбцах характеристик взаимодействий в таблице характеристик потоков, выполняя следующие действия для каждой строки таблицы характеристик потоков:
определяют взаимодействие потока с помощью двух его IP-адресов, протокола и серверного порта;
если в таблице характеристик взаимодействий отсутствует взаимодействие, к которому относиться поток, тогда:
создают новое взаимодействие в таблице характеристик взаимодействий;
задают значения количества потоков, пакетов и байтов в секунду равными нулю в таблице характеристик взаимодействий;
задают значения количества пакетов и байтов равными количеству пакетов и байтов в рассматриваемом потоке;
иначе, если взаимодействие имеется в таблице характеристик взаимодействий, тогда:
вычисляют характеристики взаимодействия для рассматриваемого потока;
сглаживают значения характеристик взаимодействия;
задают момент времени последней активности взаимодействия равным времени появления потока;
записывают сглаженные значения характеристик взаимодействия в таблицу характеристик взаимодействий;
вычисляют статистические характеристики взаимодействия; записывают значения статистических характеристик взаимодействия в таблицу статистических характеристик взаимодействий;
записывают в столбцы характеристик взаимодействий таблицы характеристик потоков значения из таблицы характеристик взаимодействий для рассматриваемого потока;
осуществляют оцифровку символьных значений в столбцах протокола и серверного порта в таблице характеристик потоков;
осуществляют оцифровку IP-адресов, путем разделения адреса на 4 значения по байтам в таблице характеристик потоков;
нормализуют в оцифрованной таблице характеристик потоков значения в столбцах количества байт и пакетов, в восьми столбцах оцифрованных столбцов IP-адресов, характеристик сети, характеристик взаимодействий, а также в столбцах с количеством различных TCP флагов;
получают валидационную таблицу после нормализации оцифрованной таблицы характеристик потоков;
подают на вход автокодировщика валидационную таблицу;
вычисляют среднюю ошибку реконструкции MR по формуле
где n - количество столбцов в валидационной таблице;
m - количество потоков в валидационной таблице;
Yi,j - значение i-ого параметра j-го потока в валидационной таблице;
- реконструированное на выходе нейронной сети значение i-ого параметра j-ого потока в валидационной таблице;
дополняют массив VR значением MR;
• вычисляют пороговое значение NT для массива VR;
• задают промежуток времени актуальности пороговых значений Т4>Т1;
• задают промежуток времени неактивности взаимодействия Т5>Т1;
• задают промежуток времени блокировки взаимодействия Т6>Т1;
• задают промежуток времени для обнаружения и противодействия атакам Т7>Т1;
• на протяжении всего промежутка времени для обнаружения и противодействия атакам Т7 с периодом Т1 выполняют следующие действия:
этап А: получают таблицу параметров потоков;
создают таблицу характеристик потоков, изначально пустую, с количеством строк, равным количеству строк в таблице параметров потоков и со столбцами для значений параметров потоков, характеристик сети и характеристик взаимодействий;
заполняют в таблице характеристик потоков столбцы параметров потоков значениями из столбцов таблицы параметров потоков;
вычисляют характеристики сети для таблицы параметров потоков;
сглаживают значения характеристик сети;
записывают сглаженные характеристики сети в таблицу характеристик сети;
записывают в таблице характеристик потоков значения характеристик сети из таблицы характеристик сети в столбцы для каждой из характеристик сети в виде набора одинаковых значений в каждой строке;
вычисляют значения статистических характеристик сети;
записывают значения статистических характеристик сети в таблицу статистических характеристик сети;
заполняют значения в столбцах характеристик взаимодействий в таблице характеристик потоков, выполняя следующие действия для каждой строки таблицы характеристик потоков:
определяют взаимодействие потока с помощью двух его IP-адресов, протокола и серверного порта;
если в таблице характеристик взаимодействий отсутствует взаимодействие, к которому относиться поток, тогда:
создают новое взаимодействие в таблице характеристик взаимодействий;
задают значения количества потоков, пакетов и байтов в секунду равными нулю в таблице характеристик взаимодействий;
задают значения количества пакетов и байтов равными количеству пакетов и байтов в рассматриваемом потоке;
иначе, если взаимодействие имеется в таблице характеристик взаимодействий, тогда:
вычисляют характеристики взаимодействия для рассматриваемого потока;
сглаживают значения характеристик взаимодействия;
задают момент времени последней активности взаимодействия равным времени появления потока;
записывают сглаженные значения характеристик взаимодействия в таблицу характеристик взаимодействий;
вычисляют статистические характеристики взаимодействия;
записывают значения статистических характеристик взаимодействия в таблицу статистических характеристик взаимодействий;
записывают в столбцы характеристик взаимодействий таблицы характеристик потоков значения из таблицы характеристик взаимодействий для рассматриваемого потока;
осуществляют оцифровку символьных значений в столбцах протокола и серверного порта в таблице характеристик потоков;
осуществляют оцифровку IP-адресов, путем разделения адреса на 4 значения по байтам в таблице характеристик потоков;
нормализуют в оцифрованной таблице характеристик потоков значения в столбцах количества байт и пакетов, в восьми столбцах оцифрованных столбцов IP-адресов, характеристик сети, характеристик взаимодействий и столбцы с количеством различных TCP флагов;
получают тестовую таблицу после нормализации таблицы характеристик потоков;
подают на вход автокодировщика тестовую таблицу;
вычисляют среднюю ошибку реконструкции TRE для тестовой таблицы
где n - количество столбцов в тестовой таблице;
m - количество потоков в тестовой таблице;
Yi,j - значение i-го параметра j-го потока в тестовой таблице;
- реконструированное на выходе нейронной сети значение i-го параметра j-го потока в тестовой таблице параметров потоков;
отмечают аномальные взаимодействия как нормальные, если они не отмечались как аномальные за промежуток времени Т6;
если значение TRE больше, чем NT, или, по крайней мере, одна из характеристик сети превышает пороговое значение из таблицы пороговых значений характеристик сети, тогда:
отмечают как аномальные все взаимодействия в таблице характеристик взаимодействий, характеристики которых превышают пороговые значения из таблицы пороговых значений характеристик взаимодействий;
блокируют все пакеты из внешней цифровой сети передачи данных от прохождения в локальную цифровую сеть передачи данных, у которых набор из двух IP-адресов, протокола и серверного порта совпадает с одним из аномальных взаимодействий;
удаляют взаимодействия, время неактивности которых превысило промежуток времени Т5, из таблиц характеристик взаимодействий, статистических характеристик взаимодействий и пороговых значений взаимодействий;
вычисляют и обновляют пороговые значения для характеристик сети и характеристик каждого взаимодействия, если за промежуток времени Т4 пороговые значения не обновлялись и при этом за промежуток времени Т4 не было отмечено аномальных взаимодействий;
при необходимости, переходят к этапу А. В предложенном способе используется система обнаружения атак типа отказ в обслуживании (DoS/DDoS атак), основанная на анализе активности сетевых взаимодействий и общей активности сети в реальном времени.
К одному взаимодействию будем относить обмен данными, происходящий при использовании определенного набора из двух IP-адресов, протокола и серверного порта.
Для анализа трафика в способе используются сетевые потоки. В предложенном варианте реализации используется формат формирования потоков NetFlow, однако, допускаются и другие способы формирования потоков. Множество различных потоков могут относиться к одному взаимодействию при условии совпадения двух IP-адресов, протокола взаимодействия и номера серверного порта. При этом для каждого потока рассматриваются, по крайней мере, следующие параметры:
• IP-адрес источника,
• IP-адрес назначения,
• номер серверного порта,
• протокол,
• количество TCP флагов каждого из типов,
• количество пакетов в потоке,
• количество байтов в потоке,
• время появления потока.
Таблица параметров потоков имеет следующий вид (табл. 1)
Предполагается, что во время работы способа с заданным периодом Т1 будут формироваться таблицы параметров потоков. В такую таблицу будут записываться параметры всех потоков, которые были активны в заданный период времени. При этом таблица параметров потоков используется только до момента обновления периода, таблица за предыдущий период удаляется.
Способ может быть выполнен с использованием вычислительной системы, пропускающей сетевой трафик между внешней сетью (Интернет) и защищаемой локальной сетью (например, корпоративная сеть), и включающей, по крайней мере, один компьютер имеющий установленную операционную систему и прикладные программы. Таким образом, в способе будет анализироваться весь входящий трафик из внешней сети и блокироваться отдельные пакеты на основе ряда параметров.
Также способ может быть выполнен с использованием вычислительной системы, подключенной к цифровой сети передачи данных, и включающей, по крайней мере, один компьютер, имеющий установленную операционную систему и прикладные программы. В этом случае компьютер будет получать сетевой трафик с сетевого устройства установленного между внешней сетью и защищаемой локальной сетью. При этом компьютер будет иметь возможность давать команды сетевому устройству для блокировки отдельных пакетов на основе ряда параметров.
Блокировка пакета подразумевает, что заблокированный пакет не пройдет в защищаемую локальную сеть, однако, такой пакет будет использоваться в способе для анализа.
Способ основан на вычислении ряда характеристик сети и характеристик взаимодействий. Характеристика - это наблюдаемое значение, характеризующее текущее состояние активности сети или взаимодействия.
Характеристики сети используются для отслеживания активности во всей сети. Такие характеристики хранятся в таблице характеристик сети в которой столбцами являются - характеристики сети и при этом в такой таблице только одна строка.
К характеристикам сети относятся:
• количество потоков в секунду;
• количество пакетов в секунду;
• количество байтов в секунду.
Таблица характеристик сети имеет следующий вид (табл.2)
Характеристики взаимодействия используются для отслеживания активности сетевых взаимодействий. Таким образом, у каждого взаимодействия будет собственный набор характеристик. Такие характеристики хранятся в таблице характеристик взаимодействий. Строками в такой таблице являются взаимодействия (уникальный идентификатор взаимодействия формируется из протокола, серверного порта и двух IP-адресов, вне зависимости от порядка адресов), а столбцами -характеристики взаимодействий. При этом для каждого потока или пакета сетевого трафика можно определить взаимодействие, к которому он относиться, так как предполагается, что у любого потока или пакета будет определен набор из двух IP-адресов, протокола и серверного порта. На основе такого набора значений происходит определение взаимодействия для потока или пакета. К характеристикам взаимодействия относятся:
• количество потоков взаимодействия в секунду,
• количество пакетов взаимодействия в секунду,
• количество байтов взаимодействия в секунду,
• количество пакетов в потоке,
• количество байтов в потоке,
• время последней активности взаимодействия.
Таблица характеристик взаимодействия имеет следующий вид (табл.3)
Характеристики сети и характеристики взаимодействий используются для обнаружения и предотвращения атак типа отказ в обслуживании. Таким образом, превышение пороговых значений характеристик сети подтверждает наличие атаки. Тогда как превышение пороговых значений характеристик определенных взаимодействий позволяет блокировать только аномальные взаимодействия, при подтверждении наличия атаки.
Для вычисления пороговых значений могут требоваться некоторые статистические характеристики, которые можно обновлять на каждом периоде при появлении информации о новых потоках. Для хранения статистических характеристик сети и взаимодействий используются таблица статистических характеристик сети и таблица статистических характеристик взаимодействий.
Для характеристик каждого взаимодействия и характеристики сети может храниться несколько статистических характеристик. В предложенном способе предполагается использовать оценки математического ожидания и среднеквадратичного отклонения. Таким образом, при обновлении определенной характеристики, соответственные оценки математического ожидания и среднеквадратичного отклонения также пересчитываются и обновляются.
Помимо таблиц, в способе также используется нейронная сеть типа автокодировщик с одним скрытым слоем.
Автокодировщик - это архитектура нейронной сети, которая обучается восстанавливать входные данные из сжатого представления с минимальной ошибкой реконструкции.
Такая архитектура нейронной сети предполагает, что размер входного слоя совпадает с размером слоя на выходе, а размерность скрытых слоев меньше чем размерность входного слоя. В предложенном способе принимается, что скрытый слой автокодировщика, по крайней мере, в два раза меньше чем слой на входе.
Для обучения нейронной сети создают таблицу для обучения. Для этого задают промежуток времени Т2 для формирования таблицы для обучения. Предполагается, что промежуток времени Т2 больше, чем период Т1. На протяжении всего промежутка времени Т2 с периодом Т1 выполняют следующие действия:
• получают таблицу параметров потоков;
• создают таблицу характеристик потоков со столбцами для параметров потоков, характеристик сети и характеристик взаимодействий:
IP-адрес источника (параметр потока);
IP-адрес назначения (параметр потока);
номер серверного порта (параметр потока);
протокол (параметр потока);
количество TCP флагов каждого из типов (параметры потока);
количество потоков в секунду по сети (характеристика сети);
количество пакетов в секунду по сети (характеристика сети);
количество байтов в секунду по сети (характеристика сети);
количество потоков взаимодействия в секунду (характеристика взаимодействия);
количество пакетов взаимодействия в секунду (характеристика взаимодействия);
количество байтов взаимодействия в секунду (характеристика
взаимодействия);
количество пакетов потока (характеристика взаимодействия);
количество байт потока (характеристика взаимодействия);
• заполняют столбцы параметров потоков в таблице характеристик потоков значениями из столбцов таблицы параметров потоков;
• вычисляют характеристики сети и статистические характеристики сети для всей таблицы параметров потоков;
• вычисляют характеристики взаимодействия и статистические характеристики взаимодействия для каждого потока из таблицы характеристик потоков;
• заполняют столбцы характеристик сети и характеристик взаимодействий в таблице характеристик потоков;
• дополняют таблицу для обучения строками из таблицы характеристик потоков.
При этом актуальные значения в таблицах характеристик сети и характеристик взаимодействий обновляются при формировании таблицы характеристик потоков в каждом периоде. Таким образом, после формирования таблицы параметров потоков, вычисляются характеристики сети. Причем для всей таблицы параметров потоков будет вычислено по одному значению каждой из характеристик сети.
Значения характеристик сети сглаживают с учетом характеристик сети за предыдущий период. В предложенном варианте реализации используется экспоненциальное сглаживание, так как такой подход не требует сохранять большое количество предшествующих значений.
где st - сглаженное значение в момент времени t,
α - коэффициент сглаживания (0<α<1),
xt - наблюдаемое значение в момент времени t.
Характеристики сети нужны для отслеживания общей активности во всей сети. Для того, чтобы их можно было удобно передавать в нейронную сеть в совокупности с параметрами отдельных потоков и характеристиками взаимодействий, характеристики сети, вычисленные для целой таблицы параметров потоков, записываются в столбцы характеристик сети в таблице характеристик потоков. При этом значения в таких столбцах для каждого потока в одной таблице характеристик потоков будут одинаковыми для каждой строки. Однако, при формировании таблицы характеристик потоков в последующем периоде, характеристики сети будут обновлены и значения в новой таблице характеристик потоков будут отличаться. Предполагается, что период Т1 формирования таблиц параметров потоков будет достаточно коротким, таким образом характеристики сети можно считать актуальными для каждого потока в одном периоде.
Помимо характеристик сети, при формировании таблицы характеристик потоков будут вычисляться и характеристики взаимодействий для каждого из потоков. Характеристики взаимодействия можно вычислить для каждого потока в таблице параметров потоков следующим образом:
• определяют взаимодействие потока с помощью двух его IP-адресов протокола и серверного порта;
• если в таблице характеристик взаимодействий отсутствует взаимодействие, к которому относиться поток, тогда:
создают новое взаимодействие в таблице характеристик взаимодействий;
задают значения количества потоков, пакетов и байтов в секунду равными нулю в таблице характеристик взаимодействий;
задают значения количества пакетов и байтов равными количеству пакетов и байтов в рассматриваемом потоке;
иначе, если взаимодействие имеется в таблице характеристик взаимодействий, тогда:
вычисляют характеристики взаимодействия для рассматриваемого потока;
сглаживают значения характеристик взаимодействия;
• задают момент времени последней активности взаимодействия равным моменту времени появления потока;
• вычисляют статистические характеристики взаимодействия;
• записывают значения статистических характеристик взаимодействия в таблицу статистических характеристик взаимодействий;
• записывают в столбцы характеристик взаимодействий таблицы характеристик потоков значения из таблицы характеристик взаимодействий для рассматриваемого потока.
По окончанию промежутка времени для обучения некоторые столбцы в таблице для обучения необходимо оцифровать или нормализовать. Оцифровка символьных параметров может производится с помощью различных методов, однако, предложенная реализация предполагает следующий способ оцифровки таких параметров.
Протокол и серверный порт оцифровываются методом One-Hot-Encoding [https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html].
При оцифровке символьных параметров с использованием метода One-Hot-Encoding сначала выявляются набор уникальных значений, которые может принимать данный символьный параметр. Данный набор уникальных значений используется как для оцифровки таблицы для обучения, так и для оцифровки таблиц валидации и тестовых таблиц. Для каждого уникального значения создается отдельный столбец. Также выделяют отдельных столбец для значений, которых нет в наборе уникальных значений. Такие неизвестные значения могут появиться при оцифровке таблиц валидации и тестовых таблиц, так как набор уникальных значений для оцифровки остается неизменным. При этом в каждой строке полученной таблицы все значения инициализируются нулями, кроме значения в столбце символьного значения этой строки.
После того, как столбцы с оцифровкой были сформированы, исходный столбец символьных значений удаляется. Такой подход часто применяют для оцифровки символьных значений при использовании нейронных сетей, так как символьные значения преобразуются в численные значения равные 0 или 1.
Например, при кодировании параметра протокола набор уникальных символьных значений может быть, следующим: UDP, TCP, ICMP. Тогда таблица исходных значений (табл. 4)
оцифровывается и преобразуется в таблицу оцифрованных значений (табл. 5).
Для оцифровки IP-адресов используем разбиение на 4 значения по байтам (например, IP-адрес 10.0.0.1 будет оцифрован с помощью четырех значений: 10, 0, 0, 1). Получаем оцифрованную таблицу для обучения, путем замены столбцов символьных параметров в таблице для обучения на столбцы этих параметров после оцифровки.
Значения количества байт и пакетов, 8 столбцов, оцифрованных IP-адресов и характеристики сети, характеристики взаимодействий и столбцы с количеством различных флагов в потоке в оцифрованной таблице для обучения нормализуются. Таким образом, получаем нормализованную таблицу для обучения. В предложенном варианте реализации используется метод Йео-Джонсона, который использует логарифмические и показательные функции, для того, чтобы приблизить исходное распределение параметра к нормальному.
[https://www.researchgate.net/publication/31373954_A_new_family_of_power_transformations_to_improve_normality_or_symmetry].
Обучение нейронной сети производится с помощью нормализованной таблицы для обучения, при этом, оптимизируется ошибка реконструкции (reconstruction error, RE) с использованием методом градиентного спуска. В качестве ошибки реконструкции используется среднеквадратичная ошибка, которая вычисляется по формуле:
где n - количество параметров потока;
Yi - значение i-ого параметра j-ого потока в таблице для обучения;
- реконструированное на выходе нейронной сети значение i-ого параметра j-ого потока.
При обучении нейронной сети на потоках легитимного трафика, предполагается, что, если ошибка реконструкции определенного потока будет аномальной, то данный поток также является аномальным.
Однако, при атаке типа отказ в обслуживании характеристики сети могут быть аномальными даже для нормальных потоков, тогда такие потоки также могут быть отмечены нейронной сетью как аномальные. Поэтому нейронная сеть используется только как дополнительный способ вычисления еще одной характеристики сети для подтверждения наличия атаки типа отказ в обслуживании.
Также после обучения нейронной сети вычисляются пороговые значения для всех характеристик сети и характеристик взаимодействия для каждого из взаимодействий.
Характеристики сети используются для того, чтобы определить наличие атаки типа отказ в обслуживании. Если одна из характеристик сети превышает заданное пороговое значение, тогда считаем, что происходит атака типа отказ в обслуживании. Либо если средняя ошибка реконструкции, полученная с помощью нейронной сети, превышает заданное пороговое значение, тогда считаем, что происходит атака типа отказ в обслуживании.
Характеристики взаимодействия используются для блокировки конкретный взаимодействий. В случае если с помощью средней ошибки реконструкции или характеристик сети было обнаружено наличие атаки, все взаимодействия у которых хотя бы одна из характеристик взаимодействий превышает заданный порог, блокируются.
Также любые новые взаимодействия (взаимодействия, информации о которых нет в таблицах), также блокируются.
Пороговые значения характеристик взаимодействий вычисляются для всех характеристик взаимодействий, кроме момента времени последней активности взаимодействий. Пороговые значения характеристик сети и характеристик взаимодействий хранятся, соответственно, в таблицах пороговых значений характеристик сети и характеристик взаимодействий.
Столбцами в таблица пороговых значений характеристик взаимодействий являются пороговые значения для каждой характеристики взаимодействия, за исключением момента времени последней активности взаимодействия. Строками в такой таблице являются взаимодействия.
Столбцами в таблице пороговых значений характеристик сети являются пороговые значения для каждой характеристики сети. При этом такая таблица содержит только одну строку.
Таблица пороговых значений характеристик взаимодействий имеет следующий вид (табл. 6)
Таблица пороговых значений характеристик сети имеет следующий вид (табл. 7)
Вычисление пороговых значений для каждой характеристики каждого из взаимодействий может быть достаточно ресурсоемкой задачей в различных реализациях. Поэтому вычисление пороговых значений производится единожды при обучении и периодически после обучения, если в течении заданного периода обновления пороговых значения не было отмечено никаких аномальных взаимодействий.
При длительном обучении и последующем длительном использовании способа для обнаружения и противодействия атакам, таблица характеристик взаимодействий может стать достаточно большой, так как в ней будут создаваться строки для каждого нового взаимодействия. Поэтому, чтобы избежать переполнения таблицы характеристик взаимодействий, задают максимальный промежуток времени неактивности взаимодействия. Если длительность неактивности взаимодействия превысило максимальный промежуток времени неактивности, тогда такое взаимодействие удаляется из таблицы характеристик взаимодействий. При удалении неактивного взаимодействия из таблицы характеристик взаимодействий такое взаимодействие также удаляется из таблицы статистических характеристик взаимодействий и таблицы пороговых значений характеристик взаимодействий.
В реальной сети при нормальной работе достаточно часто могут происходить внезапные пики активности между определенными IP-адресами по различным взаимодействиям, связанные с некоторыми поведенческими особенностями конкретной сети. Такие взаимодействия могут не относиться к сетевой атаке. Также в сети могут постоянно появляться новые взаимодействия и прекращаться существующие. Подобная активность также часто не является признаком сетевой атаки. Таким образом, при случайных всплесках активности или появлении новых взаимодействий без достаточного влияния на сеть в целом, не будут блокироваться легитимные взаимодействия, так как пороговые значения характеристик сети не будут превышаться.
Таким образом, при распределенных атаках типа отказ в обслуживании, а также при использовании атак с подменой IP-адреса источника атаки, уменьшается вероятность блокировки легитимных взаимодействий, и увеличивается вероятность блокировки взаимодействий, относящихся к атаке, поскольку будут блокироваться любые взаимодействия с аномальной активностью, а также новые взаимодействия, в том числе, взаимодействия, порожденные потоками с использованием подмены IP-адреса.
Также увеличивается вероятность обнаружения и блокировки отраженных атак, при этом снижается вероятность блокировки легитимных взаимодействий. В этом случае будут блокироваться только те потоки, взаимодействия, которых будут превышать заданные пороги. При этом взаимодействия легитимных пользователей с таким легитимным сервером не будет блокироваться, так как характеристики взаимодействий таких потоков не будут превышать заданные пороговые значения.
После обучения нейронной сети требуется некоторый промежуток времени валидации Т3 для вычисления порогового значения средней ошибки реконструкции. Предполагается, что Т3 больше чем Т1. Создается пустой массив средний ошибок реконструкций VR. Такой массив нужен для последующего вычисления порогового значения средней ошибки реконструкции для таблицы характеристик потоков. На протяжении всего промежутка времени валидации Т3 с периодом Т1 выполняют следующие действия:
• получают таблицу параметров потоков;
• создают таблицу характеристик потоков со столбцами для параметров потоков, характеристик сети и характеристик взаимодействий:
IP-адрес источника (параметр потока);
IP-адрес назначения (параметр потока);
номер серверного порта (параметр потока);
протокол (параметр потока);
количество TCP флагов каждого из типов (параметры потока);
количество потоков в секунду по сети (характеристика сети);
количество пакетов в секунду по сети (характеристика сети);
количество байтов в секунду по сети (характеристика сети);
количество потоков взаимодействия в секунду (характеристика взаимодействия);
количество пакетов взаимодействия в секунду (характеристика взаимодействия);
количество байтов взаимодействия в секунду (характеристика взаимодействия);
количество пакетов потока (характеристика взаимодействия);
количество байт потока (характеристика взаимодействия);
• заполняют столбцы параметров потоков в таблице характеристик потоков значениями из столбцов таблицы параметров потоков;
• вычисляют характеристики сети для всей таблицы параметров потоков;
• вычисляют характеристики взаимодействия для каждого потока из таблицы характеристик потоков;
• заполняют столбцы характеристик сети и характеристик взаимодействий в таблице характеристик потоков;
• оцифровывают в таблице характеристик потоков параметры протокола и серверного порта с таким же набором уникальных значений, что и при обучении;
• оцифровывают два столбца IP-адресов путем разбиения на 4 байта;
• получают оцифрованную таблицу характеристик потоков путем замены столбцов символьных параметров из таблицы характеристик потоков на оцифрованные столбцы символьных параметров;
• нормализуют в оцифрованной таблице характеристик потоков значения в столбцах количества байт и пакетов, в восьми столбцах, оцифрованных IP-адресов, характеристик сети, характеристик взаимодействий, а также в столбцах с количеством различных TCP флагов, получая таблицу для валидации;
• вычисляют среднюю ошибку реконструкции MR по формуле
где n - количество столбцов в валидационной таблице;
m - количество потоков в валидационной таблице;
Yi,j - значение i-ого параметра j-ого потока в валидационной таблице;
- реконструированное на выходе нейронной сети значение i-ого параметра j-ого потока в валидационной таблице;
• дополняют массив VR значением MR;
Таблица характеристик потоков имеет следующий вид (табл. 8)
По истечении промежутка времени валидации вычисляется пороговое значение средней ошибки реконструкции на основе массива VR. Пороговое значение можно вычислять различными способами, однако, в данной реализации используется следующая последовательность действий:
• задают относительное количество допустимых превышений порогового значения α на валидации,
• выбирают порог средней ошибки реконструкции NT как квантиль массива значений VR уровня 1-α.
Такой подход позволяет вычислять пороговое значение на основе предполагаемого допустимого относительного количества ложных срабатываний при обнаружении атак в периоды нормальной работы сети. Однако, в других вариантах реализации для вычисления порогового значения могут использоваться другие подходы.
Средняя ошибка реконструкции нейронной сети для таблицы параметров потоков используется как дополнительная характеристика сети в рамках противодействия атаке. Соответственно, аномальные и новые взаимодействия будут блокироваться, только в случае, если средняя ошибка реконструкции нейронной сети для таблицы характеристик потоков превышает NT или одна из характеристик сети превышает пороговое значение.
Таким образом, при внезапном появлении повышенной активности, о наличии атаки могут сигнализировать как характеристики сети, так и средняя ошибка реконструкции нейронной сети. Однако, если злоумышленник использует технику атаки типа отказ в обслуживании с нарастающей активностью, тогда характеристики сети, могут не превышать заданных порогов. В этом случае нейронная сеть может сигнализировать об обнаружении атаки в случае появления нехарактерных для сети наборов параметров потоков, характеристик сети и взаимодействий. В результате, увеличивается вероятность обнаружения различного рода атак в том числе атак с нарастающей активностью.
После проведения валидации задают:
• промежуток времени актуальности пороговых значений Т4,
• промежуток времени максимальной неактивности взаимодействия Т5,
• промежуток времени блокировки взаимодействия Т6,
• промежуток времени для обнаружения и блокирования атак Т7. Устанавливается флаг наличия атаки AT=0.
Противодействие атакам происходит в течении всего промежутка времени Т7, при этом формирование таблиц для обучения, обнаружение наличия атаки и обнаружение аномальных взаимодействий производится с периодом Т1 на протяжении всего промежутка времени Т7. Блокировка пакетов сетевого трафика аномальных взаимодействий происходит на сетевом устройстве все время, пока флаг AT=1. Заметим, что блокировка пакетов производится таким образом, что такие пакеты не поступают в защищаемую локальную сеть, однако, используются в способе для формирования потоков и таблицы параметров потоков.
В течении всего промежутка времени Т7 для пороговых значений учитывается промежуток времени Т4. Если в течении промежутка времени Т4 не было обнаружено никаких аномальных взаимодействий, тогда производится вычисление и обновление пороговых значений. При этом, если аномалии были обнаружены, тогда отсчет промежутка времени Т4 начинается заново. Тогда, если со временем в нормальной работе сети произойдут какие-либо изменения, пороговые значения будут подстраиваться и количество ложных срабатываний при нормальной работе не будет увеличиваться. При этом такой подход обновления пороговых значений используется для того, чтобы, при наличии атаки, пороговые значения не обновлялись и не становились завышенными.
В течении всего промежутка времени Т7 для каждого взаимодействия учитывается промежуток времени максимальной неактивности взаимодействия Т5. Если длительность неактивности взаимодействия превысило промежуток времени Т5, тогда такое взаимодействие удаляется из таблиц характеристик взаимодействий, статистических характеристик взаимодействий и пороговых значений характеристик взаимодействий. Удаление неактивных взаимодействий позволяет избежать переполнения таблиц.
В течении всего промежутка времени Т7 для каждого аномального взаимодействия учитывается момент времени последней отметки его как аномалии. Таким образом, если аномальное взаимодействие не отмечалось как аномальное на протяжении промежутка времени Т6, тогда оно отмечается как нормальное. Такой подход позволяет избавляться от лишних правил блокировки сетевого трафика при завершении атаки или при использовании атаки с подменой IP-адресов источника атаки. Также, если легитимное взаимодействие было случайно заблокировано в период атаки, тогда такое взаимодействие будет разблокировано по окончании времени Т6, если аномальная активность такого взаимодействия не повториться за это время.
В течении всего промежутка времени Т7 с периодом Т1 для обнаружения и предотвращения атак типа отказ в обслуживании выполняют следующие действия:
• получают таблицу параметров потоков;
• создают таблицу характеристик потоков со столбцами для параметров потоков, характеристик сети и характеристик взаимодействий:
IP-адрес источника (параметр потока);
IP-адрес назначения (параметр потока);
номер серверного порта (параметр потока);
протокол (параметр потока);
количество TCP флагов каждого из типов (параметры потока);
количество потоков в секунду по сети (характеристика сети);
количество пакетов в секунду по сети (характеристика сети);
количество байтов в секунду по сети (характеристика сети);
количество потоков взаимодействия в секунду (характеристика взаимодействия);
количество пакетов взаимодействия в секунду (характеристика взаимодействия);
количество байтов взаимодействия в секунду (характеристика взаимодействия);
количество пакетов потока (характеристика взаимодействия);
количество байт потока (характеристика взаимодействия);
• заполняют столбцы параметров потоков в таблице характеристик потоков значениями из столбцов таблицы параметров потоков;
• вычисляют характеристики сети для всей таблицы параметров потоков;
• вычисляют характеристики взаимодействия для каждого потока из таблицы характеристик потоков;
• заполняют столбцы характеристик сети и характеристик взаимодействий в таблице характеристик потоков;
• оцифровывают в таблице характеристик потоков параметры протокола и серверного порта методом One-hot-encoding с таким же набором уникальных значений, что и при обучении;
• оцифровывают два столбца IP-адреса путем разбиения на 4 байта;
• получают оцифрованную таблицу характеристик потоков путем замены столбцов символьных параметров из таблицы характеристик потоков на оцифрованные столбцы символьных параметров;
• нормализуют в оцифрованной таблице характеристик потоков значения в столбцах количества байт и пакетов, в восьми столбцах, оцифрованных IP-адресов, характеристик сети, характеристик взаимодействий, а также в столбцах с количеством различных TCP флагов, получая тестовую таблицу;
• вычисляют среднюю ошибку реконструкции TRE по формуле:
где n - количество столбцов в тестовой таблице;
m - количество потоков в тестовой таблице;
Yi,j - значение i-ого параметра j-ого потока в тестовой таблице;
- реконструированное на выходе нейронной сети значение i-ого параметра j-ого потока в тестовой таблице параметров потоков;
• отмечают аномальные взаимодействия как нормальные, если они не отмечались как аномальные за последнее время Т6;
• если значение TRE больше, чем NT, или по крайней мере одна из характеристик сети превышает пороговое значение из таблицы пороговых значений характеристик сети, тогда:
отмечают как аномальные все взаимодействия в таблице характеристик взаимодействий, характеристики которых превышают пороговые значения из таблицы пороговых значений характеристик взаимодействий;
блокируют для прохождения внутрь защищаемой локальной сети все пакеты, приходящие из сети Интернет, у которых набор из двух IP-адресов, протокола и серверного порта совпадает с одним из аномальных взаимодействий;
• удаляют взаимодействия, время неактивности которых превысило максимальное время неактивности Т5, из таблиц характеристик взаимодействий, статистических характеристик взаимодействий и пороговых значений взаимодействий;
• вычисляют и обновляют пороговые значения для характеристик сети и характеристик каждого взаимодействия, если за последнее время Т4 пороговые значения не обновлялись и при этом за последнее время Т4 не было отмечено аномальных взаимодействий.
Процесс формирования тестовых таблиц и обнаружения аномальных взаимодействий можно производить как на протяжении установленного промежутка времени Т7, так и до тех пор, пока требуется защита от атак типа отказ в обслуживании.
Трафик относящийся к аномальным взаимодействиям, будет блокироваться на сетевом устройстве все время, пока флаг AT=1.
Заметим, что при формировании таблиц параметров потоков обновляется только таблица характеристик взаимодействий и таблица статистических характеристик взаимодействий, тогда как таблица пороговых значений характеристик взаимодействий не обновляется в каждом периоде Т1. Тогда для новых взаимодействий будут не определены пороговые значения. Таким образом, взаимодействия атаки будут корректно блокироваться даже в случае обнаружения начала атаки с задержкой.
Технический результат достигается за счет использования нейронной сети типа автокодировщик и характеристик сети для обнаружения атаки и характеристик взаимодействий для блокирования отдельных взаимодействий. Такой подход позволяет увеличить вероятность обнаружения конкретных взаимодействий, принадлежащих к атаке, при этом не требуется обучение с использованием заранее подготовленной выборки для каждого вида атаки типа отказ в обслуживании.
Вероятность обнаружения различного вида атак типа отказ в обслуживании, в том числе атак с нарастающей активностью, производится за счет использования характеристик сети и средней ошибки реконструкции нейронной сети. При обнаружении атаки типа отказ в обслуживании взаимодействия, порожденные различными техниками распределенных атак, а также техниками с использованием подмены IP-адреса источника будут блокироваться как взаимодействия с аномальной активностью, либо как новые взаимодействия. Таким образом, повышается вероятность обнаружения и блокировки атак с использованием различных техник распределенных атак, а также техник с подменой IP-адреса источника, при этом уменьшается вероятность блокировки легитимных взаимодействий.
Использование характеристик взаимодействий для блокировки отдельных взаимодействий также позволяет увеличить вероятность обнаружения атак и уменьшить вероятность блокировки легитимного взаимодействия при использовании техники отражения атаки от легитимного сервера, так-как будет заблокирован обмен данными с легитимным сервером только по аномальным взаимодействиям.
Осуществление изобретения
Предложенный способ может быть, в общем случае, реализован с использованием одного компьютера, разделяющего внешнюю цифровую сеть передачи данных (Интернет) и локальную цифровую сеть передачи данных (корпоративную сеть).
Более предпочтительной, с точки зрения скорости работы в целом, может быть реализация предложенного способа, например, в следующей программно-аппаратной среде.
В качестве вычислительной системы выбирается компьютер со следующими аппаратными характеристиками:
процессор Intel Core i7-4770 3.40 GHz;
оперативная память 16 GB;
жесткий диск SSD 240 GB,
и установленным программным обеспечением:
операционная система Microsoft Windows 10;
Python 3.10.11;
модули Python: numpy 1.26.0, pandas 2.1.1, torch 2.2.1.
Дополнительно, для реализации предложенного способа, формируется и устанавливается на компьютер вычислительной системы программным обеспечение (ПО), обеспечивающее выполнение вычислений и действий способа. Разработку и формирование такого ПО может обеспечить специалист по программированию (программист), на основе знания действий в предложенном способе.
Также для реализации способа используется сетевое устройство, установленное между корпоративной сетью и внешней сетью передачи данных. Сетевое устройство, в качестве которого используется межсетевой экран типа ViPNet xFirewall 5 (https://infotecs.ru/products/vipnet-xfirewall-5). способно пропускать и блокировать сетевой трафик. Компьютер вычислительной системы подключается к сетевому устройству с помощью локальной цифровой сети передачи данных. Сетевое устройство, имеет возможность блокировать сетевой трафик на основе таблицы правил блокировки. При этом, для обеспечения правильного обмена данными с вычислительной системой и блокировки трафика согласно инструкциям, получаемым от вычислительной системы, в ПО сетевого устройства были произведены доработка.
На вход сетевого устройства подается сетевой трафик из корпоративной сети, к которому может подмешиваться трафик сетевых атак. Для формирования трафика сетевых атак используется отдельный компьютер (тестовый стенд), подключенный по сети и снабженный специализированным ПО, которое обеспечивает формирование трафика атак с множеством IP-адресов источника, с отражением от DNS сервера и с нарастающей активностью.
Сетевые потоки в формате Netflow формируются в сетевом устройстве и отправляются по протоколу UDP в вычислительную систему. В рамках предложенного способа сетевое устройство используется исключительно для формирования потоков и блокировки пакетов. При этом вычислительная система может давать команды сетевому устройству для блокировки пакетов с определенным набором параметров. Сетевые потоки в формате Netflow отправляются в вычислительную систему на протяжении всего времени работы способа.
После подготовки программно-аппаратной части запускают компьютер вычислительной системы в режиме контролируемой нормальной работы.
В вычислительной системе создается таблица характеристик сети, изначально заполненная нулевыми значениями с одной строкой и столбцами:
• количество потоков в секунду;
• количество пакетов в секунду;
• количество байтов в секунду.
Создается таблица статистических характеристик сети, изначально заполненная нулевыми значениями. Таблица статистических характеристик сети содержит одну строку и столбцы:
• оценка математического ожидания количества потоков в секунду;
• оценка математического ожидания количества пакетов в секунду;
• оценка математического ожидания количества байтов в секунду;
• оценка среднеквадратичного отклонения количества потоков в секунду;
• оценка среднеквадратичного отклонения количества пакетов в секунду;
• оценка среднеквадратичного отклонения количества байтов в секунду.
Создается таблица характеристик взаимодействий, изначально пустая. Таблица характеристик взаимодействий содержит столбцы:
• количество потоков взаимодействия в секунду;
• количество пакетов взаимодействия в секунду;
• количество байтов взаимодействия в секунду;
• количество пакетов в потоке;
• количество байтов в потоке;
• время последней активности взаимодействия.
Создается таблица статистических характеристик взаимодействия, изначально пустая. Таблица статистических характеристик взаимодействий содержит столбцы:
• оценка математического ожидания потоков взаимодействия в секунду;
• оценка математического ожидания пакетов взаимодействия в секунду;
• оценка математического ожидания байтов взаимодействия в секунду;
• оценка математического ожидания пакетов в потоке;
• оценка математического ожидания байтов в потоке;
• оценка среднеквадратичного отклонения потоков взаимодействия в секунду;
• оценка среднеквадратичного отклонения пакетов взаимодействия в секунду;
• оценка среднеквадратичного отклонения байтов взаимодействия в секунду;
• оценка среднеквадратичного отклонения пакетов в потоке;
• оценка среднеквадратичного отклонения байтов в потоке. Создается таблица для обучения, изначально пустая.
Устанавливается период формирования таблиц параметров сетевых потоков Т1=10 с. Устанавливается время для формирования обучающей выборки Т2, равное одним суткам, или Т2=86400 с.
На тестовом стенде на протяжении времени Т2 воспроизводится нормальный трафик из корпоративной сети. При этом в вычислительной системе с периодом Т1 накапливаются параметры сетевых потоков. Таким образом, будет произведено 8640 периодов по 10 секунд. В течении каждого периода Т1 из накопленных параметров потоков формируется таблица параметров потоков со столбцами:
• IP-адрес источника,
• IP-адрес назначения,
• номер серверного порта,
• протокол,
• количество TCP флагов каждого из типов,
• количество пакетов в потоке,
• количество байтов в потоке,
• время появления потока.
В течении разных периодов Т1 количество строк в таблице параметров потоков может варьироваться, поскольку интенсивность сетевого трафика в различные периоды времени может колебаться. После формирования таблицы параметров потоков создается таблица характеристик потоков с количеством строк равным количеству строк в таблице параметров потоков и со столбцами параметров потоков, характеристик сети и характеристик взаимодействий:
• IP-адрес источника (параметр потока);
• IP-адрес назначения (параметр потока);
• номер серверного порта (параметр потока);
• протокол (параметр потока);
• количество TCP флагов каждого из типов (параметры потока);
• количество потоков в секунду по сети (характеристика сети);
• количество пакетов в секунду по сети (характеристика сети);
• количество байтов в секунду по сети (характеристика сети);
• количество потоков взаимодействия в секунду (характеристика взаимодействия);
• количество пакетов взаимодействия в секунду (характеристика взаимодействия);
• количество байтов взаимодействия в секунду (характеристика взаимодействия);
• количество пакетов потока (характеристика взаимодействия);
• количество байт потока (характеристика взаимодействия).
В таблице характеристик потоков столбцы параметров потоков заполняются значениями из столбцов таблицы параметров потоков.
Вычисляются характеристики сети для таблицы параметров потоков:
где FPS - количество потоков в секунду,
PPS - количество пакетов в секунду,
BPS - количество байтов в секунду,
N - количество потоков в таблице параметров потоков,
D - разница между наибольшим и наименьшим временем появления потока из таблицы параметров потоков в секундах,
PN - сумма количества пакетов всех потоков в таблице параметров потоков,
BN - сумма количества байтов всех потоков в таблице параметров потоков.
Вычисленные значения характеристик сети, FPS, PPS, BPS, сглаживаются по формуле экспоненциального сглаживающего среднего:
где - сглаженное значение i-той характеристики сети,
PSi - вычисленное значение i-той характеристики сети,
PTi - значение i-той характеристики сети из таблицы характеристик сети, которое было записано в предыдущем периоде.
Сглаженные характеристики сети записываются в таблицу характеристик сети. В таблицу характеристик потоков в столбцы характеристик сети записываются значения из таблицы характеристик сети. Таким образом, в каждой строке таблицы характеристик потоков в трех столбцах характеристик сети в каждой строке будет записан одинаковый набор из трех значений характеристик сети.
Вычисляются статистические характеристики сети согласно формулам:
где - оценка математического ожидания для i-той характеристики сети,
EPSi - оценка математического ожидания из таблицы статистических характеристик сети, вычисленная за предыдущий период,
- значение i-той характеристики сети из таблицы характеристик сети,
m - количество предыдущих периодов,
- оценка среднеквадратичного отклонения для i-той характеристики сети,
DPSi - оценка среднеквадратичного отклонения из таблицы статистических характеристик сети, вычисленная за предыдущий период.
Характеристики сети и статистические характеристики сети вычисляются для всей таблицы характеристик потоков в каждом периоде Т1.
После чего, для каждой строки из таблицы характеристик потоков вычисляют характеристики взаимодействий. Для этого сначала определяется взаимодействие потока в строке. Взаимодействие определяется с помощью набора из двух IP-адресов, серверного порта и протокола. Если взаимодействие отсутствует в таблице характеристик взаимодействий, тогда:
• создается новое взаимодействие в таблице характеристик взаимодействий;
• значения количества потоков, пакетов и байтов в секунду задаются равным нулю;
• значения количества пакетов и байтов взаимодействия задаются равными значениям количества пакетов и байтов в рассматриваемом потоке.
Иначе, если взаимодействие есть в таблице характеристик взаимодействий, тогда:
• значения количества пакетов и байт задаются равными значениям количества пакетов и байтов в рассматриваемом потоке;
• другие характеристики взаимодействия для рассматриваемого потока вычисляются по формулам:
где IFPS - количество потоков взаимодействия в секунду;
IPPS - количество пакетов взаимодействия в секунду;
IBPS - количество байтов взаимодействия в секунду;
IPN - количество пакетов взаимодействия;
IBN - количество байтов взаимодействия;
t - время последней активности взаимодействия из таблицы характеристик взаимодействий за предыдущий период;
- время появления рассматриваемого потока.
После этого сглаживают характеристики взаимодействия рассматриваемого потока по формуле:
где - сглаженное значение i-той характеристики взаимодействия потока,
IPSi - вычисленное значение i-той характеристики взаимодействия потока,
IPTi - значение i-той характеристики взаимодействия потока из таблицы характеристик взаимодействия, которое было записано при предыдущем появлении потока.
Момент времени последней активности потока задают равным моменту времени появления рассматриваемого потока. После чего значения в таблице характеристик взаимодействий обновляют на вычисленные и сглаженные значения. Также сглаженными значениями характеристик взаимодействий заполняются столбцы характеристик взаимодействий в таблице характеристик потоков в рассматриваемой строке.
Вычисляются статистические характеристики взаимодействия согласно формулам:
где - оценка математического ожидания для i-той характеристики взаимодействия,
IEPSi - оценка математического ожидания из таблицы статистических характеристик взаимодействия, вычисленная для предшествующего потока взаимодействия,
- значение i-той характеристики взаимодействия из таблицы характеристик взаимодействий,
n - общее количество всех предшествующих потоков взаимодействия,
- оценка среднеквадратичного отклонения для i-той характеристики взаимодействия,
IDPSi - оценка среднеквадратичного отклонения из таблицы статистических характеристик взаимодействия, вычисленная для предшествующего потока.
Вычисленные статистические характеристики взаимодействия записываются в таблицу статистических характеристик взаимодействий в строку рассматриваемого взаимодействия. Если такого взаимодействия нет в таблице статистических характеристик, тогда оно создается в новой строке таблицы и заполняется вычисленными значениями.
Характеристики взаимодействий и статистические характеристики взаимодействий последовательно вычисляются для каждой строки в таблице характеристик потоков в каждом периоде Т1.
Таким образом, вычисляются характеристики взаимодействия для каждой строки в таблице характеристик сети. После заполнения таблицы характеристик потоков, таблица для обучения дополняется строками таблицы характеристик потоков. Соответственно, в каждый период Т1 таблица для обучения дополняется с помощью таблицы характеристик потоков. При этом в каждом новом периоде таблица характеристик потоков создается и заполняется значениями заново.
По завершении времени для обучения таблица для обучения содержит 30236224 строк с параметрами потоков. При этом таблица характеристик взаимодействий содержит 1451 взаимодействие (табл. 9).
Пример нескольких строк таблицы характеристик взаимодействий после завершения обучения с анонимизированными IP-адресами имеет следующий вид (табл. 10).
По завершении времени для обучения Т2, в таблице для обучения оцифровываются столбцы протокола и серверного порта методом One-Hot-Encoding. При этом наборы уникальных значений для протокола и серверного порта, которые использовались при оцифровке, необходимо сохранить, для дальнейшего использования таких наборов при оцифровке валидационной и тестовой таблиц. Столбцы IP-адресов оцифровываем путем разбиения IP-адреса на 4 байта.
В оцифрованной таблице для обучения нормализуют столбцы количества байт и пакетов, оцифрованные столбцы IP-адресов, характеристик сети, характеристик взаимодействий, а также столбцы с количеством различных TCP флагов с помощью преобразования Йео-Джонсона.
С помощью модуля pytorch создают нейронную сеть типа автокодировщик, имеющую
• размерность входного слоя и слоя на выходе, равную количеству столбцов в нормализованной таблице для обучения 1728,
• один скрытый слой с размерностью 48.
Обучают нейронную сеть с использованием нормализованной таблицы для обучения, причем при обучении минимизируют ошибку реконструкции параметров потока R, которая вычисляется по формуле:
где n количество столбцов в нормализованной таблице для обучения;
Yi,j - значение i-ого столбца j-ого потока в нормализованной таблице для обучения;
- реконструированное на выходе нейронной сети значение i-ого столбца j-ого потока в нормализованной таблице для обучения.
После обучения нейронной сети вычисляют пороговые значения для каждой характеристики сети по формуле:
где - оценка математического ожидания i-ой характеристики сети из таблицы статистических характеристик сети;
- оценка среднеквадратического отклонения i-ой характеристики сети из таблицы статистических характеристик сети.
Полученные пороговые значения характеристик сети записывают в таблицу пороговых значений характеристик сети.
Также вычисляются пороговые значения для каждой характеристики каждого из взаимодействий по формуле
где - оценка математического ожидания i-ой характерисшки j-ого взаимодействия из таблицы статистических характеристик взаимодействий;
- оценка среднеквадратического отклонения i-ой характеристики j-ого взаимодействия из таблицы статистических характеристик взаимодействий.
Полученные пороговые значения характеристик взаимодействий записывают в таблицу пороговых значений характеристик взаимодействий.
Таблица пороговых значений характеристик сети после завершения обучения имеет следующий вид (табл. 11)
Несколько строк таблицы пороговых значений характеристик взаимодействий после завершения обучения имеют следующий вид (табл. 12, с анонимизированными IP-адресами).
Задают длительность промежутка времени для валидации Т3, равное одним суткам, или Т3=86400 с. На протяжении времени Т3 на тестовом стенде воспроизводится сетевой трафик из корпоративной сети. Создают массив значений VR, изначально пустой. На протяжении всего промежутка времени Т3 с периодом Т1 накапливаются параметры сетевых потоков. Как только проходит период Т1 из накопленных параметров потоков формируется таблица параметров потоков со столбцами:
• IP-адрес источника,
• IP-адрес назначения,
• номер серверного порта,
• протокол,
• количество TCP флагов каждого из типов,
• количество пакетов в потоке,
• количество байтов в потоке,
• время появления потока.
В течении разных периодов количество строк в таблице параметров потоков может варьироваться, так как интенсивность сетевого трафика в различные периоды времени может колебаться.
После формирования таблицы параметров потоков создается таблица характеристик потоков с количеством строк, равным количеству строк в таблице параметров потоков и со столбцами параметров потоков, характеристик сети и характеристик взаимодействий:
• IP-адрес источника (параметр потока);
• IP-адрес назначения (параметр потока);
• номер серверного порта (параметр потока);
• протокол (параметр потока);
• количество TCP флагов каждого из типов (параметры потока);
• количество потоков в секунду по сети (характеристика сети);
• количество пакетов в секунду по сети (характеристика сети);
• количество байтов в секунду по сети (характеристика сети);
• количество потоков взаимодействия в секунду (характеристика взаимодействия);
• количество пакетов взаимодействия в секунду (характеристика взаимодействия);
• количество байтов взаимодействия в секунду (характеристика взаимодействия);
• количество пакетов потока (характеристика взаимодействия);
• количество байт потока (характеристика взаимодействия).
В таблице характеристик потоков столбцы параметров потоков заполняются значениями из столбцов таблицы параметров потоков.
Вычисляются характеристики сети для таблицы параметров потоков по формулам (5)-(7). Вычисленные значения характеристик сети, FPS, PPS, BPS, сглаживаются по формуле (8). Сглаженные характеристики сети записываются в таблицу характеристик сети.
В таблицу характеристик потоков в столбцы характеристик сети записываются значения из таблицы характеристик сети. Таким образом, в каждой строке таблицы характеристик потоков в трех столбцах характеристик сети в каждой строке будет записан одинаковый набор из трех значений характеристик сети. Вычисляются статистические характеристики сети согласно формулам (9)-(10).
Характеристики сети и статистические характеристики сети вычисляются для всей таблицы характеристик потоков в каждом периоде Т1.
После этого, для каждой строки из таблицы характеристик потоков вычисляют характеристики взаимодействий. Для этого сначала определяется взаимодействие потока в строке. Взаимодействие определяется с помощью набора из двух IP-адресов, серверного порта и протокола. Если взаимодействие отсутствует в таблице характеристик взаимодействий, тогда:
• создается новое взаимодействие в таблице характеристик взаимодействий;
• значения количества потоков, пакетов и байтов в секунду задаются равным нулю;
• значения количества пакетов и байтов взаимодействия задаются равными значениям количества пакетов и байтов в рассматриваемом потоке.
Иначе, если взаимодействие имеется в таблице характеристик взаимодействий, тогда:
• значения количества пакетов и байт задаются равными значениям количества пакетов и байтов в рассматриваемом потоке;
• другие характеристики взаимодействия для рассматриваемого потока вычисляются по формулам (11)-(13).
После чего сглаживают характеристики взаимодействия рассматриваемого потока по формуле (14).
Момент времени последней активности потока задают равным моменту времени появления рассматриваемого потока. После чего значения в таблице характеристик взаимодействий обновляют на вычисленные и сглаженные значения. Также сглаженными значениями характеристик взаимодействий заполняются столбцы характеристик взаимодействий в таблице характеристик потоков в рассматриваемой строке.
Вычисляются статистические характеристики взаимодействия согласно формулам (15)-(16). Вычисленные статистические характеристики взаимодействия записываются в таблицу статистических характеристик взаимодействий в строку рассматриваемого взаимодействия. Если такого взаимодействия нет в таблице статистических характеристик, тогда оно создается в новой строке таблицы и заполняется вычисленными значениями.
Характеристики взаимодействий и статистические характеристики взаимодействий последовательно вычисляются для каждой строки в таблице характеристик потоков на каждом периоде Т1.
После того как таблица характеристик потоков была заполнена значениями, в каждом периоде Т1 в течении времени валидации, такую таблицу оцифровывают. Столбцы протокола и серверного порта оцифровываются методом One-Hot-Encoding. При этом уникальные значения для протокола и серверного порта используются точно такие же, что и при оцифровке таблицы для обучения. Столбцы IP-адресов оцифровываются путем разбиения IP-адреса на 4 байта.
В оцифрованной таблице характеристик потоков нормализуются столбцы количества байт и пакетов, оцифрованные столбцы IP-адресов, характеристик сети, характеристик взаимодействий, а также столбцы с количеством различных TCP флагов с помощью преобразования Йео-Джонсона. Таким образом, в каждом периоде Т1 получаем таблицу валидации.
Вычисляем среднюю ошибку реконструкции MR по формуле
где n - количество столбцов в таблице валидации;
m - количество потоков в таблице валидации;
Yi,j - значение i-ого параметра j-ого потока в таблице валидации;
- реконструированное на выходе нейронной сети значение i-ого параметра j-ого потока в таблице валидации.
Дополняем массив VR значением MR в каждом периоде Т1.
Как только промежуток времени для валидации завершен, выбирают в качестве порогового значения NT - квантиль уровня 0,995 значений из массива VR. Таким образом, пороговое значение NT равно 0,0022.
Далее задаются
• период обновления пороговых значений Т4, равный одним суткам, или или Т4=86400 с,
• промежуток времени неактивности взаимодействия Т5, равный одним суткам, или Т5=86400 с,
• промежуток времени блокировки взаимодействия Т6, равный пяти минутам, или Т6=300 с,
• промежуток времени обнаружения и противодействия атакам Т7, равный трем часам, или Т4=10800 с.
Тестирование способа производилось на основе легитимного сетевого трафика из корпоративной сети.
В первом тесте в качестве входных данных использовался только легитимный трафик, таким образом можно оценить количество ошибок второго рода при отсутствии атаки.
Общая длительного тестирования на легитимном трафике не превышала 120 минут,
Во втором тесте, на вход подавался сетевой трафик за один час легитимной активности сети, после чего к такому легитимного трафику подмешивалась атака типа отказ в обслуживании с использованием множества различных IP-адресов. Данный тест позволяет оценить вероятность обнаружения и блокировки атакующих потоков, а также вероятность блокировки легитимных потоков при проведении распределенных атак типа "отказ в обслуживании" и атак с подменой IP-адресов источника. Для таких атак характерно использование множества различных IP-адресов. В случае распределенных атак это связано с наличием распределенной бот-сети, а при использовании техники подмены IP-адресов источника - с генерацией случайных IP-адресов.
В третьем тесте, на вход подавался сетевой трафик за один час легитимной активности сети, после чего к такому легитимного трафику подмешивалась атака типа отказ в обслуживании отраженная от легитимного DNS сервера. Такой тест позволяет оценить количество ошибок первого и второго рода при противодействии отраженным атакам типа отказ в обслуживании при использовании техники отражения от легитимного сервера.
В четвертом тесте, на вход подавался сетевой трафик за один час с легитимной активностью сети, после чего к такому легитимному трафику подмешивалась атака типа отказ в обслуживании с нарастающей активностью. При этом активность нарастала линейно до тех пор, пока не достигла интенсивности атаки из первого теста. При этом в тесте IP-адреса источника атаки были сгенерированы случайно, аналогично атаке из первого теста.
Тестирование способа на разных атаках производилось отдельно, но согласно одинаковому порядку действий. При этом в начале тестирования на противодействие каждому из трех типов атак, на вход вычислительной системы подавался только легитимный трафик, после чего с задержкой примерно в 90 минут в нормальный трафик подмешивался трафик атаки. Длительность атаки каждого из типов не превышала 25 минут.При этом по завершении атаки, еще некоторое время подавался на вход легитимный трафик.
Общая длительность каждого из тестов с учетом легимной активности до и после сетевой атаки, не превышала 200 минут.
На протяжении всего промежутка времени Т7 с периодом Т1 накапливаются параметры сетевых потоков. Как только проходит период Т1, из накопленных параметров потоков формируется таблица параметров потоков со столбцами:
• IP-адрес источника,
• IP-адрес назначения,
• номер серверного порта,
• протокол,
• количество TCP флагов каждого из типов,
• количество пакетов в потоке,
• количество байтов в потоке,
• время появления потока.
После формирования таблицы параметров потоков создается таблица характеристик потоков с количеством строк равным количеству строк в таблице параметров потоков и со столбцами параметров потоков, характеристик сети и характеристик взаимодействий:
• IP-адрес источника (параметр потока);
• IP-адрес назначения (параметр потока);
• номер серверного порта (параметр потока);
• протокол (параметр потока);
• количество TCP флагов каждого из типов (параметры потока);
• количество потоков в секунду по сети (характеристика сети);
• количество пакетов в секунду по сети (характеристика сети);
• количество байтов в секунду по сети (характеристика сети);
• количество потоков взаимодействия в секунду (характеристика взаимодействия);
• количество пакетов взаимодействия в секунду (характеристика взаимодействия);
• количество байтов взаимодействия в секунду (характеристика взаимодействия);
• количество пакетов потока (характеристика взаимодействия);
• количество байт потока (характеристика взаимодействия).
В таблице характеристик потоков столбцы параметров потоков заполняются значениями из столбцов таблицы параметров потоков.
Вычисляются характеристики сети для таблицы параметров потоков по формулам (5)-(7). Вычисленные значения характеристик сети, FPS, PPS, BPS, сглаживаются по формуле (8).
Сглаженные характеристики сети записываются в таблицу характеристик сети. В таблицу характеристик потоков в столбцы характеристик сети записываются значения из таблицы характеристик сети. Таким образом, в каждой строке таблицы характеристик потоков в трех столбцах характеристик сети в каждой строке будет записан одинаковый набор из трех значений характеристик сети. Вычисляются статистические характеристики сети согласно формулам (9)-(10).
Характеристики сети и статистические характеристики сети вычисляются для всей таблицы характеристик потоков в каждом периоде Т1.
После чего, для каждой строки из таблицы характеристик потоков вычисляют характеристики взаимодействий. Для этого сначала определяется взаимодействие потока в строке. Взаимодействие определяется с помощью набора из двух IP-адресов, серверного порта и протокола. Если взаимодействие отсутствует в таблице характеристик взаимодействий, тогда:
• создается новое взаимодействие в таблице характеристик взаимодействий;
• значения количества потоков, пакетов и байтов в секунду задаются равным нулю;
• значения количества пакетов и байтов взаимодействия задаются равными значениям количества пакетов и байтов в рассматриваемом потоке.
Иначе, если взаимодействие есть в таблице характеристик взаимодействий, тогда:
• значения количества пакетов и байт задаются равными значениям количества пакетов и байтов в рассматриваемом потоке;
• другие характеристики взаимодействия для рассматриваемого потока вычисляются по формулам (11)-(13).
После чего сглаживают характеристики взаимодействия рассматриваемого потока по формуле (14).
Момент времени последней активности потока задают равным моменту времени появления рассматриваемого потока. После чего значения в таблице характеристик взаимодействий обновляют на вычисленные и сглаженные значения. Также сглаженными значениями характеристик взаимодействий заполняются столбцы характеристик взаимодействий в таблице характеристик потоков в рассматриваемой строке.
Вычисляются статистические характеристики взаимодействия согласно формулам (15)-(16). Вычисленные статистические характеристики взаимодействия записываются в таблицу статистических характеристик взаимодействий в строку рассматриваемого взаимодействия. Если такого взаимодействия нет в таблице статистических характеристик, тогда оно создается в новой строке таблицы и заполняется вычисленными значениями.
Характеристики взаимодействий и статистические характеристики взаимодействий последовательно вычисляются для каждой строки в таблице характеристик потоков на каждом периоде Т1.
После того, как таблица характеристик потоков была заполнена значениями, в каждом периоде Т1, в течении промежутка времени Т7, такую таблицу оцифровывают. Столбцы протокола и серверного порта оцифровываются методом One-Hot-Encoding. При этом уникальные значения для протокола и серверного порта используются точно такие же, что и при оцифровке таблицы для обучения. Столбцы IP-адресов оцифровываем путем разбиения IP-адреса на 4 байта.
В оцифрованной таблице характеристик потоков нормализуем столбцы количества байт и пакетов, оцифрованные столбцы IP-адресов, характеристик сети, характеристик взаимодействий, а также столбцы с количеством различных TCP флагов с помощью преобразования Йео-Джонсона. Таким образом, на каждом периоде Т1 получаем тестовую таблицу.
Вычисляем среднюю ошибку реконструкции TRE по формуле
где n - количество столбцов в тестовой таблице;
m - количество потоков в тестовой таблице;
Yi,j - значение i-ого параметра j-ого потока в тестовой таблице;
- реконструированное на выходе нейронной сети значение i-ого параметра j-ого потока в тестовой таблице.
После вычисления средней ошибки реконструкции для тестовой таблицы в каждом периоде T1, TRE сравнивается с пороговым значением NT. Также каждая из характеристик сети сравнивается с актуальным пороговым значением из таблицы пороговых значений характеристик сети.
Если TRE больше порогового значения или одна из характеристик сети больше порогового значения, тогда:
• отмечают как аномальные все взаимодействия в таблице характеристик взаимодействий, характеристики которых превышают пороговые значения из таблицы пороговых значений характеристик взаимодействий;
• отправляют из вычислительной системы команду на сетевое устройство для создания правил блокирования сетевых пакетов, относящихся к аномальным взаимодействиям с таймаутом равным Т6; таким образом, если в течении промежутка времени Т6 взаимодействие больше не отмечалось как аномальное, тогда правило для блокирования пакетов будет удалено.
Также в каждом периоде Т1 проверяется время неактивности каждого из взаимодействий. Если взаимодействие было неактивно на протяжении промежутка времени Т5, тогда такое взаимодействие удаляется из таблиц характеристик взаимодействий, статистических характеристик взаимодействий и пороговых значений взаимодействий.
Проверяется время с последнего обновления пороговых значений, если пороговые значения не обновлялись более промежутка времени Т4 (сутки), при этом за последние сутки не было обнаружено аномальных взаимодействий, тогда пороговые значения характеристик сети обновляются согласно формуле (18), а пороговые значения характеристик взаимодействий обновляются согласно формуле (19).
После чего, при необходимости, либо если время Т7 не истекло, происходит переход на новый период.
После тестирования способа на трех различных атаках типа отказ в обслуживании были получены следующие результаты (табл. 13)
При тестировании способа на трафике без сетевых атак, не было заблокировано ни одного легитимного потока из 2527575 легитимных потоков, которые были обработаны за время тестирования.
При тестировании способа на трафике с атакой типа отказ в обслуживании с использованием множества IP-адресов источника, из 4147391 легитимных потоков (всего 4139226 незаблокированных + 8165 заблокированных) было неверно заблокировано 8165 потоков. При этом из 13957904 потоков атаки было заблокировано 13949172 потока атаки. Таким образом, при использовании атаки типа отказ в обслуживании с использованием множества IP-адресов источника атаки было неверно заблокировано всего 0.19% легитимных потоков и верно заблокировано 99.94% потоков атаки.
Долю в 99.94% вполне можно интерпретировать как вероятность обнаружения атаки и, с учетом блокировки потоков, защиты от атаки.
При тестировании способа на трафике с атакой типа отказ в обслуживании с использованием техники отражения от легитимного DNS сервера, из 4161614 легитимных потоков было неверно заблокировано 9042 потока. При этом одновременно из 12758004 потоков атаки, было заблокировано 12749374 потока. Таким образом при использовании атаки типа отказ в обслуживании с использованием техники отражения от легитимного DNS сервера было неверно заблокировано всего 0.22% легитимных потоков и верно заблокировано 99.93% потоков атаки.
При тестировании способа на трафике с атакой типа отказ в обслуживании с нарастающей активностью, из 4142914 легитимных потоков было неверно заблокировано 4477. При этом одновременно из 697459 потоков атаки, было заблокировано 684918 потоков. Таким образом при использовании техники атаки типа отказ в обслуживании с нарастающей активностью было неверно заблокировано всего 0.11% легитимных потоков и верно заблокировано 98.20% потоков атаки.
По результатам тестирования, вероятность обнаружения и защиты для трех разновидностей атак типа отказ в обслуживании выше, чем достигаемая в прототипе (85-96%, в зависимости от количества, подготовленных примеров). При этом для реализации предложенного способа специальной подготовки примеров не требуется.
название | год | авторы | номер документа |
---|---|---|---|
Способ обнаружения аномального трафика в сети | 2023 |
|
RU2811840C1 |
Способ обнаружения аномальной работы сетевого сервера (варианты) | 2016 |
|
RU2630415C2 |
Способ выявления нормальных реакций узлов компьютерной сети на сетевые пакеты, относящиеся к неизвестному трафику | 2022 |
|
RU2802164C1 |
Способ выявления аномалий в работе сети автоматизированной системы | 2020 |
|
RU2738460C1 |
СИСТЕМА И СПОСОБ УМЕНЬШЕНИЯ ЛОЖНЫХ СРАБАТЫВАНИЙ ПРИ ОПРЕДЕЛЕНИИ СЕТЕВОЙ АТАКИ | 2011 |
|
RU2480937C2 |
Способ обнаружения сетевых атак на основе анализа фрактальных характеристик трафика в информационно-вычислительной сети | 2019 |
|
RU2713759C1 |
Способ выявления аномалий в работе высоконагруженной сети автоматизированной телекоммуникационной системы | 2021 |
|
RU2787078C1 |
СИСТЕМЫ И СПОСОБЫ СООБЩЕНИЯ ОБ ИНЦИДЕНТАХ КОМПЬЮТЕРНОЙ БЕЗОПАСНОСТИ | 2019 |
|
RU2757597C1 |
Способ автоматической классификации сетевого трафика на основе эвристического анализа | 2018 |
|
RU2690758C1 |
Система и способ определения DDoS-атак | 2017 |
|
RU2676021C1 |
Изобретение относится к способу обнаружения и противодействия атакам типа отказ в обслуживании. Техническим результатом является повышение вероятности обнаружения и защиты от разновидностей атак типа отказ в обслуживании с использованием подмены IP-адреса источника атаки, распределенных атак, отраженных атак и атак типа отказ в обслуживании с нарастающей активностью. Для достижения технического результата предлагается способ, в ходе которого, обрабатывая сетевой трафик, формируют таблицу для обучения, причем для формирования используются характеристики сети и характеристики взаимодействия, обучают нейронную сеть типа автокодировщик, формируют таблицы пороговых значений характеристик сети и взаимодействий, затем формируют тестовую таблицу, вычисляют среднюю ошибку реконструкции для тестовой таблицы, если пороговые значения превышены, то блокируют все пакеты из внешней цифровой сети передачи данных от прохождения в локальную цифровую сеть передачи данных, у которых набор из двух IP-адресов, протокола и серверного порта совпадает с одним из аномальных взаимодействий. 13 табл.
Способ обнаружения и противодействия атакам типа отказ в обслуживании с использованием вычислительной системы, подключенной к внешней цифровой сети передачи данных и локальной цифровой сети передачи данных и включающей по крайней мере один компьютер, который имеет установленную операционную систему и прикладные программы, позволяющие:
получать, обрабатывать и хранить многомерные данные сетевого трафика;
обеспечивать формирование, функционирование и обучение нейронной сети типа автокодировщик;
блокировать сетевые пакеты, проходящие из внешней цифровой сети передачи данных в локальную цифровую сеть передачи данных;
способ, заключающийся в том, что:
запускают компьютер в режиме контролируемой нормальной работы;
создают таблицу характеристик сети, изначально заполненную нулевыми значениями;
создают таблицу статистических характеристик сети, изначально заполненную нулевыми значениями;
создают таблицу характеристик взаимодействий, изначальной пустую;
создают таблицу статистических характеристик взаимодействий, изначально пустую;
создают таблицу для обучения, изначально пустую;
задают период Т1 для формирования таблиц параметров потоков;
задают промежуток времени Т2>Т1 для формирования обучающей таблицы;
принимают и обрабатывают данные из сетевых потоков;
дополняют таблицу для обучения на протяжении всего промежутка времени Т2, для этого с периодом Т1 выполняют следующие действия:
получают таблицу параметров потоков;
создают таблицу характеристик потоков, изначально пустую, с количеством строк, равным количеству строк в таблице параметров потоков, и со столбцами для значений параметров потоков, характеристик сети и характеристик взаимодействий;
заполняют в таблице характеристик потоков столбцы параметров потоков значениями из столбцов таблицы параметров потоков;
вычисляют характеристики сети для таблицы параметров потоков;
сглаживают значения характеристик сети;
записывают сглаженные характеристики сети в таблицу характеристик сети;
записывают в таблице характеристик потоков значения характеристик сети из таблицы характеристик сети в столбцы для каждой из характеристик сети в виде набора одинаковых значений в каждой строке;
вычисляют значения статистических характеристик сети;
записывают значения статистических характеристик сети в таблицу статистических характеристик сети;
заполняют в таблице характеристик потоков значения в столбцах характеристик взаимодействий, выполняя следующие действия для каждой строки таблицы характеристик потоков:
определяют взаимодействие потока с помощью двух его IP-адресов, протокола и серверного порта;
если в таблице характеристик взаимодействий отсутствует взаимодействие, к которому относится поток, тогда:
создают новое взаимодействие в таблице характеристик взаимодействий;
задают значения количества потоков, пакетов и байтов в секунду равными нулю в таблице характеристик взаимодействий;
задают значения количества пакетов и байтов равными количеству пакетов и байтов в рассматриваемом потоке;
иначе, если взаимодействие имеется в таблице характеристик взаимодействий, тогда:
вычисляют характеристики взаимодействия для рассматриваемого потока;
сглаживают значения характеристик взаимодействия;
задают момент времени последней активности взаимодействия равным времени появления потока;
записывают сглаженные значения характеристик взаимодействия в таблицу характеристик взаимодействий;
вычисляют статистические характеристики взаимодействия;
записывают значения статистических характеристик взаимодействия в таблицу статистических характеристик взаимодействий;
записывают в столбцы характеристик взаимодействий таблицы характеристик потоков значения из таблицы характеристик взаимодействий для рассматриваемого потока;
дополняют таблицу для обучения строками таблицы характеристик потоков;
по завершении промежутка времени Т2 осуществляют оцифровку символьных значений в столбцах протокола и серверного порта в таблице для обучения;
осуществляют оцифровку IP-адресов путем разделения адреса на 4 значения по байтам в таблице для обучения;
нормализуют в оцифрованной таблице для обучения значения в столбцах количества байтов и пакетов, в восьми столбцах оцифрованных столбцов IP-адресов, характеристик сети, характеристик взаимодействий, а также в столбцах с количеством различных TCP флагов, получая нормализованную таблицу для обучения;
формируют нейронную сеть типа автокодировщик, имеющую
размерность входного слоя и слоя на выходе, равную количеству столбцов в нормализованной таблице для обучения,
один скрытый слой с размерностью меньшей, чем количество столбцов в нормализованной таблице для обучения;
обучают нейронную сеть с использованием нормализованной таблицы для обучения, причем при обучении минимизируют ошибку реконструкции параметров потока R, которая вычисляется по формуле
где n - количество столбцов в нормализованной таблице для обучения;
Yi,j - значение i-го столбца j-го потока в нормализованной таблице для обучения;
- реконструированное на выходе нейронной сети значение i-го столбца j-го потока в нормализованной таблице для обучения;
формируют таблицу пороговых значений характеристик сети, изначально пустую;
вычисляют пороговые значения для каждой характеристики сети TNi по формуле
где - оценка математического ожидания i-й характеристики сети из таблицы статистических характеристик сети;
- оценка среднеквадратического отклонения i-й характеристики сети из таблицы статистических характеристик сети;
записывают пороговые значения характеристик сети в таблицу пороговых значений характеристик сети;
вычисляют пороговые значения для каждой характеристики взаимодействия TCi,j по формуле
где - оценка математического ожидания i-й характеристики j-го взаимодействия из таблицы статистических характеристик взаимодействий;
- оценка среднеквадратического отклонения i-й характеристики j-го взаимодействия из таблицы статистических характеристик взаимодействий;
записывают пороговые значения характеристик взаимодействий в таблицу пороговых значений характеристик взаимодействий;
задают длительность промежутка времени для валидации Т3>Т1;
создают одномерный массив значений средней ошибки реконструкции VR, изначально пустой;
на протяжении всего промежутка времени Т3 с периодом Т1 выполняют следующие действия:
получают таблицу параметров потоков;
создают таблицу характеристик потоков, изначально пустую, с количеством строк, равным количеству строк в таблице параметров потоков, и со столбцами для значений параметров потоков, характеристик сети и характеристик взаимодействий;
в таблице характеристик потоков заполняют столбцы параметров потоков значениями из столбцов таблицы параметров потоков;
вычисляют характеристики сети для таблицы параметров потоков;
сглаживают значения характеристик сети;
записывают сглаженные характеристики сети в таблицу характеристик сети;
записывают в таблице характеристик потоков значения характеристик сети из таблицы характеристик сети в столбцы для каждой из характеристик сети в виде набора одинаковых значений в каждой строке;
вычисляют значения статистических характеристик сети;
записывают значения статистических характеристик сети в таблицу статистических характеристик сети;
заполняют значения в столбцах характеристик взаимодействий в таблице характеристик потоков, выполняя следующие действия для каждой строки таблицы характеристик потоков:
определяют взаимодействие потока с помощью двух его IP-адресов, протокола и серверного порта;
если в таблице характеристик взаимодействий отсутствует взаимодействие, к которому относится поток, тогда:
создают новое взаимодействие в таблице характеристик взаимодействий;
задают значения количества потоков, пакетов и байтов в секунду равными нулю в таблице характеристик взаимодействий;
задают значения количества пакетов и байтов равными количеству пакетов и байтов в рассматриваемом потоке;
иначе, если взаимодействие имеется в таблице характеристик взаимодействий, тогда:
вычисляют характеристики взаимодействия для рассматриваемого потока;
сглаживают значения характеристик взаимодействия;
задают момент времени последней активности взаимодействия равным времени появления потока;
записывают сглаженные значения характеристик взаимодействия в таблицу характеристик взаимодействий;
вычисляют статистические характеристики взаимодействия;
записывают значения статистических характеристик взаимодействия в таблицу статистических характеристик взаимодействий;
записывают в столбцы характеристик взаимодействий таблицы характеристик потоков значения из таблицы характеристик взаимодействий для рассматриваемого потока;
осуществляют оцифровку символьных значений в столбцах протокола и серверного порта в таблице характеристик потоков;
осуществляют оцифровку IP-адресов путем разделения адреса на 4 значения по байтам в таблице характеристик потоков;
нормализуют в оцифрованной таблице характеристик потоков значения в столбцах количества байтов и пакетов, в восьми столбцах оцифрованных столбцов IP-адресов, характеристик сети, характеристик взаимодействий, а также в столбцах с количеством различных TCP флагов;
получают валидационную таблицу после нормализации оцифрованной таблицы характеристик потоков;
подают на вход автокодировщика валидационную таблицу;
вычисляют среднюю ошибку реконструкции MR по формуле
где n - количество столбцов в валидационной таблице;
m - количество потоков в валидационной таблице;
Yi,j - значение i-го параметра j-го потока в валидационной таблице;
- реконструированное на выходе нейронной сети значение i-го параметра j-го потока в валидационной таблице;
дополняют массив VR значением MR;
вычисляют пороговое значение NT для массива VR;
задают промежуток времени актуальности пороговых значений Т4>Т1;
задают промежуток времени неактивности взаимодействия Т5>Т1;
задают промежуток времени блокировки взаимодействия Т6>Т1;
задают промежуток времени для обнаружения и противодействия атакам Т7>Т1;
на протяжении всего промежутка времени для обнаружения и противодействия атакам Т7 с периодом Т1 выполняют следующие действия:
этап А: получают таблицу параметров потоков;
создают таблицу характеристик потоков, изначально пустую, с количеством строк, равным количеству строк в таблице параметров потоков, и со столбцами для значений параметров потоков, характеристик сети и характеристик взаимодействий;
заполняют в таблице характеристик потоков столбцы параметров потоков значениями из столбцов таблицы параметров потоков;
вычисляют характеристики сети для таблицы параметров потоков;
сглаживают значения характеристик сети;
записывают сглаженные характеристики сети в таблицу характеристик сети;
записывают в таблице характеристик потоков значения характеристик сети из таблицы характеристик сети в столбцы для каждой из характеристик сети в виде набора одинаковых значений в каждой строке;
вычисляют значения статистических характеристик сети;
записывают значения статистических характеристик сети в таблицу статистических характеристик сети;
заполняют значения в столбцах характеристик взаимодействий в таблице характеристик потоков, выполняя следующие действия для каждой строки таблицы характеристик потоков:
определяют взаимодействие потока с помощью двух его IP-адресов, протокола и серверного порта;
если в таблице характеристик взаимодействий отсутствует взаимодействие, к которому относится поток, тогда:
создают новое взаимодействие в таблице характеристик взаимодействий;
задают значения количества потоков, пакетов и байтов в секунду равными нулю в таблице характеристик взаимодействий;
задают значения количества пакетов и байтов равными количеству пакетов и байтов в рассматриваемом потоке;
иначе, если взаимодействие имеется в таблице характеристик взаимодействий, тогда:
вычисляют характеристики взаимодействия для рассматриваемого потока;
сглаживают значения характеристик взаимодействия;
задают момент времени последней активности взаимодействия равным моменту времени появления потока;
записывают сглаженные значения характеристик взаимодействия в таблицу характеристик взаимодействий;
вычисляют статистические характеристики взаимодействия;
записывают значения статистических характеристик взаимодействия в таблицу статистических характеристик взаимодействий;
записывают в столбцы характеристик взаимодействий таблицы характеристик потоков значения из таблицы характеристик взаимодействий для рассматриваемого потока;
осуществляют оцифровку символьных значений в столбцах протокола и серверного порта в таблице характеристик потоков;
осуществляют оцифровку IP-адресов путем разделения адреса на 4 значения по байтам в таблице характеристик потоков;
нормализуют в оцифрованной таблице характеристик потоков значения в столбцах количества байтов и пакетов, в восьми столбцах оцифрованных столбцов IP-адресов, характеристик сети, характеристик взаимодействий и столбцы с количеством различных TCP флагов;
получают тестовую таблицу после нормализации таблицы характеристик потоков;
подают на вход автокодировщика тестовую таблицу;
вычисляют среднюю ошибку реконструкции TRE для тестовой таблицы по формуле
где n - количество столбцов в тестовой таблице;
m - количество потоков в тестовой таблице;
Yi,j - значение i-го параметра j-го потока в тестовой таблице;
- реконструированное на выходе нейронной сети значение i-го параметра j-го потока в тестовой таблице параметров потоков;
отмечают аномальные взаимодействия как нормальные, если они не отмечались как аномальные за промежуток времени Т6;
если значение TRE больше, чем NT, или по крайней мере одна из характеристик сети превышает пороговое значение из таблицы пороговых значений характеристик сети, тогда:
отмечают как аномальные все взаимодействия в таблице характеристик взаимодействий, характеристики которых превышают пороговые значения из таблицы пороговых значений характеристик взаимодействий;
блокируют все пакеты из внешней цифровой сети передачи данных от прохождения в локальную цифровую сеть передачи данных, у которых набор из двух IP-адресов, протокола и серверного порта совпадает с одним из аномальных взаимодействий;
удаляют взаимодействия, время неактивности которых превысило промежуток времени Т5, из таблиц характеристик взаимодействий, статистических характеристик взаимодействий и пороговых значений взаимодействий;
вычисляют и обновляют пороговые значения для характеристик сети и характеристик каждого взаимодействия, если за промежуток времени Т4 пороговые значения не обновлялись и при этом за промежуток времени Т4 не было отмечено аномальных взаимодействий;
при необходимости переходят к этапу А.
СПОСОБ ОБНАРУЖЕНИЯ КОМПЬЮТЕРНЫХ АТАК | 2017 |
|
RU2683631C1 |
CN 107864155 A, 30.03.2018 | |||
СПОСОБ ОБНАРУЖЕНИЯ КОМПЬЮТЕРНЫХ АТАК НА СЕТЕВУЮ КОМПЬЮТЕРНУЮ СИСТЕМУ | 2013 |
|
RU2538292C1 |
US 8423645 B2, 16.04.2013. |
Авторы
Даты
2025-06-02—Публикация
2024-10-28—Подача