- •І.А. Терейковський
- •2.1. Загальні положення 119
- •Список скорочень
- •Розділ 1. Теоретична оцінка ефективності застосування нейронних мереж в галузі захисту програмного забезпечення
- •1.1. Передумови застосування штучних нейронних мереж
- •1.2 Багатошаровий перспетрон.
- •1.3. Мережа з радіальними базисними функціями
- •1.4. Нейронні мережі, що самонавчаються
- •1.4.1. Базова модель
- •1.4.2. Топографічна карта Кохонена та її сучасні модифікації
- •1.5. Ймовірністні нейронні мережі
- •1.6. Рекурентні нейронні мережі
- •1.6.1. Загальні положення
- •1.6.2. Класичні асоціативні нейроні мережі
- •1.6.2.1. Мережа Хопфілда.
- •1.6.2.2. Мережа Хеммінга
- •1.6.2.3. Мережа Коско
- •1.6.2.4. Сфера використання, переваги та недоліки
- •1.7. Мережі адаптивної резонансної теорії
- •1.8. Мережі призначені для розпізнавання змісту тексту
- •1.9. Принципи розробки модельного програмного комплексу
- •1.10. Визначення доцільності застосування типу нейронної мережі
- •1.11. Перспективи практичного використання
- •Розділ 2. Практичне використання нейронних мереж в задачах захисту програмного забезпечення
- •2.1. Загальні положення
- •Розпізнавання вірусів та троянських програм створених за допомогою скриптових мов програмування.
- •Розпізнавання спаму.
- •2.2. Розпізнавання вірусів та троянських програм створених за допомогою скриптових мов програмування
- •2.2.1. Шляхи вдосконалення систем захисту від скриптових вірусів та троянських програм
- •2.2.2. Аналіз загальнопоширених методів розпізнавання
- •2.2.3. Формування множини вхідних параметрів
- •2.2.4. Особливості формування номенклатури вхідних параметрів при розпізнаванні скриптових троянів в фільмах Flash
- •2.2.5. Розробка архітектури та тестування нейронної мережі для розпізнавання скриптових поштових вірусів
- •2.3. Розпізнавання спаму
- •2.3.1. Визначення та загальна характеристика спаму
- •2.3.2. Недоліки сучасних методів розпізнавання спаму
- •2.3.3. Критерій фільтрації електронних листів
- •2.3.4. Задача порівняння рефератів за допомогою карти Кохонена та пружної карти
- •2.3.5. Використання мережі pnn для співставлення тематичної структури текстів електронних листів
- •2.3.6. Використання синаптичної нейронної мережі для підготовки вхідних даних
- •2.4. Використання нейронних мереж в системах активного захисту програмного забезпечення мережевих серверів
- •2.4.1. Концепція захисту програмного забезпечення Internet-серверів з використанням активної складової
- •2.4.2. Розробка архітектури нейронної мережі
- •Післямова
- •Список використаної літератури
2.2.3. Формування множини вхідних параметрів
Незалежно від типу НМ важливим етапом її застосування є визначення вхідних параметрів мережі. На погляд автора який базується на результатах [73, 74], базою визначення, крім теорії НМ, повинна стати класична теорія технічної діагностики [6]. Спочатку розглянемо більш загальний випадок формування вхідних параметрів НМ, призначеної для розпізнавання скриптових вірусів. В номенклатурі цих параметрів насамперед слід врахувати здатність поштового скриптового вірусу та макровірусу до саморозповсюдження [5, 31, 52, 62]. Очевидно, що шляхи саморозповсюдження багато в чому залежать від програмних засобів створення таких вірусів. В даній роботі акцент ставиться на розпізнаванні поштових скриптових вірусів та макровірусів, призначених для зараження документів MS Office і написаних з використанням споріднених об'єктно-орієнтованих мов програмування VBA та VBScript. Обидві мови програмування дозволяють працювати з файловою системою, встановлювати мережеві з'єднання, маніпулювати процесами і потоками, здійснювати виклик функцій API ОС та запускати на виконання зовнішні програми. Таким чином, шляхи розповсюдження поштових скриптових вірусів та макровірусів MS Office не обмежені програмним середовищем зараженого документу. При цьому можливості VBA дозволяють макровірусам використовувати різноманітні засоби розповсюдження. Наприклад, макровірус MS Word може заражати документи AutoCAD або командні файли. Засобами розповсюдження макровірусу в цьому випадку можуть бути об'єкти відповідних бібліотек, функції API ОС та програмні додатки. Можливе середовище, засоби та ознаки розповсюдження, показані на рис. 2.1. Крім того, номенклатура вхідних параметрів повинна враховувати характерні спільні ознаки скриптових вірусів та троянів. Серед них можливо виділити групи: автоматизації запуску, ігнорування помилок, маскування та деструктивних функцій, включаючи несанкціоновану передачу даних в мережу. Приблизний перелік ознак представлений в табл.2.1.
Таблиця 2.1
Характерні спільні ознаки скриптових вірусів та троянів
Назва групи |
Перелік ознак |
Автоматизації запуску |
Використання автомакросів |
Ігнорування помилок |
Використання операторів ігнорування помилок та переходу на певний рядок програмного коду після виникнення помилок |
Маскування вірусу |
Шифрування та дешифрування макросу, захист макросу паролем, відключення захисту від макровірусів, блокування натиску клавіш, перевизначення кодів клавіш, зміна шрифту макросів, запис та зчитування із буферу обміну, відключення редактору VBA, знищення панелі інструментів для роботи з макросами та шаблонами, ігнорування повідомлень програмного середовища, поліморфізм макровіруса, використання АРІ функцій для порушення функціонування антивіруса, знищення (модифікація) файлу, модулю або/та функції з вірусом |
Деструктивні функції |
Форматування дисків, запис та знищення файлів, встановлення паролів на файли, використання мережевих з'єднань та поштових клієнтів |
Рис. 2.1 Ознаки розповсюдження поштових скриптових вірусів та макровірусів
Безпосередньо вхідними параметрами НМ будуть фрагменти програмного коду (назви процедур, функцій, параметрів, об'єктів, бібліотек, методів та властивостей об'єктів), що відповідають ознакам процесу розмноження та характерним ознакам скриптових та макровірусів. Наприклад, однією із характерних ознак макровірусу є використання автомакросів. Відповідними параметрами будуть AutoOpen, AutoClose та інші аналогічні назви макросів. Ще однією характерною ознакою поштових скриптових вірусів є програмне створення та використання об'єкту Outlook. В цьому випадку вхідними параметрами будуть Outlook, Application, CreateObject. Крім того, до вхідних параметрів слід додати Each, так як цикл типу For Each достатньо часто використовується саме в скриптових та макровірусах. Очевидно, що вхідні параметри можуть мати тільки два значення, 1 якщо ознака присутня та 0 в протилежному випадку. Кількість вхідних параметрів (N) буде дорівнювати кількості відповідних фрагментів. Після формування номенклатури вхідних параметрів можливо перейти до розробки архітектури НМ призначеної для розпізнавання скриптових троянів та вірусів.