Научная статья на тему 'МЕТОДИКА ОБНАРУЖЕНИЯ КОЛЛИЗИЙ СЕТЕВОГО ТРАФИКА'

МЕТОДИКА ОБНАРУЖЕНИЯ КОЛЛИЗИЙ СЕТЕВОГО ТРАФИКА Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
187
29
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КОМПЬЮТЕРНАЯ СЕТЬ / ОБНАРУЖЕНИЕ КОЛЛИЗИЙ / КИБЕРАТАКА / МЕЖСЕТЕВОЙ ЭКРАН ВЕБ-ПРИЛОЖЕНИЙ / НЕЙРОННАЯ СЕТЬ / LSTM / АВТОЭНКОДЕР

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Крибель Александр Михайлович

Исследуются возможности использования искусственных нейронных сетей сложной архитектуры (в частности, на основе Long Short-Term Memory (LSTM)) для обнаружения коллизий сетевого трафика, вызванных кибератаками, использующих уязвимости межсетевых экранов веб-приложений (Web Application Firewall, WAF), которые выявить другими средствами весьма затруднительно. Экспериментальные результаты, основанные на сгенерированном наборе данных, подтвердили высокую эффективность разработки: методика позволяет обнаруживать кибератаки в реальном масштабе времени.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

METHODOLOGY FOR DETECTING NETWORK TRAFFIC COLLISIONS

The possibilities of using artificial neural networks of complex architecture (in particular, based on Long Short-Term Memory (LSTM)) are investigated to detect network traffic collisions caused by cyber attacks using vulnerabilities of web application firewalls (Web Application Firewall, WAF), which are very difficult to detect by other means. Experimental results based on the generated data set confirmed the high efficiency of the development: the technique allows detecting cyberattacks in real time.

Текст научной работы на тему «МЕТОДИКА ОБНАРУЖЕНИЯ КОЛЛИЗИЙ СЕТЕВОГО ТРАФИКА»

Абрамкин Роман Викторович, адъюнкт, avg62rus@„rambler. ru, Россия, Санкт-Петербург, Военная академия связи им. Маршала Советского Союза С. М. Буденного

THE MODEL OF THE FUNCTIONING OF THE COMMUNICATION NODE IN CASE OF FAILURES OF ELEMENTS OF THE POWER SUPPLY SYSTEM

R.V. Abramkin

A model is considered that allows in the first approximation to assess the reliability of the functioning of a field communication node in the conditions offailures of elements of its power supply system. The model is based on an approach that allows to decompose the reliability of the functioning of the node into structural and functional components, as well as probabilistic and temporal characteristics of the process of restoring the connectivity of the node structure.

Key words: field communication node, reliability of functioning, structural reliability, functional reliability, probability of connectivity, nodal ways of passing messages.

Abramkin Roman Victorovich, postgraduate, avg62rus@,rambler.ru, Russia, St. Petersburg, Military Academy of Communications named after Marshal Soviet Union S.M. Budyonny

УДК 004.056.57

DOI: 10.24412/2071-6168-2021-12-182-191

МЕТОДИКА ОБНАРУЖЕНИЯ КОЛЛИЗИЙ СЕТЕВОГО ТРАФИКА

А.М. Крибель

Исследуются возможности использования искусственных нейронных сетей сложной архитектуры (в частности, на основе Long Short-Term Memory (LSTM)) для обнаружения коллизий сетевого трафика, вызванных кибератаками, использующих уязвимости межсетевых экранов веб-приложений (Web Application Firewall, WAF), которые выявить другими средствами весьма затруднительно. Экспериментальные результаты, основанные на сгенерированном наборе данных, подтвердили высокую эффективность разработки: методика позволяет обнаруживать кибератаки в реальном масштабе времени.

Ключевые слова: компьютерная сеть, обнаружение коллизий, кибератака, межсетевой экран веб-приложений, нейронная сеть, LSTM, автоэнкодер.

Современный этап развития общества характеризуется повышением роли информационной сферы, представляющей собой совокупность информации, информационной инфраструктуры и субъектов, осуществляющих сбор, формирование, распространение и использование информации.

К числу наиболее заметно нарастающих угроз информационной сферы относятся ки-бератаки. Статистика показывает, что большинство кибератак направлены на компьютерные сети. По сравнению с 2012 г. в 2020 г. количество кибератак на элементы компьютерных сетей увеличилось более чем в два раза [1].

Современные кибератаки представляют собой сложное комплексное воздействие на сеть, в результате которого осуществляется компрометация киберресурсов и нарушается управление процессами в киберпространстве. Зачастую этому предшествует долгая и кропотливая работа: разведка, поиск характерных уязвимостей и захват информационных активов.

Меняющийся ландшафт угроз, частота их появления, сложность и целевой характер атак - все это требует эволюции существующей парадигмы в сфере информационной безопасности.

Для минимизации потенциального ущерба важен переход к сочетанию технологий предотвращения, обнаружения и реагирования на кибератаки. Однако сегодня анализ инцидента происходит в основном «по факту», путем «латания дыр» в уязвимостях систем обеспечения информационной безопасности. Большинство государственных и частных организаций имеют средства для обнаружения известных атак, хотя, как показывает практика, данные решения не всегда спасают от вредоносных сетевых вторжений.

Самое сложное в деле защиты конфиденциальных информационных ресурсов - это остановить неизвестные атаки, созданные специально с целью обхода имеющейся защиты и использующие изменения сигнатур и шаблонов поведения.

В 2020-2021 гг. более 75% кибератак были направлены на уязвимости веб-приложений и сайтов [2]. Такие атаки, как правило, незаметны для инфраструктуры и служб информационной безопасности. Уязвимости веб-приложений несут в себе, в свою очередь, риски компрометации учетных записей и персональных данных пользователей, паролей, номеров кредитных карт. Кроме того, уязвимости в веб-сайте служат для злоумышленников точкой входа в корпоративную сеть.

Одним из наиболее эффективных способов защиты являются межсетевые экраны веб-приложений (Web Application Firewall, WAF) - защитные экраны, предназначенные для блокировки атак на веб-приложения [3, 4]. К числу таких атак относятся SQL-инъекции, межсайтовое написание сценариев (скриптов) на интерпретируемых языках программирования, удаленное выполнение кода, подбор паролей и обход авторизации, а также атаки, использующие неизвестные (zero-day) уязвимости.

WAF обеспечивает защиту, выполняя мониторинг содержимого веб-страниц независимо от того, на чем они написаны, будь то POST-forms, HTML или Java Script. При этом происходит фильтрация потенциально вредоносных запросов по протоколам HTTP/HTTPS.

Таким образом, обход WAF является очень опасным и критичным способом кибератак на компьютерную сеть. Общая идея, лежащая в основе реализации обхода WAF, заключается в том, что запрос приводится к виду, в котором он остается понятным для человека, атакующего веб-приложения, но при этом становится непонятным для WAF. Различные специальные символы могут нарушать логику работы WAF. Однако при этом они понятны самому серверу. Существуют различные варианты использования специальных символов. Так, их можно закодировать в URL-строках или представить в иных кодировках. Кроме того, можно вставлять спецсимволы в запрос без какой-либо кодировки, т.е. в raw-формате. Этот способ может оказаться довольно неожиданным для WAF.

Как правило, в WAF присутствует модуль, отвечающий за обнаружение вредоносных запросов с помощью обученного классификатора. Однако главной проблемой классификаторов является их способность выявлять лишь те атаки, на которых их обучили первоначально. Для этого необходим достаточно большой набор данных (data set), включающий в себя все известные атаки. В противном случае может возникнуть (и случается это довольно часто) необходимость дообучения или переобучения модели в режиме реального времени, что негативно сказывается на способности WAF неизвестные ранее атаки.

В статье предлагается новый метод конструирования межсетевых экранов веб-приложений и обнаружения коллизий в трафике, вызванных попытками злоумышленников ре-ализовывать кибератаки, нацеленные на обход WAF. Под термином «коллизии» в работе мы понимаем именно аномально-пиковые отклонения трафика, вызванные целевым информационно-техническим воздействием со стороны злоумышленника, с умыслом получения доступа к ресурсам сети. Этот метод основан на одновременном использовании двух разновидностей нейронных сетей: нейронной сети с долгой краткосрочной памятью (Long Short-Term Memory, LSTM) и автоэнкодера.

Так как нейронная LSTM-сеть относится к классу рекуррентных, то она обладает возможностью хранить информацию, что дает дополнительные преимущества при обнаружении коллизий в различных наборах данных. Автоэнкодеры, как правило, используются для снижения размерности входных данных. Поэтому совместное использование нейронных LSTM-сетей и автоэнкодеров представляется достаточно перспективным направлением в области защиты от кибератак, нацеленных на обход WAF.

Описание LONG SHORT-TERM MEMORY. Предлагаемая архитектура нейронной сети представлена на рис. 1. Автоэнкодер состоит из трех наборов слоев: (1) Input Layer, который принимает входной сигнал X={xi,x2,...,xt,...,xw}; (2) несколько Hidden Layers {LSTM-1, ..., LSTM-n}, каждый из которых образован ячейками LSTM нейронной сети (количество скрытых

слоев равно n); (3) Output Layer, выход которого X = ^,x2,...,xct,...,xcw j является выходом

всей предлагаемой архитектуры [5].

Автоэнкодер, являясь нейронной сетью прямого распространения, восстанавливает входной сигнал на выходе. Внутри автоэнкодера имеются один или несколько скрытых слоев, с помощью которых задается код, описывающий некоторую модель. Поэтому автоэнкодер может быть представлен как нейронная сеть, состоящая из двух частей: кодировщика и декодировщи-ка. С помощью кодировщика происходит сжатие данных, с помощью декодировщика —восстановление. После обучения автоэнкодер может воспроизводить практически без ошибок или с

небольшой ошибкой нормальные наблюдения, т.е. данные, в которых отсутствуют коллизии. Входной сигнал восстанавливается с ошибками из-за потерь при кодировании, и, чтобы их минимизировать, для обучения автоэнкодера отбираются наиболее важные признаки.

Рис. 1. Общая архитектура нейронной сети

Принцип использования автоэнкодера состоит в том, чтобы научить его максимально точно восстанавливать данные, на которых происходило обучение. Тогда, если на вход автоэнкодера ввести аномальный образец (набор данных, не принадлежащий к обучающей выборке), автоэнкодер с высокой долей вероятности не сможет отнести аномальные данные к какому-либо предварительно обученному классу. Иными словами, автоэнкодер будет пытаться предсказать/реконструировать выявленные коллизии в данных. Однако для данных с отклонениями ошибка восстановления данных будет намного выше, чем для нормальных данных.

В качестве скрытых слоев автоэнкодера могут использоваться нейронные сети различных типов. В предлагаемой архитектуре применяются LSTM-ячейки нейронной сети, которая является разновидностью рекуррентных нейронных сетей. Особенностью LSTM-нейросетей, как и всех рекуррентных сетей в целом, является их способность сохранять во времени свое состояние, которое выражается некоторым числовым значением. Это повышает способность нейронных сетей с LSTM предсказывать поведение анализируемой системы, а также обнаруживать отклонения в больших наборах данных в случаях, когда для процесса обучения отводилось недостаточно времени. Иначе говоря, предполагается, что LSTM-нейросети позволяют построить систему обнаружения коллизий, ориентированную на работу с большими данными, а также на реальный или близкий к реальному режим времени.

Структура скрытого LSTM-слоя в предлагаемой архитектуре представлена на рис. 2, где показаны связанные между собой LSTM-ячейки (t - 1), t и (t + 1).

На вход t LSTM-ячейки поступают следующие сигналы:

сигнал xt со входного уровня;

сигнал ht-i с предыдущей ячейки своего скрытого слоя;

сигнал состояния S-i c предыдущей ячейки.

На выходе t LSTM-ячейки формируются следующие сигналы:

сигнал ht, который поступает на последующую ячейку своего скрытого слоя и на t LSTM-ячейку следующего скрытого слоя;

сигнал состояния St, поступающий на последующую ячейку.

В LSTM-ячейке можно выделить три внутренних слоя (gates): (1) Forget Gate; (2) Input Gate; (3) Output Gate.

Forget Gate предназначен для принятия решения о хранении либо удалении информации о предыдущем состоянии St-i. С использованием ст-функции активации, веса Wf и смещения bf в этом слое формируется вспомогательная функция ft:

ft = о (Wf \ht_x x ] + bf), (1)

где [ht-1, xt] - операция конкатенации (объединения) сигналов ht-1 и xt.

Input Gate предназначен для того, чтобы обновлять значения состояния Ct-i и формировать новое потенциальное значение состояния Ct. В этом слое с использованием о-функции активации, tanh-функции активации (tanh - гиперболический тангенс), весов W и WC, а также смещений b, и bC формируются вспомогательные функции it и Ct, а также новое значение Ct:

it= о(W, hi,Xt] + b); (2)

Ct= tanh (Wc [ht_i ,xt ] + bc); (3)

ct=ftct_1+iC. (4)

s о

a з О

h.

1

X,-1 X; X;

Рис. 2. Структура LSTM-слоя

Output Gate служит для того, чтобы реализовать возможность пропускать выходное значение состояния через некоторый дополнительный фильтр. С использованием о-функции активации, tanh-функции активации, веса Wo и смещения bo в этом слое формируются вспомогательная функция ot и выходной сигнал LSTM-ячейки ht:

Ot = о (Wo [ht_i ,xt ] + bo); (5)

ht=ot tanh (Ct). (6)

Таким образом, свойство рекуррентности позволяет нейронной сети с LSTM использовать полученные ранее результаты и проводить анализ предсказаний. В итоге будущее решение ставится в зависимость не только от первичного глубокого обучения нейронной сети с LSTM, но и от результатов ее дальнейшей работы в потоке данных. Это свойство делает нейронную сеть с LSTM особенно подходящими для анализа нестационарных временных рядов, которые изменяются с течением времени, поэтому их успешно используют в таких задачах, как распознавание речи и перевод текста. В настоящей работе исследуется возможность применения нейронной сети с LSTM для обнаружения коллизий сетевого трафика.

Проверка эффективности предложенного метода. Для формирования набора данных, который годился бы для обучения предложенной архитектуры нейронной сети и оценки ее возможности обнаруживать аномалии, необходимо сначала смоделировать кибератаки, нацеленные на обход WAF. Общий смысл нахождения способов обхода WAF заключается в приведении запроса к виду, в котором он остается понятным для атакуемого веб-приложения, но при этом не понятен или кажется безобидным для WAF. Для этой цели могут использоваться различные спецсимволы, которые могут нарушать логику работы WAF и при этом быть понятными серверу.

На рис. 3 представлен пример обычного запроса и ответа на него сервера. Запрос представляет собой попытку передать методом POST параметр "select". Как видно из рисунка, параметр "select" был заблокирован WAF.

Request

Response

i Actions v

1 POST / KTTP/1,1

2 Host: 64.227.43.192r31491

9 User-Agent; Hozilla/5.0 mi; Linux x86_64; rv:78.0)

Gecko/20100101 Firefo*/7B.O 4 Accept:

text/htnl, applicat ion/xht nl , application/xnl;q»0.i«age/veb

5- Accept-Language; en-US.en;q«0,S ■ Accept-Encoding: gzip, deflate

7 Connection: close

8 Upgrade-Insecure-Requests; 1 *) Cache -Control: sax-age-a

10 Content-Length: 8

11

12 select

13

Raw Render

Actions v

1 HTTP/1.1 200 OK,

2 Server: ngmi

3 Gate: Sat, 06 Feb 2021 13:18:26 GOT

4 Content-Type: te*t/htnl; charset-UTF-e Б Connection: close

6 Content-Length: 42

7

8 аггауШ {

9 10]->

10 string!6) "select"

11 > 12

Рис. 3. Попытка отправить запрос без преобразования параметра

На рис. 4 представлен другой запрос, в котором параметр "select" закодирован спецсимволами, взятыми из кодировочной таблицы Unicode. Как видно из рисунка, если передать параметр "select" в кодировке Unicode, то WAF его не обнаруживает.

Request

\n Actions v

1 POST / HTTP/1.1

2 Host; 64,227,43,192:31491

3 User-Agent: Mozilla/S.O (Xll: Linux xS6_64; rv:7e.0i Gecko/20100101 Firefoi/78.0

4 Accept:

te*t/htal,application/xhtnl+xal,application/xal;q»0.9,iaage/web

p,*/*:q-0,8

I Accept-Language: en-US,en;q»0-S

6 Accept-Encoding: gzip. deflate

7 Connection; close

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

f; upgrade-Insecure-Requests: 1 9 Cache-Control: aax-age-0

10 Content-Length: 36

11

i: \u0073\u006S\u006c\u006S\u0063\u0074

Response

Raw

Actions N

1 HTTP/1.1 200 OK

2 Server: nginx

3 Date; Sat. 06 Feb 2021 13:19:39 GOT

4 Content-Type: text/htal: charset-UTF-8

5 Connection; close

6 Content-Length: 0

7

8

Рис. 4. Попытка отправить запрос с кодированием параметра

Передадим теперь на сервер таким же способом (т.е. с использованием кодировки Unicode) параметр "union select sleep(10)#" (рис. 5). Запрос также успешно обошел WAF и поступил на обработку на сервер.

Request Response

Raw Sn Action» v

1 POST / HTTP/141

2 Host: 167.99.88.216:30105

3 User-Agent: Hozilla/5.0 <Xll; Linux x86_64; rv;78.0) Gecko/20100101 Firefox/78.0

4 Accept; text/htil.application/xhtal+xal.appllcation/xal:q-0,9.i*age/webp.'/•;q"0,8

5 Accept•Language: en-US,en;q»O.S

6 Accept-Encoding: gaip, deflate

7 Connection: close

8 Upgrade-Insecure-Requests: 1

9 Cache-Control: ■ax-agcO, no-cache

10 origin: http://167.99.88.216:30105

11 Pragma: no-cache

12 Content-Length; 169

13

14

15 {

16 "user":"\u0027\u007S\u006e\u0069\u006f\u006e\u0020\u0073\u0065SuOQ6e\uOG65\u0063\

17 > IB

Рис. 5. Пример обхода WAF зашифрованным запросом

Запрос, который был направлен на обработку на сервер, выглядит следующим образом:

SELECT note FROM notes WHERE assignee = "union select sleep(10)#".

Сервер дал ответ на этот запрос с задержкой в 10 с. Тем самым была реализована эффективная кибератака вида "time base sql injection". Пример реализации этой кибератаки, осуществляющей обход WAF, представлен на рис. 6.

Для тестирования предлагаемого подхода установим систему управления содержимым сайта Wordpress и развернем Nemesida WAF Free. При попытке реализации кибератаки с передачей полезной нагрузки в виде URL encode получаем ошибку запрета доступа к странице (рис. 7).

Для обучения автоэнкодера был сформирован набор данных, состоящий из пользовательских запросов (рис. 8). Данные в наборе данных максимально полно передают пользовательское поведение и исключают коллизии. Количество записей в наборе данных - 28 000.

J05T / нттр/ы lost;

Jsir-igtnt: иогШл/S.e (Xll; Linu* хвб.б*; rv:7$.«) Oicko/?0iMifti Firfffo*/7$.0

Icccpt: tent/htiil, ,ipplicarion/3thtn1.*jiiil rapplication/xnl;q-e.9r inage/webp, */*;q-0.S

Icccpt-language: en-liS,Ofi;q-0.S

itttpt-encoding: deflate

Jpgrade-Insecure-Re-nue sis: 1

:athe-control: «ax-age«®, no-cache

>rigin: http://167.W.8e.216;30ie5

>ragea: no-с ache

:ontent-type; applicatio«i/json

:ontent-Ungth; 117ft

:onncction; clow

i

"user*: "\uOO27\u««2e\uee4l\u004E\uOa44\u'e«2ft\uQe2e\u00S3\u00^54u№iC\ue045\u0043\u00S4\uOO2O\ueft34\ueej4\u0037\u0O il\uee2e\u0046Viil>O52\uOO^r\u004D\u0020\u002e\u{IO53\u00i5\ue04C\u004S\uttO43\ij005i\ueeje\u0051Vu00',C\ijOOii5\ue045\u0e50\ij0

j004l\u00S3\u00S<i\u#ft2e\ueO73\uO063\u006S\ufrft6S\ijOO6O\u0O61\u00SF\u&&&E\uee£l\u006D\u006S\u0026\uM4l\u00S3\u0020\u004E ^ивв43\и0048\и0041\и««52\и0в29\и002С\и0030\и»в7а\и0032\и0030\и0029ЧиОО29\ивО2О\ивв4б\и0052\и00',Р\иев4О\иО020\и0049\и004 :\u0046\u004F\u0052\u«O4D\uQ04l\u0054\u0049\uO«4FNu0Q4E\u005F\u0053\v№43\u004SSue045\u004D\u0041\u««2£Nu0053\u0043\u00 .8\u0O45\u00i,DVii00i,l\u005i\u004l\u0O20\u0Oi,C\u11Oi,9\u00iD\u0049\u00Si,VuOO2O\u0034\u00iC\u0011\u0l}29\u002C\u0034\u002C\u0 )Э1\и0029\и0029\иМЗЕ\иве31\о002С\и0030\ие02СЧивв32\и0029\и0029Чие029\иА«29\о0029\и0057\и0043\и1Н»7в\ивеб*\и0029\и0020\и )04 l\u004E\uOQ444i>iH)2O\uOe27\u007A\u006F4ulM}Se\u6O7 l\u0027\u003D4u0e2 7\ufl«7A\ue06f \u005S\u0071" \

Ч"| .Г с INFO] rftriiVtd: sys

;o.":o-v ii] [ ] perfor»pd JS queries in 23,3S «conds iviiUblt databases [5]: *] dbnS4S2 *] infornition_scheiBa *] eysql

*J perfoi»ance_sclve*a

>) svs

T

Рис. 6. Пример кибератаки обхода WAF

RcqunI

j Яа* | frararw j Header* j H»» ^

«Т / ИТТР/1.1 Hilt: iitf.tnt-Un

Uwr.itqwit: Hw ill a/5.® Ull: It«» *K_64; rv:M.«) Сеско/201МШ Firefoi/W.O

K<tpt: (fч/ht»l.»ppll<4( lon/ih,*pph(4t»n/nl ;q=0.■/";q*M

itifpt'Uifluiq*:

Actipt'lntfldinq: qnp. <МЫ»

(»kit; nordpf«i_Mtt_ieikiK^4Mfcie»<h#ck;

шшжлг п,29\глгвип 1\гсу»оп\гв«иггши ?#ct V2*i«c г\г< тспкпквис 7 ЧК 6WC*U<«7p«*tf ititUWC 11МП22Ч»;

»rdpr«i_lo«i<J.i4,?2 f»ad2S f cdaUatcte<tdt$ld24l№tterVC lttMiOM6\7tXy j 1*17аг»2ИчЯ.«Л*<«

MP-HttUJI • tlH- 1=115870X977; up-Mtt¡ft?* • tiw- I=1M»76*W2

(MMCtiM: е!м*

Upgrade-Initcure-ftequeiH: 1

Cachi-control: hi

Rnpontc

WL

Header« i к»к , HTML Render I

HTTP/1,1 401 Forbidden

Server: ngiru/L.M.»

Oat»: Hon. 27 Nay 2019 09:32:2-5 СНГ

{ent^i-Type: iiit/hti»; dWTMtavtf-*

Contt*t-Unfth: 1S3 CtmttiM: dew

<ht-l>

chtadKUtWH*) fоrbiddfn-:,.' till*>«/b»ad> «body»

«mitrnhlMiJ forbi4den</Hx/{«nter>

<hr>«entir>e|uiK/l.W.f</ceflter>

«/body»

</htil>

Рис. 7. Пример отправки зашифрованной полезной нагрузки

~ <START>GET /post/661/<STOP>

5196 <START>P0ST /post/661/author=*e«fl+BOfl08+eBreHHii+cepreM4&body=Add+few+fflore+questions, ♦I+always+get+bogged+<J<wi+by+thenH: п+шу+f о rum,, ++ L +Wbat+a re+hig hest+pay ing+keywrd s ?+2. +Why+*y *roeso+ads+a re+<jet t i ng+so+l w+EPC. +3. +Cati+soiebo<Jy+sa bot age-my+account+4.+How+can+I+get+nwred+traffic+for+«y+adsense+pages..<ST0P>

5191 <STAAT>P0ST /post/661/аиthor=£nэтНэвэльный6Лойу=ссылки+и+фото+убернте, +по*апуйс та<5Т0Р>

5192 <STAAT>GET /pQ5t/new/<ST0P>

5193 <START>P0ST /post/new/title=Ha+3TOT+Bonpoc&text=Cive+us+again+the+nature+of+quicksiber!<STOP>

5194 <START>GET /pOSt/662/<STOP>

5195 <5TAAT>P0ST /post/662/author=hoffe&body=nojuiepiHBaiQ<STOP>

5196 <START>POST /

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

post/662/author=rhU4^)dy^y+H+rnynwM+MeKC:^ ! • ■+( :<STGP>

5197 <START>POST /pOSt/662/author=HpMHa&body=y+KAC+B+P0tСИИ, -ЖНОГО+НАЛЕНЬКИХ+ЩЕЙ, +HO+A+KAP^HK+C+KOfliTAW, +У+НАС+ЕСТЬ+ТОЛЫ 0+0ДИН!!!!<ST0P>

5193 <START>GET /poSt/new/<STOP>

5199 <START>P0ST /post/new/title=eкладывает+ч то * то+свое.&text=Show+-unto+us+one+of^+thy+mani,f est+signs,<ST0P> 5269 <START>GET /po$t/663/<STOP>

5261 <START>POST /post/663/author=nyu)K«H£ib0dy=AfleKcaMflp+CepreeBM4+-nyiiKMM+-HacT0fliiiHiii+гений.не+то+что+ты.<5Т0Р> 52D2 <START>P0ST /post/663/author=rney216^ody=I+have+added*the+inf(Habout4ffli$sions.^Likes:Shad<>«Realm<ST0(>> 5263 <START>POST /post/663/authoг^aтaшa£íbody<orлaceн.+0днaкo,+y+вac+xвaтvlт+нepвoв?+^iaxoдltтcll+в*ltoллeктивe+кoтc^pый+тeoя4кe^ авиди т,+толь ко+потому+что+ты+пошёл*про т ив+с ис тew.+(После+того+как+лоди+узнали+ч то+и+увольняюсь+и з+ссербанка,+у+нногнх' нзмен илось+о т новение,+а+у+отдел ьных+личностей+пропало+да*е+*елание+здоровзтьс я.)+8+кахдо й+дол*нос т ной4«нс трукдии+ес ть+г ункт+про+-*и+лрочие+ра&оты+и+оОязанностн*на+закимаемой+допжности».*Вам+буцу+давать+самую+ коктроль+посеч1аемос т и+и+т.п.+Вы+готови+с+эт ин+*

нть+камдый+будкий+демь+по+в+часоб+на+про т иженни+пары+месяцев,+а+т о+и+солее?+6уде т+лн+это+с т онт+з-докладов ?<stop>

Рис. 8. Набор данных, состоящий из нормальных данных

Автоэнкодер обучался только отрицательным (т.е. нормальным) наблюдениям. Для того чтобы сформировать обучающий набор данных, из исходного набора данных были удалены все аномальные (положительные) случаи (рис. 9).

['<5TART=*GET /9 or 1=1<ST0P=>', 1 <START:>GET /Umit<ST0P?',

"<5TART>GET /);wait for delay 0:D:_TIME_'--<ST0P>",

■<START>GET /[|UTLHTTP.RE0UEST<ST0P>', "<START>GET /post/new/distinct<ST0P5',

"<START>POST /post/new/title= | 16Иех1=Это+мой+первый+лосг!<ST0P>", "<START>GET /postyi/х1 AND SELECT COUNT(*) FROM tabnaitie); --<ST0P>", "<START>GET /1) or (1 a■^'aiSTOPi11 j

Puc. 9. Пример записи аномальных данных в наборе данных

Тестовый набор данных, сформированный путем добавления в нормальный набор данных записей коллизий, использовался для экспериментальной оценки предложенного подхода.

Поскольку протокол HTTP является текстовым, для классификации текста использовались современные текстовые классификаторы. Было решено опробовать модель с LSTM-архитектурой.

Так, в LSTM-архитектуре на естественном языке применяется векторное представление слов. Однако было неясно, какие слова встречаются в искусственном языке, например в HTTP.

Так как готовые представления не годятся для выполнения поставленной задачи, были использованы простые отображения символов в числовые коды с несколькими внутренними маркерами. Это отображение осуществлялось следующим образом. Сначала символы, встречающиеся в наборе данных с отрицательными наблюдениями, заменялись на числовой эквивалент, который не имеет самостоятельного смысла для внешнего или внутреннего применения (данную процедуру можно называть токенизацией). Затем в соответствии с токенизацией слова переводились в последовательности (рис. 10). Важным обстоятельством здесь является то, что все последовательности должны быть одной длины. Если запрос меньше длины последовательности, оставшиеся символы заполняются нулями.

datatrain = pad_se(tuenees(X_train_elear_sequences, fflaxlen=max_len_str> datatest * pad_sequeneeslX_test_elear sequences, inaxlen=max_len_str)

cfa ta. .train

эгтауШ a, 0, 6..........4, 15, 29],

[0, о, о..........4, 15, 29],

[0, e, 0..........4. 15, 291 ,

[ й] 0, 0..... 4, 1S, 29],

[ 0, fi, 0..... 4, 15, 29],

I 0, 0, 0, ____ 4, 15, 29]], dtype=int32)

Рис. 10. Пример представления последовательностей

Model: "model"

Layer (type) Output Shape Param #

input_l (InputLayer) [(None, . 1, 999)3 0

Istm (LSTM) (None, 1, 499) 2992004

bottleneck (LSTH) {None, 249) 746004

repeatvector (Repeatvector) {None, lt 249) e

Utm_l (LSTH) {None, I, 249) 497004

l$tm_2 (LSTH) {None, lr 499) 1495004

time distributed (TimeDistri {None, 1, 999) 499500

Total params: &,229,516 Trainable paraes: 6,229,516 Non-trainable params: )

Рис. 11. Автоэнкодер с ЬБТМ-ячейками

Окончательная модель автоэнкодера с LSTM-ячейками, которая исследовалась на обнаружение аномалий, вызванных кибератаками, нацеленными на обход WAF (рис. 11), имеет пять скрытых слоев, среди которых первые два и последние два слоя представлены LSTM-ячейками. Средний скрытый слой - обычный. Первые два скрытых LSTM-слоя образуют кодировщик, последние три скрытых слоя - декодер. Количество ячеек в каждом слое и количество настраиваемых при обучении параметров показаны на рис. 11. Общее количество настраиваемых параметров равно 6 229 516.

Trial 70 Complete I00h 03m 10s) vaLaecu racy: 0.0600832062959671

Best valaccuracy So Far: 0.26791471242904663 Total elapsed time: :>l1 58m 36s

Search: Running Trial #71

Hyperparameter dropout activation learning rate tuner/epochs tuner/initial_e tuner/bracket tuner/round tuner/trial id

lvalue I в. 1

I sigmoid 10■LO01

] 10 ■ 14 12

Iab4c611fc614e2e..

I Best Value So Far

I relu 10,0051 110 И 13 I 2

|3e9eseB247B4b6c...

Рис. 12. Перебор гиперпараметров

Результаты полного перебора гиперпараметров (рис. 12) говорят о том, что наилучшими гиперпараметрами являются: функция активации relu, learning rate = 0.0051, dropout = 0.3. Поэтому они использовались далее при обучении модели.

Результат обучения модели на 50 эпохах представлен на рис. 13. После завершения каждой эпохи лучшая модель сохранялась в качестве контрольной точки, которую затем можно было загрузить.

Epoch 42/50

66/66 [------------------------------] - 2s 23ms/step - loss: 0.5432 - accuracy: 0.8492 - val loss: 0.8284 - val accu

racy: 0.8179 Epoch 43/50

66/66 [==============================] - is 22ms/step - loss: 0.5251 - accuracy: 0.8462 - val loss: 0.8189 - val accu

racy: 0»8549 Epoch 44/50

66/66 [------------------------------] - Is 22ms/stop - loss: 0.5998 - accuracy: 0.8576 - val_loss: 0.7851 - val_accu

racy: 0.8791 Epoch 45/50

66/66 f------------------------------1 - In ЯЯтя/step - loss: 0.4763 - accuracy: 0.8704 - val_loss: 0.7558 - val_accu

racy: 0.8563 Epoch 46/50

66/66 [==-----------------------■—---—] - Is 22ms/step - loss: 0.4883 - accuracy: 0,8597 - val_loss: 0,7162 - val_accu

racy: 0.8634 Epoch 47/50

66/66 [------------------------------J - li3 22гп£з/кLep - lusa: 0.4530 - accuracy: 0.0733 - val_lusi;: 0.6976 - val_accu

racy: 0.0819 Epoch 48/50

66/66 [----■——====================—] - i я ЯЯтя/step - loss: 0.4141 - accuracy: 0.8742 - va1_loss: 0.7180 - val_accu

racy: 0.8634 Epoch 49/50

66/66 [===================] - is 22ms/step - loss: 0.3743 - accuracy: 0.8558 - val loss: 0.7525 - valaccu

racy: 0.8677 Epoch 50/50

66/66 [------------------------------] - Is 22ms/stop - loss: 0.4019 - accuracy: 0.8689 - val_loss: 0.6941 - val_accu

racy: 0.8819

Рис.. 13. Результаты обучения модели на 50 эпохах

На рис. 14 показаны результаты обнаружения коллизий в наборе данных. Аномальные запросы выделены красным цветом, а нормальные - синим. Горизонтальная черная прямая показывает максимальную ошибку, которая возникает при обучении автоэнкодера.

actxial * о ■ i

«Vi " " .

-

•• __А" .*.

б

Рис. 14. Результаты обнаружения коллизий сетевого трафика: а - разделение запросов на слова; б - разделение запросов на символы

На рис. 14, а показаны результаты разделения запросов на слова. В этом случае авто-энкодер ведет себя наиболее агрессивно, выявляя максимальное количество аномалий. Несмотря на то что черная прямая находится на уровне 2, автоэнкодер в то же время блокирует максимальное количество запросов.

а

На рис. 14, б приведены результаты разделения запросов на символы. Здесь автоэнко-дер достаточно лояльно выявляет отклонения. Черная прямая находится на уровне 170. Блокируются только те запросы, которые лежат выше указанной линии.

На рис. 15 представлены зависимости точности (доли аномалий, принадлежащих к данному классу, относительно всех аномалий, которые система отнесла к этому классу) и полноты обнаружения коллизий (доли найденных аномалий, принадлежащих к классу, относительно всех запросов этого класса в тестовой выборке). Пересечение этих двух кривых позволяет найти оптимальное значение для порога.

Рис. 15. Зависимости точности и полноты обнаружения атак от порога, при котором легитимные запросы не блокируются

ЗАКЛЮЧЕНИЕ

Анализ экспериментальных результатов показал, что способность нейронных сетей с LSTM не только обучаться, но и обрабатывать коллизии, связанные с аномальным поведением сетевого трафика, позволяет заблаговременно предупреждать о проникновениях в компьютерные сети извне.

В предложенном автором подходе обязательным этапом является процесс обучения на контрольной выборке. По скорости обнаружения атак он не уступает сигнатурному методу, однако имеет более высокую точность обнаружения известных атак и хорошую точность обнаружения неизвестных атак. При этом доля ложных срабатываний крайне низкая.

Список литературы

1. Cyber Security Trends You Can't Ignore in 2021. [Элекктронный адрес]. -URL: https://purplesec.us/cyber-security-trends-2021(last accessed:2021.04,24

2. Cybersecurity Statistics and Trends for 2021. -[Электронный адрес]. -URL: https://www.varonis.com/blog/cybersecurity-statistics(last accessed:2021.04.24).

3. Clincy, V. Web Application Firewall: Network Security Models and Configuration / V. Clincy, H. Shahriar // Proceedings of the 2018 IEEE 42nd Annual Computer Software and Applications Conference (COMPSAC). 2018. P. 835-836.

4. Baddar Sh.Al-H. Anomaly Detection in Computer Networks: A State-of-the-Art Review / Sh.Al-H. Baddar, A. Merlo, M. Migliardi // J. Wirel. Mob. Networks Ubiquitous Comput. Dependable. Appl. 5 (2014). Р. 29-64.

5. Gers F. Learning precise timing with LSTM recurrent networks / F. Gers, N. Schraudolph, J. Schmidhuber // Journal of Machine Learning Research. 2002. Vol. 3. P. 115-143.

Крибель Александр Михайлович, адъюнкт, nemo4ka74@,gmail.com, Россия, Санкт-Петербург, Военная академия связи им. С.М.Буденного

METHODOLOGY FOR DETECTING NETWORK TRAFFIC COLLISIONS

A.M. Kribel

The possibilities of using artificial neural networks of complex architecture (in particular, based on Long Short-Term Memory (LSTM)) are investigated to detect network traffic collisions caused by cyber attacks using vulnerabilities of web application firewalls (Web Application Firewall, WAF),

190

which are very difficult to detect by other means. Experimental results based on the generated data set confirmed the high efficiency of the development: the technique allows detecting cyberattacks in real time.

Key words: computer network, collision detection, cyberattack, web application firewall, neural network, LSTM, autoencoder.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Kribel Alexander Mikhailovich, postgraduate, nemo4ka74@gmail.com, Russia, St. Petersburg, Military Academy of Communications named after S.M.Budyonny

УДК 004.94:69

DOI: 10.24412/2071-6168-2021-12-191-194

КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ ДВИЖЕНИЯ ВОЗДУШНЫХ МАСС В ГРУППЕ ГОРОДСКИХ ЗДАНИЙ

Т.А. Алексеева

Приводится алгоритм процесса моделирования движения воздушных масс в районе, в котором построена группа зданий переменной этажности. Оцениваются скорости движения воздуха в рассматриваемом районе в сечениях, расположенных на разной высоте относительно уровня земли.

Ключевые слова: компьютерное моделирование, город, строительство, анализ данных, исследование, математическое моделирование, аэродинамика, строительство.

Ученым, инженерам, конструкторам и другим лицам предоставляются широкие возможности для исследования различных явлений и процессов, во многом благодаря техническому прогрессу и появлению, в связи с этим, специальных программных средств, на базе которых возможно проведение компьютерных и математических моделирований [1,2]. Последующий анализ результатов моделирований позволяет выявить не только закономерности протекания явлений, но и улучшить (оптимизировать), в частности, процессы или конструкции. Большая часть программ, позволяющих трехмерно моделировать основаны на способе математического анализа под названием метод конечных элементов [3,4], который позволяет замоделировать практически любую физическую и мультифизическую задачу, например, движение воздушных масс в районе города, с целью определения скорости ветра на разных высотах, его траектории. Для этого было выполнено моделирование в программе Ansys [5-7], которое проводилось в следующей последовательности:

1. Строилась трехмерная модель района со зданиями, на которые будет воздействовать ветер. Модель создавалась в система автоматизированного проектирования, хотя возможно ее построение во встроенных подпрограммах Ansys.

2. Проводилась инверсия полученной трехмерной модели для создания области, в которой дует ветер.

3. Полученная инверсионная модель разбивалась на части (конечные элементы) с заданным размером одного элемента. В данном случае для уменьшения времени расчета была построена сетка с размером элемента равным не более 0,5 м по одной из сторон. С учетом масштабов модели можно утверждать, что такое допущение не скажется значительным образом на качестве и точности расчета.

4. На область, разбитую на части, задавались начальные условия: температура воздуха, физико-химические свойства воздуха, направление и скорость ветра и пр.

5. Запускался расчет согласно заданным начальным значениям, который продолжался около 6,5 часов.

i Надоели баннеры? Вы всегда можете отключить рекламу.