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

2.4. Використання нейронних мереж в системах активного захисту програмного забезпечення мережевих серверів

2.4.1. Концепція захисту програмного забезпечення Internet-серверів з використанням активної складової

Вже досить давно однією з найбільш гострих проблем в області комп'ютерної безпеки є захист КС масштабу підприємства, інтегрованих з глобальною мережею Internet [41, 53, 70, 91]. В багатьох подібних КС використовуються спеціалізовані програми-сервери, що забезпечують віддалений доступ до певних ресурсів. Так, наприклад, працездатність опублікованого в мережі Internet Web-сайту підприємства забезпечується Web-сервером, а працездатність електронної пошти  поштовим сервером. Крім цього, для інтеграції з Internet в широко застосовуються FTP-сервери. Хоча на ринку ПЗ представлено достатньо багато сучасних рішень в цьому напрямі, а проблемі захисту мережевих серверів присвячена велика кількість науково-практичних робіт [3, 36, 37, 39, 41, 69, 70, 72, 83, 91], але часті випадки успішних мережевих атак вказують на недостатню захищеність Internet-серверів. Підтвердженням такого висновку може бути широко відомий недавній факт блокування Web-серверів деяких провідних компаній розробників ПЗ США. Атака здійснювалась програмними засобами, а її ціллю було виведення із ладу ПЗ Web-серверу. Успіх атаки вказує на наявність прогалин в ЗЗІ. Таким чином вдосконалення ЗЗІ ПЗ мережевих серверів є актуальною та важливою науково-практичною проблемою тісно пов'язаною з завданням забезпеченням безпеки інформації в розподілених КС. Очевидно, що для вдосконалення системи захисту необхідно врахувати характер виконуваних функцій КС, механізми реалізації можливих атак, а також існуючі типові ЗЗІ. В [39, 41, 51-61, 70, 91] визначена структура можливих атак в мережі Internet. Щодо Internet-серверу представляють інтерес атаки типу: відмова в обслуговуванні, підміна довіреного об'єкту (суб'єкта) КС, а також впровадження в КС помилкового об'єкту з метою порушення конфіденційності або цілісності інформації, розміщеної на Internet-сервері.

В основному механізм атаки на відмову в обслуговуванні базується на тому факті, що мережева ОС, під управлінням якої працює Internet-сервер, здатна підтримувати тільки обмежене число відкритих віртуальних з'єднань і відповідати тільки на обмежене число запитів. Ці обмеження залежать від різних параметрів, основними з яких є швидкодія комп'ютера, об'єм оперативної пам'яті і пропускна спроможність каналу зв'язку (чим вона вище, тим більше число можливих запитів в одиницю часу). Відзначимо, що в представленій роботі не розглядаються атаки на відмову в обслуговуванні Internet-серверу направлені зсередини КС. В [39, 51, 53-55, 57, 59, 61, 66, 67] розглянуто три типові механізму атаки на відмову в обслуговуванні Internet-серверу. Перший різновид такої атаки полягає в передачі з однієї адреси такої кількості запитів на Internet-сервер, яку дозволяє трафік (направлений "шторм" запитів). В [39] приведені результати здійснення таких атак на різні типи Web–серверів і операційних систем. Аналіз результатів вказує на досить невисоку ефективність таких атак у випадку якісного адміністрування Internet-серверу, мережевої ОС і використовуванні достатньо потужного апаратного забезпечення. Другим різновидом атаки на відмову є передача на об'єкт, який атакується, некоректного, спеціально підібраного запиту. В цьому випадку за наявності помилок в програмному забезпеченні Internet-серверу або мережної ОС можливе зациклення процедури обробки запиту, з подальшим зависанням системи. Висновки [39, 51, 53-55, 57, 59, 61, 66, 67] вказують на вкрай низький успіх такої атаки в випадку використовування сучасних версій Internet-серверу, ОС і типових ЗЗІ. Третій різновид атаки на відмову базується на санкціонованому використовуванні серверних програмних додатків, оскільки їх використовування може здійснюватися анонімно, хоча і в межах встановлених правил. При цьому використовуються ресурси мережевої ОС і обчислювальні можливості комп'ютера. Можливі наслідки такої атаки полягають у вичерпанні обчислювальних ресурсів серверу, що у свою чергу може привести до обмеження його функціональних можливостей або навіть до повної зупинки. Відзначимо, що висновки [39, 51, 53-55, 57, 59, 61, 66, 67] вказують на високу небезпечність саме такого типу атаки. Небезпека посилюється завдяки широкому розповсюдженню серверних технологій за допомогою яких реалізуються сучасні інтерактивні Web-додатки. Найбільш популярними серверними технологіями є PHP, Java, Perl, ASP, Python та Gold Fusion, а найбільш популярними Web-серверами  Apache та Web-сервер, що входить до складу оснастки IIS ОС Windows [32, 59, 66, 69, 72]. В [57, 59, 61] пропонується ефективність атаки на серверні додатки поставити у відповідність до відношення обсягу обчислювальних ресурсів витрачених зловмисником до втрат ресурсів серверу. Вказані втрати можливо визначати так:

  • Для зловмисника  за допомогою показників навантаження (сумарного навантаження) центрального процесора, використання мережевого трафіку та обсягу оперативної пам'яті при реалізації атаки і тривалості виконання атаки.

  • Для серверу  за допомогою тривалості роботи з таким навантаженням центрального процесора, використанням мережевого трафіку та оперативної пам'яті при якій доступ до обслуговуваних ресурсів гарантовано блокований.

Відповідно можливо використати два показники ефективності атаки на відмову в обслуговуванні  потужність атаки і ефективність блокування, а також два показники ефективності захисту  потужність захисту і ефективність захисту від блокування. В загальному випадку під потужністю атаки (P) будемо розуміти відношення використання обчислювальних потужностей сервером (K), що атакується, до використання обчислювальних потужностей комп'ютера зловмисника при реалізації атаки (Z):

(2.14)

Для конкретних показників використання обчислювальних потужностей (2.14) можливо переписати так:

,

(2.15)

де параметр і={1,2,3} вказує на вид обчислювальних потужностей. і=1  навантаження центрального процесору, і=2  обсяг мережевого трафіку, і=3  обсяг оперативної пам'яті .

Ефективність блокування (B) визначається у вигляді відношення тривалості роботи серверу з 100% навантаженням (), до тривалості виконання атакуючих запитів ():

(2.16)

В загальному випадку, під потужністю захисту () будемо розуміти:

(2.17)

Відносно конкретних показників використання обчислювальних потужностей перепишемо (2.17) з врахуванням (2.15):

(2.18)

Ефективність захисту від блокування (A) розраховується так:

(2.19)

Аналіз [32, 39, 51, 53-55, 57, 59, 61, 66, 67, 69] дозволяє зробити висновок про те, що типовий захист Internet-серверу від атак на відмову в обслуговуванні полягає: в доробці ПЗ, вдосконаленні технології адміністрування, застосуванні більш потужного апаратного забезпечення, застосуванні резервного апаратного забезпечення інтегрованого з системами регулювання і перерозподілу навантаження. Не важко побачити, що захист від масованих атак першого і третього типів вимагає великих економічних витрат за рахунок використання апаратного забезпечення з надмірною, резервною потужністю. В той же час, для реалізаціх цих атак також потрібні відносно великі ресурси, тому їх здійснення можливе лише впродовж достатньо короткого часового інтервалу. В протилежному випадку місцезнаходження зловмисника легко визначити.

Типовими атаками з метою порушення конфіденційності або цілісності інформації, розміщеної на Internet-сервері є: злам програм (скриптів), що використовуються Internet-сервером, злам паролів, що забезпечують доступ до інформації, використання слабких місць протоколів обміну даними між клієнтом і Internet-сервером для помилкової аутентифікації або авторизації, використання помилок в ПЗ серверу і ОС [32, 39, 51, 57, 59, 61, 66, 67, 69]. Типовий захист Internet-серверу від атак даного типу полягає в застосуванні мережевих екранів, що обмежують використання сервісів, які надаються користувачам, а також обмежують з'єднання, грамотному адмініструванні Internet-серверу і ОС, застосуванні СВА та ПЗ, яке не дозволяє зловмисникам використовувати вразливості Internet-серверу, ОС і серверних додатків (скриптів), використанні захищених протоколів обміну інформацією (SSL).

Необхідно відзначити, що використання вказаних заходів істотно підвищує рівень безпеки Internet-серверу від атак з метою порушення конфіденційності або цілісності інформації, але може значно зменшувати ефективністю захисту від атак на відмову в обслуговуванні (2.14-2.19), через те, що типові системи захисту Web-серверу використовують значні обчислювальні ресурси комп'ютера-сервера. З метою перевірки даного твердження автором було проведено перевірку рівня захисту серверних технологій PHP та Java з використанням показників (2.14-2.19). В якості засобу здійснення атаки на відмову було розроблено спеціальну прикладну програму. Основними можливостями цієї програми є відкриття , зчитування та закриття файлу, що знаходиться на будь-якому Web-сервері. Інтерфейс користувача програми дозволяє визначити повне ім’я файлу, кількість сеансів доступу та параметри доступу (відкриття, закриття, кількість, порядок та місцезнаходження інформації зчитаної із файлу). Програма розроблена в середовищі Microsoft VC++.NET з використання бібліотеки afxinet. Основними етапами роботи програми є відкриття сесії, багаторазовий доступ до файлу по протоколу HTTP в циклі з визначеною кількістю ітерацій, закриття сесії та обчислення терміну виконання циклу. Зазначимо, що обсяг ядра програмного коду програми становить менше 50 рядків. В якості Web-серверу використано Apache 1.3, який працював на комп’ютері Intel Pentium 3 під управлінням ОС MS WindowsXP. Атака здійснювалась з використанням комп’ютера з аналогічними характеристиками. Параметри ОС комп’ютерів були настроєні для встановлення довільної кількості мережевих з’єднань. Реєстрація тривалості виконання сервером клієнтських запитів здійснювалась програмно.

На першому етапі моделювання були проведені експерименти по відкриттю/закриттю HTML файлу по протоколу HTTP та відкриттю/закриттю HTML файлу через мережу без використання Web-серверу. Результати експериментів представлені в табл. 2.10.

Таблиця 2.10

Термін виконання Web-сервером клієнтських запитів

Кількість з’єднань

Термін відкриття/закриття HTML-файлу ( хвилини : секунди )

За допомогою Web-серверу

Без використання Web-серверу

1

00:00

00:00

10

00:00

00:00

100

00:01

00:00

1000

00:05

00:00

10000

00:44

00:01

20000

01:29

00:03

50000

03:41

00:08

100000

07:22

00:15

Відповідно табл.2.10 використання Web–серверу збільшує термін виконання запиту в 30–40 разів. Також проведена перевірка стійкості технології PHP. Основні результати перевірки представлені в табл. 2.11 та 2.12.

Таблиця 2.11

Навантаження процесора Web-сервера при доступі до HTML- та PHP-файлів

Кількість з’єднань

Завантаження процесора

Відкриття/закриття

HTML файлу

Зчитування

HTML- файлу

Відкриття/закриття

PHP-файлу

Зчитування

PHP-файлу

1

1

1

3

3

10

3

3

30

30

100

16

16

100

100

1000

100

100

100

100

10000

100

100

100

100

Таблиця 2.12

Термін виконання клієнтських запитів при доступі до HTML та PHP файлів

Кількість з’єднань

Термін виконання запиту, секунди

Відкриття/

закриття

HTML-файлу

Зчитування 5 перших рядків

HTML- файлу

Відкриття/

закриття

PHP-файлу

Зчитування 5 перших рядків

PHP-файлу

1

0,09

0,1

0,1

0,156

10

0,12

0,15

0,15

0,751

100

0,41

0,881

5,783

6,54

1000

3,215

3,525

63,654

65,013

10000

32,547

36,993

632,163

645,832

По даним табл. 2.12 побудовані графіки відношення термінів виконання запитів, які показані на рис. 2.11.

1 – відкриття файлів; 2 – зчитування файлів.

Рис. 2.11 Відношення термінів виконання запитів до PHP та HTML-файлів

Аналіз даних табл. 2.12 та рис. 2.11 вказує, що при здійсненні атаки шляхом відкриття PHP-файлів термін блокування сервера в 19 – 20 разів триваліший ніж при атаці шляхом відкриття HTML-файлів. Для повного блокування сайту достатньо здійснити близько 1000 циклічних процедур відкриття/закриття HTML-файлу та 100 аналогічних процедур для PHP-файлу. При цьому зчитування змісту перших 5 рядків як HTML так і PHP-файлів практично не впливає на завантаження сервера.

Проведено моделювання реалізації даної атаки декількома зловмисниками. Тривалість блокування сайту зростала прямо пропорційна кількості нападників. Відзначимо, що значного зростання використаної оперативної пам’яті не зафіксовано, хоча кількість процесів PHP в деяких випадках значно перевищила кількість зловмисників. Розглянута атака при якій файли тільки відкривались, зчитувались, але не закривались. Результати цих експериментів показали недоцільність атак такого типу. Таким чином, із розглянутих, найбільш небезпечною є синхронізована в часі атака з використанням виключно відкриття/закриття PHP-файлу, наслідком якої може стати надмірне навантаження центрального процесора.

На третьому етапі були проведені експерименти по відкриттю / закриттю Web-сторінок, що використовують серверні технології Java. Особливістю таких сторінок є те, що в теперішній час для формування інтерактивних Web- сторінок використовуються дві таких технології. Це так звані сервлети (Servlet) та серверні сторінки Java (JSP). Механізми функціонування сервлетів та серверних сторінок Java, хоча і мають багато спільного, але дещо відрізняються. Тому були проведені експерименти по відкриттю/закриттю сервлету та відкриттю/закриттю серверної сторінки Java. Звернення до Web-серверів Apache та Tomcat проводилось відповідно протоколу HTTP методом GET. Результати експериментів представлені в табл.2.13. Одержані експериментальні дані апроксимовані методом найменших. квадратів. Отримані функції термінів виконання запитів на відкриття/закриття JSP (2.20) та Servlet (2.21) від кількості запитів:

,

(2.20)

,

(2.21)

де Y – термін виконання запиту (секунди), X- кількість запитів.

Таблиця 2.13

Термін виконання запитів для отримання доступу до Servlet та JSP

Кількість з’єднань

Термін виконання запиту ( години: хвилини : секунди )

Відкриття/закриття

Servlet

Відкриття/закриття

JSP

1

00:00:00

00:00:00

10

00:00:00

00:00:00

100

00:00:01

00:00:01

1000

00:00:07

00:00:11

2000

00:00:14

00:00:17

2500

00:00:15

00:00:21

2750

00:00:17

00:00:23

3000

00:00:18

00:00:26

4000

00:00:19

00:00:34

5000

00:00:33

00:00:42

6000

00:00:38

00:00:43

7000

00:00:44

00:01:00

8000

00:00:51

00:01:09

9000

00:00:57

00:01:17

10000

00:01:03

00:01:25

20000

00:02:07

00:02:51

50000

00:05:17

00:07:07

100000

00:10:31

00:14:13

Аналіз рівнянь (2.20) та (2.21) вказує на лінійних характер зростання терміну виконання запитів від їх кількості. Крім того, термін виконання запитів Servlet менший від терміну виконання запитів JSP. Для порівняння ефективності атаки на відмову були побудовані графіки відношення терміну відкриття/закриття Servlet до терміну відкриття/закриття HTML-сторінки та відношення терміну відкриття/закриття JSP до терміну відкриття/закриття HTML-сторінки для різної кількості запитів. Вказані графіки показані на рис.2.12. Їх аналіз показує, що при великій кількості запитів, яка характерна при здійсненні атаки, відношення терміну відкриття/ закриття JSP-файлу до HTML-файлу становить 1,8–1,9. Для Servlet це відношення 1,3–1,5.

Рис.2.12 Відношення термінів відкриття/закриття JSP та Servlet до терміну відкриття/закриття HTML файлу

Проведені експерименти показали, що як і для PHP при здійснені атаки декількома зловмисниками термін відкриття/закриття файлів сайту зростав прямо пропорційна кількості нападників. Значного зростання використаної оперативної пам’яті не зафіксовано. Таким чином, із розглянутих атак на HTML, JSP та Servlet, найбільш небезпечною є синхронізована в часі атака з використанням виключно відкриття/закриття JSP-файлу. Обробка результатів експериментів за допомогою (2.14-2.19) дозволила розрахувати показники ефективності атаки та захисту, представлені в табл. 2.14. Аналіз даних табл. 2.14 вказує на відносну низьку ефективність захисту від атаки на відмову, всіх серверних технологій. Крім власне атаки на відмову, визначений факт може бути використаний зловмисником для компрометації системи захисту Web-серверу від НСД. Механізм компрометації полягатиме в багатократній передачі Web-серверу запитів з метою отримання доступу до закритих Web-сторінок. Параметрами цих запитів можуть бути ім’я користувача та його пароль, або вихідні дані запуску серверних додатків. Як правило, аналіз параметрів виконується або самим Web-сервером, або серверним сценарієм. В результаті багатократних запитів, зловмисник хоча і не отримає НСД до інформації, але сервер буде перенавантажено і заблоковано для легітимних користувачів.

Таблиця 2.14

Показники ефективності атаки та захисту HTML-файлів, серверних сценарії PHP та Java

Показники

HTML

Файли розміщені на Web-сервері

HTML

PHP

Servlet

JSP

Кількісь атакуючих запитів – 1000

Потужність атаки – P1

0

10

50

15

19

Ефективність блокування – B

0

0,4

0,9

0,5

0,7

Ефективна потужність захисту – 1

0,1

0,02

0,067

0,053

Ефективність захисту від блокування – A

2,5

1,11

2

1,43

Відзначимо, що в багатьох сучасних СВА вбудовано захист від атаки з метою НСД. Однак реакція на спробу НСД полягає в тимчасовому блокуванні доступу до захищеного ресурсу, або до Web-серверу в цілому. В більшості випадків доступ блокується для всіх користувачів, адже розпізнати зловмисника можливо тільки по його зворотній адресі (IР-адресі, МАС-адресі або масці підмережі), яка може бути підмінена. Однак саме блокування Web-серверу і може бути основною або допоміжною метою атаки. Таким чином негативним фактором реалізації сучасних систем захисту Web-серверу від атаки з метою НСД є зменшення його захищеності від атаки на відмову в обслуговуванні. Відповідно (2.14-2.19) шляхом компенсації впливу цього фактору може бути завантаження обчислювальних ресурсів зловмисника. Для цього зловмиснику слід надіслати відповідь, обробка якої потребує великого проміжку часу та призведе до великої втрати обчислювальних ресурсів. Компонент системи захисту, функціональність якого полягає в реалізації такої відповіді назвемо активною складовою системи захисту [53].

При формуванні відповіді можливо використати два різні підходи. Суть першого підходу полягає в наданні зловмиснику хибного ресурсу, розпізнавання якого в автоматичному режимі повинно бути вкрай ускладнене. Другий підхід полягає в відправці зловмиснику також під видом цільового ресурсу додатку, виконання якого викличе великі витрати обчислювальних ресурсів, або навіть завдасть явної шкоди його КС. Реалізувати такий активний додаток можливо, наприклад, в вигляді елементу ActiveX або скрита, вбудованого в Web-сторінку, що імітує доступ до цільового ресурсу. Написати скрипт можливо на мовах програмування на JavaScript, VBScript, VBA або ActiveScript з використанням результатів [44, 51]. Деструктивні дії елементу ActiveX або скрипта на стороні зловмисника повинні бути спрямовані на попередження зловмисника про незаконність нападу, завантаження центрального процесора, оперативної пам'яті, вичерпання мережевих з'єднань та/або на використання вразливостей ПЗ. Додаткові мережеві з'єднання, створені активною складовою можуть бути використані для локалізації зловмисника. Зрозуміло, що алгоритм спрацьовування активної складової повинен бути адаптований до виду атаки і її потенційної небезпеки. Наприклад, при розпізнаванні спроби НСД до Web-сторінки, яка містить закриту, але не важливу інформацію функцією активного додатку може бути тільки попередження зловмисника про відповідальність за його вчинок. Окрім цього, навіть при штатній експлуатації доцільно варіювати відповідь типу "доступ заборонено", що також негативно позначиться на ефективності атаки. Наприклад, при першому неправильному вводі паролю слід надіслати Web-сторінку з текстом “пароль неправильний”, при другому  Web-сторінку з рисунком “Не вірний пароль”, а в наступному невдалому випадку  з текстом “не правильні ідентифікаційні дані”. Різноваріантність ускладнить зловмиснику автоматизацію процесу визначення моменту отримання дозволу доступу до захищеного цільового ресурсу. Таким чином ускладниться процес автоматичного підбору паролю. Механізм формування відповідей активної складової системи захисту показаний на рис. 2.13.

Рис. 2.13 Функціонування активної складової системи захисту Internet-сервера

Програмні компоненти активної складової слід зберігати у вигляді невеликих "статичних" файлів, відправка яких відповідно (2.14-2.19) не супроводжується великим навантаженням на сервер. Тому імітація підбору пароля або інших параметрів, яка ініціалізує відправку таких файлів, не спричинить підвищення ефективності атаки на відмову в обслуговуванні.

Оцінити ефективність використання активної складової можливо за рахунок збільшення часу необхідного зловмиснику для аналізу відповіді Internet-серверу, а також за рахунок збільшення необхідного об'єму обчислювальних ресурсів для відправки запитів. При цьому по аналогії з (2.14-2.19) можливо використовувати показники:

,

(2.22)

,

(2.23)

де  зменшення ефективності блокування, t1  час необхідний зловмиснику для аналізу відповіді у випадку відсутності активної складової, t2 час необхідний зловмиснику для аналізу відповіді при використання активної складової, V  зменшення ефективності атаки, v1  об'єм обчислювальних ресурсів необхідний зловмиснику для атаки у випадку відсутності активної складової, v2  час необхідний зловмиснику для аналізу відповіді при використання активної складової.

Використання активної системи захисту має два принципових недоліки:

  • Реалізація деструктивних дій в КС зловмисника може бути розцінено як втручання в роботу сторонньої КС, що є порушенням закону [39].

  • Зловмисник може спробувати скомпрометувати систему захисту шляхом перенаправлення активного додатку сторонньому користувачеві. Таким чином деструктивні дії можуть бути здійснені в КС, яка не бере участі в атаці.

Шляхом усунення першого недоліку може бути розгляд будь-якого комп'ютера, що здійснює спробу доступу до захищеного ресурсу в якості складової КС, що захищається. Для цього при першій спробі доступу до захищеного ресурсу, на комп'ютері користувача слід встановити ПЗ, виключно застосування якого дозволяє ввести ідентифікаційні дані та здійснити доступ до захищеного ресурсу. Реалізувати вказані вимоги можливо за рахунок використання специфічних портів, протоколів передачі інформації та шифрування даних. При цьому ПЗ повинно надавати можливість не тільки “ручної”, але й програмної ідентифікації користувача. Наприклад, якщо реалізувати ПЗ у вигляді елемента ActiveX, то в ньому слід визначити загальнодоступний інтерфейс з методами вводу ідентифікаційних даних. Відзначимо, що активний додаток може відразу входити до складу означеного ПЗ. В процесі встановлення користувачеві необхідно погодитись з використанням означеного ПЗ та включенням його комп'ютера до захищеної КС. Таким чином використання обчислювальних ресурсів комп'ютера який здійснює доступ до захищеного ресурсу можливо розглядати як використання обчислювальних ресурсів власної КС. Для усунення другого недоліку в активному додатку слід передбачити компонент розпізнавання атаки, який доцільно реалізувати з використання нейромережевих технологій.

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