- •І.А. Терейковський
- •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.1. Загальні положення
Враховуючи результати 1, 3, 31, 36, 37, 39, 45, 50, 72, 82, висновки п. 1.11, наявність статистичного матеріалу, власний практичний досвід, можливості розробки та використання доступного ПЗ, було проведено апробацію застосування НМ при вирішенні наступних задач:
Розпізнавання вірусів та троянських програм створених за допомогою скриптових мов програмування.
Розпізнавання спаму.
Розпізнавання атак в системах активного захисту мережевих серверів.
Для всіх задач застосовано однотипний процес вирішення:
На основі аналізу задачі обґрунтовувалась її важливості, постановка задачі в практичному аспекті, недоліки розповсюджених шляхів вирішення та визначались можливості застосування НМ.
Постановка задачі адаптувалась для застосування НМ. В процесі адаптації уточнювалась роль НМ та визначались фізичні параметри які можливо використати в якості вхідних для НМ. Розроблювався механізм попередньої обробки фізичних параметрів.
На основі результатів п.1.10 визначався тип НМ.
Формувалась архітектура однієї або декількох НМ. Одним із головних критеріїв формування була можливість практичної реалізації за допомогою розповсюдженого або власного ПЗ. .
Для перших двох задач на гіпотетичних та реальних прикладах проводилось навчання та тестування НМ. Тестування проводилось для програм написаних на VBA.
З точки зору теорії, у всіх перерахованих випадках НМ застосовувались для вирішення проблеми розпізнавання образів. З практичної точки зору суть використання НМ залежала від конкретної задачі і полягала:
В класифікації скриптових програм на безпечні, підозрілі та завірусовані.
В класифікації електронних листів по критерію семантичної схожості тексту. За рахунок використання декількох типів НМ класифікацію можливо провести як в автоматизованому, так і в автоматичному режимі. В першому випадку електронні листи представляються користувачеві у вигляді точок на топографічній карті. Чим більш схожа тематика листів, тим ближче знаходяться вони один біля другого. В другому випадку листи автоматично розділяються на цільові, нейтральні та спам. Крім того, показана доцільність використання НМ в процесі попередньої обробки електронних листів.
В виявленні запитів, переданих з метою отримання НСД до інформації мережевого сервера.
2.2. Розпізнавання вірусів та троянських програм створених за допомогою скриптових мов програмування
2.2.1. Шляхи вдосконалення систем захисту від скриптових вірусів та троянських програм
За останні декілька років значна кількість успішних атак на ресурси КС реалізована за допомогою троянських програм та вірусів [3, 10, 31, 36, 37, 39, 41]. Даний факт визначає важливість вдосконалення відповідних методів ЗЗІ. І хоча розробці систем захисту від троянів та вірусів присвячено достатньо багато досліджень [1, 3, 5, 31, 36, 37, 39, 41, 45], практичний досвід та висновки [1, 3, 5, 31, 36, 37, 39, 41, 45, 50, 51, 62, 72, 91] вказують на їх відносно низьку ефективність. При цьому потенційно висока небезпека таких програм зафіксована як в вітчизняних, так і в закордонних нормативних документах в галузі ЗІ [8]. Багато в чому необхідність зміцнення захисту зумовлена не досконалістю системи діагностики яка не здатна адекватно реагувати на появу нових вірусів та троянів, створених за допомогою сучасних технологій. Завдання ускладнюється тим, що для кожної ОС та ПС потрібно використовувати власну методику розпізнавання даних шкідливих програм. Разом з цим, для більшості КС характерним є організація електронного документообігу при адміністративному обмеженні повноважень користувачів на інсталяцію ПЗ та доступу до файлів. В цьому випадку найбільш ймовірними шляхами зараження є використання листів електронної пошти, офісних документів та перегляд Web-сайтів. Для вказаних ресурсів шкідливе ПЗ як правило розроблюється за допомогою скриптових мов програмування. Таким чином, трояни та віруси написані на скриптових мовах програмування є одною із основних загроз безпеці КС. Ймовірність зараження підвищується завдяки тому, що технологія їх створення і розповсюдження загальнодоступна завдяки мережі Інтернет. При цьому більшість ЗЗІ не в змозі забезпечити достатній рівень безпеки [39, 72, 91]. Основною проблемою є розпізнавання вірусів та троянів серед звичайних програм та документів.
Відповідно вітчизняній нормативній документації, в галузі ЗІ будемо вважати, що комп'ютерний вірус це програма, що розмножується та поширюється самочинно [8]. Разом з тим комп'ютерний вірус може порушувати цілісність інформації, ПЗ та режим роботи обчислювальної техніки. При цьому вірус написаний на скриптовій мові програмування будемо називати скриптовим вірусом. Скриптовий вірус, який використовує можливості макромов, вбудованих в системи обробки даних називають макровірусом [31, 62, 64]. Незважаючи на ПС розповсюдження скриптовий вірус представляє собою скрипт або макрос, що виконується внаслідок реалізації певної події, наприклад при відкритті документа або при натисненні користувачем певної клавіші на панелі інструментів. Відзначимо, що можливості сучасних скриптових мов досить широкі. Можливо вважати, що скрипт який заражає файли типів exe, com або bat є макровірусом.
Під терміном троян (троянська програма) будемо розуміти програму яка може без санкції користувача виконувати певні деструктивні функції, наприклад знищувати, модифікувати або передавати інформацію [8]. Подібно до вірусів трояни з маскуються або заражають звичайні програми. На відміну від вірусів вони не мають функції саморозмноження. Трояни, реалізовані за допомогою скриптових мов програмування будемо називати скриптовими. Подібно до макровірусів скриптові трояни призначені для функціонування в системах обробки даних будемо називати макротроянами. На сьогодні найбільш поширені макровіруси та макротрояни, що пристосовані для функціонування в середовищі MS Office написані на мові програмування Visual Basic for Applications. Це пояснюється популярністю як самого пакету MS Office так і мови VBA, яка крім компанії Microsoft використовується великою кількістю інших фірм виробників ПЗ. Також відомі макровіруси та макротрояни адаптовані для функціонування в таких розповсюджених прикладних пакетах як AutoCAD, 1C "Предприятие" та 1С "Бухгалтерия". Крім того, в сучасних версіях ОС Windows вбудовано скриптовий інтерпретатор Windows Scripting Host, який дозволяє виконувати скрипти (макроси) написані на мовах програмування VBScript та JScript. Файли в яких знаходяться такі макроси звичайно мають розширення vbs та js. Запуск макроса може бути здійснено користувачем при відкритті файлу. Ця особливість використовується для активізації вірусів та троянів, що розповсюджуються в вигляді файлів, прикріплених до листів електронної пошти. Результати досліджень [31, 39, 41, 45, 51, 52, 62, 64, 70, 72, 91] вказують, що більшість поштових вірусів та троянів функціонують в ПС Wscript і написані на мові VBScript. При цьому базою VBScript і Visual Basic for Applications є мова Microsoft Visual Basic. Тому по своїй суті та й по технології створення більшість поштових вірусів та троянів не відрізняються від макровірусів та макротроянів MS Office. Однак, по причинам особливостей функціонування та розпізнавання виділяють поштові скриптові віруси та трояни.
Шкідливі програми призначені для нанесення шкоди користувачеві при перегляді їм Web-сайтів мають певні відмінності від шкідливих макросів та поштових скриптів. Насамперед ці програми мають бути вбудовані в Web-сторінку та виконуватись в середовищі браузеру. Тому їх деструктивні можливості та механізм саморозмноження обмежується системою безпеки браузеру або/та тих додаткових модулів (віртуальних машин), що використовуються для функціонування програми. Відзначимо, що атаки за допомогою шкідливих програм, розміщених на Web-сайтах дістали назву міжсайтового скриптингу, який по матеріалам міжнародної групи Web Application Security Project (www.fcenter.ru) входить до списку 10 сучасних найбільш критичних проблем вразливості Web-додатків. Проведено аналіз технологій створення клієнтських Web-додатків, які потенційно володіють можливостями міжсайтового скриптингу. Результати аналізу показали, що для реалізації міжсайтового скриптингу можливо використання наступних загальнопоширених технологій: Java, ActiveX, VBA, JavaScript, JScript, VBScript та Flash Macromedia [32, 33, 39, 44, 92]. Однак при стандартних настройках безпеки і відсутності дірок в ПЗ загальнопоширених браузерів (Microsoft Internet Explorer, Mozilla Firefox, Netscape Navigator, Opera) та віртуальної машини Java, можливості саморозповсюдження програм вбудованих в Web-сторінку практично відсутні. Тому в міжсайтовому скриптингу в основному використовуються трояни. Деструктивні можливості програм створених за допомогою Java, ActiveX, VBA, JavaScript, Jscript та VBScript активізуються тільки після самостійної зміни користувачем стандартних настройок системи безпеки. В той же час системні (деструктивні) можливості додатків Flash Macromedia багато в чому визначаються програвачем Flash і в супроводжуючій технічній документації описані не достатньо. Відзначимо, що дана технологія є досить поширеною для створення та перегляду анімованих зображень (фільмів Flash). Показ фільму, реалізований спеціальним програвачем Flash, який може бути встановленим на комп’ютері при типовій інсталяції сучасних версій загальнопоширених броузерів. Особливістю Flash є висока якість показу при невеликому обсязі файлу з фільмом, що забезпечується використанням повноцінної об’єктно-орієнтованої скриптової мови програмування ActionScript [33, 63]. Саме системні можливості ActionScript роблять сайт, на якому розміщений фільм Flash, потенційно небезпечним. Небезпека фільмів підсилюється також тим, що за допомогою ActionScript можливо створити скриптовий поштовий троян. При цьому, файли Flash прикріплені до електронних листів вважаються безпечними.