Смекни!
smekni.com

Кластеризация групп входящих пакетов с помощью нейронных сетей конкурирующего типа (стр. 4 из 7)

где t обозначает номер эпохи (номер итерации обучения).

Функция h(t) называется функцией соседства нейронов. Эта функция представляет собой невозрастающую функцию от времени и расстояния между нейроном-победителем и соседними нейронами в сетке. Эта функция разбивается на две части: собственно функцию расстояния и функции скорости обучения от времени:

,

где r – координаты нейрона в сетке.

Обычно применяется одна из двух функций от расстояния: простая константа:

,

или Гауссова функция:

,

При этом

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

Функция скорости обучения

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

,

где A и B это константы. Применение этой функции приводит к тому, что все вектора из обучающей выборки вносят примерно равный вклад в результат обучения.

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

2.3.6 Алгоритм нейронного газа

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

где dk=|x-wm(i)| обозначает удалённость i-того нейрона, занимающего в результате сортировки m-ю позицию в последовательности, возглавляемой нейроном-победителем, которому сопоставлена удаленность d0. Значение функции соседства для i-того нейрона G(i,x) определяется по формуле:

в которой m(i) обозначает очерёдность, полученную в результате сортировки (m(i)=1,2,3,…,n-1), а лямбда - параметр, аналогичный уровню соседства в алгоритме Кохонена, уменьшающийся с течением времени. При лямбда =0 адаптации подвергается только нейрон-победитель, и алгоритм превращается в обычный алгоритм WTA, но при уточнению подлежат веса многих нейронов, причём уровень уточнения зависит от величины G(i,x).

Для достижения хороших результатов самоорганизации процесс обучения должен начинаться с большого значения лямбда, однако с течением времени его величина уменьшается до нуля.


3. Формализация задачи

В качестве группы пакетов, выступающих в качестве обучающего примера, возьмём 10 подряд идущих поступающих на рабочую станцию пакетов. Для построения модели оценим в каждой группе следующие параметры:

1.Число пакетов поступивших от хостов “своей” ЛВС.

2.Число фрагментированных пакетов.

3.Число TCP-пакетов.

4.Число UDP-пакетов.

5.Максимальное число пакетов в группе, пришедших от одного из хостов-отправителей.

6.Принадлежность хоста, отправителя наибольшего числа пакетов. (1 - “своя” ЛВС, 0 - иначе)

7.Средняя загрузка процессора (без учёта приложений не связанных с сетью). (%)

8.Изменение загрузки процессора с времени получения первого пакета до времени получения последнего пакета (без учёта приложений не связанных с сетью).(%)

9.Средний размер пакета. (байт)

10.Число пакетов размером в интервале с 0.8*x до 1.2*x, где x – средний размер пакета.

11. Число доступных хостов.

12. Число различных хостов.

Вышеперечисленные параметры будут являться входами модели. Пользователю следует определить размер карты Кохонена, а также параметры настройки нейронной сети. Остаётся только сгенерировать различные пакеты TCP, UDP и ICMP как обычные, так и “хакерские”, и переслать их на хост, ведущий журнал входящих пакетов и их параметров. Из данного журнала пакеты объединяются в группы (10 последовательно идущих пакетов). Для каждой группы определяются выделенные интегральные критерии.

Полученные данные служат для самообучения сети.


4. Эксперимент

На локальную станцию (192.168.0.3) поступают следующие пакеты:

TCP – обычные пакеты от станций собственной ЛВС. Соединение происходит в обычном режиме. Передача файлов.

ICMP – обычные пакеты, “проверка связи”.

UDP – обычные пакеты от станций ЛВС, обмен данными между приложениями BroodWar, Blizzard Intertainment.

TCP – обычные пакеты от хостов, на принадлежащих “своей” ЛВС, передача файлов.

TCP – “хакерские” пакеты. Паническая атака.

ICMP – пакеты, являющиеся следствием широковещательного шторма.

UDP – “хакерские” пакеты (посылка широковещательного шторма).

TCP – “хакерские” пакеты, фрагментрованные и не связанные между собой (aтака на файрфолл).

Эксперимент представляет собой посылку и запоминание чередующихся обычных и “опасных” пакетов. Причём в группе, относящийся к классу зарождающейся атаки, могут присутствовать и совершенно безвредные пакеты с данными и сообщениями. Того как заранее определённое число пакетов было получено и после предобработки в группы произошло обучение модели, необходимо произвести визуализацию карты Кохонена. На карте, состоящей из квадратов, где за каждый квадрат отвечает один нейрон, производится заливка в зависимости от класса опасности. Нейроны, отвечающие за класс - тотальная атака (большое число опасных пакетов), окрашиваются в более тёмно красные цвета, нейроны, классифицирующие обычную работу станции в сети (приём-передача данных), окрашены в более нейтральные цвета.


5. Результаты работы модели

1.Стандартный алгоритм Кохонена. Карта 10*10 нейронов.

Рис.5 Визуализация карты Кохонена при обучении стандартным алгоритмом Кохонена

Из-за того что многие нейроны после обучения остались мертвыми нейронная сеть имеет высокую погрешность квантования.

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

2.Стандартный алгоритм Кохонена с учётом соседства. Карта 10*10 нейронов.


Рис.6 Визуализация карты Кохонена при обучении стандартным алгоритмом Кохонена с учётом соседства

Из-за подстройки большего числа нейронов значительная часть нейронов – “живая”. Погрешность квантования значительно ниже. Визуально прослеживается группирование опасных групп пакетов. Между двумя основными очагами опасности (в левом и правом углах карты) расположены группы пакетов соответствующие безопасной передаче.

3.Обучение карты признаков с механизмом утомления. Карта 10*10 нейронов.

Рис.7 Визуализация карты Кохонена при обучении с использованием механизма утомления.

4. Обучение карты признаков с механизмом утомления и подстройкой соседей. Карта 10*10 нейронов.


Рис.8 Визуализация карты Кохонена при обучении обучении с использованием механизма утомления и подстройкой соседей.

5 .Алгоритм нейронного газа.=

Рис.9 Визуализация карты Кохонена при обучении. Алгоритмом нейронного газа

Большой разброс по карте различных цветов объясняется самим алгоритмом обучения: здесь соседство нейронов не зависит от расположения нейронов на карте признаков.

Кроме визуализации карты важны также значения синаптических весов. Синаптический вес W0=1- поляризация нейрона.


Пример.1

Рис.10 Карта Кохонена. 5*5 нейронов.

Ниже даны значения синаптических весов для каждого из “живых” нейронов.

Нейрон 0

1

7,87128697398845

0,625510201518193

2,7803597528978

1,89207931247814

3,29053079148225

0,846173185063035

13,5345966850206

7,0865225491331

129,307664502201

1,40585258052631

9,01013368873421

Нейрон 1

1

7,15478814257012

0,80038505604928

3,4657135681091

2,14143521744823

3,44359875511805

0,776338372597683

12,9441507600633

5,13478248587067

183,45652320823

0,892269137377325

8,8894329158617

Нейрон 2

1

6,51072352952404

0,992340068508278

4,06763582460853

2,78810515781772

3,8079162430252

0,67583544535221

11,7697105357889

1,88885822746819

277,625057718703

0,489223807498444

9,01986066715186

Нейрон 3

1

5,89443270744136

1,07835225630037

5,00871505425791

3,21406653769472

4,05965826713145

0,688612599435516

9,64055979833943

0,176019982013541

349,212505651654

0,307102637433364

8,2882446272146

Нейрон 4

1

5,70325599064924

1,50203934884403

5,48238703058519

2,857530344957

4,1045922884135

0,559367823973787

9,80870961032371

-2,51748577298294

388,707709851468

0,360064195846817

8,67487120799402

Нейрон 6

1

6,98662538009356

0,943325646563848

3,76316661580884

2,28074699102588

3,84435226155865

0,675295943164295

13,1166889150889

2,5894675318043

232,422065671803

0,578616436145349

9,30231795759802

Нейрон 7

1

6,4383154761932

1,30743427921713

4,43322764797434

2,5712769815738

4,015643912254

0,585958396325411

11,4384134686756

0,295227565032279

308,441204991856

0,436934279428607

9,22429249868916

Нейрон 8

1

6,2914496789632

1,49510940329358

5,16485493868028

2,94683540727014

4,26732605590749

0,59451625983309

10,9123469737949

-2,32327270509521

397,564552174538

0,581383154548032

9,07977817163535

Нейрон 9

1

5,78995420800614

1,73921623428801

5,64413639879408

2,83323796423943

4,40990583312066

0,500543095760549

11,1144609757214

-5,73252740367375

449,019038281951

0,657035152619139

9,23115369270226

Нейрон 10

1

6,97268621817446

0,79277691809128

4,02543058948051

2,46523221397023

3,77806690364019

0,676526389633808

13,8202281014187

0,469769683982962

259,238919476768

0,757542791254212

9,28309047834848

Нейрон 11

1

7,04631978115591

0,866271976699346

4,10365456015304

2,88223720882954

4,03150518348344

0,741278370899166

13,8559400919982

-1,255919505345

293,322921366235

0,704152207962319

9,48440166138134

Нейрон 12

1

6,53912681147659

1,56421780805537

4,65601147347958

2,9067904818665

4,27363452636153

0,618578255936595

12,5822623306945

-2,08418808911294

374,872439162492

0,774431791221968

9,54008041266804

Нейрон 13

1

5,69340841412797

2,44796836439865

5,48622818955848

2,92237813180815

4,67788797387526

0,423401926734283

12,1938129780133

-3,92356491480928

497,650849296462

1,22621001209077

9,58796185267328

Нейрон 14

1

5,10226147046721

2,74988223156105

5,9342783502907

2,83173118981968

4,95695609620259

0,316516196981386

12,0153591762438

-5,69212277788297

553,351005991353

1,42911651866737

9,61230903245157

Нейрон 15

1

6,98052845303821

1,22279827555202

4,46220766547028

2,90189348319595

4,15096271989555

0,718494733032167

13,8462699925973

-0,265034800167613

329,133144315137

0,789272703113608

9,41327311392812

Нейрон 16

1

6,78108488859872

1,4587788312988

4,75098402281347

2,99715775219415

4,35524349138507

0,688106328846737

13,146546408368

-1,83766433492922

378,789970538933

0,911094890831572

9,47688044148138

Нейрон 17

1

5,9813392597355

2,59141112244731

5,42222552146448

2,88984764450358

4,90655379368435

0,558857955310756

12,3129769708837

-1,59557885143347

509,639060778038

1,46442141785324

9,64035319482989

Нейрон 18

1

4,37316852020513

3,93024605710541

6,35532277636607

2,54556862325942

5,71566995847879

0,301720400062721

12,1338787032946

-0,810932403256381

666,82904006035

2,40887775038786

9,71260136248531

Нейрон 19

1

3,82835833175608

4,14740478540821

6,51201817449346

2,53488453447905

5,87186670401515

0,209331814630084

12,1270372594924

-1,30049493872786

704,444674316111

2,25030241452771

9,65725372019714

Нейрон 21

1

6,39813422562582

2,08493929159042

5,32829499657161

3,06032597511598

4,7641814353147

0,582189552264411

12,5599245219555

-1,96191395295381

469,290874929838

1,22613369905861

9,46669357056521

Нейрон 23

1

3,55908012277478

4,77646016724021

6,74861021282903

2,41585236193159

6,31871793270481

0,255152204011248

12,1980038558062

1,93696746210735

759,876377313462

2,82715213468638

9,64367900062772

Нейрон 24

1

3,37428950504548

4,73559755878779

6,67504947616927

2,51158813130044

6,22501279809869

0,20990156336746

12,1086739774428

1,00744771459805

778,544161691368

2,27296953057915

9,5765164059112

Табл. 1. Весовые коэффициенты нейронов карты Кохонена для примера 1.