Please use this identifier to cite or link to this item: https://er.chdtu.edu.ua/handle/ChSTU/7291
Title: Система моніторингу трафіку в локальній мережі з виявленням аномальної активності
Authors: СИСОЄНКО, Світлана
СІРЕНКО, Олександр
Keywords: СИСТЕМА;ТРАФІК;МОНІТОРИНГ;МЕРЕЖА;АНАЛІЗ;ПАКЕТИ;АНОМАЛІЯ;ALERT;СЕРВЕР;КЛІЄНТ
Issue Date: 2025
Abstract: Метою виконання даної кваліфікаційної роботи на здобуття освітнього ступеня «бакалавр» є розробка системи моніторингу трафіку в локальній мережі з виявленням аномальної активності. Загальний обсяг роботи становить 76 сторінок. У роботі 10 рисунків. Для виконання роботи використано 25 літературних джерел. Головне завдання це розробка програмного забезпечення для моніторингу мережевого трафіку в локальній мережі з можливістю виявлення аномальної активності та сповіщення адміністратора про потенційні загрози без впливу на швидкодію або стабільність роботи мережі. Стислий опис розділів кваліфікаційної роботи бакалавра складається з аналізу предметної області та постановки задачі; вибору технологій та інструментальних засобів; розробкасистемимоніторингу трафіку в локальній мережі з виявленням аномальної активності.
URI: https://er.chdtu.edu.ua/handle/ChSTU/7291
Appears in Collections:123 Комп’ютерна інженерія (Комп'ютерні системи та мережі)

Files in This Item:
File Description SizeFormat 
1_ТИТУЛКА_Сіренко-merged.pdf
  Restricted Access
1.78 MBAdobe PDFView/Open Request a copy


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

Extracted text
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ
ФАКУЛЬТЕТ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ І СИСТЕМ
КАФЕДРА ІНФОРМАЦІЙНОЇ БЕЗПЕКИ ТА КОМП’ЮТЕРНОЇ ІНЖЕНЕРІЇ
ПОЯСНЮВАЛЬНА ЗАПИСКА
до кваліфікаційної роботи бакалавра
на тему: «Система моніторингу трафіку в
локальній мережі з виявленням аномальної
активності»
ЧДТУ.252183.009 ПЗ
Виконав: студент 4 курсу, групи КМ-2108
спеціальності 123 – «Комп’ютерна інженерія»
за освітньою програмою – «Комп’ютерні системи
та мережі»
Олександр СІРЕНКО
Керівник
к.т.н, доцент
Світлана СИСОЄНКО
Рецензент
к.т.н, доцент, доцент кафедри комп‘ютерної
інженерії та інформаційних технологій
Черкаського державного фахового бізнес-
коледжу
Марія ЗАХАРОВА
«ЗАХИСТ ДОЗВОЛЯЮ»
Завідувач кафедри ІБ та КІ
д.т.н., професор ___________ Віра БАБЕНКО
Черкаси 2025 року
Форма № Н-9.01
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ
Факультет: інформаційних технологій і систем
Кафедра: інформаційної безпеки та комп’ютерної інженерії
Освітньо-кваліфікаційний рівень: Бакалавр
Спеціальність 123 – Комп’ютерна інженерія
Освітня програма Комп’ютерні системи та мережі
«ЗАТВЕРДЖУЮ»
Завідувач кафедри ІБ та КІ
д.т.н., професор _____________ Віра БАБЕНКО
«28» лютого 2025 року
ЗАВДАННЯ
на кваліфікаційну роботу бакалавра студенту
Сіренку Олександру Анатолійовичу
(прізвище, ім‘я, по батькові)
1. Тема роботи: Система моніторингу трафіку в локальній мережі з виявленням
аномальної активності
Керівник роботи: к.т.н., доцент Сисоєнко Світлана Володимирівна
(прізвище, ім’я, по батькові, науковий ступінь, вчене звання)
затверджені наказом університету від «25» лютого 2025 р. № 53/03-03
2. Строк подання студентом роботи:
3. Вихідні дані до роботи:
Система, трафік, моніторинг, мережа, аналіз, пакети, аномалія, alert, сервер, клієнт.
4. Зміст розрахунково-пояснювальної записки (перелік питань, що їх належить розробити):
Вступ
1. Аналіз предметної області та постановка задачі
2. Вибір технологій та інструментальних засобів
3. Розробка системи моніторингу трафіку в локальній мережі з виявленням аномальної
активності
4. Захист системи моніторингу трафіку в локальній мережі з виявленням аномальної
активності
Висновки
Додатки
Список використаних джерел
5. Перелік графічного матеріалу (з точним зазначенням обов’язкових креслень, плакатів):
Додаток А Специфікація
Додаток Б Текст програм
Додаток В Інструкція користувача
6. Консультанти розділів роботи:
Розділ Прізвище, ініціали Підпис, дата
консультанта завдання видав завдання прийняв
7. Дата видачі завдання: 28 лютого 2025 року
КАЛЕНДАРНИЙ ПЛАН
Термін
№ з/п Назва етапів роботи виконання Примітка
етапів роботи
1 Збір матеріалу 01.03 – 14.03 виконано
2 Обробка матеріалу 15.03 – 20.03 виконано
3 Обґрунтування актуальності виконання досліджень 21.03 - 25.03 виконано
4 Оцінка стану проблеми, виокремлення дослідницьких виконано
задач, постановка задачі дослідження 26.03 – 01.04
5 Викладення сутності і результатів дослідження 03.04 - 08.04 виконано
6 Практичне застосування результатів дослідження 09.04 - 27.04 виконано
7 Оформлення результатів в пояснювальну записку 28.04 - 02.05 виконано
8 Подання роботи на відгук та рецензування 15.05 - 20.05 виконано
Студент ___________________________ Олександр СІРЕНКО
(підпис)
Керівник роботи ___________________________ Світлана СИСОЄНКО
(підпис)
АНОТАЦІЯ
Метою виконання даної кваліфікаційної роботи на здобуття освітнього
ступеня «бакалавр» є розробка системи моніторингу трафіку в локальній
мережі з виявленням аномальної активності.
Загальний обсяг роботи становить 76 сторінок. У роботі 10 рисунків. Для
виконання роботи використано 25 літературних джерел.
Головне завдання це розробка програмного забезпечення для моніторингу
мережевого трафіку в локальній мережі з можливістю виявлення аномальної
активності та сповіщення адміністратора про потенційні загрози без впливу на
швидкодію або стабільність роботи мережі.
Стислий опис розділів кваліфікаційної роботи бакалавра складається з
аналізу предметної області та постановки задачі; вибору технологій та
інструментальних засобів; розробкасистемимоніторингу трафіку в локальній
мережі з виявленням аномальної активності.
Ключові слова: СИСТЕМА, ТРАФІК, МОНІТОРИНГ, МЕРЕЖА,
АНАЛІЗ, ПАКЕТИ, АНОМАЛІЯ, ALERT, СЕРВЕР, КЛІЄНТ.
ANOTATION
The purpose of this qualification work for the degree of Bachelor is to develop
a system for monitoring traffic in a local network with the detection of abnormal
activity.
The total volume of the work is 76 pages. The work contains 10 figures. 25
literary sources were used to perform the work.
The main task is to develop software for monitoring network traffic in a local
network with the ability to detect abnormal activity and notify the administrator about
potential threats without affecting the speed or stability of the network.
A brief description of the sections of the bachelor's qualification work consists
of an analysis of the subject area and the statement of the task; selection of
technologies and tools; development of a system for monitoring traffic in a local
network with the detection of abnormal activity.
Key words: SYSTEM, TRAFFIC, MONITORING, NETWORK, ANALYSIS,
PACKETS, ANOMALY, ALERT, SERVER, CLIENT.
ЗМІСТ
ВСТУП……………………………………………………………………………..4
1 АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ ТА ПОСТАНОВКА ЗАДАЧІ…….…..8
1.1 Аналіз існуючих систем………………………...………….…………8
1.2 Постановка задачі………...………………………………………...…12
1.3 Висновок до розділу……………………………………….…………15
2 ВИБІР ТЕХНОЛОГІЙ ТА ІНСТРУМЕНТАЛЬНИХ ЗАСОБІВ………......17
2.1 Огляд існуючих технологій……………………………….………….17
2.2 Обґрунтування вибору…..………………………………………...….25
2.3 Висновок до розділу ……………………………………….…………32
3 РОЗРОБКА СИСТЕМИ МОНІТОРИНГУ ТРАФІКУ В ЛОКАЛЬНІЙ
МЕРЕЖІ З ВИЯВЛЕННЯМ АНОМАЛЬНОЇ АКТИВНОСТІ……...……33
3.1 Структура системи……………...………………………………..…...33
3.2 Опис функцій системи………………………………………………..38
3.3 Технічні вимоги для роботи з системою…………………………….43
3.4 Оцінка ефективності………………………………………………….45
3.5 Висновки до розділу………………………………………………….46
4 ЗАХИСТ СИСТЕМИ МОНІТОРИНГУ ТРАФІКУ В ЛОКАЛЬНІЙ
МЕРЕЖІ З ВИЯВЛЕННЯМ АНОМАЛЬНОЇ АКТИВНОСТІ.………..…48
4.1 Огляд існуючих рішень …………………..………….………………48
4.2 Реалізація захисту даних користувачів……………………….….….54
4.3 Висновки до розділу…………..…………………………….…….….56
ВИСНОВКИ……………………………………………………………………..57
ЧДТУ.252183.009 ПЗ
Змн. Арк. № докум. Підпис Дата
РКоазробив Сіренко Система моніторингу трафікуЛіт. Лист Листів
Кфеердівник СОи.сАо.єнко С.В. вивялволкеальній мережі з 2 76
Рреацензент Захарова М.В.
НК.Контроль Гресько С.О. анкнтяимвнаонсотміальної Кафедра ІБ та КІ
ЗКатвердив Бабенко В.Г. Пояснювальна записка гр. КМ-2105
-
06
ДОДАТКИ:
А – 482.ЧДТУ.52183-01 Система моніторингу трафіку в локальній
мережі з виявленням аномальної активності
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ……………………………...………..76
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 3
а
ВСТУП
Актуальність теми. У сучасних умовах цифровізації та зростання
обсягів передавання даних безпека інформаційних систем стає одним із
ключових пріоритетів для підприємств, установ та окремих користувачів. З
кожним роком зростає кількість атак на комп’ютерні мережі, зловмисники
застосовують дедалі витонченіші методи проникнення, перехоплення та
модифікації даних. У цьому контексті особливої ваги набуває задача
постійного моніторингу мережевого трафіку з метою виявлення підозрілої
або аномальної активності.
Більшість сучасних атак, таких як сканування портів, підбір паролів,
зловживання протоколами або витоки даних, починаються з незначних
відхилень у поведінці мережевого трафіку. Вчасне виявлення таких аномалій
дозволяє оперативно реагувати на потенційні загрози, мінімізувати ризики
витоку інформації, зупинити спроби вторгнення та зберегти стабільність
функціонування інформаційної інфраструктури.
Існуючі комерційні системи моніторингу часто є складними у
налаштуванні, дорогими або надто ресурсоємними для малого та середнього
бізнесу. Водночас існує потреба у гнучких та ефективних рішеннях, які б
могли забезпечити моніторинг мережі в режимі реального часу, фіксувати
нетипову активність та сповіщати адміністратора без втручання в сам трафік.
Розроблена система ефективно вирішує зазначені проблеми завдяки
низці важливих функціональних можливостей. Вона забезпечує безперервне
зчитування та аналіз вхідного й вихідного мережевого трафіку в реальному
часі. На основі попередньо визначених правил система здатна виявляти
аномальні події, які можуть свідчити про потенційні загрози або нетипову
активність. У разі виявлення таких подій програма автоматично сповіщає
адміністратора, що дозволяє оперативно реагувати на інциденти. При цьому
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 4
а
система працює пасивно, не втручаючись у структуру або швидкість
передавання даних, завдяки чому не впливає на загальну продуктивність
мережі.
Тому розробка ефективного, адаптивного та доступного інструменту
моніторингу локального мережевого трафіку з функцією виявлення
аномальної активності є актуальним завданням, яке має високу практичну
цінність для забезпечення кібербезпеки в локальних мережах різного
масштабу.
Метою кваліфікаційної роботи є розробка програмного забезпечення
для моніторингу трафіку в локальній мережі з можливістю виявлення
аномальної активності, що дозволяє адміністратору своєчасно отримувати
повідомлення про підозрілу поведінку в мережі без втручання у потік даних,
з метою підвищення рівня інформаційної безпеки та стабільності роботи
інформаційної інфраструктури.
Для досягнення сформульованої мети необхідно вирішити такі задачі:
1. Провести аналіз існуючих рішень у сфері моніторингу мережевого
трафіку та виявлення аномальної активності.
2. Визначити вимоги до програмного забезпечення, враховуючи
архітектуру локальної мережі, типи загроз та потреби адміністратора.
3. Розробити структуру системи, що включає модулі збору, обробки,
аналізу трафіку та генерації сповіщень (alert).
4. Реалізувати механізм зчитування мережевих пакетів у режимі
реального часу.
5. Розробити алгоритми аналізу трафіку на основі правил виявлення
аномальної активності.
6. Створити інтерфейс для адміністратора з можливістю перегляду
подій, сповіщень та ручного втручання у мережеву діяльність.
7. Протестувати систему в умовах моделювання різних сценаріїв
аномальної активності.
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 5
а
8. Провести оцінку ефективності, продуктивності та стабільності роботи
розробленого програмного забезпечення.
На даний момент існує багато джерел інформації, в яких автори
описують різноманітні способи та підходи, наприклад “Network Security
Through Data Analysis: Building Situational Awareness” авторa Michael Collins
присвячена аналізу мережевого трафіку з метою виявлення загроз і
забезпечення безпеки комп’ютерних мереж. Автор — фахівець із безпеки в
сфері Big Data — детально пояснює, як збирати, обробляти та інтерпретувати
великі обсяги мережевих даних для виявлення аномалій, що можуть свідчити
про атаки, витоки даних або порушення політик безпеки. Автор також
приділяє увагу практичним аспектам, таким як використання Python для
аналізу даних, візуалізація результатів та побудова простих систем безпеки
на основі логіки та статистики.
Одержані в кваліфікаційній роботі результати мають практичне
значення. Розроблена система може бути використана для моніторингу
мережевого трафіку в локальних мережах підприємств, установ або
домашніх середовищах з метою виявлення аномальної активності. Вона
проста у впровадженні, не потребує значних ресурсів і не впливає на
продуктивність мережі. Система підвищує рівень кібербезпеки, дозволяє
адміністратору оперативно реагувати на загрози та може бути розширена
додатковими функціями в майбутньому.
Кваліфікаційна робота складається з 4-х розділів, яких подається
інформація про:
1. Обрану предметну область дослідження та про постановку проблема.
2. Огляд існуючих технологій, за допомогою яких можна реалізувати
подібну систему та обґрунтування вибору тієї чи іншої технології.
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 6
а
3. Реалізацію системи: відображення структури системи, опис функцій
кожної частини системи, технічні вимоги до системи а також
практична оцінка ефективності роботи.
4. Розробка захисту інформації для інформаційної системи.
Використана література, під час написання кваліфікаційної роботи,
досить добре розкриває основні методики та підходи для розробки подібних
систем.
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 7
а
1 АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ ТА ПОСТАНОВКА ЗАДАЧІ
1.1 Аналіз існуючих систем
Системи моніторингу трафіку — це програмні або апаратні рішення,
призначені для спостереження, аналізу та реєстрації мережевих даних, які
проходять через комп’ютерну мережу. Їх основна мета — забезпечити
видимість того, що відбувається в мережі, які пристрої взаємодіють між
собою, які обсяги даних передаються, за допомогою яких протоколів і з якою
частотою.
Такі системи дозволяють виявляти потенційні загрози, несправності
або аномалії в роботі мережі. Наприклад, вони можуть виявити надмірне
навантаження на канал, спроби сканування портів, передачу великої
кількості даних до зовнішніх адрес або інші дії, що виходять за межі
нормальної поведінки. Це особливо важливо для забезпечення інформаційної
безпеки, адже більшість атак починаються саме зі змін у мережевій
активності.
Системи моніторингу трафіку часто включають модулі збору та
збереження логів, інструменти для візуалізації трафіку, механізми фільтрації
та аналізу даних. Вони можуть працювати в реальному часі або у фоновому
режимі. Залежно від функціональності, системи можуть просто фіксувати
події або також автоматично реагувати на загрози — наприклад, блокувати
підозрілі пакети або надсилати повідомлення адміністратору.
У сучасних умовах такі системи є критично важливим елементом
інфраструктури кібербезпеки в організаціях. Вони допомагають не лише
захистити дані від несанкціонованого доступу, а й підтримувати стабільну та
безперебійну роботу мережі.
Антивірусне програмне забезпечення орієнтоване на виявлення
шкідливого програмного коду вже на пристрої користувача. Воно працює на
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 8
а
основі сигнатур, евристичного аналізу, поведінкових моделей і сканує файли,
пам’ять, завантаження з інтернету, перевіряючи, чи містять вони віруси,
трояни, шпигунське ПЗ тощо. Приклади програмного забезпечення
зображені на рисунку 1.1.
Рисунок 1.1 – Приклади антивірусного програмного забезпечення
Антивірус не фіксує мережеву поведінку в реальному часі, особливо
якщо атака ще не призвела до зараження.
Фаєрвол (межмережевий екран) — це система контролю мережевого
доступу. Вона встановлює правила, які визначають, які пакети можна
пропускати або блокувати. Принцип роботи зображено на рисунку 1.2.
Рисунок 1.2 – Принцип роботи фаєрвола
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 9
а
Наприклад, фаєрвол може заборонити підключення до певного порту
або IP-адреси. Однак, більшість фаєрволів не аналізують вміст мережевих
пакетів і не мають інтелектуального механізму виявлення аномалій[1]. Вони
працюють переважно на рівні адрес, портів і протоколів.
Системи моніторингу трафіку, на відміну від вищезазначених рішень,
не лише блокують чи сканують окремі файли або з’єднання, а забезпечують
повну картину того, що відбувається в мережі. Вони здатні зчитувати та
аналізувати весь трафік у реальному часі, зберігати інформацію про
з’єднання, оцінювати частоту, обсяг переданих даних, а також будувати
поведінкові моделі для виявлення аномалій.
Наприклад, якщо на комп’ютері запущено шкідливе ПЗ, яке ще не має
відомої сигнатури (тобто новий вірус), антивірус може його не виявити.
Фаєрвол, у свою чергу, пропустить з’єднання, якщо воно не заборонене
правилами. А система моніторингу трафіку помітить, що звичайний
комп’ютер раптом почав надсилати велику кількість даних на підозрілий
зовнішній сервер — і повідомить адміністратора або навіть заблокує трафік.
Ще одна відмінність полягає в тому, що антивіруси та фаєрволи
зазвичай працюють на рівні окремого пристрою, тоді як системи моніторингу
можуть працювати на рівні всієї мережі. Це дозволяє виявити підозрілу
активність між пристроями в межах локальної мережі, навіть якщо вона не
стосується зовнішнього інтернет-з’єднання.
Крім того, моніторингові системи не завжди втручаються в мережеву
активність — вони можуть працювати у пасивному режимі, що важливо для
великих організацій, де критично важливо не порушити роботу
інфраструктури.
Таким чином, системи моніторингу трафіку не замінюють антивіруси
чи фаєрволи, а доповнюють їх, дозволяючи побачити загальну картину
мережевої безпеки, виявити нові, складні або ще невідомі загрози та
реагувати на них швидко й ефективно.
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 10
а
Компанії впроваджують системи моніторингу трафіку насамперед для
забезпечення кібербезпеки. Сучасний бізнес щодня стикається з новими
загрозами — вірусами, фішинговими атаками, шкідливим програмним
забезпеченням, а також спробами несанкціонованого доступу до даних.
Завдяки моніторингу трафіку організації можуть оперативно виявляти
підозрілу активність і запобігати інцидентам ще до того, як вони спричинять
серйозні наслідки.
Ще однією причиною є потреба контролювати внутрішню активність
працівників. Система дозволяє бачити, які ресурси використовуються, чи не
відбувається передача конфіденційної інформації за межі компанії, чи
дотримуються працівники політик безпеки. Це допомагає зменшити ризик
витоку інформації через людський фактор або зловмисні дії зсередини.
Також системи моніторингу допомагають покращити технічну роботу
самої мережі [2]. Вони виявляють перевантаження, нестабільні з’єднання,
проблеми з доступом до серверів. Завдяки цьому ІТ-відділ може швидше
реагувати на збої, оптимізувати мережеву інфраструктуру і підвищити
стабільність роботи всього підприємства.
У багатьох галузях існують вимоги щодо захисту даних, і компанії
повинні дотримуватися стандартів безпеки. Моніторинг трафіку допомагає
вести облік доступу до даних, зберігати журнали подій, генерувати звіти для
аудиту і доводити відповідність вимогам законодавства.
Коли виникає інцидент, дуже важливо швидко зрозуміти, що сталося.
Завдяки записам трафіку компанія може відтворити хід подій, з’ясувати
джерело проблеми, вжити відповідних заходів або надати докази у разі
юридичних спорів. Це особливо важливо при внутрішніх розслідуваннях або
аналізі складних загроз.
Ще одна важлива причина — захист комерційної і персональної
інформації. Компанії хочуть бути впевненими, що дані клієнтів, фінансова
інформація або внутрішні документи не будуть вкрадені або випадково
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 11
а
опубліковані. Це набуває ще більшої актуальності в умовах віддаленої
роботи, коли працівники підключаються з дому через інтернет.
Хоча впровадження таких систем вимагає витрат, у довгостроковій
перспективі це дозволяє уникнути значно більших фінансових і репутаційних
втрат. Превентивний захист завжди є ефективнішим і дешевшим, ніж
ліквідація наслідків кіберінциденту.
1.2 Постановка задач
Система моніторингу трафіку повинна мати гнучку архітектуру, яка
дозволяє її встановлення як на комп’ютер клієнта, так і на сервер, який
виступає точкою входу або виходу трафіку — зокрема, VPN-сервер. Це
забезпечує ширші можливості застосування програмного забезпечення у
різних умовах — як у малих офісах або індивідуальних користувачів, так і у
корпоративних середовищах із централізованим доступом до мережі.
При встановленні на комп’ютер клієнта система має безпосередній
доступ до вхідного та вихідного трафіку саме цього пристрою. Це дозволяє
точно відслідковувати, які ресурси використовуються, які запити
надсилаються у зовнішню мережу, і які дані надходять у відповідь. Такий
підхід зручний для моніторингу окремих працівників або комп’ютерів, що
виконують критичні функції, наприклад, роботу з фінансовими або
клієнтськими базами даних.
У випадку встановлення системи на сервер, що виконує функції VPN,
досягається централізований контроль трафіку всіх користувачів, які
підключаються через цей сервер. Такий підхід дозволяє зменшити
навантаження на клієнтські пристрої, а також спростити адміністрування —
достатньо налаштувати систему лише на одному вузлі. Усі передані дані з
пристроїв працівників проходять через VPN-тунель, і система може
фільтрувати, зберігати та аналізувати увесь трафік, не залежно від того, з
якого пристрою він був згенерований.
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 12
а
Крім того, використання VPN дає можливість здійснювати безпечне
шифрування переданих данихі спостерігати не лише за структурою трафіку,
а й за його маршрутизацією, що відкриває додаткові можливості для
виявлення вторгнень, підозрілої активності або витоків інформації.
Таким чином, можливість встановлення системи як на клієнтський
пристрій, так і на VPN-сервер, значно підвищує її універсальність та
ефективність, дозволяє покривати як точковий моніторинг, так і
загальноорганізаційний контроль безпеки.
Система моніторингу трафіку повинна мати можливість виявляти
підозрілі IP-адреси, з яких надходять мережеві пакети. Це одна з ключових
функцій для забезпечення безпеки мережі, оскільки багато кіберзагроз
розпочинаються саме з підключення до потенційно небезпечних або
аномальних джерел.
Для реалізації цієї можливості система повинна аналізувати кожен
вхідний пакет, реєструвати IP-адресу відправника та перевіряти її на
відповідність певним критеріям: наприклад, присутність у чорних списках
(blacklists), надто часті запити з однієї адреси, спрои підключення до
незвичних портів або передачу нетипового трафіку.
Крім того, система має підтримувати механізми порівняння з базами
даних IP-репутацій, які постійно оновлюються й містять інформацію про
відомі джерела атак, спамери, боти, проксі або сервери анонімізації. У разі
виявлення пакета від підозрілого джерела програма формує сповіщення
(alert) для адміністратора з деталями — яким був IP, що зафіксовано, і які
саме правила були порушені.
Також важливо, щоб система могла навчатися на основі поведінки —
наприклад, виявляти IP-адреси, які раніше не викликали підозр, але почали
діяти інакше (наприклад, надсилати великий обсяг трафіку або підключатися
до великої кількості внутрішніх вузлів).
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 13
а
Наявність такої функції значно підвищує ефективність захисту,
дозволяє вчасно реагувати на потенційні загрози та запобігати проникненню
в мережу з ворожих або скомпрометованих джерел.
Система моніторингу трафіку повинна містити список IP-адрес, які
входять до чорного списку (blacklist). Цей список є важливим інструментом
для швидкого виявлення та блокування підозрілих або шкідливих джерел
мережевого трафіку.
Чорний список – це зібрання IP-адрес, які раніше були ідентифіковані
як джерела атак, спаму, ботнетів, шкідливих програм або інших небажаних
дій. Включення IP до чорного списку відбувається на основі попередніх
інцидентів безпеки, аналітики загроз, а також інформації з публічних або
приватних баз даних загроз [3].
Для ефективної роботи система має підтримувати автоматичне
оновлення чорного списку. Це може здійснюватися через підключення до
відомих сервісів і репутаційних баз, які регулярно публікують актуальні дані
про небезпечні IP-адреси. Також можливе додавання адрес вручну —
наприклад, адміністратор може сам внести IP, які за його спостереженнями
викликають підозру або вже спричинили інциденти.
Під час аналізу трафіку система порівнює IP-адреси джерел мережевих
пакетів із записами в чорному списку. Якщо виявляється збіг, це спричиняє
автоматичне формування сповіщення (alert) для адміністратора системи з
детальною інформацією про час, IP-адресу, тип активності та можливі
наслідки.
Наявність чорного списку дозволяє системі оперативно реагувати на
відомі загрози без потреби глибокого аналізу кожного пакету, що значно
підвищує швидкість виявлення потенційно небезпечних дій. Це допомагає
мінімізувати ризики проникнення зловмисників у локальну мережу та
зберегти безпеку інформаційних ресурсів компанії.
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 14
а
Інтеграція і підтримка чорного списку IP-адрес є невід’ємною
частиною ефективної системи моніторингу трафіку та забезпечує
проактивний захист мережі від відомих загроз.
Система моніторингу трафіку повинна мати можливість контролювати
та виявляти DDoS-атаки (Distributed Denial of Service). DDoS-атаки є однією з
найпоширеніших та найнебезпечніших загроз для будь-якої мережі, оскільки
вони спрямовані на перевантаження ресурсів системи, що призводить до
зниження продуктивності або повного припинення роботи сервісів.
Для ефективного контролю DDoS-атак система повинна аналізувати
характер трафіку в реальному часі, звертаючи увагу на різкі стрибки в
обсягах даних або незвичайні патерни активності. Зокрема, вона повинна
виявляти аномально високу кількість запитів з одного або декількох IP-адрес,
численні одночасні з’єднання, спроби одночасного доступу до одних і тих
самих ресурсів, що не відповідають нормальній поведінці користувачів.
Система має автоматично формувати попередження (alert) про
можливу DDoS-атаку та надавати адміністратору докладну інформацію про
джерела атаки, тип трафіку, інтенсивність та час початку події. Це дозволяє
оперативно реагувати, вживати заходів з обмеження або блокування
підозрілого трафіку та мінімізувати негативний вплив на роботу мережі.
Крім того, система може бути налаштована на застосування певних
правил або політик, які допомагають фільтрувати надмірний трафік або
розподіляти навантаження для запобігання відмови у наданні послуг.
Виявлення DDoS-атак і контроль над ними є важливою складовою загальної
безпеки мережі, що дозволяє зберігати стабільність та доступність сервісів
навіть у разі масованих кібератак.
1.3 Висновки до розділу
Проведений аналіз існуючих систем моніторингу трафіку показав, що
вони є важливим елементом забезпечення безпеки комп’ютерних мереж. На
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 15
а
відміну від антивірусних програм та фаєрволів, такі системи дозволяють
здійснювати комплексний контроль мережевого трафіку в реальному часі,
виявляти аномалії, потенційні загрози та своєчасно інформувати
адміністратора про інциденти. Особливо цінним є те, що системи
моніторингу забезпечують огляд мережевої активності на рівні всієї
організації, що дозволяє виявляти внутрішні загрози і підтримувати
стабільність роботи інфраструктури.
Постановка задач для розроблюваної системи базується на вимозі
забезпечити гнучку архітектуру, яка дозволяє встановлення як на клієнтських
пристроях, так і на VPN-серверах, що підвищує універсальність
застосування. Важливими функціями є виявлення підозрілих IP-адрес,
підтримка чорних списків та ефективний контроль DDoS-атак. Такий підхід
дозволить не лише вчасно виявляти відомі загрози, але й аналізувати
поведінкові патерни, оперативно реагувати на аномальну активність і таким
чином підвищувати загальний рівень безпеки мережі.
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 16
а
2 ВИБІР ТЕХНОЛОГІЇ ТА ІНСТРУМЕНТАЛЬНИХ ЗАСОБІВ
РОЗРОБКИ СИСТЕМИ
2.1 Огляд існуючих технологій
Для реалізації системи моніторингу трафіку необхідно тісно
взаємодіяти з API операційної системи (ОС), адже саме через цей інтерфейс
програмне забезпечення отримує доступ до мережевих даних, системних
ресурсів та керування ними. Нижче детально описано, чому і які аспекти
роботи з API ОС є критичними для розробки такої системи.
Важливість роботи з API операційної системи для системи моніторингу
трафіку полягає в тому, що для збору інформації про мережевий трафік
необхідно отримувати дані безпосередньо з мережевих адаптерів комп’ютера
або сервера. API операційної системи надає можливість підключатися до
мережевих стеків і перехоплювати мережеві пакети на різних рівнях, таких
як канальний чи мережевий. Використання API, наприклад WinPcap або
Npcap у Windows, libpcap у Linux чи macOS, дозволяє реалізувати функцію
«захоплення пакетів» (packet sniffing). Через ці інтерфейси можна
отримувати повний обсяг інформації про пакети: заголовки, вміст, метадані,
такі як час, розмір та тип протоколу.
Операційна система також надає механізми фільтрації трафіку на рівні
драйверів або мережевих стеків, як-от Windows Filtering Platform (WFP) у
Windows. За допомогою API можна задавати правила для фільтрації пакетів,
відокремлювати трафік, що підлягає моніторингу, що дозволяє оптимізувати
роботу системи та зменшувати навантаження на ресурси, уникаючи обробки
зайвих пакетів.
Для відслідковування активних з’єднань, відкритих портів, IP-адрес та
обсягів переданих даних система отримує доступ до таблиць з’єднань через
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 17
а
відповідні API. У Windows для цього використовуються WinSock API, Netstat
API або WMI, у Linux — Netlink sockets, /proc/net та системні виклики.
Важливим є також взаємозв’язок із системою журналювання
операційної системи для ведення логів і повідомлень. У Windows
застосовуються Event Log API, у Linux — syslog або journald. Через ці API
створюються події, які фіксують аномальні дії чи порушення [4].
Автоматичне реагування на загрози забезпечується роботою з API
мережевих фаєрволів операційної системи, наприклад Windows Filtering
Platform або Windows Defender Firewall API в Windows, та iptables/nftables,
Netfilter API у Linux. Це дозволяє не лише виявляти підозрілі пакети чи IP-
адреси, а й автоматично їх блокувати.
Крім того, для ефективного моніторингу важливо отримувати
інформацію про стан системних ресурсів — навантаження на мережеве
обладнання, пам’ять і процесор. API операційної системи дозволяють
збирати ці дані для оптимізації роботи системи.
Робота з API операційної системи є ключовою для створення системи
моніторингу трафіку. Без використання цих інтерфейсів неможливо
забезпечити повний, точний і своєчасний доступ до мережевої інформації,
керувати мережею та інтегрувати систему з механізмами безпеки й
адміністрування.
Розробка такого програмного забезпечення потребує глибокого
вивчення відповідних API, забезпечення сумісності з різними ОС і створення
модулів збору, аналізу, фільтрації та реагування, які безпосередньо
взаємодіють із системними ресурсами. Це дозволяє створити надійний та
ефективний інструмент моніторингу мережевого трафіку на різних рівнях
інфраструктури.
Для реалізації системи моніторингу мережевого трафіку можна
використовувати різні мови програмування — кожна з них має свої переваги,
готові бібліотеки та рівень доступу до системних ресурсів. Вибір мови
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 18
а
залежить від вимог до продуктивності, кросплатформеності, складності
проєкту та рівня взаємодії з API операційної системи
C++ є однією з найкращих мов для створення високопродуктивних
систем, які потребують прямої взаємодії з апаратним забезпеченням та
системними API. Вона забезпечує доступ до низькорівневих мережевих
інтерфейсів, підтримує використання бібліотек, таких як libpcap для Linux та
macOS або WinPcap чи Npcap для Windows [5]. Ця мова підходить для
реалізації пакетного аналізу, фільтрації та роботи з фаєрволами на рівні ядра.
Основним недоліком є складність розробки та більший ризик помилок
безпеки
Python — мова з високим рівнем абстракції, що підходить для швидкої
розробки, створення прототипів та інтеграції з готовими системами. Вона має
безліч бібліотек для захоплення трафіку, зокрема scapy, pyshark, pcapy та
dpkt. Крім того, Python дозволяє легко будувати візуалізацію, логіку
реагування та інтерфейси. Хоча вона має нижчу продуктивність, Python може
викликати функції з C/C++ бібліотек через ctypes або cffi
Java добре підходить для побудови кросплатформених систем з
графічним або веб-інтерфейсом. Вона працює з бібліотекою jNetPcap, яка є
обгорткою над libpcap, а також підтримує виклики до нативного коду через
JNI. Java має потужні засоби для багатопотоковості, роботи з базами даних та
логування, і може бути використана для створення GUI або веб-серверної
частини. Її основним недоліком є складність прямої роботи з
низькорівневими мережевими даними
C# є зручною мовою для розробки під Windows, особливо для
інтеграції з API Windows. Вона підтримує бібліотеки SharpPcap, PacketDotNet
та System.Net.NetworkInformation, а також має потужні можливості для
роботи з мережевими підключеннями, журналами подій та графічними
інтерфейсами. C# дозволяє зручно інтегруватися з Windows Firewall, WMI та
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 19
а
системними службами. Основним обмеженням є складність розгортання в
Linux-середовищі, хоча .NET Core значно покращив ситуацію.
У рамках проєкту можна поєднувати кілька мов програмування.
Наприклад, C++ використовувати для ядра, яке захоплює та аналізує пакети,
Python — для аналізу та побудови звітів, Java або C# — для створення
адміністративного інтерфейсу [6]. Такий підхід дозволяє досягти балансу між
продуктивністю, зручністю розробки та функціональністю системи
Для візуалізації результатів системи моніторингу трафіку необхідно
створити зручний і функціональний веб-інтерфейс, через який користувач
зможе переглядати мережеву статистику, повідомлення про аномальну
активність, журнали подій, графіки навантаження, таблиці активних
з’єднань, фільтрувати інформацію та керувати параметрами системи. Для
цього можна використати будь-який сучасний фронтенд-фреймворк, який
забезпечить побудову інтерактивного користувацького інтерфейсу та
ефективну роботу з динамічними даними.
React — один із найпопулярніших фреймворків з відкритим кодом,
створений компанією Meta. Його головною перевагою є компонентний
підхід, що дозволяє розробляти інтерфейс у вигляді незалежних блоків, які
легко оновлюються при зміні даних. У контексті системи моніторингу React
дозволяє створити дашборд, що автоматично оновлюється в режимі
реального часу при надходженні нової інформації з бекенду через WebSocket
або REST API. Крім того, існує велика кількість бібліотек для візуалізації
даних, наприклад, Recharts, Victory, Chart.js, які легко інтегруються з React і
дозволяють будувати графіки трафіку, кругові діаграми, гістограми,
таймлайни тощо [7].
Angular — потужний фреймворк від Google, який підходить для
побудови великих та масштабованих односторінкових застосунків. Angular
включає в себе все необхідне для побудови фронтенду: двосторонню
прив’язку даних, модульну структуру, систему маршрутів, роботу з формами,
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 20
а
а також реактивне програмування з використанням RxJS [8]. У випадку
системи моніторингу Angular дозволяє створити повноцінну адміністративну
панель із вкладками, діаграмами, повідомленнями та механізмами
авторизації користувачів. Архітектура фреймворку зобрадено на рисунку 2.1.
Рисунок 2.1 – Архітектура фреймворку
Angular також добре працює із візуалізаційними бібліотеками, такими
як Ngx-Charts, Highcharts, D3.js, які дозволяють створювати складні та
кастомізовані графіки.
Vue.js — легкий та гнучкий фреймворк, який поєднує в собі простоту
та розширюваність. Він добре підходить для швидкої розробки інтерфейсів,
які можуть бути поступово розширені при зростанні проєкту. Архітектура
фреймворку зображено на рисунку 2.2.
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 21
а
Рисунок 2.2 – Архітектура Vue Chart.js
Для візуалізації в Vue доступні бібліотеки Vue Chart.js, Vue ECharts,
ApexCharts, які дозволяють інтегрувати візуальні елементи для показу змін у
трафіку, активності по протоколах, топ IP-адрес тощо [9]. Vue має невелику
вагу, простий синтаксис і може бути використаний як частина більших
проєктів.
Усі вищезгадані фреймворки підтримують адаптивну верстку та
мобільну оптимізацію, що дозволяє використовувати систему моніторингу не
лише з комп’ютера, але й зі смартфона або планшета. Завдяки цьому
адміністратор може мати постійний доступ до інформації про стан мережі
незалежно від свого місцезнаходження. Окрім цього, фреймворки
забезпечують гнучку роботу з подіями, сповіщеннями, веб-сокетами, що є
особливо важливим для своєчасного реагування на інциденти в мережі.
Вибір конкретного фреймворку залежить від особистих уподобань,
рівня складності проєкту та вимог до функціоналу, але кожен із них
забезпечує необхідні інструменти для побудови ефективного інтерфейсу
системи моніторингу трафіку.
Адміністратор системи моніторингу трафіку повинен мати можливість
оперативно реагувати на загрози, які можуть виникнути в мережі. Затримка
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 22
а
навіть у кілька хвилин може призвести до витоку конфіденційної інформації,
зупинки роботи сервісів або інших критичних наслідків. Тому важливо
передбачити механізм швидкого інформування адміністратора про виявлені
аномалії або потенційні загрози в мережевому трафіку.
Для реалізації такої функціональності доцільно використовувати
сервіси масових повідомлень, які дозволяють миттєво доставляти сповіщення
через SMS, телефонні дзвінки, email або месенджери. Одним із
найпопулярніших сервісів є Twilio — це хмарна платформа, яка забезпечує
просте API для надсилання повідомлень на мобільні телефони, здійснення
дзвінків, а також надсилання повідомлень через WhatsApp, Viber або інші
канали [10]. Інтерфейс Twilio зображено на рисунку 2.3.
Рисунок 2.3 – Інтерфейс Twilio
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 23
а
За допомогою Twilio SMS API система моніторингу може автоматично
згенерувати та надіслати SMS-повідомлення адміністратору у разі виявлення
підозрілої активності, наприклад, підключення з невідомої IP-адреси, спроби
сканування портів, різке зростання обсягу трафіку, або підозрілі спроби
передачі даних. Як працює Twilio SMS APIзображено на рисунку 2.4.
Рисунок 2.4 – Twilio SMS API
Такий підхід дозволяє адміністратору бути в курсі ситуації в реальному часі,
навіть якщо він не перебуває біля комп’ютера або не відкрив панель
керування.
Альтернативно до Twilio можна використовувати й інші подібні
сервіси, зокрема Plivo, Nexmo (Vonage), Sinch, Infobip або Sendinblue. Вибір
залежить від бюджету, країни використання, підтримуваних каналів зв’язку
та технічних особливостей. Більшість із цих сервісів також надають REST
API або SDK для інтеграції в бекенд-програму, що спрощує процес реалізації
сповіщення у проєкті [11].
Крім SMS, можна також реалізувати систему email-сповіщень, яка буде
дублювати повідомлення або надсилати розширені звіти з деталями
інциденту. Для цього підходять сервіси на кшталт Mailgun, SendGrid, Amazon
SES або навіть вбудовані поштові служби SMTP. Принцип роботи зображено
на рисунку 2.5.
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 24
а
Рисунок 2.5 – Принцип роботи SMTP
В цілому, реалізація автоматичного інформування адміністратора про
загрозу — це критично важливий компонент системи моніторингу трафіку,
який значно підвищує ефективність реагування на інциденти та забезпечує
більший рівень безпеки в мережі.
2.2 Обґрунтування вибору
У сучасному корпоративному світі вкрай важливо бути на крок
попереду зловмисників, адже кіберзагрози постійно еволюціонують.
Підприємства, які не інвестують у системи моніторингу та виявлення
аномальної активності в мережі, ризикують стати жертвами атак, що можуть
завдати значних фінансових та репутаційних збитків.
Розробка подібної системи моніторингу трафіку та виявлення
аномальної активності не є альтернативою антивірусним рішенням.
Антивіруси зазвичай зосереджуються на виявленні відомих шкідливих
програм та блокуванні їхньої діяльності на рівні кінцевих пристроїв.
Натомість система моніторингу трафіку розширює можливості захисту за
рахунок аналізу поведінки мережевих взаємодій у локальній мережі. Вона
допомагає адміністраторам компаній вчасно виявляти різного роду загрози
— наприклад, аномально високе навантаження на мережу, підозрілу
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 25
а
активність користувачів або підключення з незвичних IP-адрес. Це дозволяє
не лише фіксувати потенційні атаки, але й аналізувати їхні джерела та шляхи
розповсюдження, що підвищує загальний рівень безпеки та дає змогу швидко
реагувати на інциденти. Таким чином, така система є важливим додатковим
інструментом у комплексній стратегії кіберзахисту корпоративної мережі.
Для розробки системи моніторингу трафіку в локальній мережі з
виявленням аномальної активності необхідно мати можливість контролювати
порти комп'ютера, на якому запускається програма. Це означає, що програма
має отримувати доступ до мережевого інтерфейсу, щоб "слухати" мережевий
трафік у реальному часі.
Python відомий своєю простотою у вивченні та читабельністю коду, що
робить його відмінним вибором для швидкої розробки та прототипування. У
випадку розробки системи моніторингу трафіку ці переваги особливо
важливі, адже вони дозволяють зосередитися на реалізації логіки обробки
мережевих даних і алгоритмах виявлення аномалій, а не витрачати багато
часу на низькорівневі деталі та специфічні особливості роботи з
пам'яттю[12].
Python має широкий спектр бібліотек, які значно спрощують роботу з
мережею. Наприклад, такі бібліотеки, як scapy, pyshark або pcapy,
забезпечують інтерфейси для захоплення та аналізу мережевого трафіку,
дозволяючи розробнику зосередитися на логіці виявлення аномалій. Це дуже
зручно, оскільки в більшості випадків не потрібно писати власний парсер
мережевих протоколів або реалізовувати низькорівневі механізми захоплення
трафіку — достатньо скористатися готовими функціями бібліотеки.
Ще однією важливою перевагою Python є його кросплатформність:
програма, написана на Python, може бути запущена як у Windows, так і в
Linux чи macOS. Це особливо актуально для корпоративного середовища, де
інфраструктура часто гетерогенна, і важливо мати можливість швидко
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 26
а
розгорнути систему моніторингу на різних платформах без суттєвих змін у
коді.
Python також має потужні засоби для візуалізації даних, що дозволяє
розробникам легко інтегрувати графічний інтерфейс для моніторингу
трафіку, наприклад, через бібліотеки matplotlib, dash, streamlit або інтеграцію
з веб-фреймворками на кшталт Flask чи Django. Це дає змогу створити
зручну для адміністратора панель керування, де можна в реальному часі
спостерігати статистику трафіку, отримувати сповіщення про аномалії та
переглядати історію інцидентів.
Завдяки наявності численних бібліотек машинного навчання, таких як
scikit-learn, tensorflow або pytorch, Python дозволяє легко інтегрувати
інтелектуальні алгоритми виявлення аномалій, наприклад кластеризацію або
методи глибинного навчання [13]. Це суттєво підвищує ефективність системи
моніторингу, дозволяючи адаптуватися до нових типів загроз та невідомих
атак, які традиційні сигнатурні антивірусні системи можуть пропустити.
Крім того, Python активно підтримується спільнотою розробників, тож
у випадку виникнення проблем чи потреби в реалізації додаткових
можливостей можна швидко знайти приклади коду, відповіді на форумах або
готові модулі. Це суттєво пришвидшує процес розробки та дає змогу
зосередитися на вирішенні бізнес-задач, а не на пошуку технічних рішень з
нуля.
Отже, Python є ідеальним вибором для розробки системи моніторингу
трафіку в локальній мережі завдяки своїй простоті, кросплатформності,
розвинутій екосистемі бібліотек для роботи з мережею та машинного
навчання, а також завдяки швидкості створення прототипів та активній
підтримці спільноти.
Для створення зручного та функціонального веб-інтерфейсу системи
моніторингу трафіку можна обрати фреймворк Flask, який значно спрощує
розробку таких систем. Flask — це легковажний та гнучкий веб-фреймворк
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 27
а
для Python, який дозволяє швидко створювати веб-додатки без надмірної
складності та обмежень. Завдяки своїй простоті, він ідеально підходить для
створення REST API або веб-інтерфейсу для моніторингу, де можна
реалізувати відображення даних у вигляді таблиць, графіків чи інтерактивних
панелей для адміністратора.
Flask легко інтегрується з популярними бібліотеками візуалізації
даних, такими як Plotly, Chart.js (через шаблони HTML), або навіть Dash, що
робить його універсальним інструментом для створення привабливих та
інтуїтивно зрозумілих інтерфейсів. Крім того, Flask підтримує підключення
до баз даних (наприклад, SQLite або PostgreSQL) за допомогою ORM, таких
як SQLAlchemy, що дозволяє зберігати логи та статистику про мережевий
трафік для подальшого аналізу [14].
Таким чином, використання Flask забезпечує гнучкість, простоту
розгортання та масштабованість, що робить його оптимальним вибором для
створення веб-інтерфейсу системи моніторингу трафіку та виявлення
аномальної активності.
Python відомий своєю потужною підтримкою роботи з базами даних
завдяки наявності зручних та функціональних ORM (Object-Relational
Mapping) бібліотек. ORM дозволяє розробникам працювати з базами даних
не через безпосереднє написання SQL-запитів, а за допомогою об'єктно-
орієнтованого підходу. Це значно полегшує інтеграцію бази даних у систему
моніторингу трафіку та дозволяє швидко розробляти, змінювати та
масштабувати систему.
Python підтримує роботу з більшістю популярних СУБД: MySQL,
PostgreSQL, SQLite, Oracle, Microsoft SQL Server та іншими. Одним із
найпопулярніших ORM для Python є SQLAlchemy, який надає гнучкий та
потужний інтерфейс для взаємодії з різними базами даних [15]. Завдяки
SQLAlchemy або подібним бібліотекам (наприклад, Peewee або Django ORM)
можна легко створювати таблиці для зберігання логів трафіку, інформації
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 28
а
про підключення та інциденти, а також реалізовувати запити для
статистичного аналізу чи пошуку аномальної активності.
Використання ORM у Python значно спрощує взаємодію з базами
даних, підвищує продуктивність розробки та дозволяє створювати
масштабовані та надійні рішення для моніторингу трафіку в корпоративному
середовищі.
Для розробки системи моніторингу трафіку в локальній мережі з
виявленням аномальної активності доцільно розглянути використання
нереляційної бази даних. Такий підхід дозволяє ефективно зберігати великі
обсяги даних про мережевий трафік, підключення та різні інциденти,
забезпечуючи високу швидкість читання та запису. У системах моніторингу
часто потрібна обробка потокових даних у режимі реального часу, де кожна
секунда має значення, тому вибір нереляційної бази даних, наприклад
MongoDB або Redis, може стати оптимальним рішенням.
Нереляційні бази даних дозволяють зберігати дані у форматі
документів (JSON), ключ-значення або колонок, що робить їх гнучкими для
зберігання різних типів даних без необхідності суворої схеми, притаманної
реляційним СУБД. Це особливо важливо, коли структура даних може
змінюватися або доповнюватися в процесі розробки та еволюції системи.
Крім того, завдяки високій продуктивності при масштабуванні та можливості
горизонтального шардінгу, нереляційні бази даних забезпечують швидке
зчитування даних, що критично важливо для реального часу моніторингу та
швидкого реагування на інциденти.
Вибір нереляційної бази даних для розробки цієї системи дозволяє
ефективно зберігати та швидко обробляти великі обсяги трафіку та
інцидентів, забезпечуючи гнучкість у зміні структури даних і
масштабованість у міру зростання навантаження.
Для розробки системи моніторингу трафіку в локальній мережі з
виявленням аномальної активності найкращим вибором серед нереляційних
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 29
а
баз даних є MongoDB. MongoDB побудована на гнучкій документо-
орієнтованій моделі даних, яка дозволяє зберігати інформацію у форматі
JSON (BSON). Це надзвичайно зручно для зберігання даних про мережеві
пакети, сесії, сповіщення про інциденти та іншу інформацію, структура якої
може змінюватися у процесі розвитку системи.
MongoDB забезпечує високу швидкість запису та читання даних, що
робить її ідеальною для обробки великої кількості подій у реальному часі. Це
особливо актуально для систем моніторингу трафіку, де обсяг даних може
досягати тисяч або навіть мільйонів записів на день. Завдяки підтримці
індексування та горизонтального масштабування MongoDB легко обробляє
великі обсяги інформації, дозволяючи системі ефективно масштабуватися у
міру зростання навантаження.
Крім того, MongoDB має простий у використанні драйвер для Python,
що дозволяє легко інтегрувати його у проект. Завдяки цьому розробники
можуть швидко створювати прототипи, тестувати різні алгоритми виявлення
аномальної активності та оперативно вносити зміни у структуру даних без
складної міграції.
MongoDB є найкращим вибором для системи моніторингу трафіку,
оскільки поєднує високу продуктивність, гнучкість структури даних та
простоту інтеграції, що дозволяє ефективно вирішувати завдання зберігання
та обробки великих обсягів інформації у режимі реального часу.
Система повинна обов’язково містити панель адміністратора —
спеціальний веб-інтерфейс або додаток, який надає повний контроль над
процесом моніторингу мережевого трафіку та виявлення аномальної
активності. Цей інтерфейс має бути зручним, інтуїтивно зрозумілим і
водночас функціонально насиченим, щоб адміністратор міг у будь-який
момент отримати повну картину безпеки мережі.
Через панель адміністратора користувач матиме змогу бачити
повідомлення про аномальні події, які автоматично генеруються системою,
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 30
а
що значно спрощує процес виявлення потенційних загроз. Крім того,
важливо, щоб панель дозволяла переглядати детальну інформацію про кожен
інцидент — тип аномалії, пристрій або IP-адресу, час фіксації, а також
історію подібних подій. Це дає змогу не лише швидко реагувати на активні
загрози, але й проводити ретельний аналіз причин їх виникнення.
Для ефективного управління системою панель адміністратора може
включати можливості фільтрації та сортування подій за різними критеріями,
а також відображення статистики у вигляді графіків і діаграм. Це допоможе
відслідковувати динаміку змін у мережевій активності, виявляти
закономірності та тренди, що є надзвичайно корисним для проактивного
захисту корпоративної інфраструктури.
Крім того, реалізація системи сповіщень у панелі адміністратора —
через email, SMS або інтеграцію з месенджерами — дозволить миттєво
інформувати відповідальних осіб про критичні інциденти. Такий підхід
забезпечує своєчасне втручання та мінімізує ризики, пов’язані з тривалим
перебуванням загрози у мережі.
Отже, панель адміністратора є центральним елементом системи
моніторингу, який об’єднує функції контролю, аналітики та оперативного
реагування. Вона створює умови для ефективного управління безпекою
мережі та значно підвищує здатність організації протистояти сучасним
кіберзагрозам.
Для розробки користувацького інтерфейсу системи моніторингу
трафіку можна використовувати стандартні технології веб-розробки —
HTML, CSS та JavaScript. Ці технології дозволяють створити зручний,
адаптивний та інтуїтивно зрозумілий інтерфейс, який буде доступний через
веб-браузер на будь-якому пристрої.
HTML відповідає за структуру сторінок, CSS забезпечує привабливий
та сучасний дизайн, а JavaScript додає інтерактивність — можливість
динамічно оновлювати дані, відображати графіки, сповіщення та реагувати
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 31
а
на дії користувача без необхідності перезавантаження сторінки.
Використання цих технологій дає змогу гнучко налаштовувати інтерфейс,
впроваджувати сучасні UI/UX рішення та інтегруватися з серверною
частиною через API, що суттєво полегшує розробку і подальше підтримання
системи.
2.3 Висновки до розділу
Для розробки ефективної системи моніторингу трафіку критично
важливо використовувати API операційної системи, що забезпечують доступ
до мережевих пакетів, журналів подій, таблиць з’єднань, системних ресурсів
і фаєрволів. Залежно від завдань проєкту можна використовувати різні мови
програмування: C++ — для високопродуктивного ядра, Python — для аналізу
та звітів, Java або C# — для створення інтерфейсу. Для побудови веб-
інтерфейсу підходять фреймворки React, Angular або Vue.js, які дозволяють
створити адаптивну панель моніторингу. Оперативне сповіщення
адміністратора забезпечується інтеграцією з сервісами масових повідомлень,
такими як Twilio. Такий підхід дозволяє створити потужну, гнучку та
функціональну систему моніторингу мережевого трафіку.
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 32
а
3 РОЗРОБКА СИСТЕМИМОНІТОРИНГУ ТРАФІКУ В ЛОКАЛЬНІЙ
МЕРЕЖІ З ВИЯВЛЕННЯМ АНОМАЛЬНОЇ АКТИВНОСТІ
3.1 Структура системи
Розроблена система моніторингу трафіку складається з двох ключових
компонентів, що взаємодіють між собою для забезпечення ефективного
контролю та захисту локальної мережі. Перший компонент — це клієнтський
додаток, який може бути встановлений або безпосередньо на комп’ютер
користувача, або на VPN-сервер, якщо в компанії використовується така
інфраструктура. Цей додаток виконує основну функцію збору мережевих
даних: він контролює порти, відстежує пакети, проводить первинний аналіз
та фільтрацію трафіку, виявляючи підозрілі або аномальні дії. Завдяки
такому розміщенню, додаток має прямий доступ до мережевих інтерфейсів і
може в режимі реального часу отримувати всю необхідну інформацію про
активність пристроїв у мережі.
Другий компонент - це серверна частина системи, яка приймає та
централізовано обробляє дані, отримані від встановлених клієнтських
додатків. Серверна частина відповідає за зберігання великого обсягу
інформації, агрегування подій, а також за аналітику та виявлення більш
складних патернів аномальної активності. Крім того, вона надає
адміністраторам зручний інтерфейс для роботи з оповіщеннями — так
званими alarms – що сигналізують про потенційні загрози чи порушення в
мережі.
Адміністратор через цей серверний інтерфейс може оперативно
отримувати повідомлення про інциденти, переглядати детальні логи та
статистику, аналізувати поведінку пристроїв, а також налаштовувати
параметри системи моніторингу. Такий поділ на клієнтську та серверну
частини дозволяє не лише збирати дані з різних точок мережі, а й
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 33
а
централізовано їх обробляти, що підвищує продуктивність системи та її
масштабованість.
Більше того, ця архітектура забезпечує гнучкість у розгортанні:
компанії можуть вибирати, де саме встановлювати клієнтські додатки —
безпосередньо на робочих станціях або на VPN-сервері, що особливо
актуально у випадках, коли необхідно контролювати трафік у віддалених
філіях чи при організації безпечного доступу з зовнішніх мереж.
Тому, інтеграція клієнтського додатку з серверною частиною створює
ефективну систему моніторингу, яка дозволяє не лише виявляти загрози в
режимі реального часу, а й забезпечує зручний інструментарій для їх аналізу
та своєчасного реагування, що є критично важливим для підтримки безпеки
корпоративної мережі. Структура розробленої системи зображено на
рисунку 3.1.
Рисунок 3.1 – Структура розробленої системи
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 34
а
Розроблене програмне забезпечення використовує бібліотеку Scapy -
одну з найпотужніших і найгнучкіших бібліотек Python для аналізу та
контролю мережевого трафіку. Scapy дозволяє перехоплювати, аналізувати,
модифікувати та створювати мережеві пакети будь-якого рівня, що робить її
ідеальним інструментом для моніторингу трафіку, який надходить або
виходить із системи [16].
Завдяки можливостям Scapy, додаток може детально відстежувати
пакети, виявляти аномалії, збирати статистику та проводити первинний
аналіз трафіку в режимі реального часу. Ця бібліотека також підтримує
роботу з різними протоколами, що забезпечує гнучкість та масштабованість
системи. Використання Scapy дозволяє розробникам ефективно реалізувати
функції виявлення підозрілої активності, що є ключовою складовою системи
моніторингу.
Після того, як розроблене програмне забезпечення перехоплює
мережевий трафік, воно починає його детальний аналіз, використовуючи
спеціальні правила, які завантажуються з центрального серверу системи. Ці
правила визначають, які саме патерни або характеристики трафіку
вважаються нормальними, а які можуть свідчити про аномальну або
потенційно шкідливу активність. Такий підхід дозволяє системі бути
гнучкою та адаптивною, оскільки правила можна оновлювати та
доповнювати без необхідності змінювати програмний код клієнтського
додатку.
Аналіз трафіку здійснюється шляхом порівняння отриманих пакетів з
цим набором правил у режимі реального часу. Система перевіряє різні
параметри, такі як тип протоколу, адреси відправника та отримувача, порти,
обсяг та частоту передачі даних, а також інші специфічні ознаки, які можуть
свідчити про спробу несанкціонованого доступу, сканування мережі або інші
загрози. Якщо пакет або група пакетів не відповідають нормальним
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 35
а
параметрам, встановленим у правилах, система позначає таку активність як
підозрілу або аномальну.
Важливо, що завдяки завантаженню правил з центрального серверу
адміністратори мають змогу оперативно оновлювати критерії виявлення
загроз, реагувати на нові види атак або змінювати стратегії моніторингу
залежно від поточної ситуації у мережі. Це забезпечує динамічність і
актуальність системи безпеки, дозволяючи підтримувати високий рівень
захисту навіть у випадках, коли зловмисники постійно вдосконалюють свої
методи.
Після перехоплення трафіку програмне забезпечення не просто фіксує
дані, а проводить глибокий, системний аналіз на основі актуальних правил,
що робить систему моніторингу ефективним інструментом виявлення
аномальної активності та забезпечення безпеки корпоративної мережі.
У разі виявлення аномалії або потенційної загрози встановлене
програмне забезпечення негайно надсилає детальну інформацію про цю
подію на центральний сервер системи. Це дозволяє централізовано збирати
всі дані про підозрілі інциденти, аналізувати їх та своєчасно інформувати
адміністратора про можливі загрози. Важливо відзначити, що на відміну від
традиційних антивірусних програм, ця система не блокує або не припиняє
підозрілий трафік автоматично.
Замість цього вона виступає як інструмент раннього попередження,
який лише сповіщає сервер про факт виникнення аномальної активності,
залишаючи рішення про подальші дії за адміністраторами або іншими
службами безпеки. Такий підхід дозволяє уникнути можливих помилкових
спрацьовувань та блокувань легітимного трафіку, що могло б негативно
вплинути на роботу мережі чи бізнес-процеси компанії.
Таким чином, система виконує роль надійного помічника у виявленні
загроз, забезпечуючи прозорий і контрольований процес реагування, а також
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 36
а
даючи змогу адміністраторам самостійно приймати рішення щодо заходів
безпеки на основі зібраної інформації.
Серверна частина системи фіксує кожну отриману подію, пов’язану з
виявленням аномальної активності або потенційної загрози в мережі. Завдяки
централізованому збору даних вона забезпечує надійне збереження
інформації про всі інциденти, що дозволяє вести повну історію подій для
подальшого аналізу та аудиту безпеки.
У випадку, якщо подія має високий рівень важливості або сигналізує
про критичну загрозу, серверна частина автоматично ініціює сповіщення
адміністратора. Це може бути реалізовано через різні канали комунікації, такі
як електронна пошта, SMS-повідомлення або інтеграція з системами
миттєвих повідомлень. Метою такого механізму є своєчасне інформування
відповідальних осіб про необхідність оперативного реагування, що значно
підвищує ефективність захисту корпоративної мережі.
Серверна частина виконує ключову роль у системі моніторингу — не
лише збирає і зберігає інформацію, а й активно підтримує процес реагування,
забезпечуючи своєчасне інформування адміністратора про найважливіші
події, що допомагає мінімізувати ризики та попередити можливі інциденти.
Нотифікація адміністратора про важливі події у системі може бути
реалізована через різні канали зв’язку, серед яких особливо ефективними є
SMS-повідомлення або телефонні дзвінки. Для цього у серверній частині
системи використовується сервіс Twilio — потужна та надійна платформа
для відправки повідомлень і здійснення голосових викликів через
інтернет [17].
Завдяки інтеграції з Twilio, система має можливість миттєво надсилати
адміністраторам текстові повідомлення або автоматично виконувати
телефонні дзвінки з попередженням про критичні інциденти. Такий спосіб
сповіщення дозволяє забезпечити оперативний зв’язок навіть у випадках,
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 37
а
коли адміністратор не має доступу до електронної пошти або веб-інтерфейсу
системи.
Використання Twilio значно підвищує ефективність реагування на
загрози, оскільки дозволяє доставляти інформацію в найкоротший час і з
мінімальними затримками, що є надзвичайно важливим для підтримки
високого рівня безпеки корпоративної мережі.
Система має спеціальну панель адміністратора — зручний інтерфейс,
через який адміністратор може переглядати всі зафіксовані події, пов’язані з
аномальною активністю чи потенційними загрозами в мережі. Ця панель
дозволяє детально ознайомитися з кожним інцидентом, переглядати його
характеристики, аналізувати причини виникнення та ступінь ризику.
Варто зазначити, що система не має функцій безпосереднього
блокування трафіку чи автоматичного втручання у роботу мережі.
Адміністратор може лише переглядати отримані alerts і, на основі отриманої
інформації, приймати рішення щодо подальших дій. Для запобігання
загрозам адміністратор самостійно змінює налаштування маршрутизаторів,
файрволів або інших мережевих пристроїв, використовуючи стандартні
інструменти керування інфраструктурою.
Тому, панель адміністратора слугує інформаційним центром для
моніторингу та аналізу загроз, надаючи всі необхідні дані для прийняття
обґрунтованих рішень, але не виконує функції автоматичного блокування чи
втручання у мережевий трафік.
3.2 Опис функцій системи
Основна функція розробленої системи полягає у комплексному
контролі вхідного та вихідного мережевого трафіку з метою виявлення
аномалій та потенційних загроз. Система здійснює постійний моніторинг
активності в локальній мережі, аналізує отримані дані та фіксує підозрілі
події, що можуть свідчити про небезпечну або несанкціоновану активність.
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 38
а
На основі отриманої інформації система надає адміністратору
можливість своєчасно реагувати на потенційні загрози. Хоча вона не
здійснює автоматичного блокування трафіку чи втручання в роботу мережі,
завдяки детальним звітам і сповіщенням адміністратор отримує необхідні
дані для прийняття обґрунтованих рішень. Це дозволяє йому виконувати
відповідні дії, наприклад, змінювати налаштування маршрутизаторів,
файрволів чи інших мережевих пристроїв, щоб запобігти поширенню загрози
та забезпечити безпеку корпоративної мережі.
Основна мета системи — не тільки виявляти аномалії, а й надавати
адміністратору ефективний інструмент для контролю та управління безпекою
мережі на основі отриманої інформації.
З точки зору адміністратора, робота з системою починається з процесу
авторизації, який забезпечує безпеку доступу до панелі управління.
Авторизація дозволяє підтвердити особу користувача та надати йому
відповідні права доступу до функцій системи.
Цей етап є важливим для захисту конфіденційної інформації про
мережеві події та налаштування безпеки. Після успішного входу в систему
адміністратор отримує доступ до повного функціоналу, що включає перегляд
зафіксованих подій, аналіз сповіщень про аномалії, а також можливість
приймати рішення на основі отриманих даних.Авторизація в
системізображено на рисунку 3.2.
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 39
а
Рисунок 3.2 – Авторизація в системі
На даний момент реєстрація в системі недоступна, оскільки розробка
спрямована на забезпечення максимальної безпеки та контролю доступу на
початковому етапі впровадження. Тому адміністратор додається в систему
безпосередньо через базу даних під час первинного налаштування
програмного забезпечення. Це дає змогу уникнути ризиків, пов’язаних із
несанкціонованою реєстрацією, і гарантувати, що доступ до системи має
виключно уповноважений персонал. У майбутньому можливість самостійної
реєстрації користувачів може бути додана, однак наразі такий підхід
дозволяє підвищити рівень безпеки та централізовано контролювати список
користувачів, які матимуть доступ до панелі адміністратора та інших
важливих функцій системи.
Після авторизації адміністратор системи отримує доступ до панелі
управління, яка дозволяє йому здійснювати всебічний контроль за станом
мережі та безпекою системи в цілому. Основним завданням адміністратора є
моніторинг подій, що відбуваються на комп’ютерах користувачів, які
підключені до системи. Це дає змогу відстежувати будь-які аномальні або
підозрілі дії, що можуть свідчити про потенційну загрозу для корпоративної
мережі або окремого пристрою. Система надає адміністратору можливість
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 40
а
бачити хронологію всіх зафіксованих інцидентів, що дає змогу швидко
реагувати та проводити розслідування щодо кожної події.
Крім цього, адміністратор може переглядати список усіх активних
клієнтів, які наразі підключені до системи та перебувають онлайн. Така
функція дозволяє тримати під контролем кількість користувачів, стан їхніх
підключень та загальну активність у мережі, що суттєво спрощує управління
інфраструктурою та допомагає своєчасно виявляти потенційні проблеми.
Окрім моніторингу, адміністратор має можливість створювати та
налаштовувати правила для системи, які визначають критерії виявлення
аномальної активності. Це дозволяє персоналізувати роботу системи,
адаптувати її до специфіки конкретної мережі та швидко реагувати на нові
типи загроз. Тож, адміністратор не лише спостерігає за подіями, але й
активно керує системою захисту, формуючи правила та політики, які
відповідають актуальним потребам організації. Перегляд подій згенерованих
системою зображено на рисунку 3.3.
Рисунок 3.3 – Перегляд подій згенерованих системою
Адміністратор системи також має можливість вручну створити подію в
системі у випадку, якщо певна ситуація сталася в мережі, але автоматичний
моніторинг її не зафіксував або не ідентифікував як загрозу. Це особливо
важливо для підвищення гнучкості та точності роботи системи, оскільки
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 41
а
дозволяє адміністраторам відзначати інциденти, які вони вважають
значущими, та враховувати їх у подальшому аналізі. Завдяки цьому
адміністратор може накопичувати додаткову інформацію для вдосконалення
налаштувань системи та підвищення ефективності виявлення загроз у
майбутньому.
Крім того, адміністратор має можливість переглядати існуючі правила
моніторингу та редагувати їх відповідно до нових даних або змін у
корпоративній мережі. Це дозволяє оперативно адаптувати систему до нових
викликів безпеки та підтримувати її актуальною й ефективною. Такий підхід
значно підвищує гнучкість управління безпекою та дає змогу забезпечити
максимальний захист корпоративної мережі, реагуючи на специфічні загрози,
характерні для конкретного середовища.
Якщо подія була створена автоматично системою в результаті
виявлення аномальної активності, адміністратор має можливість додатково
обробити цю подію для кращої організації та контролю процесу реагування.
Зокрема, адміністратор може архівувати подію, якщо вона вже була
опрацьована або не становить актуальної загрози, тим самим звільняючи
робочий простір для моніторингу нових інцидентів.
Окрім цього, адміністратор може змінити пріоритет події в залежності
від її важливості та впливу на мережеву інфраструктуру. Це дозволяє
ефективно розподіляти ресурси та фокусувати увагу на найкритичніших
загрозах.
Варто зазначити, що подія залишається в системі доти, доки її
першопричина не буде остаточно вирішена. Це дає змогу зберігати історію
інцидентів та забезпечувати повноцінний аудит усіх подій, пов’язаних із
безпекою мережі. Таким чином, адміністратор має інструменти як для
оперативного реагування, так і для ретельного аналізу та запобігання
подібним загрозам у майбутньому.
3.3 Технічні вимоги для роботи з системою
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 42
а
Для забезпечення ефективної роботи системи моніторингу трафіку з
виявленням аномальної активності необхідно дотриматися певних технічних
вимог, які стосуються як апаратної платформи, так і програмного
забезпечення.
Перш за все, важливим компонентом є серверна частина системи, яка
приймає, обробляє та зберігає дані, що надходять від клієнтських пристроїв.
Для цього рекомендується використовувати сервер із сучасним
багатоядерним процесором (мінімум 4 ядра, краще 8), достатнім обсягом
оперативної пам’яті (не менше 16 ГБ, бажано від 32 ГБ для великих
інсталяцій) та швидким SSD-накопичувачем для забезпечення високої
швидкості читання та запису даних. Це дозволить обробляти великий обсяг
мережевого трафіку в реальному часі та уникати затримок у роботі системи.
Крім того, серверна частина повинна мати стабільне мережеве
з’єднання із пропускною здатністю не менше 1 Гбіт/с, щоб отримувати та
обробляти трафік від клієнтських пристроїв без затримок. Також важливо,
щоб сервер працював на сучасній операційній системі (наприклад,
LinuxUbuntu Server 22.04 або CentOSStream 9), що забезпечує стабільність,
безпеку та можливість гнучкого адміністрування.
Клієнтська частина системи встановлюється на комп’ютери
користувачів або на VPN-сервери, і для її коректної роботи потрібен доступ
до системних мережевих інтерфейсів для моніторингу вхідного та вихідного
трафіку. Зазвичай для цього використовується мова програмування Python із
бібліотекою Scapy або аналогічними рішеннями для перехоплення
мережевих пакетів. Це дозволяє виконувати аналіз трафіку на низькому рівні
та забезпечувати гнучкість в роботі з різними протоколами.
Також важливо, щоб на клієнтських машинах була встановлена
операційна система, сумісна з Python (наприклад, Windows 10/11,
UbuntuDesktop, Fedora або інші популярні дистрибутиви Linux). Для запуску
додатку потрібна актуальна версія Python (3.8 і вище), встановлені пакети для
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 43
а
роботи з мережею, такі як Scapy, а також бібліотеки для взаємодії з
серверною частиною через HTTPS (наприклад, Requests або aiohttp).
Щодо бази даних, для забезпечення гнучкості та високої швидкості
зчитування даних найкраще підходить MongoDB. Її нереляційна структура
дозволяє зберігати великі обсяги подій та метаданих без потреби в складних
схемах, забезпечуючи простоту масштабування та гнучкість у зміні
структури даних у майбутньому. MongoDB також забезпечує легку
інтеграцію з Python через бібліотеку PyMongo, що значно полегшує розробку
системи.
Для веб-інтерфейсу адміністратора використовується фреймворкFlask,
що дозволяє швидко створювати API та веб-панелі для управління подіями та
користувачами. Завдяки сумісності з HTML, CSS і JavaScript адміністратор
отримує можливість працювати через будь-який сучасний веб-браузер без
потреби встановлення додаткового програмного забезпечення. Важливо
також врахувати налаштування SSL-сертифікатів для захищеної взаємодії
між клієнтами та сервером через HTTPS.
Ще однією вимогою є можливість віддаленого доступу до серверної
частини через SSH для адміністрування та налаштування. Це дозволяє
швидко оновлювати систему, змінювати конфігурації та забезпечувати
безперервну роботу навіть за відсутності фізичного доступу до серверного
обладнання.
Таким чином, для забезпечення ефективної роботи системи потрібне
сучасне серверне обладнання з високою продуктивністю, стабільний
мережевий інтерфейс, сучасні операційні системи, підтримка Python та
необхідних бібліотек для моніторингу трафіку, а також наявність захищеного
веб-інтерфейсу для адміністратора. Усе це гарантує надійну, швидку та
безпечну роботу системи моніторингу мережі з виявленням аномальної
активності.
3.4 Оцінка ефективності
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 44
а
Ефективність розробленої системи моніторингу трафіку та виявлення
аномальної активності демонструє високий рівень здатності вчасно виявляти
підозрілу активність у мережі. Протягом тестування система
продемонструвала значний відсоток виявлення справжніх загроз
(TruePositiveRate) за умови мінімальної кількості хибнопозитивних
спрацювань, що свідчить про її надійність у виявленні потенційних атак та
підозрілих дій. Навіть за складних сценаріїв із великою кількістю мережевих
подій система стабільно аналізувала трафік і надавала точну інформацію для
адміністратора.
Продуктивність системи під час навантажувальних випробувань
виявилася достатньо високою: система обробляє великий обсяг трафіку в
режимі реального часу без істотного впливу на ресурси сервера та
клієнтських пристроїв. Показники затримки між виявленням події та її
передачею в інтерфейс адміністратора залишалися в межах секунд, що
дозволяє оперативно реагувати на інциденти. Це робить систему придатною
для використання як у малих офісах, так і в середовищі великої
корпоративної мережі.
Система має інтуїтивно зрозумілий веб-інтерфейс, який створений із
використанням Flask, HTML, CSS і JavaScript, що забезпечує зручність
користування. Адміністратори відзначають зручність у роботі з подіями,
можливість переглядати активність клієнтських комп’ютерів та швидко
створювати власні правила для моніторингу мережі. Це суттєво знижує час
реагування на інциденти й мінімізує ризик помилок під час налаштування
системи.
Система також демонструє стабільність у роботі навіть за умов
підвищених навантажень та при великій кількості підключених клієнтів. Усі
події відображаються коректно, система не зависає й не створює зайвого
навантаження на серверні та клієнтські ресурси. Це підтверджує її
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 45
а
придатність для тривалого використання без необхідності постійного
адміністрування або перезапусків.
Особливу увагу приділено інтеграції з іншими засобами захисту в
організації. Порівняння даних системи з результатами роботи антивірусів і
IDS/IPS показало, що вона вдало доповнює існуючі рішення, фіксуючи ті
інциденти, які могли бути пропущені іншими засобами. Це підвищує
загальний рівень безпеки та створює додатковий шар захисту, не дублюючи,
а саме розширюючи можливості адміністратора у виявленні та запобіганні
кіберзагрозам.
Крім того, система має високий потенціал для розвитку завдяки
можливості адміністратора створювати власні події у випадку, якщо система
щось не зафіксувала. Це дозволяє накопичувати інформацію про нові види
загроз і вдосконалювати систему в майбутньому, додаючи нові правила й
адаптуючи її до постійно мінливого ландшафту атак.
Загалом оцінка ефективності розробленої системи показує її надійність,
точність виявлення загроз, високу продуктивність і дружній інтерфейс для
адміністратора. Це робить її цінним інструментом для організацій, які
прагнуть захистити свої мережі від сучасних кіберзагроз і своєчасно
реагувати на аномальну активність.
3.5 Висновки до розділу
У третьому розділі було реалізовано архітектуру та функціональні
можливості системи моніторингу мережевого трафіку, основним завданням
якої є виявлення аномальної активності в локальній мережі. Розроблена
система має модульну структуру, що складається з клієнтської та серверної
частини. Такий підхід забезпечує масштабованість, гнучкість і зручне
централізоване управління.
Клієнтський додаток виконує перехоплення, первинний аналіз трафіку
та виявлення аномалій у режимі реального часу, використовуючи бібліотеку
Scapy та правила з центрального сервера. Серверна частина, у свою чергу,
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 46
а
виконує обробку, зберігання даних та генерацію сповіщень про інциденти
через інтеграцію з сервісом Twilio, що дозволяє швидко інформувати
адміністратора про потенційні загрози.
Функціонал системи передбачає детальний аналіз активності в мережі,
але без автоматичного втручання у її роботу, надаючи адміністратору повний
контроль над рішенням щодо подальших дій. Адміністративна панель
забезпечує зручний доступ до інформації про всі інциденти, дозволяючи
ефективно керувати безпекою мережі.
Загалом, реалізована система є ефективним інструментом моніторингу,
який дозволяє вчасно виявляти загрози, аналізувати мережеву активність та
приймати обґрунтовані рішення для забезпечення кібербезпеки.
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 47
а
4 ЗАХИСТ СИСТЕМИМОНІТОРИНГУ ТРАФІКУ В ЛОКАЛЬНІЙ
МЕРЕЖІ З ВИЯВЛЕННЯМ АНОМАЛЬНОЇ АКТИВНОСТІ
4.1 Огляд існуючих рішень
Захист інформації при використанні серверних додатків —
критично важливий аспект розробки будь-якої системи, яка обробляє,
зберігає або передає дані користувачів, мережеву інформацію чи
адміністративну аналітику. Недостатній захист може призвести до витоку
конфіденційних даних, злому системи або втрати довіри користувачів.
Першим кроком є впровадження надійної аутентифікації та авторизації.
Сервер має точно ідентифікувати, хто звертається до системи, і визначати,
які дії дозволено виконувати. Для цього використовуються JWT (JSON Web
Token), OAuth 2.0, а також рольова модель доступу (RBAC), яка дозволяє
обмежити права користувача відповідно до його ролі[18].
Другий напрям — шифрування даних. Для захисту від перехоплення
вся передача інформації має відбуватись через захищене з’єднання HTTPS
(TLS/SSL). Всі паролі зберігаються у хешованому вигляді (bcrypt, Argon2), а
чутливі дані в базі даних можуть бути зашифровані за допомогою
алгоритмів, як-от AES.
Третій важливий аспект — захист від типових атак. Необхідно уникати
SQL-ін’єкцій шляхом використання параметризованих запитів або ORM.
Щоб запобігти XSS (міжсайтовому скриптингу), слід ретельно перевіряти та
очищувати всі введені користувачем дані. Захист від CSRF забезпечується за
допомогою спеціальних токенів [19]. Для запобігання brute-force атакам
вводиться обмеження кількості спроб входу та система тимчасового
блокування.
Ще один ключовий компонент — логування та моніторинг активності.
Необхідно вести облік усіх входів, змін у даних і спроб несанкціонованого
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 48
а
доступу. У разі підозрілої активності система повинна надсилати сповіщення
адміністратору через email, месенджери або сервіси типу Twilio. Також
рекомендується інтегрувати системи моніторингу, як-от Prometheus, Grafana
чи ELK Stack. [20].
Для захисту самого середовища серверного застосунку слід
використовувати брандмауери, обмеження IP-адрес, VPN-доступ для
адміністраторів. Варто мінімізувати кількість відкритих портів і регулярно
оновлювати ОС та всі залежності, аби уникнути вразливостей.
Окремо варто зазначити важливість резервного копіювання та
наявності плану відновлення після збоїв. Регулярне створення бекапів бази
даних і конфігурацій дозволить швидко відновити працездатність системи у
разі атаки чи технічної помилки.
Не менш важливо контролювати сесії користувачів. Сесії мають
автоматично завершуватись після періоду неактивності. Токени доступу не
слід зберігати у відкритому вигляді (наприклад, у LocalStorage). Краще
використовувати HttpOnly та Secure cookie для підвищення безпеки.
Серверний додаток повинен відповідати принципам безпеки за
замовчуванням (security by default) і мінімальних привілеїв (least privilege),
що забезпечує комплексний підхід до захисту інформації та надійне
функціонування всієї системи.
Захист інформації при роботі з системою, зокрема в частині
автентифікації та авторизації, є ключовим елементом інформаційної безпеки.
Ці процеси визначають, хто саме отримує доступ до системи, і які дії
дозволено виконувати кожному користувачеві. Їх правильна реалізація
допомагає запобігти несанкціонованому доступу, витоку даних та
потенційним кібератакам.
Автентифікація — це процес перевірки особи користувача. Найбільш
поширеною формою є комбінація логіна та пароля. Для підвищення рівня
захисту рекомендується реалізовувати двофакторну автентифікацію
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 49
а
(2FA) [21]. Вона передбачає, що крім пароля, користувач повинен
підтвердити свою особу через одноразовий код із мобільного додатку
(наприклад, Google Authenticator) або за допомогою SMS/електронної пошти.
Захищене зберігання облікових даних є обов’язковим. Паролі ніколи не
повинні зберігатися у відкритому вигляді. Їх слід хешувати з використанням
криптографічно стійких алгоритмів, таких як bcrypt, scrypt або Argon2 [22].
Також важливо використовувати унікальні «солі» для кожного пароля, щоб
запобігти атакам типу rainbow table.
Авторизація — це процес визначення прав доступу після того, як
користувач автентифікований. Рекомендується реалізовувати рольову модель
доступу (RBAC), де кожен користувач належить до певної ролі (наприклад,
адміністратор, користувач, гість), і кожній ролі надаються обмежені дозволи
на виконання операцій у системі. Це дозволяє чітко контролювати доступ до
окремих функцій, розділів або даних системи.
Для авторизації часто використовуються токени доступу — наприклад,
JWT (JSON Web Token). Вони дозволяють зберігати унікальну сесію
користувача без необхідності постійної перевірки бази даних. Токени мають
обмежений час життя та можуть містити зашифровану інформацію про
користувача. Їх передача має здійснюватися тільки через безпечні канали
(HTTPS), а зберігання — з використанням захищених механізмів (наприклад,
HttpOnly cookies) [23].
Додатково слід впровадити захист від атак типу brute-force —
наприклад, обмеження кількості невдалих спроб входу та капча після кількох
помилок. Також важливо мати механізм автоматичного завершення сесій
після певного часу неактивності або при виході з системи.
Логування всіх спроб входу в систему, як успішних, так і невдалих,
дозволяє виявляти підозрілу активність. У разі виявлення потенційної
загрози, система має негайно сповіщати адміністратора або відповідальних
осіб через email, SMS або інші інструменти (наприклад, Twilio).
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 50
а
Надійна система автентифікації та авторизації створює перший
захисний бар’єр між користувачем і системою, забезпечуючи
контрольований, безпечний і прозорий доступ до інформації. Це особливо
важливо в умовах, коли система опрацьовує конфіденційні дані або
використовується в критично важливому середовищі.
Захист інформації при збереженні інформації в базі даних є
критично важливим етапом побудови безпечної системи. Дані, що
зберігаються в базі, часто містять конфіденційну або персональну
інформацію, тому їх необхідно захищати від несанкціонованого доступу,
втрат або модифікацій.
Сервер бази даних має бути ізольованим від зовнішнього доступу, і
доступ до нього повинні мати лише ті програми або користувачі, яким це
дійсно потрібно. Для цього використовуються унікальні облікові записи з
чітко визначеними правами доступу — наприклад, лише на читання, запис
або адміністрування. Небажано використовувати один обліковий запис для
всіх користувачів або сервісів.
Шифрування даних є обов’язковим як на рівні збереження (at rest), так і
під час передачі (in transit). Для шифрування в базі даних можуть
використовуватись як вбудовані механізми (наприклад, Transparent Data
Encryption у SQL Server або tablespace encryption у MySQL/PostgreSQL), так і
зовнішні рішення [24]. Конфіденційні поля (наприклад, паролі, номери
карток, особисті ідентифікатори) бажано додатково шифрувати вручну з
використанням надійних алгоритмів, таких як AES.
Окрема увага повинна бути приділена захисту паролів користувачів.
Паролі не можна зберігати у відкритому вигляді. Вони мають бути хешовані
за допомогою криптостійких алгоритмів (bcrypt, scrypt, Argon2) із
використанням «солі», що унеможливлює зворотнє відновлення пароля
навіть у разі витоку бази даних.
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 51
а
Для запобігання SQL-ін’єкціям потрібно використовувати підготовлені
запити (prepared statements) або ORM (object-relational mapping) фреймворки,
які автоматично екранують введення користувача. Це не дозволяє
зловмисникам виконувати довільні SQL-команди через інтерфейс додатку.
Важливо також реалізувати аудит і логування доступу до бази даних.
Усі спроби доступу, зміни даних або збої в системі мають фіксуватися. Це
дозволяє оперативно виявити підозрілу активність, провести аналіз
інцидентів та вжити відповідних заходів.
Резервне копіювання та відновлення. Бекапи повинні виконуватись
регулярно, зберігатися в шифрованому вигляді та бути фізично
відокремленими від основної системи. Це гарантує збереження даних у разі
атаки або апаратного збою.
Також необхідно регулярно оновлювати програмне забезпечення бази
даних. Уразливості у старих версіях СУБД можуть стати точкою входу для
атак. Встановлення оновлень і патчів забезпечує актуальний рівень захисту.
Захист інформації в базі даних — це багаторівневий процес, що
включає технічні, організаційні та криптографічні засоби. Його правильна
реалізація гарантує збереження довіри користувачів і безпеку всієї
інформаційної системи.
Захист інформації при перехопленні та моніторингу мережевих
пакетів є важливою складовою безпеки інформаційної системи. Під час
моніторингу трафіку система аналізує передані пакети, однак цей процес не
повинен порушувати конфіденційність, цілісність і доступність даних
користувачів.
Варто враховувати, що перехоплення пакетів — це високоризикована
операція, оскільки вона може бути використана як для легітимного
моніторингу адміністратором мережі, так і для злочинної діяльності
зловмисниками. Тому будь-яке ПЗ для моніторингу повинно чітко
обмежувати доступ до функцій перехоплення, дозволяючи їх
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 52
а
використовувати лише авторизованим адміністраторам із відповідними
правами доступу.
Важливо, щоб передача конфіденційних даних в мережі була
зашифрована. Найефективніший спосіб захисту від перехоплення —
використання захищених протоколів, таких як HTTPS (SSL/TLS), SSH, VPN,
FTPS [25]. Навіть якщо трафік буде перехоплений, шифрування
унеможливить зчитування змісту повідомлень без криптографічного ключа.
Сама система моніторингу повинна бути спроєктована з дотриманням
принципу “прозорості та обмеженого доступу”. Це означає, що зібрані
пакети та метадані не повинні зберігатися довше, ніж потрібно для аналізу, а
доступ до цих даних повинен мати лише обмежене коло осіб. Усі дії із
переглядом або обробкою пакетів мають логуватись.
Для запобігання витоку інформації система повинна реалізовувати
механізми маскування чутливих даних, наприклад, замінювати реальні IP-
адреси або поля з персональними даними на умовні значення при виведенні
інформації в інтерфейсі адміністратора або в логах.
Також важливо впровадити внутрішні політики безпеки, які
регламентують, які типи трафіку дозволено моніторити, в яких випадках і
ким саме. Це дозволяє уникнути зловживання інструментами моніторингу,
наприклад, для шпигунства за користувачами.
Фізична безпека обладнання також грає роль — мережеві інтерфейси та
точки доступу до системи моніторингу мають бути захищеними від
підключення сторонніх осіб або пристроїв, які можуть використовуватись
для прослуховування трафіку.
На завершення, юридичний аспект також важливий — перехоплення
мережевого трафіку регулюється законодавством. У більшості країн
дозволяється моніторинг лише у межах організації або з явною згодою
користувачів. Тому систему слід розробляти з урахуванням вимог законів
про захист персональних даних (наприклад, GDPR).
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 53
а
Безпечний моніторинг пакетів передбачає впровадження технічного,
організаційного та юридичного контролю над процесом збору, зберігання й
аналізу мережевого трафіку. Це забезпечує баланс між функціональністю
системи моніторингу та дотриманням принципів інформаційної безпеки.
4.2 Реалізація захисту користувачів
Реалізація захисту користувачів у розробленій системі моніторингу
трафіку та виявлення аномальної активності є комплексним завданням, що
передбачає не лише виявлення потенційно небезпечної активності, а й
забезпечення безпеки самих користувачів та їхніх даних під час роботи із
системою. На першому етапі особливу увагу було приділено захисту
облікових записів адміністратора та користувачів, щоб гарантувати, що
тільки уповноважені особи можуть отримати доступ до панелі управління та
функцій моніторингу. Для цього впроваджено надійні механізми
автентифікації, які передбачають захищений вхід через HTTPS та зберігання
паролів у зашифрованому вигляді, використовуючи сучасні криптографічні
алгоритми. Це запобігає можливості перехоплення або компрометації
паролів під час передачі даних.
Захист користувачів системи також реалізується через використання
зашифрованих каналів зв’язку між клієнтською частиною програмного
забезпечення та сервером. Уся передача даних здійснюється через протокол
HTTPS, який гарантує цілісність і конфіденційність трафіку навіть у випадку
використання відкритих мереж або потенційно вразливих точок доступу. Це
особливо важливо, оскільки система передає інформацію про трафік і події,
які можуть містити чутливі відомості про діяльність користувачів.
Крім цього, система моніторингу не втручається безпосередньо у
роботу користувацьких програм або налаштувань, а працює у режимі
пасивного моніторингу, тобто лише збирає дані про активність мережі без
внесення змін у трафік або блокування роботи користувача. Це дозволяє
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 54
а
зберегти стабільність роботи користувацьких додатків і водночас
забезпечити високий рівень захисту без ризику порушення функціональності
системи або конфліктів із іншими програмами безпеки.
Ще однією важливою складовою захисту користувачів є обмеження
доступу до даних. Інформація про активність трафіку та події зберігається на
сервері у захищеному середовищі, доступ до якого має лише адміністратор
системи або інші авторизовані особи. Це унеможливлює несанкціонований
доступ сторонніх користувачів або зловмисників до даних про активність у
мережі. Дані журналів подій також зберігаються в зашифрованому вигляді,
що гарантує їхню цілісність і конфіденційність навіть у випадку фізичного
доступу до сервера.
Особливу увагу приділено мінімізації ризиків для користувачів,
пов’язаних із хибнопозитивними спрацюваннями системи. Оскільки система
не втручається у мережевий трафік і не блокує його, вона лише сповіщає
адміністратора про потенційну загрозу. Це дозволяє уникнути ситуацій, коли
легітимні дії користувачів були б заблоковані помилково, що могло б
негативно вплинути на робочий процес або викликати скарги від кінцевих
користувачів. Натомість адміністратор отримує інформацію про подію та
може самостійно приймати рішення щодо подальших дій.
Для забезпечення захисту користувачів також впроваджено
багаторівневий підхід до безпеки. Наприклад, доступ до адміністративної
панелі можливий лише з мережевих адрес або VPN, які попередньо додані до
списку дозволених, що знижує ризик несанкціонованих спроб доступу ззовні.
Це дозволяє системі працювати у корпоративному середовищі без ризику
компрометації конфіденційної інформації.
У підсумку можна зазначити, що реалізація захисту користувачів у
розробленій системі поєднує в собі комплексну автентифікацію, шифрування
переданих даних, ізоляцію даних від сторонніх доступів, пасивний режим
моніторингу без блокування трафіку та багаторівневий контроль доступу до
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 55
а
адміністративних функцій. Це робить систему безпечною у використанні,
захищає дані користувачів та водночас забезпечує стабільну роботу
організаційної мережі.
4.3 Висновки до розділу
Захист системи моніторингу трафіку є критичним для забезпечення
безпеки локальної мережі. Основними складовими захисту є надійна
автентифікація й авторизація користувачів, шифрування даних при
збереженні та передачі, захист від типових атак (SQL-ін’єкцій, XSS, CSRF,
brute-force), а також контроль доступу до мережевих інтерфейсів і логування
дій. Дотримання принципів мінімальних привілеїв, безпеки за замовчуванням
та регулярне оновлення ПЗ знижують ризик компрометації. Важливо також
враховувати юридичні аспекти та впроваджувати політики прозорого
моніторингу для дотримання конфіденційності користувачів.
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 56
а
ВИСНОВКИ
У результаті виконаної роботи було досліджено сучасні підходи до
моніторингу мережевого трафіку, спроєктовано та реалізовано систему, що
дозволяє ефективно виявляти аномальну активність у локальній мережі з
метою підвищення її кібербезпеки. Аналіз існуючих рішень показав, що
системи моніторингу трафіку є важливою складовою комплексного захисту
ІТ-інфраструктури, оскільки дозволяють не лише виявляти зовнішні загрози,
але й своєчасно ідентифікувати внутрішні інциденти, які можуть залишитися
непоміченими класичними засобами захисту, такими як антивірус або
фаєрвол.
Під час постановки задачі проєкту було визначено, що система повинна
мати гнучку модульну архітектуру, яка дозволяє її розгортання як на окремих
клієнтських пристроях, так і на серверних вузлах, зокрема на VPN-серверах.
Така архітектура забезпечує універсальність і масштабованість системи, дає
змогу адаптувати її під різні сценарії використання, включно з
корпоративними мережами різного рівня складності.
У процесі реалізації системи було створено два основні компоненти:
клієнтський додаток і серверну частину. Клієнтський додаток,
використовуючи бібліотеку Scapy, виконує перехоплення та попередній
аналіз мережевого трафіку в реальному часі. Він також відповідає за
виявлення потенційно шкідливої активності за попередньо визначеними
правилами та передає зібрані дані на сервер для подальшої обробки.
Серверна частина займається зберіганням, аналізом, кореляцією подій,
веденням логів, а також надсилає адміністраторам повідомлення про
виявлені інциденти через інтеграцію з сервісом масових повідомлень Twilio.
Таким чином, забезпечується оперативне інформування відповідальних осіб
про загрози у мережі.
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 57
а
Для зручного управління та перегляду інформації про інциденти
реалізовано адміністративну панель, що забезпечує централізований доступ
до статистики, звітів та логів. Інтерфейс створено з використанням сучасних
веб-фреймворків, що дозволяє інтегрувати систему у вже наявні інструменти
IT-інфраструктури компанії. При цьому важливою особливістю системи є
пасивний характер втручання – вона не змінює мережевий трафік, а лише
інформує адміністратора, надаючи йому повний контроль над ухваленням
рішень щодо реагування.
Особлива увага у проєкті приділялася питанням безпеки самої системи
моніторингу. Було реалізовано механізми автентифікації та авторизації,
шифрування даних як під час передачі, так і під час зберігання, захист від
найпоширеніших веб-загроз (SQL-ін’єкції, XSS, CSRF, brute-force) та
обмеження доступу до чутливих компонентів системи. Також дотримано
принципів мінімальних привілеїв, безпеки за замовчуванням і впроваджено
логування усіх критичних дій, що знижує ризик зловживань.
Таким чином, розроблена система є ефективним, гнучким та безпечним
рішенням для моніторингу трафіку в локальній мережі. Вона дозволяє не
лише виявляти аномальну активність і потенційні загрози, а й надає зручні
інструменти для подальшого аналізу та прийняття рішень. У результаті
впровадження такої системи значно підвищується рівень інформаційної
безпеки мережі, зменшується ризик інцидентів та збоїв, а також
покращується прозорість і керованість мережевої інфраструктури.
Лист
ЧДТУ.252183.009 ПЗ т
Зм. Лист № докум. Підпис Дат 58
а
ДОДАТОК А
«ЗАТВЕРДЖУЮ»
Завідувач кафедри ІБ та КІ
д.т.н., професор Віра БАБЕНКО
__________________
«___» ____________ 2025 року
Система моніторингу трафіку в локальній мережі з виявленням
аномальної активності
Специфікація
482.ЧДТУ.52183-01
Листів 2
Розробник ______________ Олександр СІРЕНКО
Керівник ______________ Світлана СИСОЄНКО
Черкаси 2025
2
482.ЧДТУ.52183-01
Позначення Найменування Примітка
Документація
482.ЧДТУ.52183-01 12 01 Текст програми
482.ЧДТУ.52183-01 34 01 Інструкція користувача
ДОДАТОК Б
Система моніторингу трафіку в локальній мережі з виявленням
аномальної активності
Текст програми
482.ЧДТУ.52183-01 12 01
Листів 13
Розробник: ____________ Олександр СІРЕНКО
Черкаси 2025
2
482.ЧДТУ.52183-01 12 01
from scapy.all import *
import requests
import json
import threading
import time
from collections import defaultdict
import statistics
import socket
from datetime import datetime
class AnomalyDetector:
def __init__(self, server_url):
self.server_url = server_url
self.rules = {}
self.traffic_stats = defaultdict(list)
self.baseline = {}
self.alerts = []
self.packet_count = 0
self.last_update = 0
self.update_interval = 300
def fetch_rules(self):
try:
response = requests.get(f"{self.server_url}/rules")
self.rules = response.json()
except Exception as e:
print(f"Failed to fetch rules: {e}")
def send_report(self, alert_data):
try:
requests.post(f"{self.server_url}/reports", json=alert_data)
except Exception as e:
print(f"Failed to send report: {e}")
def analyze_packet(self, packet):
self.packet_count += 1
if IP in packet:
src_ip = packet[IP].src
dst_ip = packet[IP].dst
protocol = packet[IP].proto
3
482.ЧДТУ.52183-01 12 01
if TCP in packet:
src_port = packet[TCP].sport
dst_port = packet[TCP].dport
flags = packet[TCP].flags
self.check_tcp_anomalies(src_ip, dst_ip, src_port, dst_port, flags)
elif UDP in packet:
src_port = packet[UDP].sport
dst_port = packet[UDP].dport
self.check_udp_anomalies(src_ip, dst_ip, src_port, dst_port)
self.update_traffic_stats(src_ip, dst_ip, protocol)
def check_tcp_anomalies(self, src_ip, dst_ip, src_port, dst_port, flags):
for rule in self.rules.get('tcp_rules', []):
if self.match_rule(rule, src_ip, dst_ip, src_port, dst_port, flags):
alert = {
'timestamp': datetime.now().isoformat(),
'type': 'TCP_ANOMALY',
'src_ip': src_ip,
'dst_ip': dst_ip,
'src_port': src_port,
'dst_port': dst_port,
'flags': flags,
'rule_id': rule['id']
}
self.alerts.append(alert)
def check_udp_anomalies(self, src_ip, dst_ip, src_port, dst_port):
for rule in self.rules.get('udp_rules', []):
if self.match_rule(rule, src_ip, dst_ip, src_port, dst_port):
alert = {
'timestamp': datetime.now().isoformat(),
'type': 'UDP_ANOMALY',
'src_ip': src_ip,
'dst_ip': dst_ip,
'src_port': src_port,
'dst_port': dst_port,
'rule_id': rule['id']
}
4
482.ЧДТУ.52183-01 12 01
self.alerts.append(alert)
def match_rule(self, rule, src_ip, dst_ip, src_port, dst_port, flags=None):
conditions = []
if 'src_ip' in rule:
conditions.append(src_ip in rule['src_ip'])
if 'dst_ip' in rule:
conditions.append(dst_ip in rule['dst_ip'])
if 'src_port' in rule:
conditions.append(src_port in rule['src_port'])
if 'dst_port' in rule:
conditions.append(dst_port in rule['dst_port'])
if flags and 'flags' in rule:
conditions.append(flags & rule['flags'])
return all(conditions)
def update_traffic_stats(self, src_ip, dst_ip, protocol):
current_time = time.time()
self.traffic_stats[src_ip].append(current_time)
self.traffic_stats[dst_ip].append(current_time)
if current_time - self.last_update > self.update_interval:
self.calculate_baseline()
self.check_rate_anomalies()
self.last_update = current_time
def calculate_baseline(self):
for ip in self.traffic_stats:
recent_packets = [t for t in self.traffic_stats[ip]
if t > time.time() - self.update_interval]
if len(recent_packets) > 1:
intervals = [recent_packets[i] - recent_packets[i-1]
for i in range(1, len(recent_packets))]
self.baseline[ip] = {
'mean': statistics.mean(intervals),
'stdev': statistics.stdev(intervals),
5
482.ЧДТУ.52183-01 12 01
'count': len(recent_packets)
}
def check_rate_anomalies(self):
current_time = time.time()
for ip, stats in self.baseline.items():
recent_packets = [t for t in self.traffic_stats[ip]
if t > current_time - 60]
if len(recent_packets) > stats['count'] * 2:
alert = {
'timestamp': datetime.now().isoformat(),
'type': 'RATE_ANOMALY',
'ip': ip,
'packet_count': len(recent_packets),
'baseline_count': stats['count']
}
self.alerts.append(alert)
def start_detection(self, interface):
self.fetch_rules()
sniff(iface=interface, prn=self.analyze_packet, store=0)
def start_reporting(self):
while True:
if self.alerts:
report = {
'timestamp': datetime.now().isoformat(),
'alerts': self.alerts,
'total_packets': self.packet_count
}
self.send_report(report)
self.alerts = []
time.sleep(60)
def main():
detector = AnomalyDetector('http://your-server-url')
reporting_thread = threading.Thread(target=detector.start_reporting)
reporting_thread.daemon = True
6
482.ЧДТУ.52183-01 12 01
reporting_thread.start()
detector.start_detection('eth0')
if __name__ == '__main__':
main()
from flask import Flask, jsonify, request, abort
from pymongo import MongoClient
from datetime import datetime, timedelta
import jwt
from functools import wraps
from bson import ObjectId
import ipaddress
import json
import uuid
from werkzeug.security import generate_password_hash, check_password_hash
app = Flask(__name__)
app.config['SECRET_KEY'] = 'your-secret-key-here'
client = MongoClient('mongodb://localhost:27017/')
db = client['anomaly_detection']
def token_required(f):
@wraps(f)
def decorated(*args, **kwargs):
token = request.headers.get('Authorization')
if not token:
return jsonify({'message': 'Token is missing'}), 401
try:
token = token.split()[1]
data = jwt.decode(token, app.config['SECRET_KEY'],
algorithms=['HS256'])
current_user = db.users.find_one({'_id': ObjectId(data['user_id'])})
if not current_user:
return jsonify({'message': 'Invalid token'}), 401
except:
return jsonify({'message': 'Invalid token'}), 401
return f(current_user, *args, **kwargs)
return decorated
7
482.ЧДТУ.52183-01 12 01
class JSONEncoder(json.JSONEncoder):
def default(self, o):
if isinstance(o, ObjectId):
return str(o)
if isinstance(o, datetime):
return o.isoformat()
if isinstance(o, ipaddress.IPv4Network):
return str(o)
return json.JSONEncoder.default(self, o)
app.json_encoder = JSONEncoder
@app.route('/api/register', methods=['POST'])
def register():
data = request.get_json()
if not all(k in data for k in ('username', 'password', 'email', 'organization')):
return jsonify({'message': 'Missing required fields'}), 400
if db.users.find_one({'username': data['username']}):
return jsonify({'message': 'Username already exists'}), 400
user = {
'username': data['username'],
'password': generate_password_hash(data['password']),
'email': data['email'],
'organization': data['organization'],
'api_key': str(uuid.uuid4()),
'created_at': datetime.utcnow(),
'role': 'user'
}
db.users.insert_one(user)
return jsonify({'message': 'User created successfully'}), 201
@app.route('/api/login', methods=['POST'])
def login():
data = request.get_json()
user = db.users.find_one({'username': data['username']})
if not user or not check_password_hash(user['password'], data['password']):
return jsonify({'message': 'Invalid credentials'}), 401
8
482.ЧДТУ.52183-01 12 01
token = jwt.encode({
'user_id': str(user['_id']),
'exp': datetime.utcnow() + timedelta(days=1)
}, app.config['SECRET_KEY'])
return jsonify({'token': token})
@app.route('/api/rules', methods=['GET'])
@token_required
def get_rules(current_user):
rules = list(db.rules.find({'organization': current_user['organization']}))
return jsonify(rules)
@app.route('/api/rules', methods=['POST'])
@token_required
def create_rule(current_user):
if current_user['role'] != 'admin':
return jsonify({'message': 'Unauthorized'}), 403
data = request.get_json()
rule = {
'name': data['name'],
'type': data['type'],
'conditions': data['conditions'],
'severity': data['severity'],
'organization': current_user['organization'],
'created_at': datetime.utcnow(),
'created_by': str(current_user['_id']),
'active': True
}
db.rules.insert_one(rule)
return jsonify({'message': 'Rule created successfully'}), 201
@app.route('/api/rules/<rule_id>', methods=['PUT'])
@token_required
def update_rule(current_user, rule_id):
if current_user['role'] != 'admin':
return jsonify({'message': 'Unauthorized'}), 403
9
482.ЧДТУ.52183-01 12 01
data = request.get_json()
db.rules.update_one(
{'_id': ObjectId(rule_id)},
{'$set': {
'name': data['name'],
'conditions': data['conditions'],
'severity': data['severity'],
'updated_at': datetime.utcnow(),
'updated_by': str(current_user['_id'])
}}
)
return jsonify({'message': 'Rule updated successfully'})
@app.route('/api/rules/<rule_id>', methods=['DELETE'])
@token_required
def delete_rule(current_user, rule_id):
if current_user['role'] != 'admin':
return jsonify({'message': 'Unauthorized'}), 403
db.rules.delete_one({'_id': ObjectId(rule_id)})
return jsonify({'message': 'Rule deleted successfully'})
@app.route('/api/reports', methods=['POST'])
@token_required
def receive_report(current_user):
data = request.get_json()
report = {
'timestamp': datetime.utcnow(),
'organization': current_user['organization'],
'device_id': data['device_id'],
'alerts': data['alerts'],
'stats': data['stats']
}
db.reports.insert_one(report)
process_alerts(report['alerts'], current_user['organization'])
return jsonify({'message': 'Report received successfully'})
@app.route('/api/reports', methods=['GET'])
@token_required
def get_reports(current_user):
10
482.ЧДТУ.52183-01 12 01
page = int(request.args.get('page', 1))
per_page = int(request.args.get('per_page', 50))
reports = list(db.reports.find(
{'organization': current_user['organization']}
).sort('timestamp', -1).skip((page-1)*per_page).limit(per_page))
return jsonify(reports)
@app.route('/api/alerts', methods=['GET'])
@token_required
def get_alerts(current_user):
severity = request.args.get('severity')
status = request.args.get('status')
start_date = request.args.get('start_date')
end_date = request.args.get('end_date')
query = {'organization': current_user['organization']}
if severity:
query['severity'] = severity
if status:
query['status'] = status
if start_date and end_date:
query['timestamp'] = {
'$gte': datetime.fromisoformat(start_date),
'$lte': datetime.fromisoformat(end_date)
}
alerts = list(db.alerts.find(query).sort('timestamp', -1))
return jsonify(alerts)
@app.route('/api/alerts/<alert_id>', methods=['PUT'])
@token_required
def update_alert(current_user, alert_id):
data = request.get_json()
db.alerts.update_one(
{'_id': ObjectId(alert_id)},
{'$set': {
'status': data['status'],
'notes': data.get('notes'),
11
482.ЧДТУ.52183-01 12 01
'updated_at': datetime.utcnow(),
'updated_by': str(current_user['_id'])
}}
)
return jsonify({'message': 'Alert updated successfully'})
@app.route('/api/stats', methods=['GET'])
@token_required
def get_stats(current_user):
timeframe = request.args.get('timeframe', 'day')
end_date = datetime.utcnow()
if timeframe == 'day':
start_date = end_date - timedelta(days=1)
elif timeframe == 'week':
start_date = end_date - timedelta(weeks=1)
elif timeframe == 'month':
start_date = end_date - timedelta(days=30)
pipeline = [
{
'$match': {
'organization': current_user['organization'],
'timestamp': {'$gte': start_date, '$lte': end_date}
}
},
{
'$group': {
'_id': None,
'total_alerts': {'$sum': {'$size': '$alerts'}},
'total_reports': {'$sum': 1},
'devices': {'$addToSet': '$device_id'}
}
}
]
stats = list(db.reports.aggregate(pipeline))
if stats:
stats = stats[0]
stats['unique_devices'] = len(stats['devices'])
del stats['devices']
12
482.ЧДТУ.52183-01 12 01
else:
stats = {'total_alerts': 0, 'total_reports': 0, 'unique_devices': 0}
return jsonify(stats)
def process_alerts(alerts, organization):
for alert in alerts:
alert['organization'] = organization
alert['status'] = 'new'
alert['created_at'] = datetime.utcnow()
existing_alert = db.alerts.find_one({
'organization': organization,
'type': alert['type'],
'source': alert['source'],
'status': 'new'
})
if not existing_alert:
db.alerts.insert_one(alert)
@app.route('/api/devices', methods=['GET'])
@token_required
def get_devices(current_user):
devices = list(db.devices.find({'organization': current_user['organization']}))
return jsonify(devices)
@app.route('/api/devices', methods=['POST'])
@token_required
def register_device(current_user):
data = request.get_json()
device = {
'name': data['name'],
'type': data['type'],
'organization': current_user['organization'],
'api_key': str(uuid.uuid4()),
'status': 'active',
'created_at': datetime.utcnow(),
'created_by': str(current_user['_id'])
}
13
482.ЧДТУ.52183-01 12 01
db.devices.insert_one(device)
return jsonify({'message': 'Device registered successfully', 'api_key':
device['api_key']})
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000, debug=True)
ДОДАТОК В
Система моніторингу трафіку в локальній мережі з виявленням
аномальної активності
Інструкція користувача
482.ЧДТУ.52183-01 34 01
Листів 3
Розробник: ____________ Олександр СІРЕНКО
Черкаси 2025
2
482.ЧДТУ.52183-01 34 01
Інструкція користувача системи моніторингу трафіку та виявлення
аномальної активності розроблена таким чином, щоб забезпечити зручний і
зрозумілий доступ до всіх її можливостей. Перший крок у роботі користувача
полягає у процесі авторизації в системі, що гарантує доступ лише для
уповноважених осіб. Після відкриття веб-інтерфейсу адміністратор повинен
ввести свої облікові дані (логін та пароль), які були попередньо створені та
внесені у базу даних під час налаштування системи. Це дозволяє впевнитися
у захищеності доступу та уникнути несанкціонованого входу.
Після успішної авторизації адміністратор потрапляє на головну панель
управління, де відображається загальний стан системи, інформація про
підключених клієнтів та список останніх подій, які були зафіксовані
системою. Інтерфейс розроблений так, щоб адміністратор одразу бачив
найважливішу інформацію про поточну активність у мережі, включаючи
статус кожного клієнта, час останнього зв’язку та наявність підозрілих
активностей.
Для перегляду конкретних подій адміністратор може перейти до
розділу «Список подій», де відображаються всі зафіксовані аномалії або
підозрілі дії. Кожна подія містить детальну інформацію, таку як час фіксації,
IP-адреса клієнта, тип аномалії та її опис. Адміністратор має можливість
архівувати подію після її аналізу або змінювати її пріоритет, щоб визначити
ступінь терміновості реагування. Подія залишається у системі до тих пір,
поки не буде вирішено першопричину проблеми, що дозволяє
відслідковувати динаміку та історію інцидентів.
У розділі «Список зареєстрованих клієнтів» адміністратор може
переглядати список усіх комп’ютерів або пристроїв, які підключені до
системи. Для кожного клієнта можна переглянути інформацію про його стан,
останній активний сеанс, використані порти та з’єднання. Це дає змогу
3
482.ЧДТУ.52183-01 34 01
оперативно оцінити стан мережі та швидко виявити потенційні джерела
загроз.
Додатково адміністратор має можливість створювати або редагувати
правила моніторингу трафіку, що дозволяє налаштувати систему відповідно
до специфічних потреб компанії. У разі необхідності адміністратор також
може вручну створити подію, якщо система з якихось причин її не
зафіксувала. Це особливо важливо для збору даних про нові загрози, які
з’являються в мережі, та для вдосконалення правил у майбутньому.
Система не передбачає блокування трафіку автоматично, тому
адміністратор, отримавши інформацію про інцидент, повинен самостійно
прийняти рішення про відповідні дії, наприклад, змінити налаштування
фаєрволу або заблокувати порт на маршрутизаторі. Це забезпечує гнучкість у
реагуванні на інциденти та мінімізує ризик помилкового блокування
легітимного трафіку.
Для додаткової зручності система може надсилати сповіщення
адміністратору через SMS або телефонний дзвінок, використовуючи сервіс
Twilio, у разі виявлення критичних подій. Це дозволяє адміністратору
реагувати на інциденти навіть у разі його відсутності на робочому місці.
У підсумку, користувач системи має чітко структурований та
інтуїтивно зрозумілий інтерфейс для моніторингу та управління мережею,
можливість переглядати події, налаштовувати правила, створювати власні
інциденти та приймати рішення для запобігання загрозам. Цей підхід
дозволяє ефективно контролювати мережу та підвищує рівень інформаційної
безпеки в організації.
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ
1. Барановський, А. І., Козаченко, А. В. Системи захисту комп’ютерних
мереж. – К. : Видавництво «Каравела», 2020. – 216 с.
2. Струк, В. П. Основи інформаційної безпеки комп’ютерних систем: навч.
посіб. – Львів : ЛНУ імені Івана Франка, 2021. – 328 с.
3. Жуков, В. М., Мельник, І. Б. Технології мережевої безпеки. – Харків :
ХНУРЕ, 2019. – 284 с.
4. Кравченко, Д. С., Іванова, М. Ю. Аналіз та моделювання мережевого
трафіку: методологія та засоби. – Одеса : ОНУ, 2022. – 198 с.
5. Саливон, А. Ю. Виявлення аномалій у трафіку комп’ютерних мереж. – К. :
НТУУ «КПІ», 2023. – 144 с.
6. Scapy Project Contributors. Scapy Documentation. – [Electronic resource]. –
URL: https://scapy.readthedocs.io/ (accessed: 20.05.2025).
7. Comer, D. Internetworking with TCP/IP: Principles, Protocols, and
Architecture. – 6th ed. – Boston : Pearson, 2013. – 752 p.
8. Tanenbaum, A. S., Wetherall, D. J. Computer Networks. – 5th ed. – Boston :
Pearson, 2011. – 960 p.
9. Stallings, W. Network Security Essentials: Applications and Standards. – 6th ed.
– Boston : Pearson, 2016. – 496 p.
10.Goodrich, M. T., Tamassia, R. Introduction to Computer Security. – Boston :
Pearson, 2011. – 512 p.
11.Olzak, T. Just Enough Security. – 2nd ed. – CreateSpace, 2012. – 232 p.
12.Scarfone, K., Mell, P. Guide to Intrusion Detection and Prevention Systems
(IDPS). – NIST Special Publication 800-94, 2007. – 127 p.
13.Bhuyan, M. H., Bhattacharyya, D. K., Kalita, J. Network Anomaly Detection: A
Machine Learning Perspective. – CRC Press, 2017. – 382 p.
14.Zuech, R., Khoshgoftaar, T. M., Wald, R. Intrusion detection and Big
Heterogeneous Data: a Survey. // Journal of Big Data. – 2015. – Vol. 2(3). – P.
1–41.
Арк.
ЧДТУ.252183.009 ПЗ 76
Змн. Арк. № докум. Підпис Дата
15.Chappell, L. Wireshark Network Analysis: The Official Wireshark Certified
Network Analyst Study Guide. – 2nd ed. – Protocol Analysis Institute, 2012. –
897 p.
16.Alazab, M., Venkatraman, S. A Hybrid Intrusion Detection System for Cloud
Security Using Deep Learning. // Future Generation Computer Systems. – 2021.
– Vol. 129. – P. 44–57.
17.Sommer, R., Paxson, V. Outside the Closed World: On Using Machine
Learning for Network Intrusion Detection. // IEEE Symposium on Security and
Privacy. – 2010. – P. 305–316.
18.Garfinkel, S., Spafford, G. Web Security, Privacy & Commerce. – 2nd ed. –
O’Reilly Media, 2002. – 802 p.
19.Northcutt, S., Novak, J. Network Intrusion Detection. – 3rd ed. – New Riders
Publishing, 2002. – 576 p.
20.Bejtlich, R. The Practice of Network Security Monitoring. – No Starch Press,
2013. – 376 p.
21.Alshamrani, A., Myneni, S., Chowdhary, A., Huang, D. A Survey on Advanced
Persistent Threats: Techniques, Solutions, Challenges, and Research
Opportunities. // IEEE Communications Surveys & Tutorials. – 2019. – Vol.
21(2). – P. 1851–1877.
22.Kizza, J. M. Guide to Computer Network Security. – 4th ed. – Springer, 2020. –
375 p.
23.Snort Team. Snort User Manual 2.9. – Cisco Systems, 2021. – [Electronic
resource]. – URL: https://snort.org/documents (accessed: 22.05.2025).
24.Wagner, D., Dean, D. Intrusion Detection via Static Analysis. // IEEE
Symposium on Security and Privacy. – 2001. – P. 156–169.
25.Allen, J. Network Security Assessment: Know Your Network. – 3rd ed. –
O’Reilly Media, 2017. – 304 p.
Арк.
ЧДТУ.252183.009 ПЗ 77
Змн. Арк. № докум. Підпис Дата