Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Mon1.doc
Скачиваний:
39
Добавлен:
17.04.2019
Размер:
2 Мб
Скачать
☆

2.2.5. Розробка архітектури та тестування нейронної мережі для розпізнавання скриптових поштових вірусів

Проведений аналіз вхідних параметрів за допомогою яких НМ може розпізнати скриптовий вірус або троян, створений на мові VB, вказує на принципову обмеженість кількості комбінацій таких параметрів. Таким чином слід застосувати НМ пристосовані для розпізнавання образів. Припустимо, що НМ буде застосовуватись в клієнтських антивірусних засобах. Відповідно вказаних умов та висновків п.1.10 з розглянутих в розділі 1 типів НМ найбільш перспективним для розпізнавання скриптових вірусів та троянів в клієнтських антивірусних засобах є БШП. При цьому для визначення його параметрів можливо застосувати попередню обробку даних за допомогою мережі РБФ.

Навчальну та тестову вибірки було сформовано на основі аналізу сигнатур вірусів, що входять до складу баз даних антивірусних програм. Крім того, як до навчальної, так і до тестової вибірки включені скрипти без ознак вірусів (безпечні скрипти). Для збільшення гнучкості системи розпізнавання визначимо, що вихідна інформація РБФ та БШП повинна містити в собі числову оцінку класифікації скрипта. Це дозволяє проводити класифікацію всіх скриптів на три класи: безпечні, віруси та підозрілі. До підозрілих слід віднести скрипти, в яких знайдено тільки окремі ознаки вірусів, наприклад зашифрований програмний код або функції пошуку та функції встановлення паролю на документи MS Word. Реалізувати такий вихід як мережі РБФ, так і перспетрону можливо за рахунок одного вихідного елементу. Встановлено вихід обох типів НМ для навчальних прикладів, що відповідають вірусам дорівнює 1, а вихід для навчальних прикладів, що відповідають безпечним макросам дорівнює –1. На практиці можливим результатом функціонування мережі будуть відмінні від –1 та 1 величини вихідних сигналів. Так НМ буде сигналізувати про оцінку належності скрипта до одного із класів. Остаточну класифікацію можливо провести відповідно методиці, представленій в табл. 2.2.

Таблиця 2.2

Класифікація скриптів відповідно величинам вихідного сигналу

Величина вихідного сигналу Y

Назва класу

0,5<Y

Вірус

Y<-0,5

Безпечний макрос

-0,5≤Y≤0,5

Підозрілий макрос

В якості статистичного матеріалу були використані сигнатури скриптових вірусів, що входять до складу бази даних антивірусного пакету УНА та частково представлені в [64]. Вхідні параметри РБФ та БШП були отримані шляхом аналізу цих сигнатур відповідно описаної вище методики. Розрахована кількість вхідних параметрів (кількість вхідних елементів) НМ дорівнює 105. Відповідно наявності статистичного матеріалу та рекомендацій [17, 24, 29, 34, 68, 78, 81] сформовано навчальну вибірку з 560 прикладів. Через обмеженість кількості сигнатур вірусів, частина прикладів повторювалась. Крім того, використано приклад в якому наявні всі параметри, характерні для вірусу та приклад в якому всі параметри, характерні для вірусу відсутні. Половина прикладів відповідала скриптовим вірусам, а інша половина  безпечним скриптам. Фрагмент навчальних даних показаний в табл. 2.3.

Відповідно висновків п.1.3 та [17, 24, 29, 34, 64, 68], з врахуванням сформованої в множини вхідних та вихідних параметрів було побудовано чотири різних мережі РБФ, структура якої показана на рис. 2.3. Спільною рисою структури всіх мереж була кількість вхідних параметрів (вхідних нейронів) N=105 та вихідних параметрів (вихідних нейронів) K=1. Відзначимо, що кількість вхідних та вихідних параметрів РБФ відповідають БШП. Відмінності в структурі мереж полягали в кількості схованих нейронів (М). Для першої мережі М=72, для другої М=105, для третьої  М=210, для четвертої М=315. Відповідно в першій мережі РБФ кількість схованих нейронів в два рази менша кількості вхідних параметрів, в другій  дорівнює цій кількості, в третій  в два рази більша, в четвертій  в три рази більша.

Таблиця 2.3

Навчальні дані мережі РБФ та БШП

Номер

прик-

ладу

Вихід-

ний сигнал

Y

Вхідні параметри

on error resume next

CreateObject

OpenTextFile

ScriptFullname

readline

readall

CreateTextFile

Writeline

write

Close

deletefile

Drives

DriveType

GetFolder

SubFolders

path

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

2

1

1

1

1

1

1

1

0

0

1

1

1

1

1

0

0

1

3

1

1

1

1

1

1

1

0

0

1

1

1

1

1

0

0

1

4

-1

0

0

1

0

1

0

1

0

0

0

1

0

0

0

1

0

5

-1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

Таким чином, відповідно теоретичним рекомендаціям [29, 34] була здійснена спроба адаптації структури РБФ до умов поставленої задачі. При цьому відповідно (1.41-1.43) загальна кількість синаптичних зв'язків в першій мережі  Z= 7665, в другій мережі  Z =11130, в третій мережі  Z =22155, в четвертій мережі  Z =33180. Відзначимо, що для всіх мереж кількість синаптичних зв'язків значно більша ніж для БШП, призначеного для вирішення тієї ж задачі. Прийнято, радіус функції Гауса =0,5, норма навчання =0,1. Навчання мережі здійснювалось відповідно виразів (1-8) за допомогою програми “РБФ_Навчання”. Використані навчальні дані ті ж самі, що і для БШП. Перевірена якість навчання кожної із мереж при 1, 10, 100, 500, та 1000 навчальних ітерацій. Результати перевірки показали, що для перших трьох типів мереж середня відносна похибка вихідного сигналу знаходилась в межах 30-50%. Тільки для четвертої мережі РБФ з кількістю схованих нейронів М=315 при 1000 навчальних ітераціях вказана похибка зменшилась приблизно до 15%. Тестування здійснювалось за допомогою програми “РБФ_Тест”. На тестових прикладах, що не входили до навчальної вибірки середня відносна помилка вихідного сигналу збільшилась в 1,5-2 рази. На погляд автора які збігаються з висновками [29] причиною низької якості РБФ в першу чергу є емпіричність визначення важливих параметрів мережі  кількості схованих нейронів, радіусу функції Гауса та норми навчання. Тому, для якісного використання РБФ потрібно провести додаткові теоретичні дослідження спрямовані на розробку чіткої методики формування параметрів мережі, які адекватно відповідають умовам прикладної задачі. Однак результати експериментів з мережею РБФ вказують на перспективність використання БШП вхідні параметри якого визначаються за допомогою (1.5-1.7, 1.17,1.19-1.23, 1.29 ).

Кількість нейронів: вхідних N=105, схованих нейронів М={72, 105,210,315}, вихідних К=1.

Рис. 2.3 Структура мережі РБФ для розпізнавання скриптових вірусів

Результати аналізу [17, 24, 29, 34, 68, 75-81] та висновки п.1.2 дозволяють сформувати наступний алгоритм розробки БШП, призначеного для розпізнавання скриптових вірусів та троянів, написаних на VB:

  1. Підготовка тестової та навчальної вибірки.

  2. Визначення максимальної та мінімальної межі загальної кількості схованих нейронів.

  3. Вибір в межах допустимої області загальної кількості СШН.

  4. Вибір кількості СШН та кількості нейронів в кожному СШН.

  5. Вибір виду та параметрів функцій активації для всіх типів нейронів.

  6. Проведення навчання.

  7. Проведення тестування.

  8. Якщо результати тестування не задовільні  зміна параметрів БШП. Для цього слід повторити п.5-7.

В першому наближенні встановимо, що кількість СШН дорівнює 1. Розрахувати приблизну кількість схованих нейронів можливо за допомогою (1.18-1.23), вважаючи що кількість образів яку повинен запам'ятати БШП повинна як мінімум в 1,5-2 рази перевищувати кількість елементів навчальної вибірки, а обсяг навчальної вибірки повинен як мінімум в десять разів перевищувати розмірність вхідного сигналу [17, 24, 29, 34, 68]. Для вхідних елементів виберемо лінійну функцію активації, для схованих елементів сигмоїдальну з параметром а=0,1. Кількість схованих елементів та величину параметру а можливо уточнити відповідно п. 8 алгоритму розробки БШП. Як вже було відзначено, вихідний шар складається з одного елементу.

Експериментально на основі (1.19-1.23) визначено, що оптимальна кількість елементів в СШН L=5. При цьому, відповідно (1.18, 1.23) кількість синаптичних зв'язків Lw=5105=525, а кількість прикладів, яку може запам'ятати БШП 1262<P<6310. Експерименти здійснювались за допомогою програмних пакетів Neuro Pro та Deductor Studio на персональному комп'ютері Pentiun III з тактовою частотою 600 кГц та обсягом оперативної пам'яті 384 мБ. Структура побудованого ДШП показана на рис. 2.4. Проведено його навчання. Термін навчання на 560 прикладах склав близько 117 с, кількість навчальних ітерацій 1606, а середня відносна похибка навчання 8,210-6. Короткий термін навчання дозволив використати надійний метод оберненого розповсюдження помилок. Для оптимізації використано метод градієнтного спуску. Відзначимо, що на практиці при зростанні кількості навчальних прикладів та синаптичних зв'язків можливий перехід на інші, розглянуті в розділі 1.2, методи навчання.

Рис. 2.4 Структура ДШП для розпізнавання скриптових вірусів

Після навчання ДШП були пред'явлені 40 тестових прикладів, що не ввійшли до складу навчальної вибірки. 20 тестових прикладів відповідали вірусам, інші 20 безпечним макросам. Тестові приклади отримані шляхом зміни деяких параметрів навчальних прикладів. Кількість таких параметрів для кожного з прикладів знаходиться в межах від 3 до 65. Результати розпізнавання тестових прикладів представлені в табл. 2.4. В табл. 2.4 показано розраховану величину виходу ДШП (Y), очікувану величину виходу (Yо), абсолютну () та відносну похибку () вихідного параметру. Розрахунок вказаних похибок був реалізований так:

(2.1)

(2.2)

Аналіз (2.1, 2.2 ) показує, що величини абсолютної і відносної похибок однакові, адже в (2.2) . Також відзначимо, що відповідно методики класифікації похибка вихідного параметру хоча і відрізняється від похибки розпізнавання, проте впливає на результат класифікації. Наприклад, для Y>0,8 похибка <0,3 не впливає на істинність результату класифікації. При використанні представленої в табл. 2.2 методики класифікації допустимою є величина похибки <0,5.

Таблиця 2.4

Результати розпізнавання ДШП тестових прикладів

№

прикладу

Y

Yо

Похибка

№

прикладу

Y

Yо

Похибка

Скриптові віруси

1

0,759237

1

0,240763

11

0,999939

1

0,000061

2

0,9832084

1

0,016792

12

0,5350167

1

0,464983

3

0,993598

1

0,006402

13

0,9135478

1

0,086452

4

0,9934722

1

0,006528

14

1,011643

1

0,011643

5

0,9954728

1

0,004527

15

1,001076

1

0,001076

6

0,9997669

1

0,000233

16

0,6833215

1

0,316679

7

1,000239

1

0,000239

17

1,002276

1

0,002276

8

1,128197

1

0,128197

18

0,9851554

1

0,014845

9

1,042734

1

0,042734

19

0,9516132

1

0,048387

10

1,005533

1

0,005533

20

0,5622403

1

0,43776

Безпечні макроси

21

-0,9999897

-1

0,0000103

31

-0,9999924

-1

0,0000076

22

-1,00001

-1

0,00001

32

-1,000004

-1

0,000004

23

-1

-1

0

33

-0,9999959

-1

0,0000041

24

-0,9999897

-1

0,0000103

34

-1,00001

-1

0,00001

25

-0,9999927

-1

0,0000073

35

-1,000006

-1

0,000006

26

-1,000013

-1

0,000013

36

-1,000007

-1

0,000007

27

-0,999999

-1

0,000001

37

-0,9999942

-1

0,0000058

28

-0,9999831

-1

0,0000169

38

-0,9999911

-1

0,0000089

29

-1,000002

-1

0,000002

39

-1,000021

-1

0,000021

30

-1,000007

-1

0,000007

40

-1,054193

-1

0,054193

Як свідчить дані табл. 2.4 всі безпечні макроси та скриптові віруси із тестової вибірки розпізнані правильно. Максимальна ( ) та середня помилки ( ) вихідного параметру для тестової вибірки представлені в табл. 2.5

Таблиця 2.5

Максимальна та середня помилка вихідного параметру ДШП

Розпізнаний клас

Скриптові віруси

0,4649833

0,0918054

Безпечні макроси

0,0541930

0,0027173

Для всіх тестових прикладів

0,4649833

0,047261

Аналіз даних табл. 2.5 показує, що середня та максимальна помилка вихідного параметру знаходяться в допустимих межах і не впливають на достовірність класифікації. Крім того, порівняння якості розпізнавання макровірусів за допомогою РБФ та БШП вказують на значну перевагу останнього, що відповідає теоретичним дослідженням [17, 24, 29, 34, 68].

Відповідно методики п. 1.2 та виразів (1.36, 1.37), засобами пакету Neuro Pro, проведена вербалізація ДШП, яка дозволила побудувати аналітичну залежності величини вихідного параметру ДШП від величин (наявності) параметрів, що сигналізують про вірус:

,

(2.3)

,

(2.4)

,

(2.5)

,

(2.6)

де і  номер вхідного нейрону, j  номер схованого нейрону, M=5  кількість схованих нейронів, N=105  кількість вхідних нейронів, kj, nj  вагові коефіцієнти j-ого схованого нейрону, K  коефіцієнт, ­Zj  нормалізована величина Yj, Yj  величина виходу j-го схованого нейрону, zi  нормалізована величина xi, xi  величина і-го вхідного сигналу, mi,j  ваговий коефіцієнт і-ого вхідного та j-ого схованого нейрону.

Відзначимо, що коефіцієнти kj, nj та mi,j відрізняються від вагових коефіцієнтів зв'язків ДШП. Використовувати (2.3, 2.4) доцільно в якості баз знань антивірусних засобів, що експлуатуються кінцевими користувачами і не призначених для навчання. Такі бази знань можливо модифікувати як за рахунок зміни вагових коефіцієнтів, так і шляхом додавання нових вхідних параметрів. Крім того, бази знань виду (2.3, 2.4) не потребують значних обчислювальних ресурсів для збереження та реалізації. Однак використання аналітичних залежностей може призвести і до суттєвих негативних наслідків, пов'язаних із зменшенням точності класифікації. Для оцінки точності класифікації ДШП внаслідок вербалізації були проведені числові експерименти спрямовані на визначення процентної кількості правильно класифікуємих прикладів (Ki), а також розрахунку максимальної (max) та середньої (s) помилок вихідного параметру. При цьому, всі неправильно класифіковані приклади були віднесені до класу підозрілих макросів. Результати експериментів для навчальних та тестових даних, представлені в табл. 2.6.

Таблиця 2.6

Оцінка точності класифікації вербальної моделі ДШП

Тип скрипта

Навчальні дані

Тестові дані

Ki

Ki

Вірус

95%

1,359513

0,105491

90%

1,46862

0,254936

Безпечний

50%

1,466891

1,108736

50%

1,888688

1,105411

Для всіх прикладів

72,5%

1,466891

0,607113

70%

1,888688

0,680174

Аналіз даних табл. 2.6 вказує на те, що при внаслідок вербалізації моделі ДШП відносна кількість правильно розпізнаних прикладів зменшилась на 27,5% для навчальних прикладів і на 30% для тестових. Відповідно максимальна і середня похибка вихідного параметра для тестових прикладів збільшилась приблизно в 4,06 та в 14,39 раз. Таким чином, вербальна модель БШП на практиці може використовуватись тільки після додаткової перевірки точності класифікації, або в випадках коли критерій точності не є визначаючим. Наприклад, при попередньому лабораторному аналізі даних.

Можна сформулювати висновок про те, що результати числових експериментів підтвердили доцільність використання БШП для розпізнавання скриптових та макровірусів. Перспективним шляхом розвитку досліджень в даному напрямку є адаптація БШП не тільки для розпізнавання інших видів вірусів, а й для розпізнавання інших шкідливих програм, наприклад кейлогерів.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]