Please use this identifier to cite or link to this item:
https://er.chdtu.edu.ua/handle/ChSTU/6505| Title: | Розробка та оцінка ефективності системи виявлення фішингових електронних листів із застосуванням методів машинного навчання |
| Authors: | Палагіна, Олена Анатоліївна Мирошник, Ярослав Володимирович |
| Keywords: | машинне навчання;фішинг;класифікація електронних листів;обробка природної мови |
| Issue Date: | 2025 |
| Abstract: | "Метою роботи є розробка та оцінка ефективності системи виявлення фішингових електронних листів на основі методів машинного навчання, здатної забезпечувати підвищену точність класифікації та адаптивність до нових типів фішингових атак. Об’єктом дослідження - процеси виявлення фішингових електронних листів у інформаційно-комунікаційних системах. Предметом дослідження є методи машинного навчання та алгоритми інтелектуального аналізу електронних листів, що забезпечують автоматизоване виявлення фішингових повідомлень. " |
| URI: | https://er.chdtu.edu.ua/handle/ChSTU/6505 |
| Appears in Collections: | 125 Кібербезпека та захист інформації (Безпека інформаційних і комунікаційних систем) |
Files in This Item:
| File | Description | Size | Format | |
|---|---|---|---|---|
| М_125_Мирошник_Палагіна.pdf Restricted Access | 1.83 MB | Adobe PDF | View/Open Request a copy |
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.
Extracted text
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ
ФАКУЛЬТЕТ ЕЛЕКТРОННИХ ТЕХНОЛОГІЙ,
АВТОТРАНСПОРТУ ТА МАШИНОБУДУВАННЯ
КАФЕДРА РОБОТОТЕХНІЧНИХ І ТЕЛЕКОМУНІКАЦІЙНИХ СИСТЕМ
ТА КІБЕРБЕЗПЕКИ
До захисту допущено
завідувач кафедри РТСК
д.т.н., професор
_______________ В.В. Палагін
"_____" _____________ 2025 року
Пояснювальна записка
до дипломного роботи
магістра
(освітньо-кваліфікаційний рівень)
на тему Розробка та оцінка ефективності системи виявлення фішингових
електронних листів із застосуванням методів машинного навчання
Виконав: студент 2 курсу, групи мБІ-41
Спеціальності 125 – «Кібербезпека та захист інфомації»,
(шифр і назва спеціальності)
освітньої програми «Безпека інформаційних і
комунікаційних систем»
(назва освітньої програми)
Мирошник Я.В.
(прізвище та ініціали)
Керівник Палагіна О.А.
(прізвище та ініціали)
Рецензент Лавданський А.О.
(прізвище та ініціали)
Черкаси – 2025 року
ЗМІСТ
ВСТУП 5
РОЗДІЛ 1. АНАЛІЗ ФІШИНГУ ЯК КІБЕРЗАГРОЗИ ТА МЕТОДІВ
8
ВИЯВЛЕННЯ
1.1. Сутність та класифікація фішингових атак 8
1.2. Особливості фішингових електронних листів 14
1.3. Методи та інструменти виявлення фішингу 19
1.4. Огляд сучасних досліджень та рішень у сфері anti-phishing 24
1.5. Висновки 26
РОЗДІЛ 2. МЕТОДИ І АЛГОРИТМИ ВИЯВЛЕННЯ
28
ФІШИНГОВИХ ЛИСТІВ
2.1. Подова загальної архітектури системи виявлення фішингових 28
листів
2.2. Формування та попередня обробка наборів даних 33
2.3. Методи векторизації тексту для формування моделі машинного 36
навчання
2.4. Використання сучасної моделі BERT дляобробки природної мови 43
2.5. Методи машинного навчання для класифікації фішингу 50
2.6. Висновки 60
РОЗДІЛ 3. ЕКСПЕРИМЕНТАЛЬНЕ ДОСЛІДЖЕННЯ
62
ЕФЕКТИВНОСТІ ПОБУДОВАНОЇ СИСТЕМИ
3.1 Розгортання середовища дослідження моделей та підготовка 62
даних
3.2 Проведення аналізу даних та інженерії ознак 70
мБі41.025.252.248 ПЗ
Змн. Арк. № докум. Підпис Дата
Розроб. Мирошник Я.В. Розробка та оцінка ефективності Літ. Арк. Акрушів
Перевір. Палагіна О.А. системи виявлення фішингових 3
Реценз. електронних листів із
Н. Контр. Палагін В.В. застосуванням методів ЧДТУ
Затверд. машинного навчання
3.3 Аналіз моделей машинного навчання виявлення фішингових листів 76
3.4. Висновки 85
ВИСНОВКИ 87
СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ 89
ДОДАТОК А. Ілюстративний матеріал 87
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата
Форма № Н-9.01
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ
Факультет електронних технологій, автотранспорту та машинобудування
Кафедра робототехнічних і телекомунікаційних систем та кібербезпеки
Освітньо-кваліфікаційний рівень магістр
Спеціальність 125 – Кібербезпека та захист інформації
Освітня програма – Безпека інформаційних і комунікаційних систем
ЗАТВЕРДЖУЮ
Завідувач кафедри В.В. Палагін
“_____” ___________________ 2025 року
ЗАВДАННЯ
НА ВИПУСКНУ РОБОТУ СТУДЕНТУ
Мирошник Ярослав Володимирович
(прізвище, ім’я, по батькові)
1. Тема проекту (роботи) Розробка та оцінка ефективності системи виявлення
фішингових електронних листів із застосуванням методів машинного навчання
керівник проекту (роботи) Палагіна Олена Анатоліївна
(прізвище, ім’я, по батькові, науковий ступінь, вчене звання)
затверджені наказом вищого навчального закладу від «15» вересня 2025 року № 261/03-03
2. Термін здачі студентом закінченої роботи «05» грудня 2025 року_________
3. Вихідні дані до роботи: підготувати та обробити датасет фішингових і легітимних
електронних листів, включаючи очищення тексту, нормалізацію, видалення шумів та
формування ознак (TF-IDF, CountVectorizer). Реалізувати моделі машинного навчання для
класифікації фішингових листів — Naive Bayes та LightGBM — із подальшою
оптимізацією гіперпараметрів. Забезпечити оцінювання якості моделей за метриками
Precision, Recall, F1-score, Accuracy та ROC-AUC. Виконати тестування моделей на
реальних прикладах електронних листів та провести порівняльний аналіз їх
ефективності, мова програмування — Python
4. Зміст розрахунково-пояснювальної записки (перелік питань, що їх належить розробити)
Вступ; Аналіз фішингу як кіберзагрози та методів виявлення; Методи і алгоритми
виявлення фішингових листів; Експериментальне дослідження ефективності побудованої
системи; Висновки; Список використаних джерел.
5. Перелік графічного матеріалу (з точним зазначенням обов’язкових креслень, плакатів):
Схематичні представлення характеристик фішингових та легітимних електронних
листів; Архітектури систем машинного навчання для виявлення фішингу; Застосування
класифікаторів машинного навчання Naive Bayes та LightGBM для аналізу даних;
Скріншоти роботи програми; Мультимедійна презентація.
.
6. Консультанти з проекту (роботи) із зазначенням розділів проекту, що їх стосуються
Прізвище, ініціали та посада Підпис, дата
Розділ консультанта завдання завдання
видав прийняв
7. Дата видачі завдання 05 вересня 2025 року
КАЛЕНДАРНИЙ ПЛАН
№ Назва етапів дипломного Строк виконання
з/п проекту (роботи) етапів проекту Примітка
(роботи)
1. П ошук і аналіз інформації по заданій темі 01.09.2025-
15.09.2025
2. на писання 1-го розділу: Аналіз фішингу як 16.09.2025-
кіберзагрози та методів виявлення 25.09.2025
3. на писання 2-го розділу: Методи і алгоритми 26.09.2025-
виявлення фішингових листів 20.10.2025
4. на писання 3-го розділу: Експериментальне 21.10.2025-
дослідження ефективності побудованої 09.11.2025
системи
5. Н аписання вступу і висновків, складання 10.11.2025-
списку літератури 22.11.2025
6. О формлення пояснювальної записки 23.11.2025-
05.12.2025
7. О формлення плакатів мультимедійної 01.12.2025-
презентації 05.12.2025
Студент Мирошник Я.В.
( підпис ) (прізвище та ініціали)
Керівник проекту (роботи) Палагіна О.А.
( підпис ) (прізвище та ініціали)
ВСТУП
Фішингові електронні листи продовжують залишатися одним із
ключових інструментів кібератак, що використовуються для викрадення
конфіденційної інформації, фінансових шахрайств та компрометації
інформаційних систем. Сучасні статистичні дані свідчать, що переважна
більшість успішних атак починається саме зі шкідливого електронного листа,
оскільки e-mail залишається основним каналом комунікації в державних,
корпоративних та приватних структурах. У контексті швидкої цифровізації,
переходу бізнесу до хмарних інфраструктур і значного зростання кількості
дистанційної роботи створюються нові умови, які зловмисники активно
використовують для проведення соціально-інженерних кампаній. Це
підвищує потребу у сучасних, адаптивних інструментах захисту.
Особливу складність становить той факт, що фішингові атаки стають
дедалі більш персоналізованими та технічно витонченими. Зловмисники
використовують підроблені домени, маскують шкідливі посилання під
легітимні, застосовують соціальні тригери, психологічний тиск та
індивідуалізовані повідомлення, що ускладнює їх виявлення класичними
антиспам-фільтрами. Багато корпоративних систем базуються на сигнатурах
або жорстко визначених правилах, які ефективні лише проти вже відомих
шаблонів атак, але не здатні своєчасно реагувати на нові або модифіковані
фішингові кампанії. Швидкість адаптації зловмисників та варіативність
шкідливих повідомлень вимагають переходу від статичних методів до
інтелектуальних, здатних до самонавчання.
На цьому тлі машинне навчання посідає важливе місце серед сучасних
підходів до виявлення фішингових електронних листів. Використання
статистичних, текстових, структурних, поведінкових та семантичних ознак
дозволяє моделі не лише ідентифікувати явні прояви фішингу, але й
визначати приховані закономірності, недоступні для традиційних
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 5
інструментів. Це робить їх одним із найперспективніших інструментів для
підвищення точності класифікації електронних листів.
Ураховуючи постійне зростання витрат, яких зазнають організації
внаслідок фішингових атак, розробка ефективної системи їх виявлення є
важливим завданням кібербезпеки. Створення системи, що використовує
методи машинного навчання, дозволить значно підвищити рівень захисту
інформаційних активів, знизити кількість успішних соціально-інженерних
атак та забезпечити впровадження адаптивних механізмів протидії новим
загрозам. Актуальність роботи зумовлена не лише технічними викликами, а й
потребою у формуванні комплексного підходу до кіберзахисту, який поєднує
інтелектуальні алгоритми, аналіз поведінки користувачів та автоматизоване
виявлення аномалій.
Метою магістерської роботи є розробка та оцінка ефективності
системи виявлення фішингових електронних листів на основі методів
машинного навчання, здатної забезпечувати підвищену точність класифікації
та адаптивність до нових типів фішингових атак.
Для досягнення поставленої мети необхідно виконати такі завдання:
• провести аналіз сучасних фішингових атак, методів їх здійснення та
підходів до виявлення;
• дослідити існуючі алгоритми машинного навчання для класифікації
електронних листів;
• сформувати та підготувати датасет фішингових і легітимних
повідомлень, здійснити їх передобробку та балансування;
• реалізувати та навчити моделі машинного навчання з використанням
різних типів ознак.
• провести порівняльний аналіз ефективності моделей за ключовими
метриками ;
• сформулювати рекомендації щодо застосування розробленої системи в
практичних рішеннях кіберзахисту.
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 6
Об’єкт дослідження - процеси виявлення фішингових електронних
листів у інформаційно-комунікаційних системах.
Предмет дослідження - методи машинного навчання та алгоритми
інтелектуального аналізу електронних листів, що забезпечують
автоматизоване виявлення фішингових повідомлень.
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 7
РОЗДІЛ 1. АНАЛІЗ ФІШИНГУ ЯК КІБЕРЗАГРОЗИ ТА МЕТОДІВ
ВИЯВЛЕННЯ
1.1. Сутність та класифікація фішингових атак
Фішингом називають кібератаку, у якій шахраї через обман
намагаються отримати доступ до приватної інформації користувачів. Від
підроблених електронних листів і фіктивних веб-ресурсів до прийомів
соціальної інженерії — існує чимало різновидів фішингових атак, у пастку
яких може потрапити кожен.
Розуміння основних типів фішингових загроз та їх своєчасне виявлення
допоможе захистити особисті й конфіденційні дані від зловмисників.
Класифікація фішингових атак ґрунтується на техніках доставки, рівні
персоналізації, типі цілей та методах маскування. Найпоширенішими видами
є масовий фішинг, спрямований на велику аудиторію, та цільовий фішинг
(spear phishing), коли атака орієнтована на конкретну особу або організацію.
Окремими категоріями виділяють «whaling»-атаки, спрямовані на керівний
персонал, а також «clone phishing», де злочинці перехоплюють оригінальне
листування і підміняють його зміненим варіантом (рис.1.1).
Рис.1.1. Різновиди фішингових атак
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 8
Фішинг через електронну пошту (E-mail phishing) — це вид
шахрайської діяльності, коли зловмисники намагаються виманити в людей
конфіденційні дані або змусити їх перейти за шкідливими посиланнями,
маскуючись під офіційні організації чи відомі компанії. Такі повідомлення
зазвичай виглядають як листи від авторитетних установ або державних
органів.
Подібні електронні листи часто оформлені так, щоб створити враження
терміновості — наприклад, користувачу повідомляють, що його обліковий
запис нібито зламано, і він має негайно вжити заходів.
Основна мета таких листів — спонукати людину виконати певну дію,
зокрема перейти за фальшивим посиланням, яке веде на підроблену сторінку
входу. Ввівши свої дані, жертва фактично передає їх безпосередньо шахраям.
Наведемо приклад фішингу електронною поштою. Уявімо, що ми
отримали лист, який нібито надісланий службою підтримки Gmail. Адреса
відправника виглядає підозріло й містить щось на зразок «@[email protected]», але
оформлення листа схоже на офіційне. У повідомленні нас терміново просять
оновити дані свого облікового запису через ймовірне порушення безпеки.
У лист додано посилання, яке веде на фальшиву сторінку, зовні майже
не відмінну від справжньої форми входу Gmail. Якщо ми введемо свої логін і
пароль, ці дані одразу опиняться у злочинців, які зможуть використати їх у
шахрайських цілях.
Масовий фішинг — це класичний і найпростіший тип атаки, який
полягає у розсилці тисяч однотипних листів з підробленими посиланнями або
вкладеннями. Зазвичай такі повідомлення мають ознаки низької якості:
граматичні помилки, шаблонні звернення, невідповідність стилю справжніх
сервісів. Прикладом такого листа може бути повідомлення нібито від PayPal:
«Ваш акаунт буде заблоковано. Негайно оновіть інформацію за
посиланням»,
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 9
де посилання веде на фальшиву сторінку авторизації.
Spear phishing (фішинг з використанням копії) характеризується
високим рівнем персоналізації і використовується для атак на конкретних
співробітників чи відділи. Зловмисники збирають інформацію про жертву
через відкриті джерела (OSINT), соціальні мережі або зламані акаунти.
Типовим прикладом може бути лист, адресований від імені керівника:
«Олександре, необхідно терміново переглянути доданий документ
щодо контракту. Не розголошуй інформацію до прийняття рішення».
Такий стиль повідомлення значно підвищує довіру користувача.
Агентство національної безпеки США та NCSC Великої Британії
опублікували попередження, щоб підвищити обізнаність та надати
рекомендації щодо захисту від цих атак. Деякі з рекомендованих заходів
включають використання надійних паролів, активацію багатофакторної
автентифікації, оновлення безпеки мережі та пристроїв, обережність із
підозрілими електронними листами та посиланнями, а також використання
функцій сканування електронної пошти для виявлення спроб фішингу .
Whaling (китобійне полювання) — це підвид spear phishing, у якому
мішенню стають топменеджери, директори та інші особи з високими
повноваженнями. Враховуючи їх доступ до стратегічної та фінансової
інформації, whaling-атаки у більшості випадків супроводжуються ретельно
продуманими сценаріями та професійно оформленими листами. Наприклад,
шахраї можуть надіслати підроблене повідомлення від аудитора або
державного органу з проханням терміново надати доступ до фінансових
документів.
Часто ці електронні листи використовують ситуацію високого тиску,
щоб заманити своїх жертв, наприклад, передають заяву компанії, на яку
подають до суду. Це спонукає одержувачів натиснути на шкідливе посилання
або вкладення для отримання додаткової інформації.
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 10
Приклад китобійного промислу. Генеральний директор великої
корпорації отримує терміновий електронний лист від, ймовірно, фінансового
директора, із запитом на конфіденційну фінансову інформацію для
майбутнього злиття. Вважаючи, що це законний запит від довіреного колеги,
генеральний директор надає інформацію. Однак, електронний лист був
китобійною атакою, організованою кіберзлочинцем, який видавав себе за
фінансового директора, щоб отримати доступ до конфіденційних даних
компанії.
Clone phishing є технікою, при якій зловмисники отримують доступ до
реального листа, що раніше був надісланий у компанії, видозмінюють
вкладення або посилання, та повторно відправляють цей лист жертві. Через
схожість повідомлення зі справжнім користувач із більшою ймовірністю
натисне на шкідливе посилання. Наприклад, працівник отримує нібито
повторне надсилання запрошення на нараду «Оновлена версія документа»,
хоча вкладений файл містить шкідливий макрос.
Наприклад, фішингові шахраї створили фальшиві веб-сайти , схожі на
популярні криптовалютні ЗМІ Blockworks та Etherscan. Вони обманом
змушували людей підключати свої криптогаманці, публікуючи фейкові
новини про нібито експлойт Uniswap на Reddit. Фальшивий веб-сайт
Etherscan мав інструмент, який нібито перевіряв наявність схвалень, але
замість цього спустошував гаманці.
Іншим поширеним видом є «credential phishing» — атаки, спрямовані
на викрадення облікових даних. У таких листах зазвичай повідомляється про
перевантаження поштової скриньки, необхідність підтвердження акаунта чи
оновлення пароля. Лист містить оманливе посилання, яке веде на фішингову
копію форми входу до Gmail, Microsoft 365 чи іншого сервісу. Користувач
вводить свій пароль, після чого він миттєво відправляється зловмиснику.
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 11
До окремої категорії відносять «business email compromise» (BEC) —
високоточні атаки, що використовують підробку корпоративної поштової
адреси або її злам. Злочинці від імені керівництва надсилають бухгалтерії або
фінансовому відділу доручення щодо переказу коштів на «новий рахунок».
Наприклад:
«Добрий день, Ірино. Потрібно здійснити терміновий платіж нашому
партнеру. Нові банківські реквізити у вкладенні. Це конфіденційно».
Маючи скомпрометований обліковий запис у своєму розпорядженні,
злочинці надсилають електронні листи співробітникам організації, видаючи
себе за генерального директора, щоб ініціювати шахрайський банківський
переказ або отримати гроші за допомогою підроблених рахунків-фактур.
Приклад шахрайства з боку генерального директора. Працівник
фінансового відділу отримує електронного листа, який нібито надійшов від
генерального директора, із запитом на терміновий банківський переказ
постачальнику. Вважаючи його легітимним, працівник ініціює переказ, але
електронний лист був частиною атаки BEC. Кіберзлочинці скомпрометували
обліковий запис електронної пошти генерального директора, що призвело до
значних фінансових втрат для компанії.
Фішингові атаки також часто включають шкідливі вкладення: PDF-
файли, Word-документи з макросами, архіви з троянськими програмами.
Подібні листи зазвичай позиціонуються як офіційні документи: рахунки,
накладні, звіти чи документи від державних органів. Наприклад, користувачу
надсилається повідомлення: «Ваш борг перед податковою службою
перевищує допустимий ліміт. Ознайомтеся з деталями у вкладенні».
Насправді документ містить скрипт, що інсталює шпигунське програмне
забезпечення.
Evil Twin Phishing (Злий фішинг-близнюк). Зловмисний подвійний
фішинг передбачає створення мережі Wi-Fi, яка виглядає як легітимна
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 12
мережа Wi-Fi , що заманює жертв на фішинговий сайт, коли вони
підключаються до нього. Після потрапляння на сайт їм зазвичай
пропонується ввести свої особисті дані, такі як облікові дані для входу, які
потім безпосередньо надходять до хакера. Отримавши ці дані, хакер може
увійти в мережу, взяти її під контроль, контролювати незашифрований
трафік і знаходити способи крадіжки конфіденційної інформації та даних.
Приклад зловісного фішингу-близнюка . Ви підключаєтеся до того, що
вважаєте безкоштовною мережею Wi-Fi кафе, але це шахрайська точка
доступу, створена кіберзлочинцями, відома як «злий близнюк». Вони
перехоплюють вашу онлайн-активність, зокрема вхід до вашого облікового
запису електронної пошти. Пізніше ви отримуєте фішинговий електронний
лист, який видає себе як лист від вашого постачальника послуг електронної
пошти, і пропонує вам увійти, щоб підтвердити свою особу. Несвідомо ви
вводите свої облікові дані на підробленому веб-сайті, створеному
кіберзлочинцями, надаючи їм доступ до вашого облікового запису
електронної пошти.
Social Media Phishing (Фішинг у соціальних мережах). Фішинг у
соціальних мережах – це коли зловмисники використовують сайти
соціальних мереж, такі як Facebook, Twitter та Instagram, щоб отримати
конфіденційні дані жертв або спонукати їх перейти за шкідливими
посиланнями. Хакери можуть створювати фальшиві облікові записи,
видаючи себе за когось, кого жертва знає, щоб заманити її в пастку, або вони
можуть навіть видавати себе за обліковий запис служби підтримки клієнтів
відомого бренду, щоб нажитися на жертвах, які звертаються до бренду за
підтримкою.
Pharming (Фармінг) — поєднання слів «фішинг» та «фармінг» —
передбачає використання хакерами механіки перегляду інтернету для
перенаправлення користувачів на шкідливі веб-сайти, часто атакуючи
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 13
сервери системи доменних імен (DNS). DNS-сервери існують для того, щоб
спрямовувати запити веб-сайтів на правильну IP-адресу.
Хакери, які займаються фармінгом, часто атакують DNS-сервери, щоб
перенаправляти жертв на шахрайські веб-сайти з підробленими IP-адресами.
Персональні дані жертв стають вразливими до крадіжки з боку хакера, коли
вони потрапляють на веб-сайт із пошкодженим DNS-сервером .
З огляду на різноманіття технік та сценаріїв, фішингові листи
залишаються однією з найнебезпечніших кіберзагроз для організацій та
приватних користувачів. Ефективність цих атак пояснюється поєднанням
технічних прийомів і психологічного впливу. Саме тому класифікація
фішингових методів є важливою для розробки систем штучного інтелекту,
здатних виявляти не лише масові, але й персоналізовані атаки. Наведений
аналіз демонструє необхідність комплексного підходу до виявлення
фішингових листів, що поєднує традиційні методи безпеки та алгоритми
машинного навчання.
1.2. Особливості фішингових електронних листів
Розглянемо декілька особливих рис, за якими можна ідентифікувати
фішингові електронні листи.
Структура та характерні ознаки. Фішингові електронні листи,
незалежно від цільової аудиторії та складності, мають низку спільних
структурних елементів, що дозволяють зловмисникам впливати на
користувачів. Типовий фішинговий лист складається із заголовку, тіла
повідомлення, візуальних елементів (логотипів, графіки), посилань або
вкладень, а також підроблених підписів і контактної інформації (рис.1.2).
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 14
Рис.1.2. Типова структура електронного листа
Для електронного листа наведемо його таксономію у вигляді
структури, яка представлена на рис.1.3.
Рис.1.3. Елементи структури електронного листа
Попри можливу схожість зі справжніми повідомленнями, ці елементи
містять приховані ознаки підробки, які стають ключовими для
автоматизованих систем виявлення.
Першою характерною ознакою є підроблена адреса відправника.
Зловмисники часто застосовують техніку «спуфінгу», коли підміняють поле
«From» так, щоб воно виглядало максимально схожим на легітимне.
Наприклад, замість [email protected] може бути використано
[email protected], де цифра «1» маскується під букву «l». Інколи
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 15
фішингові листи відправляються з доменів третього рівня або тимчасових
поштових сервісів, однак візуально адреса нагадує офіційний бренд.
Заголовок та тема листа (Header) майже завжди містять тригери
терміновості або страху, оскільки це підвищує ймовірність необдуманої
реакції. Типовими є фрази:
• «Ваш акаунт буде заблоковано»;
• «Підтвердьте дані негайно»;
• «Підозрілий вхід у ваш обліковий запис».
Такі формулювання активують природне прагнення користувача
захистити свій профіль, що значно збільшує ефективність атаки.
У тілі фішингового листа (Body) зазвичай міститься коротка
інструкція, яка підводить користувача до виконання певної дії — переходу за
посиланням або відкриття вкладення. Лист може містити фальшиві
попередження, пояснення технічних збоїв або звернення від нібито
державної чи фінансової установи. Часто додається підроблений «фірмовий
стиль» — логотипи, кольорові блоки та шаблони, які шахраї копіюють зі
справжніх повідомлень.
HTML-вкладення. Однією з ключових технічних ознак фішингових
листів є використання HTML-вкладень та спеціально сформованих елементів
інтерфейсу, які приховують справжні адреси посилань.
Оскільки HTML не є шкідливим, вкладення, як правило, не
виявляються продуктами захисту електронної пошти, тому вони добре
потрапляють у поштові скриньки одержувачів (рис.1.4).
Наприклад, кнопка «Підтвердити обліковий запис» може виглядати як
офіційний елемент від Google або Microsoft, але її HTML-код веде на
зовнішній домен, замаскований під легітимний. Зловмисники застосовують
CSS-оформлення, копіюючи колірні схеми та стилі корпоративних
повідомлень, що ускладнює візуальне виявлення підробки.
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 16
Рис.1.4. Фішинговий HTML-додаток, що видає себе за логін Microsoft
Щоб уникнути виявлення, зловмисники зазвичай використовують
JavaScript у HTML-вкладеннях, які потім використовуються для створення
шкідливої фішингової форми або перенаправлення.
Використання JavaScript у HTML-вкладеннях для приховування
шкідливих URL-адрес та поведінки називається контрабандою HTML і
стало дуже популярною технікою за останні кілька років.
Щоб ще більше ускладнити виявлення шкідливих скриптів,
зловмисники маскують їх за допомогою вільно доступних інструментів, які
можуть приймати користувацьку конфігурацію для унікального, а отже,
менш ймовірного для виявлення, результату та таким чином уникати
виявлення.
Маскування URL — одна з найпоширеніших технік фішингу.
Зовнішній вигляд посилання у листі може не відповідати реальній адресі, яка
відкривається при натисканні. Для цього використовується HTML-тег <a> з
різними варіаціями приховування: підміна видимого тексту, додавання
символів Unicode, використання гомогліфів або перенаправлення через
сервіси коротких посилань.
Наприклад, текст
«https://accounts.google.com»
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 17
може вести на
«http://googlе-security-check.com»,
де одна літера підмінена кириличним символом.
HTML-вкладення часто включають скрипти, приховані елементи або
CSS-трюки, які ускладнюють аналіз. Наприклад, шахраї можуть
використовувати прозорі шари (opacity: 0), щоб перекривати справжній
елемент посилання підробленим, або вставляти «iframe» зі шкідливими
формами для введення облікових даних. У деяких випадках
використовуються навіть базові механізми трекінгу — приховані зображення
1×1 піксель для фіксації факту відкриття листа.
Окремий тип ризику становлять кнопки й банери, які виглядають як
офіційні елементи системи. Вони часто використовують реальні логотипи
компаній, але містять змінені атрибути у HTML-коді. Такі елементи можуть
відкривати фішингову форму входу або завантажувати шкідливий PDF-
документ. Зовні лист може виглядати як офіційне повідомлення від банку,
але натискання кнопки запускає ланцюг прихованих перенаправлень.
Лінгвістичні та статистичні патерни. Фішингові листи мають
характерні лінгвістичні ознаки, які відрізняють їх від легітимних
корпоративних повідомлень. Часто вони містять граматичні, стилістичні або
пунктуаційні помилки, неприродні мовні конструкції чи некоректні відмінки.
Це пов'язано з тим, що значна частина фішингових кампаній створюється
автоматизовано або іноземними виконавцями. Такі ознаки є важливими для
моделей машинного навчання, зокрема Naive Bayes та TF-IDF, які аналізують
частоту слів та мовні структури.
Статистичні патерни тексту, такі як надмірне використання імперативів
(«натисніть», «підтвердьте», «оновіть»), наявність емоційно забарвлених слів
(«небезпека», «терміново», «заблоковано»), а також специфічні
словосполучення значно підвищують імовірність фішингу.
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 18
Наприклад, у фішингових листах частіше зустрічаються слова verify,
suspend, alert, account issue, urgent action required. Моделі машинного
навчання здатні виявляти такі статистичні закономірності та
використовувати їх для класифікації.
Окрім лінгвістичних сигналів, важливими є структурні параметри
тексту: довжина листа, кількість спеціальних символів, відсоток великих
літер, а також наявність нетипових формулювань. У фішингових
повідомленнях часто спостерігається підвищена концентрація URL-адрес,
вставлених кнопок або закликів до дії. Ці характеристики використовуються
при формуванні числових ознак у моделі LightGBM, яка здатна ефективно
аналізувати складні нелінійні залежності.
Важливим аспектом є взаємозв’язок між лінгвістичними та
візуальними патернами. Наприклад, лист може містити граматично
правильний текст, але одночасно – підозрілі HTML-теги, JavaScript-
фрагменти, або невідповідні домени у посиланнях. Саме поєднання
технічних та мовних характеристик дозволяє більш точно виявляти
фішингові листи за допомогою гібридних моделей машинного навчання, де
текстові ознаки обробляються векторизаторами (TF-IDF, CountVectorizer), а
структурні — градієнтними алгоритмами, такими як LightGBM.
1.3. Методи та інструменти виявлення фішингу
Розглянемо основні методи, які застосовуються для виявлення
фішингу.
Сигнатурні методи. Сигнатурні методи є одним із найдавніших і
найбільш традиційних підходів до виявлення фішингових атак. Їхній
принцип ґрунтується на порівнянні вхідного повідомлення з базою відомих
«сигнатур» — шаблонів, фрагментів тексту, URL-адрес або структури, які
раніше були ідентифіковані як шкідливі. Наприклад, якщо певне посилання
або частина HTML-коду вже фігурувала у фішинговій кампанії, система
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 19
негайно позначить новий лист як підозрілий. Такий підхід ефективний проти
масових, повторюваних або низькоякісних фішингових розсилок.
Наведемо приклад деяких типових сигнатур, які використовуються для
детектування фішингу.
1. Тема листа: містить характерні фрази фішингу:
o “Urgent Invoice”,
o “Action Required”,
o “Your Office365 Account Is Pending Suspension”.
2. URL-посилання містить:
o домени, схожі на Microsoft, але трохи змінені;
o micros0ft-secure.com, office365.verify-auth.net, micosoft-
support.com.
3. HTML-кнопка, яка містить:
тег <a> з прихованим редиректом
<a href="http://secure-login-o365-com.validate-user.net/login.php">;
текст кнопки: "Verify Now", "Restore Access", "Update Password".
4. Тіло листа містить шаблонні фрази:
o “We detected unusual sign-in activity”;
o “Your account will be suspended in 24 hours”;
o “Download attached invoice”.
Перевагою сигнатурного підходу є його висока точність у випадках,
коли загроза вже відома й добре задокументована. Такі методи демонструють
мінімальну кількість хибних спрацювань, що робить їх корисними для
великих корпоративних систем, які обробляють значні обсяги поштових
повідомлень. Водночас підтримання актуальної сигнатурної бази потребує
постійного оновлення, оскільки шахраї регулярно змінюють структуру листів
та домени для обходу захисту.
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 20
Недоліком сигнатурних методів є їхня повна залежність від історичних
даних. Вони майже не здатні виявляти нові, раніше невідомі фішингові
кампанії — так звані атаки «нульового дня» (Zero-day phishing). Оскільки
сучасні фішингові атаки активно використовують генеративні технології,
динамічне формування URL та адаптивні шаблони, сигнатури стають
застарілими вже через декілька годин або днів. Це обмежує ефективність
традиційних сигнатурних систем у швидкозмінному середовищі кіберзагроз.
Евристичні правила. Евристичні методи базуються на наборі правил,
які враховують підозрілі характеристики листа. На відміну від сигнатурних
підходів, вони не потребують точного збігу з відомими шаблонами, а
намагаються оцінити сукупність ознак: наявність великої кількості посилань,
доменів низької довіри, неправильних заголовків, відсутність SPF/DKIM-
підписів тощо. Кожен фактор впливає на сумарний «рівень ризику» листа.
Типові евристичні правила можуть включати перевірку того, чи
збігається домен відправника з доменом, зазначеним у тілі листа. Інше
популярне правило — наявність HTML-вкладень із підозрілими тегами,
наприклад <script>, <iframe> або закодованими JavaScript-фрагментами.
Також використовуються правила щодо кількості спеціальних символів у
темі, аномально довгих URL та частоти «емоційних» слів, які часто
зустрічаються у фішингових розсилках.
Евристичні методи суттєво підвищують здатність систем захисту
виявляти нові типи фішингових листів у порівнянні з сигнатурними
підходами. Однак їхня ефективність залежить від якості набору правил і того,
наскільки добре вони описують реальні загрози. Завелика кількість правил
може призвести до надлишкових хибних спрацювань, тоді як занадто «м'які»
правила не виявлятимуть приховані або добре замасковані атаки.
Одним із головних недоліків евристичного підходу є його ручний
характер. Створення, коригування та підтримання правил потребує участі
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 21
експертів, що збільшує витрати часу й ресурсів. Крім того, зловмисники
можуть вивчати відомі правила та адаптувати свої листи так, щоб уникати
детекції. Саме тому евристичні методи часто комбінуються з машинним
навчанням, яке автоматизує процес виділення ознак.
Методи машинного навчання. Методи машинного навчання (ML)
суттєво змінили підхід до виявлення фішингових листів, оскільки дозволили
системам навчатися автоматично на великих масивах даних. На відміну від
сигнатурних та евристичних методів, ML-моделі виявляють приховані
зв’язки між ознаками й здатні розпізнавати нові, раніше невідомі типи
фішингу. Застосування TF-IDF, CountVectorizer, LightGBM, Naive Bayes та
нейронних мереж дає змогу аналізувати як текстові, так і структурні
характеристики листа.
Текстові моделі, такі як Наївний Баєс або логістична регресія,
працюють із векторизованим текстом, розглядаючи частотні співвідношення
слів, їх вагу, наявність специфічних термінів та лексичних конструкцій,
типових для фішингових кампаній. Вони здатні швидко класифікувати великі
обсяги електронних листів з мінімальними обчислювальними витратами.
Особливо ефективними є моделі TF-IDF + Naive Bayes на масових датасетах.
Градієнтні моделі, такі як LightGBM, дозволяють поєднувати текстові
ознаки із структурними та числовими параметрами — довжина листа,
кількість спеціальних символів, число URL-адрес, статистика HTML-тегів
тощо. Завдяки деревоподібним алгоритмам LightGBM ефективно виявляє
нелінійні залежності та обробляє складні взаємодії між ознаками, що робить
цей підхід одним із найрезультативніших у сучасних системах детекції
фішингу.
Окремий напрям — застосування нейронних мереж та трансформерів,
які аналізують текст на рівні семантичних структур. Моделі типу BERT,
RoBERTa або спеціалізовані антифішингові трансформери можуть навчатися
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 22
на мільйонах листів і виявляти складні лінгвістичні патерни, недоступні для
класичних алгоритмів. Вони володіють здатністю контекстуального аналізу,
що особливо важливо у випадках, коли фішингові листи написані високою
якістю без помилок.
Моделі машинного навчання також використовуються для аналізу
URL-адрес, які містяться у листах. Використовуючи набори ознак, такі як
довжина домену, кількість піддоменів, ентропія URL та наявність підозрілих
символів, ML-системи можуть класифікувати небезпечні посилання ще до
того, як користувач перейде за ними. Це дозволяє створювати комбіновані
системи, які одночасно аналізують структуру листа, текст і поведінку
посилань.
У порівнянні з сигнатурними методами, ML-підходи значно
ефективніші у виявленні нових та невідомих фішингових кампаній.
Сигнатурні методи дають високу точність, але лише для відомих шаблонів,
тоді як ML здатне знаходити приховані закономірності. Проте ML-моделі
потребують великого та якісно збалансованого датасету, а також достатніх
обчислювальних ресурсів для навчання.
Евристичні методи займають проміжну позицію між сигнатурними та
ML-підходами. Вони дозволяють виявляти нові загрози краще, ніж
сигнатури, але гірше, ніж моделі машинного навчання. Їхнім недоліком є
залежність від експертів, які вручну формують правила. У свою чергу, ML-
моделі автоматизують процес виявлення ознак і можуть адаптуватися до
нових типів атак завдяки перенавчанню.
Найефективнішою стратегією на сьогодні вважають комбінований
підхід, що поєднує сигнатурні перевірки, евристичні правила та методи
машинного навчання. Така система забезпечує багаторівневий захист:
сигнатурні методи блокують відомі загрози, евристика — підозрілу
активність, а ML — складні та нові фішингові листи. Це значно підвищує
загальну стійкість корпоративних поштових систем до фішингових атак.
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 23
1.4. Огляд сучасних досліджень та рішень у сфері anti-phishing
Сучасний ринок засобів захисту електронної пошти представлений
великою кількістю комерційних антифішингових рішень, таких як Microsoft
Defender for Office 365, Google Workspace Security, Proofpoint Email
Protection, Mimecast Email Security та інші хмарні платформи (рис.1.5). Ці
системи поєднують сигнатурні методи, евристичні механізми, репутаційні
бази даних та моделі машинного навчання для комплексного аналізу листів.
Рис.1.5. Комерційні засоби захисту електронної пошти
Їхня ефективність пояснюється наявністю глобальних телеметричних
даних, постійним оновленням сигнатур та автоматичним виявленням нових
загроз на основі поведінкових патернів мільйонів користувачів.
Однією з ключових переваг таких систем є здатність аналізувати великі
обсяги поштового трафіку в реальному часі. Комерційні рішення
використовують хмарні алгоритми машинного навчання, що дозволяють
швидко ідентифікувати масові фішингові кампанії, відстежувати нові
домени, які з’являються щогодини, та блокувати підроблені URL-адреси ще
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 24
до того, як вони потрапляють до скриньок користувачів. Додатково такі
системи забезпечують інтеграцію з механізмами аутентифікації листів,
зокрема SPF, DKIM і DMARC, що дозволяє виявляти спуфінг з високою
точністю.
Проте, попри свої переваги, комерційні рішення мають низку суттєвих
обмежень. По-перше, ці системи є закритими, що унеможливлює повну
перевірку того, які саме алгоритми або моделі застосовуються для
класифікації листів. Відсутність прозорості не дозволяє дослідникам або
організаціям адаптувати внутрішні механізми під специфічні поштові
інфраструктури, модифікувати евристики або змінювати ваги ознак. По-
друге, вартість таких продуктів є досить високою, що робить їх
недоступними для невеликих компаній, освітніх установ або державних
організацій з обмеженим бюджетом.
Ще одним обмеженням є можливі затримки під час аналізу листів через
обробку у хмарі. Деякі рішення перевіряють вкладення або URL у режимі
“sandboxing”, що може викликати затримки у доставці листів до одержувача.
Крім того, комерційні антифішингові системи залежать від наявності
актуальних репутаційних списків. У випадку появи нової таргетованої
фішингової кампанії (spear-phishing), коли атака спрямована на конкретну
особу або організацію, система може не розпізнати загрозу, тому що подібна
поведінка не була раніше зафіксована у глобальних базах.
Нарешті, комерційні продукти часто концентруються на масових
загрозах, тоді як складні фішингові атаки, що містять персоналізований
контент, підроблені документи або соціально-інженерні маніпуляції, можуть
залишатися непоміченими. Обмеження у виявленні контентних
характеристик листів, таких як лінгвістичні особливості або нетипові патерни
тексту, створюють додаткові ризики. Це підкреслює необхідність створення
спеціалізованих моделей машинного навчання, адаптованих під конкретні
сценарії, як це реалізовано в даній магістерській роботі.
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 25
1.5. Висновки
У першому розділі було проведено комплексний аналіз сутності
фішингових атак та їх місця в сучасному ландшафті кіберзагроз. Показано,
що фішинг залишається одним із найпоширеніших методів компрометації
користувачів, оскільки поєднує технічні прийоми та психологічні
маніпуляції. Класифікація видів фішингових листів дала змогу виокремити
як масові, так і високоточні таргетовані атаки, що потребують різних
підходів до виявлення та протидії.
Детально проаналізовано структуру фішингових електронних листів і
виділено специфічні ознаки, притаманні більшості таких повідомлень:
підроблені URL-адреси, HTML-вкладення, візуальні імітації інтерфейсів
відомих сервісів, а також лінгвістичні та статистичні патерни текстів.
Показано, що фішингові кампанії стають дедалі професійнішими,
використовують адаптивні сценарії маскування та здатні обходити
традиційні методи перевірки, що зумовлює необхідність застосування
інтелектуальних інструментів.
У розділі також розглянуто основні підходи до виявлення фішингу —
від сигнатурних та евристичних до сучасних методів машинного навчання.
Класичні механізми забезпечують високу швидкість обробки та ефективність
проти давно відомих загроз, але поступаються ML-підходам у здатності
виявляти нові та модифіковані атаки. Методи машинного навчання, у свою
чергу, дозволяють аналізувати комплекс ознак листа, враховуючи
поведінкові, текстові та структурні характеристики, що значно підвищує
рівень точності систем виявлення.
Окремо проведено огляд комерційних антифішингових рішень, які
широко застосовуються в корпоративному секторі. Незважаючи на високу
ефективність, вони мають низку обмежень, зокрема відсутність прозорості
алгоритмів, залежність від глобальних репутаційних баз та уразливість до
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 26
таргетованих атак. Це створює передумови для розробки власних моделей,
адаптованих до специфічних умов організації. Таким чином, результати
першого розділу формують теоретичну основу для подальшої розробки та
практичної реалізації системи виявлення фішингових листів на основі
методів машинного навчання.
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 27
РОЗДІЛ 2. МЕТОДИ І АЛГОРИТМИ ВИЯВЛЕННЯ ФІШИНГОВИХ
ЛИСТІВ
2.1. Подова загальної архітектури системи виявлення фішингових листів
Побудова системи машинного навчання виявлення фішингових
електронних листів базується на послідовному виконанні кількох ключових
етапів обробки та аналізу даних (рис.2.1.).
Рис.2.1. Загална архітектура побудоми моделі машинного навчання
Потік обробки даних у системі виявлення фішингових листів
починається зі збору вхідної інформації (E-mail) з різних джерел:
корпоративних поштових серверів, відкритих датасетів, дослідницьких
платформ (наприклад, Kaggle), а також з внутрішніх журналів інцидентів. На
цьому етапі важливо забезпечити різноманітність даних, оскільки моделі
машинного навчання чутливі до типового змісту тренувального набору. Збір
включає не лише текст листів, а й HTML-вкладення, інформацію про
відправника, структуру заголовків та поведінкові метадані
Першим і одним із найважливіших кроків є препроцесінг даних, який
передбачає очищення набору листів від зайвих елементів, таких як HTML-
теги, службові символи, дублікати або некоректно розмічені записи. На
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 28
цьому етапі також здійснюється нормалізація тексту: перетворення до
нижнього регістру, токенізація, видалення стоп-слів, лематизація або стемінг.
Під час очищення важливо зберегти корисні фрагменти — наприклад,
маскування URL, підозрілі JavaScript-вставки або приховані стилі, які можуть
слугувати сильними індикаторами фішингу. Також проводиться
вирівнювання формату вмісту, щоб забезпечити єдиний підхід до
подальшого аналізу.
Цей крок включає також сегментацію та розділення елементів листа.
Текстова частина виділяється окремо, а HTML-код проходить розбір із
вилученням гіперпосилань, структурних тегів, форм та скриптів. Паралельно
формується набір технічних ознак: SPF/DKIM-статус, довжина домену,
наявність IP-адрес у URL, кількість перенаправлень. Такий комплексний
підхід дозволяє побудувати різнорідний набір фіч, що суттєво підвищує
точність моделі.
Коректне попереднє опрацювання забезпечує підвищення якості
подальшої векторизації та навантажуваність моделі.
Другим важливим елементом формування моделі є feature engineering
— процес створення ознак, які найбільш точно відображають структуру та
поведінку фішингових листів. У випадку текстових даних це може включати
побудову TF-IDF матриці, Bag-of-Words, а також витяг числових
характеристик на рівні URL чи HTML-структури (довжина посилання,
кількість спеціальних символів, наявність підроблених доменів). Для
підвищення точності моделі можуть створюватися й композиційні ознаки,
такі як співвідношення між довжиною тіла листа та кількістю гіперпосилань
або статистичні характеристики частотності окремих маркерних слів.
До найпоширеніших методів належать TfidfVectorizer та
CountVectorizer, які перетворюють текст у числовий формат на основі
частоти слів та їх інформативності. Для HTML-вкладень можуть
використовуватися окремі набори ознак, наприклад, кількість тегів <a>,
Лист
Змін. мБі41.025.252.248 ПЗ
Лист № докум. Підпис Дата 29
наявність onclick-подій чи довжина JavaScript-фрагментів. Також за потреби
застосовуються word-embedding моделі або семантичні векторизатори, здатні
враховувати контекст повідомлення.
Наступним кроком є масштабування числових ознак за допомогою
StandardScaler або MinMaxScaler. Масштабування необхідне для моделей, які
чутливі до різниці в діапазонах числових значень — наприклад, логістичної
регресії або методів SVM. Воно дозволяє зменшити вплив ознак з великими
числовими діапазонами на результат навчання та забезпечити стабільну
роботу алгоритмів оптимізації.
Після формування ознак та їх масштабуванням виконується розділення
даних на тренувальну та тестову вибірки (рис.2.2).
Рис.2.2. Ілюстрація процесу розділення даних для формування та оцінювання
ефективності моделі
Застосування стратегії stratified split дозволяє зберегти пропорцію між
класами «фішинг» і «легітимний лист», що є критично важливим у задачах
класифікації з можливим класовим дисбалансом. Такий підхід забезпечує
можливість адекватно оцінити продуктивність моделі на даних, які не брали
участі в навчанні, і запобігає перекосу оцінок у бік більш представленого
класу.
Наступним кроком є навчання моделі за допомогою обраного
алгоритму машинного навчання. У межах даної роботи можуть бути
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 30
використані як класичні методи (Naive Bayes, Logistic Regression), так і
сучасні градієнтні бустинги (LightGBM). Модель навчається на тренувальних
даних, оптимізуючи внутрішні параметри відповідно до обраної функції
втрат. Важливим тут є також масштабування числових ознак та забезпечення
узгодженості між форматом тренувальних і тестових даних.
Після навчання здійснюється валідація моделі на тестовій вибірці,
що включає обчислення ключових метрик: accuracy, precision, recall, F1-
score та ROC-AUC.
Валідація моделі – це процес перевірки того, наскільки добре модель
машинного навчання працює з даними, які вона не бачила або не
використовувала під час навчання. По суті, ми використовуємо існуючі дані
для перевірки продуктивності моделі замість використання нових даних. Це
допомагає нам виявляти проблеми перед розгортанням моделі для реального
використання.
Існує кілька методів валідації, і кожен метод має певні сильні сторони
та вирішує різні проблеми валідації (рис.2.3):
1. різні методи перевірки можуть давати різні результати, тому вибір
правильного методу має значення;
2. деякі методи перевірки краще працюють з певними типами даних і
моделей;
3. використання неправильних методів перевірки може дати оманливі
результати щодо справжньої продуктивності моделі.
Валідація моделі дозволяє оцінити збалансованість та надійність
моделі, особливо з точки зору виявлення шкідливих листів, де критичним є
мінімізація помилкових пропусків (false negatives). На цьому етапі часто
виявляються недоліки даних або вибраного методу, що сприяє подальшому
вдосконаленню моделі.
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 31
Рис.2.3. Класифікація методів валідації
Останнім етапом є підбір оптимальних гіперпараметрів та
деплоймент моделі. Підбір параметрів може здійснюватися за допомогою
Grid Search, Random Search або Bayesian Optimization, що дозволяє знайти
оптимальну комбінацію глибини дерев, кількості естіматорів, коефіцієнтів
регуляризації та інших характеристик. Після знаходження оптимальної
конфігурації модель може бути інтегрована у реальну систему — через REST
API, вебсервіс чи модуль поштового фільтра. Деплоймент передбачає також
моніторинг продуктивності, регулярне оновлення моделі та контроль її
стабільності в умовах появи нових типів фішингових атак.
Фінальний восьмий етап — перевірка моделі на реальних або
квазіреальних сценаріях та її подальше розгортання. На цьому етапі
тестується поведінка системи на листах, які не входили до навчального
набору, перевіряється стійкість до нових фішингових шаблонів та оцінюється
рівень хибнопозитивних спрацювань. У разі успішної валідації модель
інтегрується в основну систему виявлення, а механізми зворотного зв’язку
дозволяють оновлювати її при появі нових типів атак.
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 32
2.2. Формування та попередня обробка наборів даних
Для побудови моделі машинного навчання, орієнтованої на виявлення
фішингових електронних листів, ключовим етапом є формування якісного та
репрезентативного датасету. Саме від структури та чистоти даних залежить
здатність моделі коректно відрізняти легітимні повідомлення від шкідливих.
Основним джерелом даних було обрано платформу Kaggle, що містить
кілька відкритих наборів фішингових та легітимних листів. Перевагою цього
ресурсу є наявність структурованих та перевірених датасетів, які можуть
містити як сирі текстові повідомлення, так і додаткову інформацію, таку як
заголовки, метадані або попередньо створені ознаки. Використання датасета
з платформи Kaggle дозволяє забезпечити базову репрезентативність вибірки
та сформувати основу для подальшого аналізу.
Окрім відкритих джерел, для підвищення різноманітності даних можна
додати власні приклади електронних листів. До них мають входити як
легітимні робочі та інформаційні листи, так і реальні фішингові
повідомлення, отримані користувачами або знайдені в архівах
кібербезпекових спільнот. Додавання власних зразків дозволить розширити
датасет сучасними прикладами атак та уникнути перенавчання моделі на
специфіку лише одного джерела.
Для навчання моделі виявлення фішингових електронних листів було
використано шість відкритих наборів даних із платформи Kaggle, які
відрізняються за структурою, джерелом формування та типами
представлених повідомлень. Використання декількох датасетів дозволило
забезпечити різноманітність прикладів, що є критичним для побудови
узагальнюючої моделі машинного навчання.
Одним із базових джерел був набір CEAS_08.csv, що містить колекцію
листів, зібраних для Конференції з електронної пошти та антиспаму CEAS
2008 року. Датасет включає як фішингові, так і звичайні повідомлення,
представлені у сирому текстовому форматі. Він відомий тим, що охоплює
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 33
широкий спектр реальних атак того періоду, а також містить метадані,
корисні для аналізу структурних характеристик листів.
Датасет Enron.csv побудований на основі відомої колекції
корпоративних листів співробітників компанії Enron. Він містить виключно
легітимну кореспонденцію й застосовується як зразок нормального, не
шкідливого листування. Включення цього набору дозволяє моделі краще
навчатися на прикладах природної ділової комунікації та ефективніше
виділяти фішингові аномалії.
У наборі Ling.csv зібрано електронні листи з академічних та
лінгвістичних дискусійних груп. Він також належить до категорії легітимних
повідомлень і характеризується формальним стилем, специфічним словником
і структурою наукової комунікації. Цей датасет розширює варіативність
«нормальних» текстів і зменшує ризик упередженості моделі щодо певного
типу листування.
Набір Nazario.csv складається з колекції шкідливих і фішингових
листів, зібраних фахівцем із кібербезпеки Хосе Назаріо. У датасеті
представлені різні типи фішингових атак: банківські шахрайства, підроблені
сповіщення служб підтримки, масові фішингові розсилки та інші форми
соціальної інженерії. Датасет є одним із найрепрезентативніших щодо
різноманітності технік фішингових кампаній.
Датасет Nigerian_Fraud.csv містить класичні “419”-листи, характерні
для нігерійських шахрайських схем. У ньому представлені повідомлення з
типовими для цього жанру ознаками: обіцянками значних фінансових
винагород, проханнями допомоги чи передачі приватної інформації.
Незважаючи на певну архаїчність, такий тип атак все ще зустрічається, тому
датасет корисний для охоплення історичних та сучасних варіацій цих
шахрайських шаблонів.
Нарешті, phishing_email.csv містить велику кількість фішингових
листів, зібраних із відкритих джерел, репортів інцидентів і прикладів
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 34
сучасних фішингових кампаній. Цей набір є одним із найбільш актуальних та
збалансованих за різновидами атак, включаючи підроблені служби доставки,
банківські повідомлення, фішинг облікових даних і соціально-інженерні
пастки.
Загалом усі шість наборів даних доповнюють один одного та разом
формують комплексну й різноманітну вибірку, що охоплює різні часові
періоди, форми комунікації, стилі написання та типи фішингових атак. Це
дозволяє підвищити узагальнювальну здатність моделі та забезпечити її
стійкість до широкого спектра фішингових шаблонів (табл.2.1).
Таблиця 2.1. Характеристика використаних датасетів
Назва датасету Тип даних Містить Коротка характеристика
Фішингові та Дані з CEAS 2008. Реальні
CEAS_08.csv легітимні Текст листів, приклади спаму та фішингу,
листи метадані широко вживаний еталонний
набір.
Велика колекція нормальних
Легітимні Корпоративна робочих листів,
Enron.csv листи кореспонденція використовується для
Enron моделювання «звичайної»
комунікації.
Легітимні Академічна та Формальні листи з наукових
Ling.csv листи лінгвістична дискусій, різноманіття стилів
кореспонденція легітимного листування.
Колекція від дослідника Jose
Nazario.csv Фішингові Тексти шкідливих та
листи фішингових листів Nazario. Містить різні типи
сучасних фішингових атак.
«419»-листи, Класичні нігерійські схеми з
Nigerian_Fraud.csv Фішингові шахрайські обіцянками винагород, історично
листи звернення важливі приклади соціальної
інженерії.
Різні типи сучасних Один із найбільш актуальних і
phishing_email.csv Фішингові фішингових збалансованих наборів із
листи повідомлень великою кількістю реальних
фішингових шаблонів.
Інтеграція даних з різних джерел вимагала попереднього уніфікування
структури полів. Зокрема, всі листи були приведені до єдиного формату, що
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 35
включав текст повідомлення, тему (subject), а також мітку класу. Такий
підхід спростив подальший препроцесинг і забезпечив сумісність між
різними частинами вибірки.
Наступним етапом стало виконання розмітки даних, тобто призначення
кожному повідомленню класу phishing або legitimate. Датасети з Kaggle вже
містили відповідні мітки, проте для власних зразків клас був визначений
вручну. Розмітка проводилася на основі аналізу характерних ознак, таких як
підроблені домени, підозрілі посилання, спроби соціальної інженерії та
невідповідність стилю офіційній комунікації.
Після завершення розмітки датасет був збалансований, оскільки
початково кількість легітимних листів суттєво перевищувала кількість
фішингових. Для уникнення домінування більш численного класу
застосовувались методи undersampling або oversampling, залежно від
конкретних експериментів. Більш збалансована вибірка гарантує коректність
навчання моделі та дозволяє уникнути значного перекосу в бік одного класу.
2.3. Методи векторизації тексту для формування моделі машинного
навчання
Для побудови моделей машинного навчання на текстових даних
ключовим етапом є перетворення тексту у числове представлення. Текст у
первинному вигляді не може безпосередньо оброблятися алгоритмами
навчання, такими як логістична регресія, Random Forest або LightGBM.
Векторизація дозволяє представити кожне повідомлення у вигляді числового
вектору, що відображає присутність або вагу окремих слів у документі.
Одним із базових методів є Bag-of-Words (BoW), який полягає у
створенні словника всіх унікальних термінів із корпусу текстів та
представлення кожного документа як вектора, де кожен елемент відповідає
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 36
кількості входжень слова. Такий підхід дозволяє моделі бачити "частотний
профіль" листа без урахування граматики або порядку слів.
Реалізація BoW у популярній бібліотеці scikit-learn здійснюється через
CountVectorizer. Цей інструмент автоматично створює словник унікальних
токенів і перетворює текст на матрицю розмірності
(кількість документів × кількість унікальних слів).
Кожна комірка матриці містить частоту появи слова у відповідному
документі.
Наприклад, якщо корпус складається з двох листів:
Лист 1: "Please update your account"
Лист 2: "Your account has been updated"
CountVectorizer створить словник зівсіх слів, які зумтрічаються в тексті:
[please, update, your, account, has, been, updated]
і представить документи як вектори частот.
Це словник, де кожне слово отримує свій індекс у векторі:
CountVectorizer перетворює кожен документ на вектор довжиною, який
дорівнює кількості унікальних слів у словнику. Кожен елемент вектора
показує кількість входжень слова з цього індексу у документі.
Наприклад, документ 1: "Please update your account"
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 37
Тоді вектор частот буде мати вид:
[1, 1, 1, 1, 0, 0, 0]
Для документа 2 вектор частот буде мати вид::
[0, 0, 1, 1, 1, 1, 1].
Такий підхід перетворює текст у числовий формат, який можна
подавати на вхід машинним алгоритмам (Random Forest, XGBoost, Logistic
Regression, SVM тощо). Вектори показують частоту появи кожного слова, що
дозволяє моделі оцінювати, які слова частіше зустрічаються у фішингових
листах, а які — у легітимних.
CountVectorizer дозволяє також здійснювати додаткові налаштування:
виключення стоп-слів, обмеження словника за мінімальною або
максимальною частотою слів, токенізацію за регулярними виразами. Це
допомагає зменшити розмірність векторів та прибрати шумні або
нерелевантні слова.
Ще одним ефективним методом є TF-IDF Vectorizer (Term Frequency –
Inverse Document Frequency). Він також створює матрицю документ–термін,
але замість простої кількості входжень враховує важливість слова в
документі порівняно з усім корпусом.
Принцип TF-IDF полягає у двох компонентах: TF (term frequency)
показує частоту слова в конкретному документі, а IDF (inverse document
frequency) зменшує вагу слів, які часто зустрічаються у багатьох документах,
оскільки вони менш інформативні для класифікації. Формула IDF зазвичай
виглядає як
idf(t) = log((1 + N) / (1 + df(t))) + 1,
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 38
де N — загальна кількість документів, а df(t) — кількість документів, де
зустрічається слово t.
Для прикладу, слово "account" часто зустрічається у фішингових і
легітимних листах, тому його IDF буде низьким, а вага TF-IDF у векторі
документа — зменшеною. Натомість рідкісні слова, наприклад "verify" або
"urgent", отримають вищу вагу, що дозволяє моделі краще розпізнавати
фішингові сигнали.
Розглянемо приклад реалізації TF-IDF.
Документ 1:
"Please update your account".
Загальна кількість слів = 4.
TF для кожного слова:
Документ 2:
"Your account has been updated".
• Загальна кількість слів = 5.
• TF:
Розрахунок IDF (Inverse Document Frequency). IDF показує, наскільки
рідко або часто слово зустрічається у всіх документах:
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 39
.
де:
• N = загальна кількість документів (у нас 2)
• nt= кількість документів, де слово зустрічається,
Розрахунок для словника [please, update, your, account, has, been, updated]
представлено в табл.2.2.
Розрахунок TF-IDF. Документ 1:
Таблиця 2.2. Розрахунок словника IDF
Розрахунок TF-IDF. Документ 2:
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 40
TF-IDF дає більшу вагу рідкісним словам і меншу вагу дуже частим
словам. У наведеному прикладі слова "your" та "account" зустрічаються в
обох документах, тому їхня вагова частка зменшується.
Слова, що з’являються лише в одному документі, отримують більшу
важливість, допомагаючи моделі розрізняти документи.
У scikit-learn TF-IDF реалізовано через клас TfidfVectorizer, який
поєднує підрахунок частоти слів та нормалізацію по IDF, а також підтримує
різні параметри токенізації, виключення стоп-слів і нормалізації векторів. Це
робить TF-IDF дуже гнучким інструментом для обробки текстових
повідомлень.
Основною перевагою TF-IDF над CountVectorizer є те, що він враховує
не лише присутність слова, а й його інформативність у межах корпусу. Це
дозволяє зменшити вплив часто вживаних, але неінформативних слів, і
виділити слова, які справді відрізняють фішингові листи від легітимних.
Порівняння методів BoW і TF-IDF показує, що CountVectorizer добре
працює для простих частотних моделей, коли важлива наявність чи
відсутність слів, а TF-IDF ефективніший для складних класифікаційних
задач, де потрібне врахування рідкісних ознак. Однак у деяких випадках TF-
IDF може зменшувати вагу часто вживаних, але все ж важливих слів.
Наприклад, у фішингових листах слово "account" часто зустрічається разом із
іншими підозрілими термінами, і його занадто низька вага може частково
втратити інформативність. Тому іноді доцільно комбінувати TF-IDF із
частотними ознаками.
Крім того, обидва методи CountVectorizer і TF-IDF створюють
розріджені матриці, оскільки більшість слів із словника не зустрічаються у
кожному документі. Це дозволяє ефективно зберігати пам’ять та швидко
працювати з великими датасетами, особливо для кореспонденції
електронною поштою.
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 41
При виборі методу векторизації для фішингових листів слід
враховувати характер корпусу. Якщо листи короткі та містять ключові слова,
CountVectorizer може бути достатнім. Для великих корпусів із
різноманітними фразами TF-IDF показує кращу здатність виділяти
релевантні ознаки для класифікації.
Практичний приклад застосування TF-IDF у виявленні фішингу: слово
"urgent" у багатьох легітимних листах не зустрічається так часто, як у
фішингових, тому IDF присвоює йому високу вагу. Це допомагає моделі
навчитися розпізнавати ознаки соціальної інженерії навіть у коротких
повідомленнях.
Підсумовуючи, методи векторизації тексту є критично важливим
етапом підготовки даних для машинного навчання. CountVectorizer і TF-IDF
— основні інструменти, що дозволяють перетворити текст у числовий
формат, підвищують інформативність ознак та визначають якість
класифікації. Розуміння їхніх особливостей та обмежень дозволяє обирати
оптимальний підхід для конкретної задачі виявлення фішингових листів.
Основні порівняльні характеристики обох підходів наведені в табл.2.3.
Таблиця 2.3. Порівняння методів Bag-of-Words (CountVectorizer) та TF-IDF
Критерій Bag-of-Words TF-IDF (Term Frequency – Inverse
(CountVectorizer) Document Frequency)
Підрахунок кількості Врахування частоти слова в
Принцип роботи входжень кожного слова в документі та його рідкості у всьому
документі корпусі
Вага слова Проста кількість входжень Частота слова помножена на
інверсну частоту документів (IDF)
Врахування Не враховується; всі слова Слова, що часто зустрічаються у
інформативності рівнозначні багатьох документах, мають меншу
вагу; рідкісні — більшу
Чутливість до Висока; поширені слова Низька; поширені слова
частих слів можуть домінувати зменшуються у значенні через IDF
Розмірність Велика, залежить від кількості Також велика, але вектори відразу
векторів унікальних слів нормалізуються
Переваги Простота, швидка обробка, Виділяє ключові слова, підвищує
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 42
Критерій Bag-of-Words TF-IDF (Term Frequency – Inverse
(CountVectorizer) Document Frequency)
добре працює для коротких якість класифікації у великих і
текстів різноманітних корпусах
Не враховує важливість слів, Може зменшити вагу часто
Недоліки часто слабко працює на повторюваних, але інформативних
великих корпусах слів
Приклади Короткі листи, спам/не спам, Виявлення фішингових листів,
застосування прості частотні моделі класифікація текстів із великою
кількістю документів
2.4. Використання сучасної моделі BERT дляобробки природної мови
BERT (Bidirectional Encoder Representations from Transformers) — це
глибока мовна модель, яка є одною з найсучасніших у сфері обробки
природної мови (Natural Language Processing - NLP) завдяки своїй двобічній
контекстній архітектурі. На відміну від попередніх моделей, які читали текст
або зліва направо, або справа наліво, BERT одночасно аналізує контекст
слова з обох сторін. Це дає змогу точніше розуміти зміст листів, включно з
прихованими маніпуляціями, що часто зустрічаються у фішингових
повідомленнях. Наприклад, у фразах
«Your account is temporarily locked» та
«Your temporary account is locked»
порядок слів змінює зміст, і BERT вловлює цю різницю.
Основою BERT є архітектура Transformer, в якій ключову роль відіграє
механізм самоуваги (self-attention). Він дозволяє моделі визначати, які слова є
найважливішими в конкретному контексті. Наприклад, у листі
«We detected suspicious activity in your account»
найбільші ваги уваги будуть сконцентровані на словах detected, suspicious,
account, адже саме вони несуть ризик-орієнтовану інформацію. Такий
механізм дозволяє BERT працювати не лише зі змістом, але й із логічною
структурою тексту.
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 43
Self-attention – це один із способів, за допомогою якого модель
намагається надати більшої ваги тим вхідним ознакам, які є найважливішими
для речення. Розглянемо наступний приклад, щоб зрозуміти, як принципово
працює увага (рис.2.4).
Рис.2.4. Конструкція речення та ілюстрація механізму Self-attention
У наведеному вище реченні модель BERT може надати більшої ваги
слову «кіт» (cat) та дієслову «стрибнув» (jumped), ніж «сумці» (bag), оскільки
їх знання буде важливішим для прогнозування наступного слова «впав» (fell),
ніж знання того, звідки стрибнув кіт.
Навчання BERT складається з двох етапів: попереднє тренування (pre-
training) та донавчання під конкретну задачу (fine-tuning). Під час pre-training
модель отримує фрагменти текстів із замаскованими словами, наприклад:
«Your [MASK] has been updated».
Мета — передбачити замасковане слово (account). Це змушує модель
розуміти не окремі слова, а правила побудови речень, семантику й контекстні
залежності. Саме тому BERT легко адаптується до задачі виявлення
фішингових листів, де важливо враховувати комплексний зміст, а не просто
кількість певних слів.
На етапі fine-tuning попередньо натренована модель доповнюється
класифікаційним шаром. У випадку з фішинговими листами цей шар
прогнозує два класи: phishing або legitimate. Наприклад, модель бере текст:
«Your payment method needs immediate verification»
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 44
і формує контекстне представлення, після чого класифікатор визначає, що
лист з великою ймовірністю має ознаки фішингового. Такий процес дозволяє
отримати високу точність навіть на складних, модифікованих або
нестандартних листах.
BERT забезпечує широкі функціональні можливості: класифікацію
тексту, визначення схожості документів, виявлення сутностей (імен, адрес,
банківських даних), аналіз намірів тощо. Це робить його універсальним
інструментом у кібербезпеці. Наприклад, фішинговий лист може містити
згадку про «billing department» або «support team», і модель розуміє, що ці
назви мають певний семантичний контекст, а не лише статистичну вагу, як у
TF-IDF.
Порівняно з Bag-of-Words (BoW) та TF-IDF BERT працює не зі словами
як окремими символами, а з їхнім контекстом. BoW не враховує порядок слів
і часто прирівнює фрази, що мають різний зміст. TF-IDF надає ваги словам
залежно від їхньої рідкості, але також не розуміє контексту. Наприклад,
розглянемо два листи:
«We updated your account automatically.»
«We need you to update your account manually.»
Для TF-IDF вони майже однакові. Для BERT — абсолютно різні за
змістовим наміром.
У фішингових листах контекст визначає все. Фраза «verify your
account» може бути безпечною, якщо її надіслала реальна служба підтримки,
або підозрілою, якщо відправник невідомий. BERT ураховує семантичні
взаємозв’язки між словами, такі як нагальність (urgent), погроза блокування
(your account will be closed), елементи соціальної інженерії (you have been
selected, click to receive your reward). Це дозволяє моделі розрізняти ознаки
маніпуляції, які TF-IDF не бачить зовсім.
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 45
Токенізація у BERT ґрунтується на алгоритмі WordPiece. Він розбиває
рідкісні та змінені слова на підслова. Наприклад, слово:
«veriffyyouracc0unt»
може бути токенізоване як:
verif, ##fy, your, acc, ##0, ##unt.
Це дає змогу виявляти фішингові маніпуляції зі словами, які зловмисники
навмисно спотворюють, щоб обійти фільтри.
Налаштування моделі (класи fine-tuning) полягають у виборі
гіперпараметрів: learning rate (типово 2e-5), batch size (16 або 32), кількості
епох (2–4). Надмірний fine-tuning може призвести до перенавчання, особливо
коли датасет невеликий. Під час навчання зазвичай спостерігають, як модель
поступово збільшує точність класифікації листів, правильно виявляючи
приховані загрози.
Дані перед завантаженням у модель перетворюються на структуру, яка
включає input_ids, attention_masks і token_type_ids. Для кожного листа
додається спеціальний токен [CLS], який представляє весь документ.
Наприклад, для листа:
«Please confirm your identity»
модель формує такий набір токенів:
[CLS] please confirm your identity [SEP].
Вектор [CLS] — це агреговане семантичне представлення листа, яке
потім передається у класифікаційний шар.
Fine-tuning передбачає навчання останніх шарів моделі. Наприклад,
після отримання вектора з розмірністю 768 (для BERT-base) він подається на
повнозвязний шар:
output = Dense(2, activation='softmax')(cls_vector).
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 46
Це дозволяє визначити, до якого класу належить лист. Модель
оптимізується за допомогою крос-ентропійних втрат, що забезпечує коректну
градацію ймовірностей фішингу.
Перевагою BERT є його здатність працювати з короткими листами —
тими, що часто є найнебезпечнішими. Наприклад:
«Update now»
«Password expired»
TF-IDF створить короткий вектор із двома словами, тоді як BERT
формує контекстні ембеддинги, які зберігають інформацію про небезпечні
патерни навіть у мінімальних фразах. Модель розуміє, що слова «expired»,
«update», «now» — це типові тригери фішингу.
Наведемо приклад інтеграції BERT із LightGBM, колит текст листа
обробляється токенізатором BERT.
Інтеграція BERT із LightGBM є ефективним гібридним підходом, який
поєднує глибоке контекстне представлення тексту, створене мовною
моделлю BERT, із високою швидкістю та продуктивністю алгоритму
градієнтного бустингу LightGBM. Ідея полягає в тому, що BERT не
використовується як повноцінний класифікатор, а слугує "екстрактором
ознак", перетворюючи кожен лист на вектор фіксованої довжини (зазвичай
768 елементів для BERT-base). Потім LightGBM отримує ці вектори як набір
ознак і виконує класифікацію на phishing або legitimate. Такий підхід
забезпечує значне підвищення точності в порівнянні з класичними методами
на основі Bag-of-Words або TF-IDF.
Процес починається з токенізації кожного листа за допомогою
токенізатора BERT. Наприклад, текст:
«Your PayPal account requires immediate verification»
перетворюється на набір токенів:
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 47
[CLS], your, paypal, account, requires, immediate, verification, [SEP].
Після токенізації модель BERT генерує приховані вектори (hidden states), з
яких зазвичай вибирають вектор, що відповідає токену [CLS]. Цей вектор є
узагальненим представленням усього тексту, тобто містить інформацію про
семантику листа, стиль, тональність та можливі фішингові тригери.
Наприклад, у цьому випадку модель надасть важливість словам verification,
immediate, account, які є характерними для фішингових атак.
Отримані вектори CLS можуть бути подані безпосередньо у LightGBM
як табличні дані. Наприклад, лист:
«Your account will be closed unless you verify your information»
буде представлений як вектор виду
[0.23, −0.15, 0.87, ..., −0.05]
довжиною 768 елементів. Інший лист, наприклад: «Your invoice for February
is attached below», формуватиме суттєво інший вектор, який дозволяє моделі
легко розрізняти легітимні повідомлення про рахунки та фішингові спроби
маніпулювання. Потім LightGBM аналізує всі такі вектори, навчаючись
визначати патерни, характерні для фішингових листів.
У процесі навчання LightGBM використовує механізм градієнтного
бустингу над деревами рішень, що дозволяє йому ефективно працювати з
великою кількістю ознак (768+), виявляти складні нелінійні залежності та
обробляти нерівномірно розподілені класи. Наприклад, якщо у вектора CLS
високі значення на позиціях, які відповідають словам, пов’язаним із
терміновістю (urgent, immediately, verify now), модель може запам’ятати ці
закономірності як ознаки ризику. Водночас вона може навчитися
ідентифікувати нейтральні або робочі терміни (report, schedule, invoice), що
характерні для легітимних листів.
Приклад робочого pipeline може виглядати так:
1. BERT: Перетворює тексти листів у CLS-вектори.
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 48
2. DataFrame: Формує з цих векторів табличний набір даних (768
колонок).
3. LightGBM: Навчається на цих даних, використовуючи нав Labels (0 —
legitimate, 1 — phishing).
4. Модель: Після навчання приймає вхідний текст → пропускає через
BERT → отримує вектор → LightGBM класифікує.
Наприклад, якщо ми подаємо текст «Your Apple ID has been locked due
to unusual activity», BERT створює характерний для фішингу вектор, після
чого LightGBM може з високою ймовірністю класифікувати лист як
шкідливий.
Гібридний підхід BERT + LightGBM дає змогу досягти високої
точності навіть на невеликих наборах даних. Тоді як класичне fine-tuning
BERT вимагає багато ресурсів і GPU, метод екстракції CLS-векторів дозволяє
використовувати невеликий обсяг GPU або навіть CPU. Наприклад, у
багатьох дослідженнях цей підхід показує підвищення якості від 5 до 12% у
порівнянні зі звичайними моделями, побудованими поверх TF-IDF. Оскільки
LightGBM дуже добре працює з невеликими вибірками, його поєднання з
високорівневими ознаками BERT дозволяє отримати модель, що здатна
виявляти різноманітні фішингові техніки, включно зі спотвореними словами,
соціально-інженерними фразами та нетиповими стилістичними структурами.
Завдяки здатності розуміти контекст, виявляти маніпулятивні патерни,
працювати з текстами будь-якої складності та адаптуватися до доменної
специфіки BERT є одним із найкращих рішень для побудови системи
виявлення фішингових листів. Він дає змогу суттєво підвищити точність і
знизити кількість false positives/false negatives, забезпечуючи надійну
аналітичну основу для систем кіберзахисту.
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 49
2.5. Методи машинного навчання для класифікації фішингу
Наївний баєсівський класифікатор. Наївний баєсівський
класифікатор (Naive Bayes Classifier, NBC) належить до сімейства
ймовірнісних алгоритмів машинного навчання, що базуються на формулі
Байєса та припущенні умовної незалежності ознак. Попри свою простоту,
метод залишається одним із найефективніших інструментів для задач
класифікації текстів, у тому числі виявлення фішингових електронних листів.
Його особливістю є здатність добре працювати з великими масивами даних
та sparse-представленнями, що характерні для текстової аналітики.
Формула Байєса, на якій побудований алгоритм, визначає, як
попередня ймовірність (apriori) певного класу комбінується з умовною
ймовірністю появи ознак, щоб отримати апостеріорну ймовірність:
,
де P(A|B) - апостеріорна ймовірність гіпотези A, тобто ймовірність
того, що гіпотеза є істинною після отримання спостереження B;
P(В|А) - правдоподібність (likelihood): наскільки ймовірно
спостереження В, якщо гіпотеза А є істинною;
P(А) - апріорна ймовірність гіпотези, тобто початкова віра в те, що
гіпотеза є істинною до врахування нових даних;
P(В) - нормалізуючий множник або повна ймовірність спостереження;
забезпечує, щоб сума всіх апостеріорних ймовірностей дорівнювала 1.
У контексті класифікації електронних листів ця формула дозволяє
оцінити, наскільки ймовірно, що текст належить класу «phishing» за
наявності у ньому певних слів, фраз або структур.
Однією з ключових причин популярності Naive Bayes у текстовій
класифікації є висока ефективність, навіть коли припущення про
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 50
незалежність ознак не виконується повністю. Практика показує, що NBC
стабільно демонструє високу точність у випадках, коли інші моделі
вимагають складної попередньої обробки або великої кількості параметрів.
Це робить алгоритм чудовим базовим рішенням, а також надійною
стартовою моделлю для порівняння результатів у наукових дослідженнях.
Загалом існує кілька варіантів Naive Bayes: Multinomial, Bernoulli та
Gaussian. Для задач обробки текстів найчастіше застосовують Multinomial
Naive Bayes, оскільки він добре працює з частотами слів та документів.
Bernoulli-версія використовується тоді, коли важлива лише наявність або
відсутність токена у документі, а Gaussian — у випадку неперервних змінних.
У контексті аналізу текстів електронних листів найкращим вибором є саме
Multinomial NB.
Розглянемо ілюстративний приклад роботи класифікатора. Припустімо,
маємо два класи: phishing та legitimate. Модель навчається на наборі листів і
підраховує, як часто кожне слово зустрічається у фішингових повідомленнях,
і як часто — у легітимних. Наприклад, слово verify може з’являтися у
фішингових листах 120 разів, а в легітимних лише 5 разів. Це створює високу
умовну ймовірність P(verify | phishing), що суттєво впливатиме на кінцеву
класифікацію.
Обчислення ймовірностей здійснюється за допомогою логарифмів, щоб
уникнути переповнення чисел при множенні великої кількості умовних
ймовірностей. Наприклад, для листа з текстом "Your account requires
immediate verification" модель оцінює логарифм ймовірності кожного слова
для обох класів і підсумовує їх. Якщо лог-сума для класу phishing виявиться
більшою за legitimate, лист буде віднесено до фішингових.
Важливим аспектом навчання є застосування згладжування (smoothing).
Найпоширенішим є метод Лапласа (add-one smoothing), який запобігає
нульовим ймовірностям. Наприклад, якщо слово password жодного разу не
зустрічалося у легітимних листах, без згладжування модель би встановила
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 51
ймовірність P(password | legitimate) = 0, що автоматично робило б будь-який
лист із цим словом фішинговим. Згладжування дозволяє уникнути таких
крайнощів.
Модель також демонструє здатність правильно класифікувати листи
навіть при високому рівні шуму. Наприклад, якщо повідомлення містить
кілька нейтральних слів, як-от "attached", "report", "confirm", але водночас
має ключові тригерні слова ("urgent", "verify"), Naive Bayes фіксує сумарний
зсув у бік фішингового класу. Це пояснюється незалежністю ознак: кожне
слово впливає на результат незалежно.
У контексті виявлення фішингових листів NBC особливо корисний
завдяки здатності аналізувати статистичний розподіл слів, характерних для
соціальної інженерії. Наприклад, слова urgent, immediately, limited time,
security alert часто мають значно більшу частку появ у фішингових листах,
ніж у звичайних бізнес-комунікаціях. Наївний Баєс легко вловлює ці
відмінності.
На практиці моделювання часто проводять у комбінації з техніками
векторизації тексту: TF-IDF або CountVectorizer. CountVectorizer надає NBC
сирі частоти слів, що добре узгоджується з Multinomial-моделлю. Наприклад,
лист "Verify your account now" після векторизації буде представлений як
набір частот слів, що дозволяє обчислити ймовірності безпосередньо на цих
значеннях.
Для демонстрації роботи алгоритму розглянемо приклад із простим
корпусом:
Лист 1 (phishing): "Verify your account immediately";
Лист 2 (legitimate): "Your account has been updated".
CountVectorizer створить матрицю термів у вигляді:
verify: 1, immediately: 1, updated: 0, has: 0,
verify: 0, immediately: 0, updated: 1, has: 1.
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 52
Naive Bayes визначить, що терміни verify та immediately мають вищі
ймовірності у фішинговому класі, а updated та has — у легітимному.
Однією з важливих переваг алгоритму є його здатність працювати з
високорозмірними просторами ознак. У текстових датасетах після TF-IDF
кількість ознак може сягати 10–50 тисяч, але Naive Bayes справляється з цим
без значного збільшення часу обчислень. Завдяки лінійній складності
алгоритм вважається одним із найбільш масштабованих рішень для аналізу
великих обсягів електронної пошти.
Ще одним плюсом є інтерпретованість моделі. На відміну від складних
нейронних мереж, NBC дозволяє проаналізувати, які саме слова мають
найбільшу вагу у визначенні фішингових листів. Наприклад, у результатах
можна явно побачити, що слова win, free, bank update, confirm password
мають високу позитивну значущість для класу phishing. Це підвищує довіру
до моделі та полегшує її використання в аудиторських і корпоративних
системах.
Попри свою простоту, Naive Bayes залишається потужним
інструментом для первинного фільтрування фішингових листів. Його можна
застосовувати як окремий класифікатор або як частину ансамблевої системи
разом із LightGBM, SVM чи нейронними моделями. Він забезпечує швидку
базову перевірку та може бути використаний для попереднього сортування
перед передачею листів у складніші моделі, такі як BERT чи CNN. Таким
чином, NBC є важливою складовою сучасних систем кібербезпеки, які
виконують інтелектуальний аналіз великих обсягів електронної пошти.
Розглянемо приклад застосування NBC для виявлення фішингових
листів.
1. Вихідні дані (корпус листів).
Легітимні листи:
1) "Your meeting has been scheduled";
2) "The document has been approved".
Лист
Змін. Лист мБі41.025.252.248 ПЗ
№ докум. Підпис Дата 53
Фішингові листи:
3) "Your account password must be updated immediately";
4) "Update your bank account information to avoid suspension".
Необхідно навчити класифікатор визначати, чи є новий лист
фішинговим.
2. Підготовка словника. Після токенізації та нормалізації (lowercase,
видалення стоп-слів, лематизація) утворюється приблизно такий
словник:
«your, meeting, scheduled, document, approved, account, password, must,
updated, immediately, update, bank, information, avoid, suspension»
Усього 15 слів (термів).
3. Обчислення апріорних ймовірностей. Апріорна ймовірність класу
обчислюється як:
У великих наборах даних ці ймовірності зазвичай сильно зміщені
(наприклад, 90% листів є нормальними), тому врахування цього фактору
особливо важливе.
4. Обчислення умовних ймовірностей слів (likelihood). Ймовірність
появи слова w у класі C:
,
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 54
де додавання «+1» — застосування Laplace smoothing, яке запобігає нульовим
ймовірностям.
5. Підрахунок частот слів у класах.
У легітимних листах (після очистки, наприклад):
«your(1), meeting(1), scheduled(1), document(1), approved(1), has(2)»
Усього слів: 7
У фішингових листах:
«your(2), account(2), update/updated(2), password(1), bank(1), information(1),
avoid(1), suspension(1), immediately(1), must(1)»
Усього слів: 14
6. Приклад обчислення P("your" | phishing)
.
Приклад для слова, яке не зустрічається в класі:
7. Класифікація нового листа. Розглянемо такий новий лист:
"Update your account information"
Після токенізації отримаємо:
update, your, account, information
Обчислимо:
Класифікатор обирає клас з найбільшою ймовірністю.
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 55
8. Обчислення P(document | phishing). Припустимо, після підрахунку:
Тоді:
9. Обчислення P(document | legitimate). Слова, яких немає у класі,
матимуть дуже малі ймовірності після згладжування.
Наприклад:
10. Порівняння:
Таким чином, фішинговий клас має ймовірність, що перевищує
легітимний приблизно у 9 разів. Висновок - лист класифікується як
фішинговий.
11. Інтерпретація результатів. Naive Bayes визначив фішингову
природу листа завдяки кільком уникальним сигналам:
• слова update, account, information мають значно більшу вагу у
фішингових листах;
• апріорні ймовірності були рівні, тому вплив мала лише структура
тексту;
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 56
• лігвістичний профіль нового документа співпадає з характерними
структурами фішингу.
Таким чином, NB класифікатор працює добре навіть у цьому маленькому
прикладі завдяки наступним властивостям:
• частоти слів у фішинговому корпусі виявляють характерні патерни:
update, password, bank, suspension, information.
• чим більше корпус — тим точніше оцінюється розподіл;
• для реальних систем Naive Bayes дуже стійкий до високої розмірності
(десятки тисяч термів).
Розглянемо наступний потужний класифіктор, який представляє
інтерес свого застосування для даної задачі.
Загальна характеристика LightGBM Classifier. LightGBM (Light
Gradient Boosting Machine) — це високопродуктивний фреймворк
градієнтного бустінгу, розроблений компанією Microsoft, який належить до
класу алгоритмів ensemble learning. Основна ідея алгоритму полягає в
послідовному побудуванні ансамблю дерев рішень, де кожне нове дерево
намагається компенсувати помилки попереднього. LightGBM відрізняється
надзвичайно високою швидкістю навчання, здатністю працювати з великими
наборами даних та ефективним використанням пам’яті. Завдяки цим
властивостям він широко застосовується у задачах класифікації, регресії,
ранжування та виявлення аномалій.
LightGBM реалізує підхід Gradient Boosting Decision Trees (GBDT), у
межах якого моделі-дерева додаються послідовно, кожне з них навчається
мінімізувати похибку ансамблю. На відміну від класичних методів на основі
дерев, бустінгові моделі дають значно вищу точність завдяки врахуванню
залишкової помилки та поступовому уточненню предиктора. У контексті
задачі виявлення фішингових листів це означає, що модель поступово
навчається виявляти характерні ознаки фішингу — специфічні слова,
структури URL, технічні маркери тощо.
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 57
Однією з ключових відмінностей LightGBM є стратегія росту дерев
leaf-wise (вирощування найбільш "вигідної" гілки), а не level-wise
(пошарово), як у багатьох традиційних реалізаціях. Leaf-wise стратегія
дозволяє LightGBM зменшити функцію втрат ефективніше, тому що дерево
ділиться у тій гілці, де це дає найбільший виграш. Це забезпечує значно
швидше збіження моделі та підвищену точність. Проте leaf-wise підхід
потребує контролю глибини для запобігання перенавчанню, особливо на
текстових даних.
Перевага LightGBM у роботі з великими та розрідженими матрицями.
При аналізі текстових даних (наприклад, після CountVectorizer чи TF-IDF)
формується дуже велика, але розріджена матриця ознак. LightGBM
оптимізований для роботи саме з такими матрицями завдяки використанню
Sparse Feature Handling, що дозволяє обробляти нульові значення без прямого
зберігання величезних масивів. Це робить LightGBM одним з найкращих
алгоритмів для задач аналізу електронних листів, де кількість унікальних слів
у словнику може сягати десятків тисяч.
Ще однією інноваційною особливістю LightGBM є використання
гістограмного методу побудови дерев. Замість того, щоб перебирати всі
можливі розбиття за числовою ознакою, алгоритм попередньо дискретизує
значення у невелику кількість інтервалів (бінів). Це суттєво знижує
обчислювальні витрати та прискорює пошук оптимального розбиття, не
втрачаючи при цьому якість моделі. Для задачі класифікації листів це
забезпечує можливість працювати з великими датасетами та складною
текстовою структурою.
LightGBM має широкий набір механізмів регуляризації, зокрема:
max_depth — обмеження максимальної глибини дерев,
min_data_in_leaf — мінімальна кількість прикладів у листі,
lambda_l1 / lambda_l2 — L1 та L2-регуляризація,
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 58
feature_fraction, bagging_fraction — стохастична вибірка ознак та
прикладів.
Ці параметри дозволяють контролювати складність моделі та уникати
перенавчання, що особливо важливо у задачах фішингового виявлення, де
патерни можуть бути звивистими, багатозначними та неконсистентними.
LightGBM дозволяє оцінити важливість кожної ознаки (слова або
токену) у процесі класифікації. Це дає змогу зрозуміти, які слова чи фрази
найсильніше впливають на рішення моделі. Наприклад, у задачі детекції
фішингу найбільшу вагу можуть отримати токени типу: “update”, “verify”,
“password”, “urgent”, “account suspended” тощо. Це не лише підвищує
прозорість моделі, але й дозволяє досліднику аналізувати структуру
фішингових атак.
У порівнянні з XGBoost, CatBoost та класичним
GradientBoostingClassifier, LightGBM демонструє:
• значно вищу швидкість навчання;
• менше використання пам’яті;
• кращу масштабованість;
• вищу точність на великих та розріджених наборах ознак.
Це робить дану модель оптимальним вибором у системах з низькими
ресурсами, а також для реального розгортання на серверах або поштових
шлюзах.
Для класифікації фішингових повідомлень LightGBM є одним з
найрезультативніших алгоритмів завдяки здатності ефективно обробляти
високовимірні текстові вектори, враховувати складні нелінійні залежності та
правильно працювати з нерівномірними класами. У практиці кібербезпеки
LightGBM часто успішно застосовується для виявлення зловмисного
контенту, аналізу URL, класифікації повідомлень у реальному часі та
ідентифікації шкідливих патернів у логах.
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 59
2.6. Висновки
У даному розділі було детально розглянуто архітектуру системи
виявлення фішингових електронних листів, що передбачає інтеграцію
декількох взаємопов’язаних компонентів: модулі збору даних, їх попередню
обробку, векторизацію тексту, а також алгоритми машинного навчання для
здійснення класифікації. Така архітектура дає змогу поєднати переваги
класичних статистичних методів та сучасних глибинних мовних моделей, що
забезпечує гнучкість та можливість масштабування системи під різні обсяги і
типи текстових даних. Акцент на поетапному проходженні даних через усі
зазначені модулі дозволяє формувати якісні ознаки та мінімізувати помилки,
пов’язані з "шумними" або необробленими текстовими вхідними даними.
У процесі формування та попередньої обробки датасету значну увагу
приділено джерелам даних, методам розмітки та очищення текстової
інформації. Коректна побудова корпусу листів та збалансування класів
«phishing»/«legitimate» суттєво впливають на загальну ефективність будь-якої
моделі машинного навчання. Методики нормалізації тексту — такі як
токенізація, лематизація, видалення стоп-слів та спеціальних символів —
забезпечують стандартизований формат даних і дозволяють побудувати
коректні векторні репрезентації. Таким чином, саме якість попередньої
обробки визначає потенційну точність навіть найскладніших алгоритмів
класифікації.
Окремо було розглянуто методи векторизації тексту: Bag-of-Words, TF-
IDF та сучасний підхід BERT. Класичні методи BoW та TF-IDF залишаються
ефективними для базових задач класифікації, забезпечуючи
інтерпретованість та швидкість навчання моделей. Проте вони мають
обмеження, пов’язані з відсутністю урахування контексту та порядку слів. На
противагу цьому, BERT як контекстно-залежна глибинна модель дозволяє
навчатися на семантичних зв’язках у тексті, забезпечуючи суттєве
Лист
Змін. мБі41.025.252.248 ПЗ
Лист № докум. Підпис Дата 60
підвищення точності у задачах виявлення фішингу. У розділі наведено
приклади інтеграції BERT із класичними ML-алгоритмами (LightGBM), що
демонструє можливість їх ефективної комбінованої роботи.
Представлено огляд алгоритмів машинного навчання, зокрема Naive
Bayes та LightGBM, які широко застосовуються для класифікації текстових
даних завдяки високій швидкості, стійкості до надмірної кількості ознак та
здатності працювати з розрізненими векторами. LightGBM було визначено як
один з найбільш продуктивних методів завдяки його здатності обробляти
великі набори ознак та забезпечувати високу точність за рахунок
оптимізованого градієнтного бустингу. Поєднання різних підходів — від
простих ймовірнісних моделей до трансформерних архітектур — створює
комплексну базу для побудови ефективної системи виявлення фішингових
листів, здатної адаптуватися до нових типів атак і забезпечувати високий
рівень захисту інформаційних систем.
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 61
РОЗДІЛ 3. ЕКСПЕРИМЕНТАЛЬНЕ ДОСЛІДЖЕННЯ ЕФЕКТИВНОСТІ
ПОБУДОВАНОЇ СИСТЕМИ
3.1. Розгортання середовища дослідження моделей та підготовка даних
У рамках експериментального дослідження побудованої системи з
виявлення фішингових листів обрана платформа Jupyter Notebook як основне
робоче середовище. Jupyter дає можливість поєднувати текст (Markdown),
код та результати (графіки, таблиці) в одному документі — це зручно як для
початкового прототипування моделей, так і для документування всього
процесу дослідження (рис.3.1).
Рис.3.1. Платформа Jupyter Notebook як інтегроване середовище
розробки IDE (Integrated Development Environment)
Особливо корисно те, що можна поступово виконувати блоки коду,
швидко перевіряти проміжні результати, змінювати гіперпараметри й одразу
бачити, як це впливає на метрики — без необхідності перезапускати весь
скрипт заново.
Також Jupyter добре підходить для побудови ітеративних
експериментів. Наприклад, можна мати окремі блоки, які відповідають за
підготовку даних, векторизацію, навчання моделі, оцінювання, візуалізацію
результатів. Такий поділ робить код читабельним, дозволяє легко
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 62
відтворювати або модифікувати етапи, порівнювати моделі (наприклад, BoW
+ LightGBM, BERT + LightGBM, Naive Bayes і т. д.). Крім того, документ у
форматі ноутбука можна зберігати, ділитися ним, а також використовувати
як частину методичної документації або додатків.
Для реалізації задач обробки тексту, векторизації, побудови моделей і
візуалізації даних у Jupyter планується використовувати набір стандартних,
перевірених бібліотек Python. Серед них — re, numpy, pandas, seaborn,
matplotlib, а також компоненти з scikit-learn (векторизатори, розбиття
набору, масштабування, метрики).
Бібліотека re (регулярні вирази) буде застосована на етапі попередньої
обробки текстів: для очищення листів від небажаних символів, видалення
HTML-тегів, спотворених форматувань, заміни URL, видалення
надлишкових пробілів тощо. Це важливий етап, оскільки від якості очищення
тексту залежить точність подальшої векторизації ймовірнісних або
контекстних моделей.
NumPy і Pandas забезпечать зручну роботу з табличними й
матричними даними. З Pandas ми завантажуватимемо датасет,
формуватимемо DataFrame, здійснюватимемо фільтрацію, балансування
класів, об’єднання корпусів, перетворення міток, а також підготовку до
подальшої обробки. NumPy необхідний для роботи з векторними
представленнями, операціями над масивами, стандартизацією, а також для
передавання масивів у моделі машинного навчання.
Для візуалізації даних, аналізу розподілів ознак, дослідження структури
датасету та візуального представлення результатів класифікації
застосовуватиметься Matplotlib і Seaborn. Наприклад, за допомогою Seaborn
можна побудувати гістограми довжин листів, розподіл частоти термінів,
heatmap-матрицю помилок (confusion matrix), порівняти кількість фішингових
vs легітимних листів, а також візуалізувати ROC-криві, розподіл
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 63
ймовірностей класифікатора тощо. Це суттєво полегшить аналіз якості
моделі та інтерпретацію результатів.
Щодо машинного навчання, з бібліотеки scikit-learn будуть
використані:
CountVectorizer та TfidfVectorizer — для перетворення текстів у
векторні простори на основі частот або частотно–оберненої частоти, що
слугуватиме базою для класичних моделей (наприклад, Naive Bayes,
LightGBM),
train_test_split — для розділення даних на тренувальну та тестову (або
валідаційну) частину,
StandardScaler — за потреби стандартизації ознак (особливо якщо для
моделі будуть додаткові числові метадані),
метрики та функції оцінювання як confusion_matrix,
classification_report, roc_auc_score — для кількісної оцінки якості
класифікації, аналізу балансів помилок (false positive / false negative),
побудови ROC-кривих.
Такий набір інструментів у Jupyter забезпечує повний цикл: від
попередньої обробки сирих листів до остаточного тестування моделі, аналізу
результатів та візуалізації. Він робить дослідницький процес прозорим,
гнучким та добре задокументованим.
Таким чином, обране середовище та бібліотеки створюють зручний,
гнучкий та надійний інструментарій для експериментального дослідження
побудованої системи виявлення фішингових листів — що важливо для
відтворюваності, наглядності та подальшого вдосконалення моделі.
На рис.3.2. представлено перелік файлів, які використовуються як
різні набори розмічених даних, описаних в розділі 2.
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 64
Рис.3.2. Набір файлів, які використовуються для навчання моделі
За результатом завантаження датасетів з платформи Kaggle і обєднання
їх в одну загальну базу отримаємо набур даних, який складається з 76677
записів при 8 ознаках. Загадтне представлення датасета представлено на
рис.3.3.
Рис.3.3. Представлення досліджуваного датасета для побудови моделі
машинного навчання
На рис.3.4. предствлений аналіз балансу лігитимних (0) і фішингових
(1) листів в досліджуваному датасеті.
Рис.3.4. Баланс лігитимних (0) і фішингових (1) листів в датасеті
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 65
Аналіз розподілу міток у датасеті показує наявність двох класів: 1 —
фішингові листи та 0 — легітимні листи. Їх кількість становить відповідно
21842 та 17312 записів. Це означає, що датасет є помірно розбалансованим,
оскільки фішингових прикладів приблизно на 26% більше, ніж легітимних.
Такий перекіс не є критичним, але він впливає на процес навчання моделі,
оскільки алгоритми машинного навчання можуть схилятися до частішого
прогнозування більш представленого класу.
Незважаючи на те, що дисбаланс не надто значний, він може вплинути
на ключові метрики якості — зокрема на precision, recall та F1-score для
менш представленого класу. У задачах виявлення фішингових листів
особливе значення має контроль за хибними позитивними (коли легітимний
лист помилково вважається фішингом) та хибними негативними
(непомічений фішинг). Дисбаланс може призвести до зниження точності для
класу легітимних листів, якщо модель буде орієнтована на правильну
класифікацію переважаючої кількості фішингових прикладів.
Наступним етапом виконаємо препроцесінг даних,
представлений на рис.3.5.
Рис.3.5. Препроцесінг даних для побудови моделі машинного навчання
Функція clean_email_content_with_links() виконує важливу роль у
попередній обробці текстових даних, зокрема електронних листів, що містять
як звичайний текст, так і гіперпосилання.
Перший етап роботи функції полягає у пошуку всіх URL-адрес у тексті
листа за допомогою регулярного виразу re.findall(...). Це важливо, оскільки
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 66
URL-посилання є однією з ключових ознак у фішингових листах, і повне їх
видалення могло б погіршити роботу моделі. Збереження URL у вигляді
списку дозволяє моделі отримувати інформацію про їх кількість, структуру
та характерні елементи (наприклад, підозрілі домени). Кожне знайдене
посилання тимчасово замінюється на унікальний маркер виду *URL_0*, що
дозволяє виконувати подальше очищення тексту без втрати інформації про
їхню позицію.
Очищення тексту від зайвих символів. Після заміни посилань функція
очищує лист від всіх неалфавітно-цифрових символів, крім пробілів і
шаблонів, пов’язаних із URL_. Це зменшує шум у даних та нормалізує
структуру тексту. Такий підхід запобігає тому, що модель буде навчатися на
випадкових спецсимволах, які не несуть корисної інформації. Регулярний
вираз
email_body = re.sub(r'[^a-zA-Z0-9\s*URL_\d*]', '', email_body)
забезпечує контрольоване очищення без видалення URL-маркерів, які
тимчасово заміняють справжні посилання.
Нормалізація пробілів і структури тексту. Функція перетворює
послідовність з кількох пробілів або переноси рядків у один пробіл, що
робить текст структурованим і однорідним. Це особливо важливо, оскільки
моделі NLP чутливі до зайвих пробілів, які можуть призводити до створення
недоцільних токенів та спотворення числових представлень тексту.
Уніфікація форматування гарантує, що однакові за змістом речення будуть
представлені в аналогічному вигляді.
Повернення очищеного тексту та списку URL. Функція повертає два
значення: очищений текст листа з маркерами та список реальних URL-адрес,
знайдених на етапі попередньої обробки. Це дозволяє застосовувати
комбінований підхід: модель може аналізувати як очищений текст, так і
додаткові ознаки, пов’язані з URL (довжина, домен, наявність підозрілих
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 67
токенів). Такий підхід значно підвищує точність класифікації фішингових
листів, оскільки більшість атак ґрунтується саме на маніпуляціях із
посиланнями. Тому функція є критично важливим елементом у процесі
feature engineering для виявлення фішингу.
Представимо побудову нових колонок у датафреймі (рис.3.6). Даний
рядок застосовує функцію clean_email_content_with_links до кожного
елемента стовпця body. Оскільки функція повертає два значення —
очищений текст та список знайдених URL — метод apply формує для
кожного рядка кортеж. Використання zip(*) розпаковує ці кортежі в два
окремі списки, які відразу записуються у два нові стовпці:
cleaned_body — очищений текст електронного листа;
extracted_urls — список усіх URL, знайдених у листі.
Рис.3.6. Оновлений датафрейм при додаванні нових ознак
Такий підхід дозволяє ефективно зберігати як сам очищений текст,
який буде використано моделями машинного навчання, так і додаткову
важливу інформацію — URL-адреси. URL дуже часто є ключовим
індикатором фішингових листів.
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 68
Представимо датасета з ключовими ознаками для подальшої побудови
моделі (рис.3.7).
Рис.3.7. Предствлення датасета з ключовими ознаками для подальшої
побудови моделі
Перші два рядки датафрейму демонструють, як сирий текст листа
(body) був перетворений у стандартизований формат (cleaned_body). У полі
body міститься оригінальний текст електронного листа — разом з
пунктуацією, HTML-елементами, стилістичними вставками та
гіперпосиланнями. Після обробки функцією очищення цей текст набуває
уніфікованої структури, придатної для подальшого аналізу моделями
машинного навчання. Це дозволяє позбутися шуму, який не несе смислового
навантаження, але може негативно впливати на якість класифікації.
Стовпець cleaned_body містить уже очищений текст, де всі URL
замінені на загальні маркери вигляду *URL_0*. Такий підхід дозволяє
зберегти важливу інформацію про присутність посилань, але водночас
унеможливлює вплив конкретних адрес на навчання моделі. Таким чином
алгоритм навчається на контексті — не на конкретних доменах — що робить
модель більш узагальненою та стійкою.
Поле extracted_urls демонструє список усіх посилань, які були
знайдені у листі перед очищенням. Це важливо для подальшого аналізу: тут
можна окремо оцінити домени, на які ведуть посилання, що є характерною
ознакою фішингових атак. Наприклад, підозрілі перенаправлення, довгі або
масковані URL можуть бути додатковими індикаторами ризику.
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 69
Останній стовпець label містить мітку класу: 0 — легітимний лист, 1
— фішинговий лист. Співставлення cleaned_body і label у перших двох
записах дозволяє переконатися, що очищення тексту не спотворює дані й
зберігає основний зміст, необхідний для класифікації. Це також підтверджує
коректність роботи функції та підготовки датафрейму перед тренуванням
моделей.
3.2. Проведення аналізу даних та інженерії ознак
Важливим етапом при побудові моделі класифікації є проведення
векторизації даних та Feature Engineering (рис.3.8).
Рис.3.8. Векторизація текстових даних
Цей фрагмент коду реалізує один із ключових етапів інженерії ознак —
перетворення очищених текстів електронних листів у числове подання, яке
може бути використане моделями машинного навчання. Оскільки LightGBM
та інші класичні ML-моделі не працюють напряму з текстом, потрібно
конвертувати текст у векторний формат. Метод TF-IDF (Term Frequency –
Inverse Document Frequency) дозволяє виділити найбільш значущі слова та
оцінити їхню «важливість» у кожному листі залежно від частоти появи.
TF-IDF-векторизатор. У коді створюється TF-IDF-векторизатор
TfidfVectorizer(stop_words='english', max_features=5000) зі стоп-словами
англійської мови (stop_words='english') та обмеженням на максимальну
кількість ознак (max_features=5000). Це означає, що з усієї множини слів
система відбере 5000 найбільш інформативних. Використання стоп-слів
знижує шум у даних та прибирає слова, які не несуть змістовного
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 70
навантаження (наприклад: the, is, at, which, and). Таким чином, модель
отримує компактний і добре структурований набір ознак.
Перетворення тексту в матрицю ознак. Метод
fit_transform(df['cleaned_body']) виконує одразу два кроки:
Навчання векторизатора — визначає словниковий набір (тих самих
5000 ознак).
Побудова матриці TF-IDF — для кожного листа формується вектор з
5000 чисел, де кожне число — це вага відповідного слова в цьому листі.
TF-IDF гарантує, що модель отримує не просто частоти слів, а шкаловані
значення, що відображають інформативність конкретних термінів щодо
всього корпусу.
Перетворення DataFrame. Оскільки LightGBM очікує табличні дані,
матриця перетворюється у DataFrame, де стовпці називаються так само, як
TF-IDF слова (get_feature_names_out()). Це спрощує аналіз, дозволяє
переглядати важливість ознак та відлагоджувати результат. У підсумку ви
отримуєте структурований набір даних, де кожен лист представлений у
вигляді числових ознак — це критичний крок перед навчанням моделі
LightGBM на текстовому контенті.
Наступний фрагмент коду демонструє застосування спеціального
методу CountVectorizer для підготовки ознак (рис.3.9).
Рис.3.9. Застосування методу CountVectorizer для підготовки ознак
Використання CountVectorizer для підготовки ознак. У цьому коді
застосовується CountVectorizer, який перетворює текст на числові вектори,
рахуючи, скільки разів кожне слово зустрічається у листі. Це класичний
підхід для моделей на кшталт Multinomial Naive Bayes, які працюють саме з
частотами слів. Вказаний параметр stop_words='english' автоматично видаляє
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 71
найпоширеніші службові слова (the, and, in…), які не несуть важливої
смислової інформації для визначення фішингу.
Параметр max_features=5000 задає максимальну кількість унікальних
слів, які потраплять у модель. Це робиться для зниження розмірності та
уникнення проблеми “розрідженості” даних. Таким чином, у модель
включаються тільки найбільш частотні та інформативні слова, що допомагає
підвищити стабільність та швидкість роботи класифікатора Naive Bayes.
X_text_nb = count_vectorizer.fit_transform(df['cleaned_body']) - створює
розріджену матрицю розміром:
[кількість листів] × [5000 слів]
кожне значення якої відповідає кількості разів, коли певне слово
зустрічається в конкретному листі. Це є ключовим форматом даних для
навчання моделі, оскільки MultinomialNB використовує саме дискретні
частотні характеристики.
Рядок
X_text_nb_df = pd.DataFrame(X_text_nb.toarray(),
columns=count_vectorizer.get_feature_names_out())
конвертує матрицю частот у формат таблиці pandas, де:
• кожен рядок — це лист,
• кожен стовпчик — це слово,
• значення — це кількість появ цього слова в листі.
Це робить набір ознак більш інтерпретованим та дозволяє візуально
переглядати частоти слів, відслідковувати значення ознак, робити ручний
аналіз або використовувати DataFrame у подальшому препроцесингу.
Розглянемо застосування додаткових методів, представлених на
рис.3.10, які виконує важливі етапи інженерії ознак, і дозволяють моделі
глибше аналізувати структуру листів:
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 72
Створення числової ознаки num_urls
df['num_urls'] = df['extracted_urls'].apply(len)
формує нову ознаку, яка показує, скільки URL-адрес було виявлено в
електронному листі. Оскільки функція clean_email_content_with_links()
повертає список знайдених посилань, операція len() просто рахує їхню
кількість. Це важлива характеристика, адже фішингові листи часто містять
багато підозрілих або прихованих URL-адрес, що може сигналізувати про
шахрайську активність.
Створення ознаки body_length
df['body_length'] = df['cleaned_body'].apply(len)
обчислює довжину очищеного тексту листа. Це корисна стилістична ознака:
фішингові листи нерідко мають коротший або аномально структурований
текст, тоді як легітимні повідомлення зазвичай містять більш розгорнуту
інформацію. Довжина тексту є простою, але дуже ефективною ознакою для
класифікації
У фрагменті коду «df['sender_domain'] =…» формується домен
відправника шляхом відділення частини після символа @.
Є кілька важливих моментів:
• str(x) гарантує, що обробка працюватиме навіть у випадку NaN або
числових значень;
• Пперевірка pd.notna(x) запобігає помилкам під час обробки порожніх
значень;
• якщо домен неможливо визначити, він позначається як 'unknown'.
Домен відправника є критично важливим атрибутом, оскільки фішингові
листи часто надходять з підроблених, маловідомих або технічно "змінених"
доменів, які маскуються під справжні.
Лист
Змін. Лист № докум. мБі41.025.252.248 ПЗ
Підпис Дата 73
Факторизація доменів
df['sender_domain'] = pd.factorize(df['sender_domain'])[0]
перетворює домени у числовий формат, що дозволяє використовувати їх у
LightGBM та інших моделях, які потребують чисельних вхідних значень.
pd.factorize():
• створює унікальний індекс для кожного різного домена;
• повертає масив чисел, де кожне число представляє конкретний домен.
Таким чином, домени кодуються компактно й ефективно, без створення
надмірно великої матриці, яка могла б виникнути у разі застосування One-
Hot Encoding.
Рис.3.10. Виконання інженерії ознак для поглибленого аналізу структури
даних
На рис.3.11 наведено гістограми основних числових ознак датасету:
довжини тіла листа (body_length), кількості URL у листі (num_urls) та
середньої довжини URL (avg_url_length). Гістограма відображає розподіл
значень ознаки та дозволяє швидко оцінити її статистичні властивості,
варіативність і можливі аномалії. Візуалізація показує, що всі три ознаки
мають виражену перекошеність вправо (right-skewed distribution), коли
більшість значень сконцентрована біля нуля, а окремі листи мають
надзвичайно великі значення. Такий характер є типовим для фішингових
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 74
повідомлень, оскільки вони часто містять короткі маніпулятивні тексти,
велику кількість шкідливих посилань або аномально довгі URL.
Рис.3.11. Відображення розподілу ознак для побудови моделі
Аналіз гістограм є важливим на етапі передобробки та інженерії ознак,
оскільки дозволяє:
• виявити потенційні викиди, які можуть негативно впливати на
навчання моделі;
• визначити потребу в нормалізації чи лог-трансформації, якщо модель
чутлива до масштабу даних;
• оцінити інформативність ознаки, наприклад, чи є розподіл достатньо
різноманітним для навчання алгоритму;
• переконатися у відсутності артефактів у даних, таких як некоректні або
аномально великі значення.
Для моделей на зразок LightGBM або Random Forest такий
перекошений розподіл зазвичай не є проблемою, але попередній аналіз
дозволяє точніше налаштувати параметри, оптимізувати якість навчання та
краще зрозуміти структуру фішингових і нефішингових листів. Таким чином,
побудова гістограм є критичним інструментом первинної діагностики даних
та сприяє підвищенню ефективності майбутньої моделі виявлення
фішингових повідомлень.
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 75
3.3. Аналіз моделей машинного навчання виявлення фішингових
листів
Для побудови моделі машинного навчання необхідно провести
розділення даних (рис.3.12)
Рис.3.12. Підготовка данних для тренування та верифікації моделі
У цьому фрагменті коду виконується поділ даних на тренувальну та
тестову вибірки, а також нормалізація числових ознак, що є ключовими
етапами підготовки даних для машинного навчання. Спочатку дані для
моделі LightGBM (X_lgb) та цільова змінна (label) розбиваються у пропорції
80/20 за допомогою функції train_test_split. Використання параметра
stratify=df['label'] забезпечує збереження початкової пропорції класів у
кожній підвибірці, що є критично важливим для задачі виявлення
фішингових листів із потенційно незбалансованими класами. Аналогічний
стратифікований поділ виконується й для ознак, створених методом
CountVectorizer, які застосовуються у моделі Naive Bayes; поділ здійснюється
за індексами для збереження синхронності з мітками.
Далі виконується масштабування вибраних числових ознак за
допомогою StandardScaler, який приводить їх до стандартного нормального
розподілу (середнє 0, стандартне відхилення 1). Таке масштабування є
корисним для алгоритмів, чутливих до масштабу ознак, і запобігає
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 76
домінуванню змінних із великими значеннями над іншими. Масштабування
здійснюється лише на тренувальних даних (fit_transform), після чого
отримані параметри (mean, std) застосовуються до тестової вибірки
(transform), що запобігає витоку інформації та гарантує коректність
моделювання. Така структура підготовки даних забезпечує стандартизоване
та репрезентативне середовище для навчання моделей LightGBM та Naive
Bayes.
На рис.3.13 представлено побудову моделі Naive Bayes Classifier та її
характеристики. У наведеному фрагменті коду використано модель
Multinomial Naive Bayes, яка є одним із найпоширеніших алгоритмів для
класифікації текстових даних. Цей підхід працює особливо добре у поєднанні
з ознаками, отриманими за допомогою CountVectorizer або TF-IDF, оскільки
модель фактично оцінює ймовірність появи слів у документах різних класів.
Рис.3.13. Представлення побудови моделі Naive Bayes Classifier
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 77
Після векторизації текстового вмісту URL або HTML-фрагментів
модель навчається на статистиці частот слів, формуючи простий, але дуже
ефективний стохастичний класифікатор.
Конфузійна матриця (confusion_matrix) показує сильну здатність моделі
розпізнавати обидва класи — і легітимні, і фішингові сайти. Для класу 0
(легітимні) було правильно класифіковано 6904 випадки, у той час як лише
197 прикладів виявилися хибнопозитивними. Це свідчить про низький рівень
неправильної підозри щодо звичайних сайтів, що важливо, аби уникати
небажаного блокування легітимного трафіку.
Для класу 1 (фішингові сайти) модель також демонструє високу якість:
7589 правильних передбачень проти 646 хибнонегативних. Порівняно
невелика кількість пропущених фішингових сайтів вказує на хорошу
чутливість моделі. Хоча деякі фішингові URL залишаються невиявленими,
цей показник значно кращий за базові моделі й свідчить про ефективність
підходу.
Метрики precision, recall та F1-score для обох класів підтверджують
баланс між точністю та повнотою. Для класу 0 точність становить 0.91, а
recall — 0.97, що означає, що модель практично не пропускає легітимні
сайти. Для класу 1 precision досягає 0.97, а recall — 0.92, що вказує на високу
впевненість моделі при виявленні саме фішингової активності. Загальна
точність класифікації 0.95 демонструє стабільність моделі на тестових даних.
Надзвичайно важливим показником є ROC-AUC Score = 0.9853, що
вказує на дуже високу здатність моделі розділяти два класи. Значення,
наближене до 1.0, означає, що модель практично завжди коректно ранжує
фішингові сайти вище за легітимні за ймовірністю віднесення до шкідливих.
Це критично в задачах кібербезпеки, де важлива не тільки класифікація, але й
імовірнісна оцінка ризику.
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 78
Таким чином, Multinomial Naive Bayes показав себе як легковаговий,
швидкий та ефективний алгоритм, який здатний забезпечити високу якість
детекції фішингових ресурсів навіть без складних моделей глибинного
навчання. Він особливо корисний для систем, що працюють у режимі
реального часу, де важлива швидкість відображення та низькі обчислювальні
витрати. Результати моделі свідчать про можливість її інтеграції як базового
або допоміжного класифікатора в комплексних системах захисту.
На рис.3.14 представлено побудову іншої моделі LightGBM Classifier та
її характеристики.
Рис.3.14. Представлення побудови моделі LightGBM Classifier
У моделі використано градієнтний бустинг LightGBM — один із
найефективніших алгоритмів для табличних даних, особливо коли ознаки
числові, бінарні або результатом попередньої векторизації тексту. LightGBM
побудований на принципі побудови дерев з пріоритетом
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 79
найінформативніших ознак (leaf-wise growth), що дозволяє йому досягати
високої точності навіть на складних і високорозмірних наборах даних. У
даному прикладі модель налаштована з параметрами max_depth=6,
learning_rate=0.1 та n_estimators=100, що забезпечує збалансовану глибину
дерева та контроль над перенавчанням.
Конфузійна матриця (confusion_matrix) демонструє високу якість
класифікації для обох класів. Для класу 0 (легітимні сайти) модель правильно
ідентифікує 6589 випадків, хоча 512 сайтів були помилково віднесені до
фішингових. Це трохи підвищений показник хибнопозитивних спрацювань у
порівнянні з Naive Bayes, але він є прийнятним для моделей кібербезпеки, де
важливіше не пропустити загрозу, ніж інколи помилково заблокувати
безпечний ресурс.
Для класу 1 (фішингові сайти) LightGBM демонструє виняткові
результати: 8144 коректних класифікації проти лише 91 хибнонегативного
випадку. Це означає, що модель практично не пропускає фішингові сайти, що
є критично важливим у реальних системах виявлення загроз. Надзвичайно
низький рівень FN (false negatives) вказує на високу чутливість моделі до
шкідливих шаблонів.
Метрики precision, recall та F1-score підтверджують стабільність
моделі: для класу 1 recall становить 0.99, тобто модель майже безпомилково
знаходить всі фішингові приклади. Precision 0.94 демонструє, що більшість
визначених як фішингові URL дійсно є загрозами. Для класу 0 precision 0.99 і
recall 0.93 показують протилежний баланс — модель майже не помиляється у
визначенні «безпечних» сайтів, але іноді їх помилково маркує як шкідливі.
Загальна точність моделі становить 0.96, що на один відсоток вище, ніж
у Multinomial Naive Bayes. Але справжнім індикатором сили LightGBM є
ROC-AUC Score = 0.9940 — надзвичайно високий результат, який свідчить
про вміння моделі впевнено відрізняти два класи незалежно від обраного
Лист
Змін. мБі41.025.252.248 ПЗ
Лист № докум. Підпис Дата 80
порога. Значення понад 0.99 характерне для дуже якісних моделей у задачах,
де сигнали чітко відрізняються та добре представлені набором ознак.
Підсумовуючи, LightGBM показує себе як потужна і гнучка модель для
задач виявлення фішингових сайтів. Вона демонструє майже ідеальну
чутливість до шкідливих URL, що робить її особливо корисною на етапах
попереднього фільтрування або як ключовий компонент у системах раннього
виявлення кіберзагроз. Незважаючи на дещо вищий рівень хибнопозитивних
передбачень, високий ROC-AUC та збалансовані метрики дозволяють
рекомендувати LightGBM як один із найкращих виборів у задачах
класифікації на основі векторизованих текстових ознак.
У рамках практичної перевірки працездатності побудованої
системи моделі були протестовані не лише на тестовому датасеті, але й на
реальних прикладах електронних листів — як легітимних, так і фішингових.
Такий підхід дає змогу оцінити поведінку моделей у ситуаціях, максимально
наближених до умов їх подальшого застосування в корпоративних системах
кіберзахисту. Під час випробувань моделі отримували «сирий» текст листів,
проходили через підготовлений конвеєр очищення та векторизації й
повертали прогноз класу разом із ймовірністю належності до фішингових
повідомлень.
Результати продемонстрували високу узгодженість із попередніми
метричними оцінками. Зокрема, LightGBM коректно класифікував
легітимний лист із ймовірністю 0.93, а фішинговий — із ймовірністю 0.90. Це
свідчить про стабільність моделі та її здатність переносити отримані під час
навчання закономірності на нові, раніше невідомі приклади. Такі значення
також підтверджують, що модель не є перенавченою, не покладається
виключно на специфічні шаблони набору даних, а вловлює універсальні
лінгвістичні та структурні сигнали, характерні для фішингових атак.
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 81
Отримані результати демонструють високу практичну придатність
розробленої системи та її готовність до інтеграції в реальні сценарії
кіберзахисту. Вона може бути використана як компонент автоматизованих
фільтрів електронної пошти, як модуль попередження інцидентів у SOC-
центрах або як інструмент для аналізу потенційно підозрілих повідомлень у
корпоративних середовищах. Надійна класифікація листів на основі їх
текстового змісту робить систему ефективною у виявленні загроз, забезпечує
додатковий рівень безпеки та сприяє зменшенню ризиків фішингових атак.
Проведення експерементальних досліджень на прикладі
лігітимного електронного листа.
«Шановний пане Джонсоне,
Дякуємо за організацію зустрічі з нашою командою.
Цим повідомленням підтверджуємо, що наша онлайн-сесія запланована на 12 лютого
2025 року о 10:00 (GMT+2).
Ми обговоримо хід поточного проекту, розглянемо оновлену документацію та окреслимо
наступні кроки для впровадження.
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 82
Будь ласка, скористайтеся наступним офіційним посиланням, щоб приєднатися до
зустрічі:
https://meet.company.com/official/meeting-42178
(Якщо у вас виникнуть будь-які проблеми, ви можете відвідати наш головний веб-сайт за
адресою
https://www.company.com та перейти до розділу «Зустрічі».)
Якщо вам потрібно перенести зустріч або вам потрібна додаткова інформація,
звертайтеся безпосередньо до мене. Ми з нетерпінням чекаємо на розмову з вами.
З найкращими побажаннями,
Емілі Картер
Координатор проекту
GlobalTech Solutions
[email protected]
https://www.globaltech.com»
Легітимний електронний лист містить чітко структурований зміст,
професійний тон та офіційні формулювання, характерні для корпоративної
комунікації. У ньому немає термінових вимог негайно натиснути посилання
чи передати чутливі дані, що є типовою ознакою фішингових повідомлень.
Форматування, грамотність і стилістична послідовність також відповідають
стандартам бізнес-листування.
Окрім того, справжній лист чітко зазначає джерело та контактну
інформацію відправника, які легко перевірити. Адреса відправника належить
офіційному домену, який збігається з організацією, в імені немає підозрілих
символів або спроб імітації бренду. У листі присутні підписи, позиції
співробітників і стандартні корпоративні елементи, такі як логотип або
посилання на офіційний сайт.
Легітимний лист не містить маніпулятивних елементів, погроз
блокування акаунта чи штучного створення терміновості. Акценти зроблені
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 83
на інформуванні користувача, а не на примусі виконати небезпечну дію. Усі
пропоновані дії зрозумілі та безпечні: перегляд інформації, відповідь на лист,
планування зустрічі тощо. Завдяки цим характеристикам алгоритм
класифікації правильно визначив лист як справжній.
Проведення експерементальних досліджень на прикладі
фішингового електронного листа.
«Шановний клієнте,
Ми виявили незвичайну активність у вашому обліковому записі та, для вашої
безпеки, ваш доступ тимчасово обмежено. Щоб відновити повний доступ, будь ласка,
негайно перевірте інформацію свого облікового запису.
Якщо ви не зробите цього протягом наступних 24 годин, це може призвести до
постійного блокування.
Будь ласка, перейдіть за посиланням нижче, щоб підтвердити свою особу:
http://secure-update-account-verification.example.com/login
Для вашого захисту обов’язково завершіть цей процес якомога швидше.
Дякуємо,
Команда безпеки облікових записів»
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 84
Фішинговий лист зазвичай має ознаки, які свідчать про спробу
виманити дані або примусити користувача виконати ризиковану дію. Однією
з ключових ознак є створення відчуття терміновості: повідомлення може
стверджувати, що акаунт заблокований або виникла «критична помилка», що
нібито потребує негайного підтвердження. Такі прийоми характерні саме для
фішингу, оскільки спрямовані на психологічний тиск.
Наступним фактором є зовнішній вигляд домену відправника або
посилань у листі. Зловмисники часто використовують домени, які лише
поверхнево нагадують оригінальні, але містять додаткові слова, неправильні
написання бренду чи незвичні суфікси. Навіть якщо лист візуально імітує
стиль компанії, розбіжності в доменах або URL-адресах дають моделі вагому
причину класифікувати його як шкідливий.
Важливою причиною стало те, що фішинговий лист містить прямий
заклик натиснути на посилання або надати конфіденційні дані (наприклад,
логін чи пароль). Такі прохання суперечать політикам безпеки більшості
легітимних сервісів, які ніколи не запитують персональні дані через
електронну пошту. Саме ці структурні та змістові ознаки дозволили моделі
коректно віднести повідомлення до фішингових.
3.4. Висновки
У розділі було виконано повноцінне розгортання середовища
дослідження, що включало підготовку даних, їх очищення, нормалізацію,
формування навчальних та тестових вибірок, а також створення ознак,
Лист
Змін. Лист № докум. мБі41.025.252.248 ПЗ
Підпис Дата 85
необхідних для подальшого навчання моделей. Застосування Jupyter
Notebook на цьому етапі дозволило гнучко аналізувати структуру даних,
проводити попередньо-обчислювальні експерименти та оцінювати
ефективність різних підходів до інженерії ознак. Саме цей етап забезпечив
основу для подальшого якісного машинного аналізу.
Далі було виконано детальний аналіз даних та побудовано інженерію
ознак, що включала перевірку статистичних властивостей датасету,
виявлення дисбалансу класів, а також формування найбільш інформативних
характеристик. Цей крок виявився критичним, адже коректна побудова ознак
забезпечує чутливість моделей до прихованих закономірностей та дозволяє
суттєво підвищити якість класифікації. Ретельний підхід до формування
ознак дозволив глибше зрозуміти структуру фішингових повідомлень та їх
відмінності від легітимних.
Було протестовано дві моделі — Naive Bayes Classifier та LightGBM,
які демонструють високу ефективність при обробці текстових даних.
LightGBM показав точність 0.96, високі значення F1-міри та ROC-AUC на
рівні 0.994, що свідчить про його здатність дуже точно відокремлювати
фішингові повідомлення від легітимних. Naive Bayes, хоч і дещо поступився
за якістю класифікації, продемонстрував стабільні результати (accuracy 0.95,
ROC-AUC ≈ 0.985), підтвердивши свою ефективність для задач із великою
кількістю текстових ознак.
Моделі також були протестовані на прикладах реальних листів —
легітимних та фішингових. LightGBM коректно класифікував легітимний
лист із ймовірністю 0.93, а фішинговий — із ймовірністю 0.90,
продемонструвавши узгодженість з попередніми метриками та високу
практичну придатність. Досягнуті результати підтверджують, що побудована
система є ефективною, може бути інтегрована в реальні сценарії кіберзахисту
та забезпечує надійну автоматизовану фільтрацію фішингових повідомлень
на основі аналізу їх текстового змісту.
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 86
ВИСНОВКИ
У результаті виконання роботи здійснено комплексний аналіз фішингу
як ключової кіберзагрози, розглянуто його класифікацію, технічні
особливості та характерні ознаки, притаманні електронним листам, що
використовуються у фішингових атаках. Було детально досліджено сучасні
методи виявлення фішингу, зокрема евристичні підходи, списки блокування,
класичні алгоритми машинного навчання та сучасні NLP-моделі.
Узагальнення результатів огляду показало, що саме моделі обробки
природної мови в поєднанні з інженерією ознак забезпечують найкращу
точність у виявленні фішингових повідомлень.
У другому розділі сформовано концепцію комплексної системи
виявлення фішингових електронних листів, що включає підготовку даних,
очищення контенту, векторизацію тексту та побудову моделей машинного
навчання. Проведено ґрунтовну попередню обробку даних, що охоплює
нормалізацію тексту, видалення шумів, токенізацію та формування
структурованого набору ознак. Особливу увагу було приділено методам
векторизації — TF-IDF, CountVectorizer та застосуванню сучасної мовної
моделі BERT, яка забезпечує глибше розуміння контексту та прихованих
мовних закономірностей.
Також було досліджено різні підходи до класифікації фішингових
листів, серед яких моделі Naive Bayes та LightGBM показали найвищу
ефективність при роботі з текстовими даними. У ході експериментального
дослідження було створено оптимальний набір ознак, що включає як текстові
вектори, так і додаткові числові характеристики листів, що дозволило
підвищити точність моделей і забезпечити кращу узгодженість результатів.
У третьому розділі проведено експериментальне оцінювання
ефективності побудованої системи, що включало розгортання середовища
дослідження, аналіз даних, інженерію ознак, тренування моделей та
оцінювання результатів. На основі сформованого датасету проведено
Лист
Змін. мБі41.025.252.248 ПЗ
Лист № докум. Підпис Дата 87
тестування моделей, що дозволило отримати кількісні показники, які
підтверджують працездатність системи в реальних умовах. Отримані
результати показали, що правильний вибір ознак та методів їх векторизації
суттєво впливає на якість класифікації.
Експериментальні результати засвідчили високу ефективність
застосованих алгоритмів: LightGBM показав точність 0.96 і ROC-AUC 0.994,
демонструючи здатність дуже точно відокремлювати фішингові
повідомлення від легітимних. Модель Naive Bayes також продемонструвала
конкурентні результати з accuracy 0.95 і ROC-AUC ≈ 0.985, підтверджуючи
свою ефективність для задач із великою кількістю текстових ознак та
простих ймовірнісних припущень. Таким чином, обидва підходи забезпечили
високу якість класифікації та можуть бути застосовані для автоматизації
фільтрації листів.
Додаткове тестування моделей на прикладах реальних листів — як
легітимних, так і фішингових — продемонструвало стабільність та практичну
цінність розробленої системи. LightGBM зміг правильно класифікувати
легітимний лист з імовірністю 0.93, а фішинговий — з імовірністю 0.90, що
повністю корелює з результатами тестового датасету. Ці показники свідчать
про здатність моделі узагальнювати знання та працювати з новими даними,
які не були присутні під час тренування.
Загалом проведене дослідження підтверджує, що побудована система
виявлення фішингових електронних листів є ефективною, масштабованою та
готовою до інтеграції в реальні системи корпоративної безпеки. Завдяки
використанню сучасних методів обробки природної мови та машинного
навчання вона забезпечує надійну автоматизовану фільтрацію потенційно
небезпечних повідомлень. Результати роботи демонструють високу
практичну значущість системи та створюють основу для подальшого
розвитку, включаючи розширення набору ознак, застосування глибших
нейронних моделей та інтеграцію у комплексні системи кіберзахисту.
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 88
СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ
1. Алгоритми машинного навчання. Глибокі нейромережі в задачах
механіки суцільних середовищ: Навчальний посібник. – Київ: КНУ ім.
Тараса Шевченка, 2024. – 100 с.
2. Толюпа С.В., Плющ О.Г., Пархоменко І.І. Побудова систем виявлення
атак в інформаційних мережах на нейромережевих структурах /
Толюпа С.В., Плющ О.Г., Пархоменко І.І.// К.:К1БЕРБЕЗПЕКА: освіта,
наука. Техніка № 2 (10), 2020. С.169-181.
3. Лук’яненко Т.Ю., Поночовний П.М., Легомінова С.В. Методика
виявлення мережевих вторгнень і ознак комп'ютерних атак на основі
емпіричного підходу // Сучасний захист інформації No 2 (50) 2022,
с.15-22.
4. Основи машинного навчання : навч. посiб. / В. О. Харченко. – Суми :
Сумський державний унiверситет, 2023. – 264 с.
5. Shalev-Shwartz S. Understanding Machine Learning: From Theory to
Algorithms / S. Ben-David, S. Shalev-Shwartz. – New York : Cambridge
University Press, 2014. – 449 p.
6. Deisenroth M. P. Mathematics for machine learning / M. P. Deisenroth, A.
A. Faisal, C. S. Ong. – New York : Cambridge University Press, 2020. – 412
p.
7. Завада А.А. Аналіз сучасних систем виявлення атак і запобігання
вторгненням / А.А. Завада, О.В. Самчишин, В.В. Охрімчук //
Інформаційні системи. Житомир: Збірник наукових праць ЖВІНАУ,
2012. Т. 6, No 12. С. 97-106.
8. Dua, S.; Du, X. Data Mining and Machine Learning in Cybersecurity;
Auerbach Publications: Boca Raton, FL, USA, 2016.
9. IEEE. Artificial Intelligence and Machine Learning Applied to
Cybersecurity; IEEE: New York, NY, USA, 2017.
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 89
10. A fuzzy Intrusion Detection System based on categorization of attacks
[Електронний ресурс]. – 2014. – Режим доступу до ресурсу:
https://www.semanticscholar.org/paper/A-fuzzy-Intrusion-Detection-
System-basedon-of-Varshovi-
ostamipour/8dc771ce3584a6daafeb2023b752b2e99e03f5d8
11. Liang, J.; Zhao, W.; Ye, W. Anomaly-Based Web Attack Detection: A Deep
Learning Approach. In Proceedings of the International Conference on
Network, Communication and Computing (ICNCC), Silicon Valley, CA,
USA, 26–29 January 2017; pp. 80–85.
12. Alrawashdeh, K.; Purdy, C. Toward an Online Anomaly Intrusion Detection
System Based on Deep Learning. In Proceedings of the IEEE International
Conference on Machine Learning and Applications (ICMLA), Anaheim,
CA, USA, 18–20 December 2016; pp. 195–200.
Лист
мБі41.025.252.248 ПЗ
Змін. Лист № докум. Підпис Дата 90