Предмет:
Тип роботи:
Бакалаврська робота
К-сть сторінок:
57
Мова:
Українська
отримання SYN + ACK пакета), то його ймовірність дорівнює:
(2. 10)
Розглянемо подію С, що полягає в появі напіввідкритого з'єднання другого типу. Воно дорівнює сумі подій А і Б. Звідси отримаємо:
(2. 11)
Знайдемо інтенсивність потоку вимог другого типу:
(2. 12)
У сучасних ОС таких як Windows, і GNU/Linux, ядро відсилає кілька копій SYN + ACK пакетів до тих пір, поки не буде отримано ACK-пакет. Позначимо кількість таких копій параметром. Тоді те, що нас цікавить, полягає в тому, що ні для однієї з копій SYN + ACK пакета не дійде у відповідь ACK-пакет, і співвідношення прийме наступний вигляд:
(2. 13)
Оскільки інтенсивність потоку запитів другого типу пропорційна інтенсивності початкового потоку, то він так само є пуассонівським.
Середнє число таких заявок, що знаходяться на обслуговуванні в СМО, визначається другим доданком формули:
(2. 14)
де:
– таймаут відведений на сервері на встановлення TCP з'єднання,
– ймовірність втрати пакета в мережі,
– кількість копій SYN + ACK пакетів, що відправляються ОС.
У нашому випадку параметр цього розподілу дорівнює l. Відомо, що для пуассонівського розподілу математичне сподівання і дисперсія дорівнюють параметру розподілу і в нашому випадку так само рівні l.
Для визначення наявності або відсутності TCP SYN атаки нам знадобиться значення функції розподілу, яке, як відомо, визначається наступним чином:
(2. 15)
При використанні даної моделі, ознакою атаки є перевищення значення функції розподілу від поточної кількості напіввідкритих з'єднань деякого порогового значення Fпор, яке буде відповідати ймовірності вірного виявлення атаки (ймовірності помилки першого роду).
Перевагами запропонованої методики є можливість своєчасного (раннього) виявлення атаки, її здатність адаптуватися до реальних параметрів мережі. При значному збільшенні інтенсивності звернень до сервера з боку легальних користувачів кількість втрачених пакетів збільшиться пропорційно ймовірності втрати пакета в мережі. Оскільки для сучасних мереж ця величина має невелике значення, то ефективність виявлення знизиться незначно. Недоліком є те, що несправності мережного обладнання, в результаті яких збільшується ймовірність втрати пакета в мережі, будуть інтерпретовані як атака TCP SYN.
Для ефективного використання запропонованої методики на практиці необхідно мати можливість визначити фактичні значення вихідних параметрів моделі для системи що знаходиться в нормальному стані (за умови відсутності атаки). Як було показано вище, такими параметрами є: інтенсивність потоку заявок (TCP пакетів з встановленим SYN прапором), ймовірність втрати пакетів в мережі, до якої підключений сервер і середній час обслуговування заявки (успішного встановлення TCP з'єднання).
2.6. Визначення віхдних даних
Значення порогового значення часу проходження пакетів між двома хостами в мережі працює в нормальному режимі можна визначити двома способами. Перший спосіб – це, накопичивши досить велику статистику, знайти максимальне значення. Більш складний підхід заснований на перевірці гіпотези про закон розподілу СВ, яка описує час проходження пакетів.
В обох випадках нам необхідна велика статистика часу проходження пакетів, яка найбільш повно представляє загальну сукупність. Для її отримання можна використати утиліту ping.
Відомо, що ця утиліта призначена для перевірки якості з'єднання з віддаленим комп'ютером. Утиліта ping працює поверх протоколу ICMP (Internet Control Message Protocol). Для перевірки з'єднання з віддаленим хостом утиліта ping посилає йому ICMP-request, у відповідь на який, віддалений хост повинен відповісти повідомленням ICMP-reply.
Утиліта ping дозволяє отримати статистику для заданого хоста. Серед інших даних цієї статистики можна визначити час проходження кожної пари пакетів з повідомленнями ICMP-request і ICMP-reply між двома хостами. Саме цей параметр становить для нас інтерес – час, за який два віддалених хоста обмінюються парою пакетів (в нашому випадку це TCP SYN + ACK і TCP ACK пакети).
Для визначення ймовірності втрати пакетів в мережі, так само можна скористатися утилітою ping. Її значення дорівнює відношенню кількості пакетів з вичерпаним затримку читання до загальної кількості відправлених ICMP запитів.
Для визначення інтенсивності вхідного потоку запитів можна використати аналізатор логів будь-якого сніфферу. Наприклад Ethereal, tcpdump абоWireshark.
3. РОЗРОБКА ПРОГРАМНОГО ЗАСОБУ
3.1. Вибір та обгрунтування засобів розробки
Одним з завдань дипломної роботи є розробка та реалізація прорамного засобу, який би являв собою інструмент для виявлення DoS-атак згідно наведеної формули та класифікації. Основним авданням програмного засобу є збір для подальшого аналізу інформації про мережевий трафік та завантаження системних ресурсів, збереження інформації у зручному для обробки вигляді для подальшого аналізу.
Оскільки у якості серверів використовуються, здебільшого, спеціалізовані UNIX-подібні ОС, а найбільш популярною серверною ОС є Ubuntu Server, при реалізації програмного засобу слід, в першу чергу, орієнтуватись на подібні ОС. Windows Server є також достатньо популярним рішенням для серверів, тому іншою рекомендацією щодо розробки є максимально можлива кросплатформенність, можливість компіляції у різних середовищах, легкість портування на інші платформи та незалежність основних компонентів програми від ОС, яка використовується.
Для розробки програмного засобу було обрано мову низького ріівня C з наступних причин: – можливість доступу до компонентів ОС (моніторинг навантаження центрального процесору, оперативної пам'яті) ;
‒можливість компляції під велику