Please use this identifier to cite or link to this item:
https://er.chdtu.edu.ua/handle/ChSTU/6502Full metadata record
| DC Field | Value | Language |
|---|---|---|
| dc.contributor.advisor | Палагін, Володимир Васильович | - |
| dc.contributor.author | Зражевський, Олександр Олександрович | - |
| dc.date.accessioned | 2025-12-23T16:54:32Z | - |
| dc.date.available | 2025-12-23T16:54:32Z | - |
| dc.date.issued | 2025 | - |
| dc.identifier.uri | https://er.chdtu.edu.ua/handle/ChSTU/6502 | - |
| dc.description.abstract | "Метою роботи є класифікація та дослідження принципу роботи сучасних програм-вимагачів, а також розробка універсального методу виявлення та блокування програми-вимагачів в OC Windows. Об’єкт дослідження – процеси виявлення ransomware атак. Предмет дослідження – методи та програмні засоби виявлення ransomware атак. Методи дослідження. Дослідження проводилися на базі комплексного системного аналізу " | uk_UA |
| dc.language.iso | uk | uk_UA |
| dc.subject | програми-вимагачі | uk_UA |
| dc.subject | операційні системи | uk_UA |
| dc.subject | проактивне виявлення атак | uk_UA |
| dc.title | Розробка системи протидії програмам-вимагачам з використанням файлів-приманок | uk_UA |
| dc.type | Master Thesis | uk_UA |
| Appears in Collections: | 125 Кібербезпека та захист інформації (Безпека інформаційних і комунікаційних систем) | |
Files in This Item:
| File | Description | Size | Format | |
|---|---|---|---|---|
| М_125_Зражевський_Палагін.pdf Restricted Access | 2.66 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
Форма № Н-9.01
Черкаський державний технологічний університет
Факультет електронних технологій, автотранспорту та машинобудування
Кафедра робототехнічних і телекомунікаційних систем та кібербезпеки
Освітньо-кваліфікаційний рівень магістр
Спеціальність 125 - Кібербезпека та захист інформації
Освітня програма Безпека інформаційних і комунікаційних систем
ЗАТВЕРДЖУЮ
Завідувач кафедри РТСК
д.т.н., професор Володимир ПАЛАГІН
« » 2025 р.
ЗАВДАННЯ
на дипломний проект (роботу) здобувачу вищої освіти
Зражевському Олександру Олександровичу
(прізвище, ім'я, по батькові)
1. Тема проекту (роботи) Розробка системи протидії програмам-вимагачам з використанням
файлів-приманок
керівник проекту (роботи) Палагін Володимир Васильович, д.т.н, професор
(прізвище, ім’я, по батькові, науковий ступінь, вчене звання)
затверджена наказом по університету від « 15 » вересня 2025 р. № 261/03-03
2. Строк подання здобувачем проєкту (роботи) 1 грудня 2025р.
3. Вихідні дані до проєкту (роботи) Програмний комплекс виявлення та протидії програмам-
вимагачам (FS Minifilter драйвер та служба). Програма для створення файлів-приманок.
4. Зміст розрахунково-пояснювальної записки (перелік питань, які потрібно розробити)______
Вступ. 1. Огляд програм-вимагачів і алгоритмів їх роботи. 2. Дослідження методів
і систем продидії . 3. Розробка системи протидії програмам-вимагачам.
Висновки. Список використаної літератури. Додатки
5. Перелік графічного матеріалу (з точним зазначенням обов’язкових креслень)
Презентація в Power Point обсягом 16 плакатів
6. Консультанти з проекту (роботи) із зазначенням розділів проекту, що їх стосуються
Підпис, дата
Розділ Прізвище, ініціали та посада завдання завдання
консультанта видав прийняв
7. Дата видачі завдання 04 вересня 2025 р.
КАЛЕНДАРНИЙ ПЛАН
№ Назва етапів дипломного С т р о к виконання етапів П р имітка
з/п проекту (роботи) проекту (роботи)
1. Аналіз технічного завдання та огляд літератури 05.09.2025
2. Розробка методики проведення дослідження 15.09.2025
3. Огляд програм-вимагачів і алгоритмів їх роботи 02.10.2025
4. Дослідження методів
і систем протидії 14.10.2025
5 Розробка системи протидії програмам-вимагачам 02.11.2025
6 Оформлення пояснювальної записки 08.11.2025
7 Оформлення плакатів 24.11.2025
Здобувач вищої освіти ЗРАЖЕВСЬКИЙ Олександр
(підпис) (прізвище та ім’я)
Керівник проекту (роботи) ПАЛАГІН Володимир
(підпис) (прізвище та ім’я)
ЗМІСТ
ВСТУП .............................................................................................................................. 5
1. ВИЗНАЧЕННЯ RANSOMWARE АТАК ТА МЕТОДИ ЇХ УСУНЕННЯ ............. 7
1.1. Визначення ransomware атак ................................................................................ 7
1.2. Різновиди та аналіз ransomware атак ................................................................. 10
1.3. Аналіз методів виявлення ransomware атак ..................................................... 17
1.4. Висновки .............................................................................................................. 21
2. ВИЯВЛЕННЯ RANSOMWARE АТАК НА ОСНОВІ АНАЛІЗУ ОПЕРАЦІЙ З
ФАЙЛАМИ-ПРИМАНКАМИ ..................................................................................... 23
2.1. Застосування файлів-приманок ......................................................................... 23
2.2. Виявлення атаки на основі аналізу файлових операцій .................................. 25
2.3. Нейтралізація атаки після виявлення ................................................................ 33
2.4. Висновки .............................................................................................................. 37
3. РОЗРОБКА СИСТЕМИ ЗАХИСТУ ВІД RANSOMWARE АТАК ....................... 38
3.1. Реалізація FS Minifilter драйвера ....................................................................... 38
3.2. Реалізація програми для нейтралізації атаки ................................................... 42
3.3. Сповіщення про виявлену атаку через події Windows .................................... 51
3.4. Програма для створення файлів-приманок ...................................................... 52
3.5. Перевірка ефективності роботи розробленої системи захисту ...................... 53
3.6. Висновки .............................................................................................................. 70
ВИСНОВКИ ................................................................................................................... 72
СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ .............................................................. 74
ДОДАТОК А .................................................................................................................. 80
ДОДАТОК Б .................................................................................................................. 82
Змн. Арк. № докум. Підпис Дата мБІ-41.025.214.248 ПЗ
Розроб. Зражевський Розробка системи протидії Літ. Арк. Аркушів
Перевір. Палагін В.В. програмам-вимагачам з
Реценз. Чепинога А.В. використанням файлів-приманок
Н. К онтр. Палагін В.В. ЧДТУ, мБІ-41
Затверд. Палагін В.В.
ВСТУП
Актуальність теми. На сьогоднішній день, проблема протидії програмам-
вимагачам посідає одне з провідних місць серед досліджень у сфері кібербезпеки.
Стрімке зростання кількості інцидентів, пов’язаних із діяльністю ransomware
угрупувань, обумовлене як підвищенням технічної складності атак, так і активним
використанням моделі ransomware as a service, що робить атаки доступними для
більшої кількості зловмисників. Внаслідок цього програми-вимагачі
перетворилися на глобальну загрозу, що завдає суттєвих економічних збитків
бізнесу та державним установам і тривалі порушення роботи критично важливих
інфраструктур.
Еволюція програм-вимагачів (ransomware) характеризується оптимізацією
швидкості проведення атак, комбінуванням методів обходу антивірусного
програмного забезпечення, видалення резервних копій. Така трансформація
суттєво ускладнює процес виявлення загрози на ранніх стадіях та значно підвищує
вимоги до розробки системи протидії. Навіть за наявності резервних копій
зашифрованих файлів, відновлення інфраструктури та розслідування інциденту
займає тривалий час протягом якого порушується доступність бізнес-процесів.
У цій роботі особлива увага приділяється розробці системи здатної
проактивно виявляти та зупиняти програму-вимагач, при цьому забезпечуючи
доступність інформаційних ресурсів.
Мета і задачі дослідження. Метою роботи є класифікація та дослідження
принципу роботи сучасних програм-вимагачів, а також розробка універсального
методу виявлення та блокування програми-вимагачів в OC Windows.
Для виpiшeння пocтaвлeнoї мeти виpiшуютьcя нacтупнi зaвдaння:
1) проаналізувати принцип роботи програм вимагачів;
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 5
2) розробити і реалізувати методи та засоби виявлення та протидії
ransomware атакам;
3) здійснити програмну реалізацію запропонованого методу;
4) провести тестування та апробацію розробленого методу та програмних
засобів.
Об’єкт дослідження – процеси виявлення ransomware атак.
Предмет дослідження – методи та програмні засоби виявлення ransomware
атак.
Методи дослідження. Дослідження проводилися на базі комплексного
системного аналізу.
Наукова новизна одержаних результатів. Запропоновано метод
проактивного виявлення та зупинки ransomware атак з можливістю збереження
дампу пам’яті процесу програми-вимагача.
Апробація результатів кваліфікаційної роботи. Основні положення та
результати проведених досліджень доповідались та обговорювались на ІІІ
Всеукраїнській Науково-Практичній Конференції (TACS-2025) Національного
технічного університету України “Київський політехнічний інститут” ім. Ігоря
Сікорського.
Структура й обсяг кваліфікаційної роботи. Кваліфікаційна робота
складається зі вступу, трьох розділів, висновків, списку літератури з 48
найменувань та 2 додатків.
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 6
1. ВИЗНАЧЕННЯ RANSOMWARE АТАК ТА МЕТОДИ ЇХ УСУНЕННЯ
1.1. Визначення ransomware атак
У 2025 році ransomware атаки продовжують залишатися однією з найбільш
руйнівних кіберзагроз, що загрожують організаціям по всьому світу. Суть цих атак
полягає у шифруванні даних з подальшою вимогою викупу за відновлення доступу,
а саме, отримання ключа розшифрування. Для шифрування даних, зловмисники
використовують криптографічно стійкі алгоритми шифрування, що унеможливлює
розшифрування даних без ключа. Метою ransomware атак є отримання фінансової
вигоди від жертви, яка змушена платити за відновлення доступу до критично
важливої інформації.
Програми-вимагачі з часом еволюціонували від примітивних форм, що
просто шифрували файли, до складних зразків, які здатні поширюватися по
корпоративних мережах, отримувати привілеї адміністратора, знищувати резервні
копії та уникати виявлення антивірусним програмним забезпеченням. Зловмисники
створюють унікальні програми-вимагачі та застосовують обфускацію для
уникнення виявлення антивірусним ПЗ. Крім того, нерідко ransomware атаки
запускають через виконання шкідливого коду в контексті легітимного процесу,
зокрема через техніку DLL sideloading, що ускладнює виявлення та зупинку атаки.
Програми-вимагачі як послуга (Ransomware as a Service) - це бізнес-модель
кіберзлочинності, в якій розробники програм-вимагачів продають код програм-
вимагачів або шкідливе програмне забезпечення іншим хакерам, так званим
“партнерам”, які потім використовують цей код для здійснення власних атак
програм-вимагачів. Багато відомих різновидів програм-вимагачів, таких як LockBit,
Conti та Qilin, поширюються через модель RaaS [1-3].
Передаючи частину своїх зусиль постачальникам RaaS, зловмисники з
обмеженими технічними знаннями можуть здійснювати кібератаки. Хакери
можуть отримувати прибуток від шантажу, не розробляючи власне шкідливе
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 7
програмне забезпечення. Водночас розробники програм-вимагачів можуть
отримувати прибутки без проведення атак.
Вплив ransomware атак на бізнес є катастрофічним. Компанії втрачають
доступ до критично важливих даних, конфіденційних даних клієнтів, фінансової
інформації, проектів чи виробничих систем. Наслідком є фінансові збитки,
репутаційні втрати, призупинення бізнес-процесів, штрафи за порушення вимог
захисту даних (наприклад, згідно положень GDPR) та витрати на відновлення
інфраструктури.
За даними компанії Delinea, 69 % опитаних організацій за останній рік
зазнали ransomware атаки, з них 27 % організацій було атаковано повторно [4].
Майже половина жертв витратили до тижня (від одного до шести днів) на
відновлення після атаки програм-вимагачів. Три чверті респондентів стверджують,
що відновлення тривало до двох тижнів. Лише 18% опитаних респондентів змогли
відновитися менш ніж за 24 години.
Недавні атаки програм-вимагачів на британські роздрібні мережі Marks &
Spencer значно порушили їхню діяльність, вплинувши на послуги та ланцюги
постачання [5]. Для деяких організацій ransomware атаки можуть стати навіть
загрозою для їхнього існування. Ransomware атака на компанію KNP Logistics
Group у червні 2023 року призвела до банкротства і втрати майже 700 робочих
місць [6].
Згідно даних компанії Veeam [7], атаки програм-вимагачів у першому
кварталі 2025 року впливають на кілька конкретних галузей, причому найвищі
показники інцидентів спостерігаються в галузі охорони здоров'я, професійних
послуг та державному секторі (див рис.1.1). На організації охорони здоров'я
припадає 15,4% усіх випадків використання програм-вимагачів, що відображає
постійну вразливість цього сектору через критично важливі операції та часто
застарілу інфраструктуру. Професійні послуги, включаючи юридичні,
бухгалтерські та консалтингові фірми, склали 14,4% інцидентів, що підкреслює
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 8
високу цінність конфіденційних даних клієнтів для зловмисників. Державний
сектор, включаючи урядові установи та навчальні заклади, склав 12,5% від
загальної кількості атак програм-вимагачів.
Рисунок 1.1 – Вплив програм-вимагачів на галузі
Також, у звіті про кіберзагрози в сфері охорони здоров’я станом на 2023 рік,
європейське агентство з мережевої та інформаційної безпеки ENISA зазначає, що
54 % інцидентів у медичному секторі пов’язані саме з ransomware, і багато
організацій не мають спеціалізованих програм захисту саме від шифрувальників
[8]. Також агентство звертає увагу на важливість покращення систем повідомлення
про інциденти, аби мати більш повну картину загроз і впроваджувати більш
ефективні заходи запобігання [8].
Актуальність проблеми протидії програмам-вимагачам зумовлена стрімким
зростанням кількості атак, їх технологічної складності та цілеспрямованості. Якщо
раніше зловмисники використовували масові розсилки шкідливих програм, то
сьогодні переважають цілеспрямовані атаки, орієнтовані на конкретні організації з
високим потенційним прибутком для атакуючих.
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 9
Тому розробка ефективних методів виявлення та нейтралізації ransomware
атак є актуальним напрямом у сфері кібербезпеки. Класичні антивірусні рішення
виявляються недостатньо ефективними проти сучасних зразків ransomware,
оскільки ті активно уникають сигнатурного і поведінкового виявлення,
використовуючи обфускацію та легітимні системні програми. У цілеспрямованих
(таргетованих) атаках, зловмисники створюють унікальні програми-вимагачі
конкретно для однієї компанії з метою обходу виявлення антивірусним
програмним забезпеченням.
1.2. Різновиди та аналіз ransomware атак
Дослідження принципу роботи програм-вимагачів дозволяє спроектувати
ефективну систему виявлення та запобігання шифруванню файлів, оскільки вона
базується на прогнозуванні найбільш ймовірного ходу роботи програми-вимагача.
Інформація про поведінку програм-вимагачів була взята з технічних звітів
антивірусних компаній, що детально описують принцип роботи програм-вимагачів.
Також було використано результати поведінкового аналізу відомих зразків
програм-вимагачів з таких платформ динамічного аналізу ШПЗ, як VirusTotal,
ANY.RUN та Joe Sandbox. Ці платформи надають детальні звіти щодо дій ШПЗ,
включаючи файлові операції.
Програми-вимагачі мають такі етапи роботи:
1. Аналіз середовища, забезпечення стійкості у системі та
розповсюдження
2. Сканування носіїв даних та виявлення файлів
3. Шифрування файлів
4. Демонстрація вимог викупу
Нижче наведено детальний опис кожного етапу роботи програми-вимагача:
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 10
Аналіз середовища, забезпечення стійкості у системі та розповсюдження
Після запуску, програма-вимагач встановлює власний маркер (mutex або
файл), щоб уникнути запуску конкуруючих процесів. Потім шкідливе програмне
забезпечення перевіряє середовище на наявність ознак пісочниць, інструментів
відлагодження, емуляції чи моніторингу. Для цього програма-вимагач може
використовувати різні дані, наприклад кількість процесорів, часові інтервали, обсяг
оперативної пам’яті, тощо [9]. Таким чином, програма-вимагач протидіє засобам
динамічного аналізу ШПЗ.
Далі, програма-вимагач може визначати, чи виконується процес із
привілеями, достатніми для шифрування файлів. Для цього ШПЗ може
здійснювати вертикальну ескалацію привілеїв до рівня адміністратора [10],
системи (NT AUTHORITY/SYSTEM) [11] або шифрувати файли від імені різних
користувачів, що часто зустрічається в цілеспрямованих атаках [12].
Перед початком шифрування файлів, програма-вимагач забезпечує стійкість
в системі через автозавантаження. Також програма-вимагач завершує процеси
антивірусного ПЗ, засобів резервного копіювання та серверів баз даних і видаляє
резервні копії.
Сканування локальних та мережевих носіїв даних і виявлення файлів
для шифрування
Програма-вимагач шукає файли для шифрування на всіх доступних носіях
даних. На локальних носіях даних програми-вимагачі часто починають пошук
файлів з поширених директорій. Наприклад, найбільш використовувані директорії
в списку швидкого доступу, директорія профілю користувача, робочий стіл.
Програми-вимагачі мають вбудований список файлових розширень які підлягають
шифруванню. Більшість програм-вимагачів включають типові розширення
документів (.doc, .docx, .docm, .xls, .xlsx, .xlsm, .ppt, .pptx, .pdf), фото
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 11
(.jpg, .jpeg, .png, .bmp), відео (.mp4, .webm), бази даних (.db, .sqlite3), архіви
(.zip, .rar, .7z), образи віртуальних машин (.vhd, .vmdk), резервні копії (.bak), тощо.
Для пошуку файлів в директоріях можуть використовуватись різні функції з
Windows API. Зазвичай, програми-вимагачі використовують функції
FindFirstFile/FindNextFile для пошуку файлів в директорії. Згідно документації цих
функцій, порядок, в якому ці функції повертають імена файлів, залежить від типу
файлової системи. У файлових системах NTFS і CDFS імена зазвичай повертаються
в алфавітному порядку. У файлових системах FAT імена зазвичай повертаються в
тому порядку, в якому файли були записані на диск, що може відповідати або не
відповідати алфавітному порядку [13]. Згідно з результатами динамічного аналізу
сучасних програм-вимагачів в платформах ANY.RUN і Recorded Future Triage,
файли обробляються по алфавітному порядку [14-18].
Програми-вимагачі можуть використовувати різний порядок обробки файлів
в файловій структурі. Найчастіше, програми-вимагачі оброблюють файли за
алгоритмом Breadth-first search, тобто ШПЗ спочатку шифрує всі файли в
директорії, а потім здійснює рекурсивний пошук файлів в інших директоріях. Втім,
програми-вимагачі (наприклад, Avaddon ransomware) можуть використовувати
алгоритм Depth-first search (шифрування файлів по порядку від найбільш вкладених
директорій до найменш вкладених директорій) [19].
Шифрування файлів на файлових носіях
Після виявлення файлів які потенційно є критично важливою інформацією,
програма-вимагач починає шифрувати кожний знайдений файл. Зазвичай, сучасні
програми-вимагачі паралельно шифрують декілька файлів одночасно завдяки
використанню багатопотокової архітектури або I/O Completion Port. [20, 21].
Порт завершення вводу/виводу (I/O Completion Port) - це API для виконання
декількох одночасних асинхронних операцій вводу/виводу в ОС Windows. Об'єкт
порту завершення вводу/виводу створюється і пов'язується з низкою сокетів або
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 12
дескрипторів файлів. Коли на об'єкті запитуються служби вводу/виводу,
завершення позначається повідомленням, поставленим у чергу порту завершення
вводу/виводу. Процес, що запитує послуги вводу/виводу, не отримує повідомлення
про завершення послуг вводу/виводу, а перевіряє чергу повідомлень порту
завершення вводу/виводу, щоб визначити стан своїх запитів вводу/виводу.
Програми-вимагачі активно використовують механізм IOCP для швидкого
виконання асинхронних файлових операцій. Замість того, щоб потік шифрування
чекав завершення кожної операції читання або запису файлу (що є повільним,
оскільки I/O є блокуючою операцією), IOCP дозволяє ініціювати операцію і одразу
ж продовжувати роботу, не чекаючи відповіді. Це дає змогу одночасно ініціювати
операції шифрування багатьох файлів [22].
Перед шифруванням файлу, програми-вимагачі можуть знімати з файлу
атрибут «лише для читання» та змінювати права доступу [23].
Програми-вимагачі використовують одну з двох стратегій шифрування
вмісту файлів:
Шифрування даних в оригінальному файлі
Це найбільш поширена стратегія шифрування файлів програмами
вимагачами що забезпечує високу швидкість шифрування файлів. Шифрування
файлу відбувається за наступними кроками:
1. Програма-вимагач відкриває файл
2. Програма-вимагач переходить на потрібну позицію у файлі
3. Програма-вимагач читає блок даних певної довжини в оперативну пам’ять
4. Програма-вимагач шифрує прочитаний блок даних в оперативній пам’яті
5. Програма-вимагач перезаписує оригінальний блок даних у файлі
зашифрованими даними
6. Після шифрування даних, програма-вимагач перейменовує файл з
додаванням власного розширення
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 13
За цією стратегією програми-вимагачі часто шифрують лише частини файлу
для пришвидшення процесу шифрування. При цьому файл залишається частково
читабельним, що може вводити в оману системи виявлення програм-вимагачів які
використовують ентропію файлу як метрику для виявлення атаки. Більшість
сучасних програм-вимагачів використовують саме цю стратегію для шифрування
файлів, зокрема це Lockbit [24], Conti [25], BlackCat [26], REvil [27] та інші
поширені ШПЗ.
Шифрування в окремому файлі
Для більш стабільного шифрування і відновлення даних, деякі програми-
вимагачі можуть створювати нові файли в яких будуть міститись зашифровані дані
і видаляти оригінальний файл після шифрування. Це забезпечує більш стабільне
шифрування і відновлення даних у випадку екстреного вимкнення пристрою або
завершення процесу програми-вимагача. Ця стратегія менш поширена, оскільки
потребує більше файлових операцій і створює більше файлової активності на носії
даних, що дозволяє виявити такий вид атак системами моніторингу файлової
активності.
Стратегія складається з наступних кроків:
1. Програма-вимагач створює новий файл, де будуть зберігатись зашифровані
дані
2. Програма-вимагач читає вміст оригінального файлу в оперативну пам’ять
3. Програма-вимагач шифрує вміст оригінального файлу в оперативній пам’яті
4. Програма-вимагач пише зашифровані дані в новий файл
5. Програма-вимагач видаляє оригінальний файл
Найвідомішим прикладом програми-вимагача що шифрує файли за цим
сценарієм є WannaCry [28].
Також такий сценарій використовують програми-вимагачі що
використовують архіватори або інші легітимні програми для шифрування файлів.
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 14
Наприклад, програма-вимагач BART Ransomware шифрує файли шляхом
створення окремого ZIP архіву з паролем де зберігається файл і видаляє оригінальні
файли [29].
Демонстрація вимог викупу
Під час шифрування або після шифрування всіх файлів, програма-вимагач
залишає текстові файли з вимогами викупу і контактами для зворотного зв’язку
(рис.1.2):
Рисунок 1.2 – Приклад текстового файлу з вимогами викупу програми-вимагача
REvil
В більшості випадків, програма-вимагач також змінює фонове зображення
робочого стола на аналогічне повідомлення з вимогами викупу (рис.1.3).
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 15
Рисунок 1.3 – Приклад фонового зображення робочого стола після атаки
програми-вимагача Lockbit 2.0
У обох сценаріях шифрування файлів, програма-вимагач в процесі
шифрування здійснить принаймні одну з таких файлових операцій:
● Запис даних в файл;
● Перейменування файлу (сценарій шифрування даних в тому ж файлі);
● Зміна атрибутів файлу (спільна дія в обох сценаріях);
● Видалення файлу (сценарій шифрування даних в новому файлі).
Програми-вимагачі використовують комбінацію симетричного та
асиметричного шифрування: швидкий симетричний алгоритм (наприклад, AES або
Salsa20) застосовується для шифрування великих обсягів даних, а симетричний
ключ шифрується публічним ключем атакуючої сторони для забезпечення
незворотності. Програми-вимагачі можуть використовувати як один ключ
шифрування для всіх файлів так і створювати унікальний ключ шифрування для
кожного файлу.
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 16
Для створення унікальних зразків ШПЗ для цілеспрямованої атаки,
зловмисники використовують конструктори програм-вимагачів (builder). На
рисунку 1.4 зображено конструктор програм-вимагачів сімейства Thanos:
Рисунок 1.4 – Конструктор програм-вимагачів Thanos Builder
Конструктори програм-вимагачів дозволяють зловмисникам налаштовувати
конфігурацію ШПЗ для уникнення виявлення засобами захисту, пришвидшення
атаки та ускладнення нейтралізації атаки.
1.3. Аналіз методів виявлення ransomware атак
Існуючі системи виявлення ransomware атак використовують різні методи та
метрики з різною швидкістю та ефективністю виявлення атак. Серед них
сигнатурні підходи, евристичні механізми та поведінковий аналіз.
Традиційні сигнатурні системи виявляють відомі зразки програм-вимагачів
на основі індикаторів компрометації, наприклад комунікація з сервером керування,
хеш-сума зразка ШПЗ та сканування за YARA правилами, що дає швидкий і точний
результат для старих або широко розповсюджених сімейств. Також сигнатурний
підхід може бути використаний для виявлення невідомих зразків програм-
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 17
вимагачів через пошук рядків які характерні для повідомлень з вимогами викупу
або аналіз імпортованих функцій та їх використання.
Однак сигнатурний підхід не надійний і не може ефективно виявити
обфусковані або унікальні зразки що були створені для цілеспрямованої атаки.
Зокрема, одним з етапів підготовки цілеспрямованої програми-вимагача для
таргетованої атаки є обфускація програми-вимагача таким чином, щоб вона не була
виявлена існуючими антивірусними засобами [30]. Через це в сучасних рішеннях
сигнатурний аналіз лишається лише одним з компонентів, що добре працює проти
відомих загроз, але не гарантує виявлення невідомих зразків ШПЗ.
Сигнатурний підхід також застосовується для блокування програм-вимагачів
які створюють або перейменовують файли з відомим розширенням зашифрованого
файлу. Наприклад, атака програми-вимагача WannaCry може бути виявлена через
створення тимчасових файлів з додаванням розширення .wncryt. Втім цей метод не
може виявити програми-вимагачі, що використовують унікальні файлові
розширення для кожного зашифрованого файлу або цілеспрямовані програми-
вимагачі, що використовують невідоме файлове розширення для зашифрованих
файлів. Також такий метод буде створювати хибні спрацювання для програм-
вимагачів які присвоюють зашифрованим файлам файлові розширення відомих
файлових форматів. Наприклад, деякі версії ШПЗ DJVU Ransomware
використовували файлове розширення .djvu для зашифрованих файлів, що також є
файловим розширенням для документів у форматі DjVu [31]. Також, ШПЗ BART
Ransomware шифрує файли шляхом створення ZIP архівів (розширення .zip) з
невідомим паролем.
Тому сигнатурний аналіз може ефективно протидіяти лише відомим зразкам
програм-вимагачів.
Евристичні підходи для виявлення програм-вимагачів використовують
правила і шаблони, які статистично або логічно асоціюються з шкідливою
активністю. До них відносяться правила на основі частих операцій (масове
перейменування файлів, масове відкриття/запис), виявлення підвищеної ентропії
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 18
файлів після шифрування, а також правила виявлення нетипових системних
викликів або аргументів командної строки в процесах. Перевагою евристичних
методів є їхня відносна простота реалізації і відносно швидке реагування на відомі
патерни, що дозволяє знайти значну частину атак без великих обчислювальних
витрат; окремі евристики можуть працювати локально на кінцевих точках і давати
негайні індикатори компрометації. Недоліком таких рішень є високий ризик
хибних спрацювань у складних робочих навантаженнях. Приклади реальних атак
показують що зловмисники активно застосовують вбудовані системні програми
[32] та способи обфускації викликів функцій для запобігання виявлення атаки через
порівняння з шаблонами шкідливої активності [33]. Також порівняння з шаблонами
не завжди коректно працюють у випадку безфайлового виконання шкідливого коду,
коли програма-вимагач працює в контексті легітимного процесу [34].
Поведінкові методи виявлення аналізують послідовність подій і виявляють
відхилення від нормальної поведінки системи або користувача. До них належать
моделі аномалій на рівні файлової системи, процесів, мережевого трафіку й API-
викликів, які будуються як класичними статистичними методами, так і підходами
машинного навчання [35]. Перевагою поведінкових методів є здатність виявляти
нові, раніше невідомі варіанти програм-вимагачів, оскільки вони орієнтовані на
аномальність дій, а не на відомі сигнатури; ці методи можуть інтегрувати контекст
(наприклад, часові шаблони, типові файлові операції) і таким чином зменшувати
кількість хибних спрацювань.
Методи на основі машинного навчання і глибокого навчання дозволяють
виявляти складні кореляції між ознаками та будувати багатовимірні профілі
шкідливої активності. Такі підходи включають обробку метрик I/O операцій,
характеристики процесів, аналіз послідовностей системних викликів і
використання алгоритмів класифікації шкідливої активності. Проте моделі
машинного навчання ресурсоємні в обчисленні та зберіганні та можуть давати
хибно позитивні спрацювання.
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 19
Існують задокументовані випадки успішної протидії моніторингу API-
викликів. Для цього шкідливе програмне забезпечення може напряму здійснювати
системні виклики замість виклику функції Windows API [36], від’єднувати
динамічні бібліотеки систем моніторингу від свого процесу [37], або видаляти хуки
з функцій Windows API через читання файлу оригінальної бібліотеки [38].
Під час проектування системи захисту від програм-вимагачів важливо
враховувати, що правильний цифровий підпис програми або її легітимність не є
підставою для ігнорування її файлової активності. За допомогою техніки DLL
Sideloading, зловмисники можуть завантажувати програму-вимагач у вигляді
динамічної бібліотеки від імені легітимної програми [39]. Антивірусна компанія
McAfee зафіксувала випадок, коли програма-вимагач REvil була запущена через
DLL Sideloading в контексті процесу MsMpEng.exe. Ця програма є складовою
стандартного антивірусу Windows Defender і має дійсний цифровий підпис від
компанії Microsoft [40].
Обгрунтування використання файлів-приманок
Загальний принцип роботи програм-шифрувальників можна сформулювати
таким чином:
● Масовий пошук файлів з певним розширенням
● Шифрування кожного знайденого файлу
Шифрування знайдених файлів характеризується великою кількістю
файлових операцій що модифікують файл. Зокрема, це зміна правил контролю
доступу для надання права для перезапису файлу, зміна атрибутів для зняття
атрибуту файлу “лише для читання”, операція запису даних в файл,
перейменування файлу. Програми-вимагачі, що створюють окремі зашифровані
файли замість шифрування в тому ж файлі характеризуються великою кількістю
операцій видалення оригінальних файлів.
Тому аналіз файлових операцій дає змогу виявляти навіть невідомі зразки
програм-вимагачів, адже цей вид шкідливого програмного забезпечення має
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 20
характерні файлові операції, що характерні для більшості зразків програм-
вимагачів. В цій роботі пропонується використання спеціально створених файлів-
приманок для виявлення ransomware атак.
Файли-приманки (honeypot, canary) є ефективним інструментом саме через те,
що у нормальних умовах вміст цих файлів не змінюється легітимними додатками
та операційною системою, отже будь-яка операція запису, перейменування, зміни
атрибутів або видалення у таких файлах є індикатором масового шифрування
файлів.
Ефективність файлів-приманок визначається правильним розташуванням і
назвою. Вони імітують справжні цінні файли та розміщені в директоріях, де
програма-вимагач зазвичай починає роботу, щоб програма-вимагач почала
шифрувати саме файли-приманки, а не справжні файли. Ключовою перевагою є те,
що файли-приманки дозволяють легко відокремити “сигнал” від “шуму”: замість
моніторингу всіх користувацьких файлів і генерації сповіщень про нормальну
активність, система може орієнтуватися на невелику кількість файлів, зміна яких
має високу ймовірність бути наслідком атаки. Це забезпечує високу швидкість
реакції на атаку.
Таким чином, використання файлів-приманок, які потрапляють першими в
поле зору програми-вимагача, дозволяє виявити атаку на ранньому етапі, коли
програма-вимагач ще не встигла зашифрувати справжні файли.
1.4. Висновки
У цьому розділі було розглянуто актуальність ransomware атак в 2025 році.
Ransomware атаки залишаються одним з найбільш руйнівних видів загроз який
спрямований на порушення доступності інформаційних ресурсів організацій та
державних установ. Сучасні програми-вимагачі оптимізовані саме для швидкого
шифрування найбільш критичної інформації. Часткове шифрування файлів та
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 21
багатопоточність значно пришвидшують ransomware атаку, швидкість шифрування
файлів може досягати сотні мегабайт в секунду [41]. Тому при розробці системи
виявлення та протидії програм-вимагачів надається особлива увага швидкості
реакції та знешкодження програми-вимагача.
Дослідження різних зразків програм-вимагачів показує, що вони здійснюють
характерні файлові операції. Моніторинг файлових операцій над файлами-
приманками надає можливість виявити атаку на ранніх етапах.
Окрім статистичного виявлення ransomware атак, у цьому контексті
особливої актуальності набувають поведінкові методи аналізу, зокрема
використання файлів-приманок, які дозволяють виявити атаку ще на етапі початку
шифрування. Такий підхід забезпечує можливість швидкої реакції системи безпеки
- призупинення шкідливого процесу до моменту шифрування справжніх файлів. Це
дозволяє уникнути тривалого процесу відновлення від резервних копій і
забезпечити якомога менше перешкод бізнес-процесам.
Зловмисники активно протидіють засобам статичного та динамічного аналізу
шкідливого програмного забезпечення, тому для більш ефективного захисту
рекомендується створення ешелонованої системи захисту від програм-вимагачів.
Запропонована система виявлення та зупинки програм-вимагачів зупиняє атаки
програм-вимагачів виключно на основі аналізу файлових операцій над файлами-
приманками оскільки це одна з найбільш надійних метрик для визначення
ransomware атак.
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 22
2. ВИЯВЛЕННЯ RANSOMWARE АТАК НА ОСНОВІ АНАЛІЗУ ОПЕРАЦІЙ
З ФАЙЛАМИ-ПРИМАНКАМИ
2.1. Застосування файлів-приманок
В цій роботі розроблена система виявлення та нейтралізації ransomware атак
використовує файли-приманки в якості індикатора шкідливої активності. Цей
метод виявлення атаки було обрано з врахуванням того факту, що всі програми-
вимагачі мають приблизно однаковий принцип роботи (масовий пошук файлів за
розширеннями, шифрування кожного знайденого файлу).
Файли-приманки (honeypot- або canary-файли) працюють як навмисно
створені “сигнали тривоги”, призначені для того, щоб привернути увагу програми-
вимагача. Принцип їхньої роботи полягає в тому, щоб імітувати цінні для
програми-вимагача файли. При цьому ці файли не повинні змінюватися в
нормальному користуванні. Будь-яка операція, яка модифікує вміст файлу, змінює
його атрибути, перейменовує або видаляє файл-приманку, розглядається як
індикатор початку ransomware атаки.
Ефективність застосування файлів-приманок визначається трьома факторами
- місце розташування, назва файлу та його вміст.
Файли-приманки розміщуються в тих директоріях з яких найчастіше
починається атака. Такими директоріями є:
● Коренева директорія локального диску (наприклад C:\)
● Коренева директорія мережевого сховища
● Директорія робочого стола (наприклад C:\Users\<username>\Desktop)
● Директорії профілів користувачів (наприклад C:\Users\<username>\)
● Директорії що часто використовуються
Також слід створювати файли-приманки в директоріях де зберігаються
важливі файли, бази даних, образи віртуальних машин та резервні копії. Наприклад,
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 23
програма-вимагач Avaddon починає шифрування файлів з директорій Microsoft
SQL Server та Microsoft Exchange Server [19].
Слід зазначити, що файли-приманки не варто створювати в директоріях, де
інструменти синхронізації регулярно пишуть і модифікують файли, бо це може
призвести до великої кількості хибно-позитивних спрацювань. Якщо в
інфраструктурі є віртуальні машини або NAS-пристрої, слід також розглядати
створення файлів-приманок в їхніх загальнодоступних точках, бо програми-
вимагачі можуть масштабувати атаку через спільні ресурси.
Назва та розширення файлів мають бути такими, щоб програма-вимагач
почала шифрувати їх першими і при цьому зміст файлу відповідав його
розширенню. Популярними розширеннями є: .docx, .vmdk, .bak, .sql, .zip, тощо.
Як було зазначено в розділі “Різновиди та аналіз ransomware атак”, програми-
вимагачі зазвичай шифрують файли в директорії за алфавітним порядком. Тому
назва файлу-приманки має починатись з перших символів в ASCII кодуванні,
цифри 0 та перших літер англійського алфавіту для того щоб програма-вимагач
знайшла файл-приманку як перший файл в директорії за алфавітним порядком. Для
кращої надійності, на випадок якщо програма-вимагач буде шукати файли за
зворотнім алфавітним порядком, також рекомендується створювати файли-
приманки, назви яких починаються з останнього символу в ASCII кодуванні, цифри
9 та останніх літер англійського алфавіту.
Файли-приманки обов’язково мають бути не порожніми, адже програми-
вимагачі зазвичай пропускають порожні файли. Вміст файлу може бути невеликим,
але достатньо правдоподібним і відповідати розширенню файлу.
Права доступу та атрибути файлів-приманок також впливають на
вірогідність спрацювання. Файли мають бути доступні для читання і запису для
всіх користувачів, адже програма-вимагач може бути запущена як з правами
адміністратора так і з правами звичайного користувача. Слід зазначити, що
програми-вимагачі можуть по різному обробляти файли з атрибутом прихованих
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 24
файлів і атрибутом системних файлів. Наприклад, програма-вимагач Wannacry
вимикає атрибут “прихованого файлу” та надає права на запис для всіх файлів
перед шифруванням [42]. Однак, конструктор зразків програми-шифрувальника
LockBit дозволяє ігнорувати приховані файли [12]. Тому рекомендується не
використовувати атрибути прихованих або системних файлів для файли-приманки.
Оскільки деякі програми-вимагачі можуть використовувати алгоритм Depth-
first search для пошуку файлів для шифрування, то слід також створювати файли-
приманки у вкладених директоріях. Аналогічно як з файлами, назви папок мають
починатись з перших символів ASCII кодування, щоб програма-вимагач почала
шукати файли для шифрування саме з цієї папки. В папці містяться файли-
приманки з кодовим словом у назві файлу. Також кодове слово може міститись в
назві папки. Вкладена папка з файлом-приманкою може мати такий шлях:
C:\Users\<username>\Desktop\!!!rnsm_canary\!rnsm_canary.txt
Такі вкладені приманки слід створювати в найбільш використовуваних
папках, кореневих директоріях локальних та мережевих носіїв даних.
2.2. Виявлення атаки на основі аналізу файлових операцій
Оскільки сучасні програми-вимагачі оптимізовані для якнайшвидшого
шифрування файлів, то забезпечення високої швидкості виявлення та нейтралізації
атаки є важливою задачею при розробці системи виявлення і протидії ransomware
атакам.
В цій роботі, виявлення ransomware атаки здійснюється через моніторинг та
аналіз файлових операцій над файлами-приманками у режимі реального часу.
Файл-приманка відрізняється від звичайних файлів наявністю кодового слова в
повному шляху файлу (наприклад, в цій роботі це “rnsm_canary”). Такий метод
маркування забезпечує максимальну сумісність системи виявлення атак з різними
файловими системами.
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 25
Метод виявлення ransomware атаки за допомогою файлів-приманок потребує
такі дані для роботи:
● Тип файлової операції
● Ідентифікатор процесу
● Повний шлях до файлу
Операційні системи Windows мають декілька вбудованих технологій, що
дозволяють реалізувати моніторинг файлових операцій.
Такі технології можна поділити за рівнем обробки файлових подій і його
місця в системі: користувацький рівень (user-mode, ring3) і рівень ядра Windows
(kernel-mode, ring0). На користувацькому рівні доступні такі методи моніторингу
файлових операцій:
● Диспетчер ресурсів файлової системи (FSRM, File System Resource Manager)
● Моніторинг файлових операцій через події Windows
● Моніторинг змін в директорії (ReadDirectoryChangesW)
● FileSystemWatcher в .NET
● Періодична перевірка наявності і цілісності файлу-приманки
Диспетчер ресурсів файлової системи (FSRM, File System Resource Manager)
- це компонент Windows Server, який дає змогу адміністраторам контролювати та
обмежувати роботу з файлами на файлових ресурсах, через створення правил, що
реагують на певні типи доступу. FSRM може бути використаний для виявлення
спроб небажаної модифікації або створення файлів за певними шаблонами,
характерними для шкідливих дій (наприклад, аномальні операції шифрування чи
створення копій). FSRM дозволяє визначити класифікаційні правила, шаблони,
журнали та автоматичні реакції, зокрема сповіщення або виконання сценаріїв, коли
файл-приманка опиняється в полі зору потенційно небажаних процесів. Його
перевага у тому, що механізм працює на рівні серверних ролей і інтегрується з
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 26
політиками доступу, забезпечуючи централізований контроль і мінімальний вплив
на продуктивність системи.
Моніторинг файлових операцій через події Windows використовує
стандартні механізми журналу подій, де різні системні компоненти фіксують
операції доступу, зміни дозволів або модифікації файлів. Події аудиту доступу до
файлів дозволяють відстежувати читання, зміну та видалення файлу-приманки.
Цей метод файлового моніторингу сумісний з іншими засобами захисту адже
використовує події Windows для сповіщення про аномальну файлову активність,
але потребує конфігурації прав аудиту для кожного файлу-приманки.
Моніторинг директорії через функцію ReadDirectoryChangesW використовує
низькорівневий API Windows, який дозволяє програмі отримувати повідомлення
про зміни в певній директорії, включно зі створенням, переміщенням,
перейменуванням, читанням або модифікацією файлів. Файл-приманку можна
розмістити в директорії, для якого викликається функція ReadDirectoryChangesW,
і отримувати сповіщення про дії з ним у режимі реального часу. Цей метод точно
виявляє перейменування, створення та видалення файлу, але не може надійно
виявити запис в файл. Сповіщення FILE_NOTIFY_CHANGE_LAST_WRITE
виникає якщо у файла-приманки змінився час останнього запису, який також
можна змінити через функцію SetFileTime [43].
FileSystemWatcher - це компонент фреймворку .NET, який забезпечує
механізм відстеження змін у файловій системі. Він дозволяє відслідковувати події
створення, зміни, видалення, перейменування файлів. Однак FileSystemWatcher
чутливий до навантаження та може не встигати перехоплювати всі події при
великому навантажені носія даних. В ОС Windows, FileSystemWatcher
використовує функцію ReadDirectoryChangesW для моніторингу файлових
операцій [44].
Періодична перевірка наявності і цілісності файлу-приманки полягає у
виконанні регулярного опитування стану файлу за допомогою таймерів або
запланованих задач. Програма перевіряє, чи файл існує, чи змінився його розмір,
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 27
хеш, атрибути або права доступу. Цей метод менш реактивний, ніж попередні
методи, але дає змогу забезпечити стійкість до пропущених подій чи переповнення
черг повідомлень, оскільки періодичний контроль дозволяє виявити зміни, навіть
якщо попередні сигнали були втрачені. Мінусом є необхідність вибору
оптимального інтервалу перевірки: надто низький інтервал збільшує навантаження
на систему, а надто високий інтервал збільшує час виявлення втручання.
Ці методи об’єднує відносна простота налаштування. Однак такі методи
забезпечують повільну швидкість реагування через періодичне опитування подій
що затримує реакцію на файлову подію. Аналіз лише на рівні логів або user-mode
API часто приходить запізно або має неповний контекст. Також ці методи можуть
пропускати деякі файлові операції за умови високого навантаження на систему. До
того ж, методи моніторингу файлових операцій зрештою покладаються на
файловий моніторинг в режимі ядра. Тому методи моніторингу файлових подій на
рівні ядра Windows забезпечують безпосередній моніторинг у режимі реального
часу.
Файловий моніторинг через драйвер FS Minifilter грунтується на
використанні спеціальних драйверів Windows, які під’єднуються до стеку файлової
системи й отримують доступ до потоків IRP-запитів, що стосуються файлів і
директорій. FS Minifilter драйвер може перехоплювати всі запити відкриття,
читання, запису, перейменування, створення чи видалення файлу-приманки ще до
обробки їх базовим драйвером файлової системи, що забезпечує найвищий рівень
деталізації. Завдяки механізму реєстрації callback-функцій для різних типів
операцій, драйвер може точно визначити, який процес та з якими параметрами
намагається взаємодіяти з файлом-приманкою. Ці можливості FS Minifilter
драйвера дозволяють будувати передчасне виявлення файлових операцій, але
водночас вимагає дуже ретельної реалізації, оскільки драйвер працює у просторі
ядра, де будь-яка помилка може вплинути на стабільність системи. Minifilter
забезпечує максимальну точність і найменшу затримку, але потребує знання
архітектури файлової системи Windows, дотримання правил безпечної розробки
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 28
драйверів і правильного використання фреймворку Filter Manager, який керує
життєвим циклом фільтрів та їхньою взаємодією з іншими драйверами. В таблиці
2.1 наведено узагальнену порівняльну характеристику різних методів моніторингу
файлових операцій:
Таблиця 2.1 – порівняльна характеристика методів моніторингу файлових
операцій
Фіксаці
я типу
файлов Фіксація
Виявлення ої ідентифік Тип реагування
Режим файлових операці атору (проактивний/реа Швидкість
Назва методу роботи операцій ї процесу ктивний) виявлення
Обмеж
зміни ено
файлів у (перева
контрольов жно
аних факт
директорія зміни Частково
FSRM (File х, тригери чи (не
System Resource usermo квот/скріні доступ завжди
Manager) de нгу у) доступно) Реактивний Середня
створення,
видалення,
Моніторинг зміна,
через події usermo переймену
Windows de вання Так Так Реактивний Середня-висока
створення,
зміна,
видалення,
ReadDirectoryC usermo переймену Ні (API не
hangesW de вання Так дає PID) Реактивний Висока
створення,
зміна, Середня
переймену (використовує
FileSystemWatc usermo вання, ReadDirectoryCh
her (.NET) de видалення Так Ні Реактивний angesW)
Періодична
перевірка зміна чи
файлу- usermo зникнення
приманки de файлу Ні Ні Реактивний Низька
kernel всі операції Проактивний/реа В режимі
FS Minifilter mode NTFS Так Так ктивний реального часу
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 29
Таким чином, найбільш повну інформацію (тип операції, PID, повний шлях
до файлу) надає FS Minifilter драйвер, оскільки працює в режимі ядра і здатний
оброблювати будь-який тип файлових операцій. Для проактивного блокування
атаки підходить лише FS Minifilter драйвер, оскільки він може блокувати файлові
операції до їх виконання.
Тому в цій роботі, для моніторингу файлових операцій було розроблено
власний драйвер на основі технології FS Minifilter.
FS Minifilter драйвер у Windows - це компонент файлової підсистеми, який
працює у межах Filter Manager і дозволяє перехоплювати, аналізувати та
модифікувати файлові операції на рівні ядра. Minifilter працює в рамках
стандартизованого API, наданого Filter Manager, який відповідає за взаємодію між
драйверами та файловими системами, що забезпечує стабільність, сумісність і
безпеку. FS Minifilter драйвери вважаються рекомендованим механізмом
моніторингу та контролю файлових операцій, адже ця технологія мінімізує ризики
конфліктів, забезпечує простішу розробку й дозволяє ефективно інтегруватися в
стек файлової системи без прямого втручання в роботу драйверів файлових систем.
Схема роботи Filter Manager зображена на рисунку 2.1:
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 30
Рисунок 2.1 – Схема роботи Filter Manager
FS Minifilter драйвери широко застосовується в засобах захисту інформації.
Наприклад, антивірусне програмне забезпечення використовує FS Minifilter
драйвер для аналізу файлових операцій на наявність шкідливої активності та
блокування запуску та розповсюдження шкідливого програмного забезпечення.
Засоби протидії витоку даних (Data Loss Prevention) також використовують FS
Minifilter драйвери для запобігання несанкціонованому копіюванню інформації
через блокування файлових операцій.
Архітектурно FS Minifilter драйвер складається з набору callback-функцій,
таблиці взаємодії з Filter Manager, а також допоміжних структур, що визначають
порядковий номер фільтрації (altitude), можливості драйвера та контекстні дані, які
він асоціює з потоками, файлами або операціями. Завантаження та реєстрація
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 31
фільтра відбувається через функції FilterRegisterCallback та FilterStartFiltering, де
драйвер повідомляє Filter Manager про pre-operation та post-operation callbacks, а
також про типи операцій, які він перехоплює. Завдяки чітко визначеним
контрактам з Filter Manager, драйвер може працювати у визначеному порядку з
іншими драйверами, що забезпечує стабільну багаторівневу фільтрацію файлових
операцій.
Ключовим принципом роботи FS Minifilter драйвера є механізм
перехоплення операцій на етапах до й після їх обробки файловою системою. Pre-
operation callback викликається безпосередньо перед переданням IRP-запиту
файловій системі, що дозволяє аналізувати параметри операції, змінювати їх або
блокувати запит до фактичного виконання файлової операції. Post-operation
callback викликається після завершення файлової операції й надає можливість
виконати вторинний аналіз наслідків змін в файлі.
Розроблена система захисту використовує pre-operation callback для
гарантовано швидкої реакції на програму-вимагач. Ці функції дозволяють
аналізувати файлові операції на ранній стадії їх виконання, коли ще можна
блокувати операцію до фактичного внесення змін в файл.
Для задач виявлення ransomware атак FS Minifilter драйвер стає ефективним,
оскільки дозволяє в реальному часі перехоплювати операції, характерні для
ransomware атаки. Програми-вимагачі активно виконують операції запису
(IRP_MJ_WRITE), перейменування або модифікації метаданих
(IRP_MJ_SET_INFORMATION), змінює розширені атрибути файлу
(IRP_MJ_SET_EA) та маніпулює політиками доступу (IRP_MJ_SET_SECURITY).
Аналізуючи ці операції у pre-operation callback, драйвер може швидко виявити
спробу внесення змін в файл-приманку і почати блокування атаки.
Для блокування атаки і логування виявлених файлових операцій, FS Minifilter
драйвер комунікує з програмою за допомогою CommunicationPort - механізму
організації двонаправленого каналу обміну даними. Цей механізм реалізується
через Filter Manager, який виступає посередником між драйвером та
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 32
користувацьким процесом. Комунікаційний порт створюється драйвером і
реєструється в системі як об’єкт, доступний лише через строго визначені API, що
забезпечує контроль доступу, синхронізацію та захист пам’яті між двома
середовищами виконання. Існує у вигляді двох частин - об’єкта порту на боці
драйвера, створеного за допомогою викликів функції
FilterCreateCommunicationPort, та об’єкта, відкритого користувацьким застосунком
через функцію FilterConnectCommunicationPort. Після встановлення з’єднання
обидві сторони можуть здійснювати передачу повідомлень.
Таким чином, FS Minifilter-драйвер для виявлення атак програм-вимагачів
інтегрується з user-mode компонентом для зупинки атаки.
2.3. Нейтралізація атаки після виявлення
Після виявлення програми-вимагача необхідно правильно і швидко її
зупинити. Завершувати процес програми-вимагача одразу після виявлення атаки
небезпечно адже він може мати атрибут критичного процесу.
Критичний процес у Windows - це процес, у якого встановлено властивість
ProcessBreakOnTermination (також відомий як
PS_PROCESS_FLAGS_BREAK_ON_TERMINATION). Якщо процес має цей
атрибут, то ядро Windows вважає, що завершення процесу є некоректною або
небажаною подією. Спроба завершити процес призведе до системної помилки
CRITICAL_PROCESS_DIED і BSOD (синього екрану смерті). Цей механізм
передбачений для системних служб, без яких ОС не може працювати стабільно, але
також використовується шкідливим програмним забезпеченням для ускладнення
реагування на ransomware атаку.
Існують задокументовані випадки, коли шкідливе програмне забезпечення
встановлює цей прапорець на свій процес. Наприклад, у випадку програми-
вимагача ELENOR/Mimic ransomware, аналітики виявили, що одна з її конфігурацій
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 33
дозволяє включати прапорець ProcessBreakOnTermination, щоб зробити процес
критичним [45].
Тому, замість того, щоб завершувати процес, більш безпечним варіантом є
зупинка шкідливого процесу (suspend). Зупинка процесу дозволяє зупинити потоки
процесу і не спровокувати BSOD за наявності атрибуту критичного процесу. Це дає
змогу безпечніше нейтралізувати активність програми-вимагача, залишаючи
процес в оперативній пам’яті, при цьому позбавляючи його виконання.
Крім того, призупинення процесу надає корисні можливості для
розслідування інциденту. З зупиненого процесу можна зняти дамп пам’яті в якому
можуть міститись ключі шифрування файлів, адрес сервера керування або інші
індикатори компрометації.
Тому в цій роботі застосовується саме цей підхід, адже він поєднує ефективну
зупинку шкідливої активності з можливістю розслідування інциденту.
Варто зазначити, що зупинку процесу не можна робити в callback-функціях
FS Minifilter драйвера тому, що це може призвести до непередбачуваної поведінки
системи, починаючи від заблокованих потоків в ядрі Windows, закінчуючи повним
зависанням системи.
Pre-operation callback викликається безпосередньо в коді файлового стека,
часто у контексті потоку процесу, який ініціював операцію. Виконання операцій в
над процесами з FS Minifilter драйвера може призвести до значного збільшення
затримки, що може зірвати таймінги файлової системи, заблокувати її робочі черги
або спричинити дедлоки.
Суттєвою небезпекою є те, що зупинка процесу під час обробки файлової
операції може призвести до того, що саме той потік, який виконує pre-operation
callback, опиниться в підвішеному стані. Якщо ransomware викликає операцію
файлової системи, а драйвер у pre-operation намагається зупинити процес, то він
фактично намагається зупинити потік, який зараз виконує цей код. Це створює
некеровану ситуацію, коли потік зупиняється всередині файлової підсистеми,
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 34
залишаючи запит файлової операції незавершеним, блокуючи структури
синхронізації та створюючи умови для повного зависання системи.
Тому безпечна практика полягає у тому, щоб лише фіксувати файлову
операцію в pre-operation callback, блокувати її, і вже поза межами драйвера, у
програмі в користувацькому режимі, ініціювати зупинку підозрілого процесу.
Такий підхід гарантує, що файловий стек працюватиме коректно, а система
залишатиметься стабільною при активному втручанні у діяльність шкідливого
процесу.
Під час передачі даних від драйвера до програми існує короткий проміжок
часу, під час якого програма-вимагач може зашифрувати декілька файлів. Тому для
того, щоб обмежити шкідливий вплив програми-вимагача, FS Minifilter драйвер має
глобальний масив ідентифікаторів шкідливих процесів. Цей масив зберігає
ідентифікатори процесів яким забороняється здійснювати файлові операції зміни
файлів. Таким чином, після виявлення файлових операцій над файлом-приманкою,
драйвер додає ідентифікатор процесу в глобальний масив і передає дані про
зафіксовану файлову операцію до user-mode програми. Під час передачі даних від
драйвера до програми, всі файлові операції зміни файлів від процесу програми-
вимагача блокуються в pre-operation callback з кодом STATUS_ACCESS_DENIED.
Таким чином, після виявлення ransomware атаки, програма-вимагач не зможе
порушити цілісність жодного файлу.
Після того, як user-mode компонент отримує деталі файлової операції через
CommunicationPort, першочерговим завданням стає швидке і безпечне блокування
дій шкідливого процесу.
Першим кроком є зупинка роботи процесу. Блокування процесу відбувається
за допомогою функції NtSuspendProcess. User-mode компонент блокує всі потоки
процесу, оскільки сучасні програми-вимагачі часто шифрують файли в декількох
потоках.
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 35
Після того як процес було призупинено, з’являється можливість зняття
повного дампу оперативної пам’яті шкідливого процесу. В цій роботі, дамп пам’яті
процесу створюється через функцію MiniDumpWriteDump з типом дампу
MiniDumpWithFullMemory.
Цей тип дампу включає всю доступну пам'ять у процесі. Зокрема, такий дамп
містить кожну читабельну сторінку в адресному просторі процесу, включаючи всю
пам’ять яку виділив процес на момент створення дампу. Це надає можливості для
аналізу шкідливого програмного забезпечення та збору індикаторів компрометації.
Також, такий дамп містить дані, що зберігаються в стеку, на купі (heap), в усіх
секціях процесу (наприклад .data, .rdata) та блоках середовища потоку (thread
environment block) та процесу (process environment block).
Після отримання повного дампу наступним кроком є зняття з процесу
критичного атрибуту, якщо він встановлений. Встановлення атрибуту критичного
процесу (ProcessBreakOnTermination) робить завершення процесу небезпечним,
оскільки ядро при спробі завершити такий процес може ініціювати колапс системи
(BSOD). Зняття цього атрибуту здійснюється через виклик функції
NtSetInformationProcess. Перед зняттям атрибуту критичного процесу, розроблена
система захисту визначає чи дійсно процес позначений як критичний, і фіксує
попередній стан в журналі. Після успішного зняття критичного атрибуту можна
завершити процес через виклик фукнції TerminateProcess.
Такий порядок дій при виявленні активності програми-вимагача регламентує
всі заходи які потрібно здійснити для негайної зупинки шифрування файлів. Також,
така процедура обробки аномальної файлової активності дозволяє відновити
роботу процесу у випадку хибно-позитивного спрацювання (наприклад,
користувач намагався видалити файл-приманку). Тому зняття атрибуту критичного
процесу і завершення процесу не відбувається автоматично, а здійснюється вручну
адміністратором через відповідні запити REST API до засобу захисту.
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 36
2.4. Висновки
У цьому розділі було розглянуто метод виявлення ransomware атак, який
використовує файли-приманки як індикатор масового шифрування файлів.
Використання файлів-приманок дозволяє виявити атаки на ранніх стадіях, ще до
того, як шкідливе програмне забезпечення встигне зашифрувати справжні файли.
Ключовими факторами, що визначають ефективність цієї стратегії, є правильний
вибір місця розташування файлів-приманок, їх назви та вміст, а також
налаштування прав доступу до них.
Проаналізовано доступні методи моніторингу файлових операцій у режимі
реального часу, зокрема засоби моніторингу, вбудовані в операційну систему.
Найбільш ефективним для виявлення ransomware атак є використання драйвера FS
Minifilter, який аналізує файлові операції до їх виконання що забезпечує
найшвидшу реакцію на шкідливу активність. FS Minifilter драйвер дозволяє
реалізувати проактивний захист від ransomware атак завдяки блокуванню файлових
операцій та запобіганню пошкодженню файлів.
Було розглянуто питання коректної нейтралізації ransomware атак. Сучасні
програми-вимагачі ускладнюють реагування на атаку через використання різних
методів унеможливлення завершення процесу. Одним з таких методів є увімкнення
атрибуту критичного процесу. Завершення критичного процесу спричиняє
системну помилку та колапс операційної системи. Тому в розробленій системі для
нейтралізації атак використовується операція зупинки процесу (suspend), а не його
завершення. Це дозволяє зберегти стабільність системи та надає можливість для
подальшого аналізу шкідливого програмного забезпечення. У випадку хибно-
позитивного спрацювання системи захисту, це також дозволяє легко відновити
роботу процесу.
Таким чином, запропонована процедура виявлення та нейтралізації
ransomware атак забезпечує проактивний захист від програм-вимагачів що не
впливає на доступність інформаційних ресурсів.
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 37
3. РОЗРОБКА СИСТЕМИ ЗАХИСТУ ВІД RANSOMWARE АТАК
3.1. Реалізація FS Minifilter драйвера
За основу реалізації FS Minifilter драйвера та його комунікації з usermode
програмою було взято офіційний приклад FS Minifilter драйвера від Microsoft під
назвою “MiniSpy” [46]. Цей драйвер перехоплює всі файлові операції і передає
детальну інформацію до user-mode програми, яка логує всі файлові події. В
оригінальному прикладі, pre-operation callback формує структуру яка описує
файлову операцію, а post-operation callback доповнює структуру результатом
виконання файлової операції. Дані про виконання файлової операції передаються
user-mode програмі через CommunicationPort і відображаються в консолі або
записуються в файл.
В цій роботі програмний код драйверу було змінено для оптимізації
швидкості роботи та блокування файлових операцій у разі виявлення ransomware
атаки. На рисунку 3.1 зображено структуру FLT_OPERATION_REGISTRATION,
що визначає файлові операції які буде перехоплювати драйвер та функції їх
обробки:
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 38
Рисунок 3.1 - Функції перевірки файлових операцій
Драйвер перехоплює лише такі файлові операції внесення змін в файл:
1. IRP_MJ_WRITE - запит на запис даних у файл
2. IRP_MJ_SET_INFORMATION - запит на перейменування файлу або
його видалення
3. IRP_MJ_SET_EA - запит на зміну розширених атрибутів (наприклад,
атрибут “прихований файл” або “лише для читання”)
4. IRP_MJ_SET_SECURITY - запит на зміну прав доступу до файлу
На рисунку 3.2 зображено код pre-operation callback функції що аналізує
запит на файлову операцію до її фактичного виконання:
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 39
Рисунок 3.2 - Фрагмент коду функції AntiRWPreOperationCallback
В pre-operation callback, драйвер визначає нормалізовану назву файлу і
перевіряє чи повний шлях файлу містить рядок “rnsm_canary” (без врахування
регістру).
Якщо повний шлях файлу містить цей рядок, то це означає що над файлом-
приманкою було здійснено одну з файлових операцій яка є індикатором ransomware
атаки. У такому разі, драйвер спочатку додає ідентифікатор процесу в список
заблокованих процесів через виклик функції BlockProcessID. Далі драйвер блокує
файлову операцію з кодом STATUS_ACCESS_DENIED (доступ заборонено) і
викликає post-operation callback, який одразу передає інформацію про заблоковану
файлову операцію до user-mode компонента. Функція pre-operation callback
повертає значення FLT_PREOP_COMPLETE, що означає що IRP-запит не
передається далі по черзі зареєстрованих FS Minifilter драйверів. Таким чином,
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 40
файлова операція блокується на рівні pre-operation callback і не виконується в
драйвері файлової системи.
На рисунку 3.3 зображено код функції BlockProcessID:
Рисунок 3.3 - Код функції BlockProcessID
Ця функція додає ідентифікатор процесу в глобальний масив заблокованих
процесів g_Blocked_ProcessIDs. Цей масив містить ідентифікатори процесів для
яких забороняються всі файлові операції запису даних, зміни атрибутів і прав
доступу, перейменування або видалення файлу.
Якщо ідентифікатор процесу вже міститься в списку заблокованих процесів,
то драйвер блокує файлову операцію без перевірки повного шляху файлу і викликає
post-operation callback.
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 41
3.2. Реалізація програми для нейтралізації атаки
User-mode компонент це Windows служба, написана мовою С, яка працює з
привілеями системи (NT AUTHORITY/SYSTEM) та обробляє повідомлення від
драйвера і запити REST API. Служба працює з найвищими привілеями для того,
щоб мати можливість здійснювати операції з будь-яким процесом в операційній
системі.
При запуску, user-mode служба підключається до каналу комунікації з
драйвером та запускає HTTP сервер на порті 8080. HTTP сервер реалізовано з
використанням бібліотеки Mongoose [47].
Програма реалізує такі операції в REST API:
Операції з носіями даних:
● GET /api/devices/list - список доступних носіїв даних
● POST /api/devices/attach - приєднати драйвер до носія даних
● POST /api/devices/detach - від'єднати драйвер до носія даних
Операції з процесами:
● POST /api/processes/dump - зробити повний дамп процесу
● POST /api/processes/terminate - безпечно завершити процес
● POST /api/processes/resume - відновити роботу процесу
Завантаження дампів процесів:
● GET /<назва дампу> - завантажити дамп процесу з директорії
C:\process_dumps
Кожний запит REST API потребує проходження аутентифікації. Облікові
дані зберігаються в розділі реєстру HKLM\Services\AntiRansomwareService. Якщо
облікові дані не визначені в реєстрі, то програма приймає стандартні облікові дані
“admin:antiransomware!”. Програмна реалізація аутентифікації REST API запитів
зображена на рисунку 3.4:
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 42
Рисунок 3.4 - Код функції перевірки аутентифікації REST API запитів
У розробленій системі протидії програмам-вимагачам, user-mode служба
виконує роль координатора між FS Minifilter драйвером і механізмами реагування
на рівні операційної системи. Вона отримує повідомлення від драйвера через
Communication Port, створений у момент ініціалізації драйвера. Під час запуску
програма відкриває цей порт, використовуючи функцію
FilterConnectCommunicationPort, і входить у цикл очікування подій. Програма
миттєво обробляє подію, як тільки драйвер надсилає структуру з інформацією про
заблоковану файлову операцію, що включає ідентифікатор процесу, тип операції,
шлях до файлу-приманки.
Після отримання повідомлення від драйвера служба автоматично зупиняє
процес який здійснює файлові операції над файлом-приманкою. На рисунку 3.5
зображено фрагмент коду обробника повідомлень від драйвера який здійснює
зупинку процеса:
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 43
Рисунок 3.5 - Фрагмент обробника повідомлень від драйвера
Зупинка процесу здійснюється функцією NtSuspendProcess, яка зупиняє всі
потоки процесу. Після зупинки процесу, програма надсилає команду драйверу на
видалення процесу зі списку заблокованих процесів (код UnBlockPID). Після того
як драйвер видалить процес зі списку, файлові операції процесу не будуть
блокуватись. Це потрібно для того, щоб файлові операції майбутніх процесів з тим
же ідентифікатором не були заблоковані.
Після зупинки процесу, адміністратор може створити повний дамп пам’яті
призупиненого процесу через запит до API. На рисунках 3.6 і 3.7 зображено код
API обробника /api/processes/dump і функції створення повного дампу процесу:
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 44
Рисунок 3.6 – Код функції обробки API запиту /api/processes/dump
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 45
Рисунок 3.7 – Код функції створення дампу процесу
User-mode програма створює повний дамп пам’яті призупиненого процесу.
Для цього використовується функція MiniDumpWriteDump з набором параметрів,
які дозволяють отримати повну інформацію про стан процесу. Дамп процесу
зберігається у директорії C:\process_dumps. Цей файл містить увесь вміст
оперативної пам’яті процесу, що надає можливість відновлення ключа шифрування,
адже він може бути розміщений в оперативній пам’яті процесу на момент
створення дампу. Файл дампу пам’яті процесу має назву в такому форматі:
{Ідентифікатор процесу}_{YYYYMMDD}_{HHMMSS}.dmp. Збір дампу також
супроводжується логуванням події в syslog.
Після зняття дампу пам’яті, адміністратор може безпечного завершити
роботу процесу через API запит /api/process/terminate (див.рис.3.8). Функція
перевіряє наявність критичного атрибуту в процесу і викликає функцію
NtSetInformationProcess з параметром ProcessBreakOnTermination, щоб зняти цей
атрибут. Це дозволяє уникнути аварійного завершення роботи операційної системи
при спробі зупинити критичний процес. Після зняття цього атрибуту процес
завершується викликом TerminateProcess.
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 46
Рисунок 3.8 – Код функції обробки API запиту /api/processes/terminate
У випадку хибно-позитивного спрацювання, адміністратор може відновити
роботу зупиненого процесу через API запит /api/processes/resume. На рисунках 3.9
і 3.10 зображено код функцій обробки цього запиту та відновлення роботи процесу:
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 47
Рисунок 3.9 - Код функції обробки API запиту /api/processes/resume
Рисунок 3.10 – Код функції відновлення роботи процесу
Таким чином, user-mode служба виступає ланкою між виявленням програми-
вимагача на рівні драйвера та практичною нейтралізацією атаки. У поєднанні з FS
Minifilter драйвером вона формує двокомпонентну архітектуру захисту, де драйвер
забезпечує найшвидше виявлення атак на рівні файлової системи і блокування
файлових операцій для шкідливого процесу, а user-mode компонент надає
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 48
можливість реагування, створення доказової бази та інтеграцію у системи
моніторингу безпеки. Такий підхід ефективно зупиняє програми-вимагачі у момент
їх виявлення і робить це без ризику для стабільності операційної системи,
зберігаючи всі необхідні дані для подальшого аналізу інциденту.
На рисунку 3.11 зображено загальну схему роботи розробленої системи
виявлення та протидії ransomware атакам:
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 49
Рисунок 3.11 – Схема роботи запропонованої системи захисту від програм-
вимагачів
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 50
3.3. Сповіщення про виявлену атаку через події Windows
Сповіщення про події є важливою складовою будь-якої системи захисту. В
розробленій системі для журналювання подій використовується протокол Syslog.
Syslog - це стандартний протокол для збору, передачі та зберігання
повідомлень журналів (логів) від різних систем та пристроїв у комп'ютерних
мережах. Він дозволяє централізовано керувати логами, що спрощує моніторинг,
аналіз та усунення інцидентів, оскільки дозволяє збирати дані з багатьох джерел в
одному місці. Протокол широко використовується в Unix-подібних системах, але
також реалізований у багатьох мережевих пристроях і операційних системах, в
тому числі Windows.
Протокол Syslog забезпечує стандартизований спосіб передачі повідомлень
про події безпеки та операційні логи від різних компонентів системи, дозволяючи
централізовано збирати, обробляти та корелювати дані, що є важливим для
своєчасного виявлення аномальної активності, характерної для програм-вимагачів.
Інтеграція Syslog з іншими системами моніторингу та захисту дозволяє
значно підвищити ефективність реакції на інциденти. Завдяки централізованому
збиранню логів з антивірусних засобів, систем резервного копіювання, мережевих
пристроїв та серверних платформ, інформація про підозрілі або шкідливі дії стає
доступною для системи кореляції подій (SIEM), що дозволяє зафіксувати факт
проникнення та встановити послідовність дій зловмисника. Таке комплексне
сприйняття подій є критичним для побудови контексту атак, що, у свою чергу,
забезпечує більш точне налаштування правил реагування та автоматичного
блокування загроз, мінімізуючи час реакції і потенційні збитки.
Більшість корпоративних рішень SIEM, таких як Splunk [48], Dell Security
Management Server, та Skyhigh Security SIEM, підтримують Syslog для збору та
інтеграції журналів. Syslog - це загальний і базовий протокол передачі журналів для
SIEM, що дозволяє централізувати та аналізувати дані про події безпеки.
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 51
Отже, ключова роль протоколу Syslog проявляється у простоті реалізації в
розробленій системі захисту і його інтеграції з платформами SIEM, які
забезпечують розширені можливості кореляції, аналізу та реагування на інциденти
безпеки.
Розроблена система захисту логує такі події:
● Запуск user-mode компонента/служби
● Приєднання драйвера до носія даних
● Від'єднання драйвера від носія даних
● Виявлення файлових операцій над файлом-приманкою
● Зупинка процесу
● Відновлення роботи процесу у випадку хибно-позитивного
спрацювання
● Створення дампу пам’яті процесу
● Невдала спроба аутентифікації
3.4. Програма для створення файлів-приманок
Для автоматичного створення файлів-приманок було розроблено скрипт
мовою Python. Скрипт приймає шляхи до директорій як аргументи і створює в них
файли-приманки. Цей скрипт створює файли-приманки, назви яких починаються з
символів “!”, “a”, “0” для того щоб створені файли-приманки були першими у
списку файлів при сортуванні за алфавітним порядком. Також, скрипт створює
файли-приманки, назви яких починаються з символів “~”,”z”,”9” на випадок, якщо
програма-вимагач сортує файли за зворотнім алфавітним порядком.
Також скрипт створює вкладену директорію з файлами-приманками на
випадок, якщо програма-вимагач обробляє файли за алгоритмом depth-first search.
Для цього скрипт рекурсивно сканує всі директорії і фіксує найбільшу кількість
вкладених папок. Далі скрипт створює директорію з більшою кількістю вкладень.
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 52
Наприклад, якщо в директорії C:\testfiles\ найбільш вкладена директорія це
C:\testfiles\folder1\folder2\ (дві вкладені директорії), то скрипт створить директорію
C:\testfiles\!!!rnsm_canary\!0\!0\ (три вкладені директорії).
Скрипт для створення файлів-приманок наведено в Додатку А. Під час
створення файлів-приманок, розроблена система захисту має бути вимкненою для
того щоб уникнути блокування роботи скрипту.
3.5. Перевірка ефективності роботи розробленої системи захисту
Ефективність роботи системи захисту було перевірено методом симуляції
ransomware атак. Для тестування було створено віртуальну машину з ОС Windows
11 25H2. На робочому столі та в директорії C:\testfiles\ було розміщено тестові
файли, що імітують цінну інформацію, зокрема, це PDF файли та зображення. Для
виявлення ransomware атак було створено наступні файли-приманки в таких
директоріях:
• Директорія робочого стола
• Директорія профілю користувача
• Коренева директорія локального диску C:\
• Директорія C:\testfiles\
Вивід скрипта під час створення файлів-приманок наведено в Додатку Б.
Після створення файлів-приманок, було встановлено FS Minifilter драйвер та
запущено службу. На рисунку 3.12 зображено процес приєднання системи захисту
до локального диску C:\
Рисунок 3.12 – Приєднання драйвера до локального диску C:\
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 53
Для перевірки реагування на ransomware атаки було використано такі
симулятори і реальні зразки ШПЗ:
Таблиця 3.1 – Перелік зразків програм-вимагачів для тестування
Назва SHA256 хеш-сума Опис
зразка
RanSim 9e4978cd7811aebc0d4cb Powershell скрипт для
679d6d50398a6158e5ac5 симуляції ransomware
494b58958769faf46b459 атак в контрольованій
4 папці C:\RanSim
WannaCry 24d004a104d4d54034dbc Програма-вимагач
ffc2a4b19a11f39008a575 WannaCry
aa614ea04703480b1022c
Conti 2fc6d7df9252b1e2c4eb3a Програма-вимагач Conti
d7d0d29c188d87548127c
44cebc40db9abe8e5aa35
Для відстеження файлових операцій та оцінки швидкості реагування на
ransomware атаки було використано логи від програми Process Monitor. Для
отримання загальної інформації про процес та стан його потоків було використано
програму Process Explorer. Обидві програми входять в склад набору утиліт
SysInternals від компанії Microsoft.
Тестування виявлення та протидії симулятору програми-вимагача
RanSim
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 54
RanSim - це скрипт для імітації роботи програм-вимагачів, написаний мовою
PowerShell. Він рекурсивно шукає файли в директорії C:\RanSim\ та шифрує файли
за допомогою алгоритму шифрування AES. RanSim не залишає жодних записок з
вимогою викупу, його призначення полягає виключно в шифруванні файлів.
Спочатку було створено директорію C:\RanSim\ та розміщено тестові файли
які імітують цінні дані (див.рис.3.13).
Рисунок 3.13 – Вміст створеної директорії C:\RanSim\
Далі було створено файли-приманки за допомогою скрипта мовою Python,
к о д я к о г о н а в е д е н и й в Д о д а т к у А ( д и в . р и с . 3 . 1 4 , 3 . 1 5 ) .
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 55
Рисунок 3.14 – Створення файлів-приманок в директорії C:\RanSim\
Рисунок 3.15 – Вміст директорії C:\RanSim\ після створення файлів-приманок
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 56
Після створення файлів-приманок, було запущено симулятор програми-
вимагача RanSim. Розроблена система захисту одразу виявила спробу запису даних
в файл-приманку і зупинила процес Powershell. На рисунку 3.16 зображено вікно
зупиненого процесу Powershell.
Рисунок 3.16 – Вікно зупиненого процесу Powershell
На рисунку 3.17 зображено вміст отриманого логу через Syslog, в якому
вказано, що процес Powershell намагався записати дані в створений зашифрований
файл.
Рисунок 3.17 – Сповіщення Syslog про виявлену ransomware атаку
На рисунку 3.18 показані операції під час запуску PowerShell скрипта:
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 57
Рисунок 3.18 – Файлові операції під час запуску PowerShell скрипта
На рисунку 3.19 показані операції створення та запису зашифрованих даних
в окремий файл з розширенням .encrypted. Цей файл містить мітку “rnsm_canary” в
назві, таким чином, запис даних в цей файл вважається початком ransomware атаки.
Розроблена система захисту успішно блокує операції запису в файл
(IRP_MJ_WRITE).
Рисунок 3.19 – Файлові операції під час шифрування файлів
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 58
На рисунку 3.20 зображені останні операції програми-вимагача перед
блокуванням.
Рисунок 3.20 – Останні операції процесу перед зупинкою
Таким чином, зупинка шкідливого процесу зайняла близько 54 мілісекунди.
Після зупинки процесу через REST API було створено повний дамп пам’яті
процесу і завершено процес (див. рис. 3.21).
Рисунок 3.21 – Процес створення повного дампу пам’яті та завершення процесу
через API запити
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 59
Тестування виявлення та протидії ШПЗ WannaCry
Розроблена система захисту успішно виявила і знешкодила програму-
вимагач WannaCry до початку шифрування файлів. Програму-вимагач було
запущено від імені адміністратора, оскільки програма не запускається від імені
звичайного користувача. На рисунку 3.22 показано журнали Syslog під час
виявлення атаки:
Рисунок 3.22 – Сповіщення Syslog при виявлені атаки
На рисунку 3.23 показані операції під час запуску програми-вимагача:
Рисунок 3.23 – Файлові операції під час запуску програми-вимагача WannaCry
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 60
На рисунку 3.24 показані операції створення тимчасових файлів в директорії.
Ця директорія містить мітку “rnsm_canary” в назві, таким чином, будь-яка операція
модифікації файлів в цій директорії вважається початком ransomware атаки:
Рисунок 3.24 – Файлові операції програми-вимагача WannaCry під час копіювання
декрипторів та сканування директорії
З цього моменту, FS Minifilter драйвер забороняє будь-які операції
модифікації файлів. На рисунку 3.25 зображені останні події від процесу програми-
вимагача:
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 61
Рисунок 3.25 – Останні події програми-вимагача WannaCry перед зупинкою
процесу
Таким чином, зупинка шкідливого процесу зайняла близько 7 мілісекунд. На
рисунку 3.26 зображені відомості про процес програми-вимагача WannaCry.
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 62
Рисунок 3.26 – Загальна інформація про процес програми-вимагача WannaCry
Як видно на рисунку, програма-вимагач здійснила підвищення привілеїв від
рівня адміністратора до рівня системи.
На рисунку 3.27 зображено стан потоків програми-вимагача. Як видно на
рисунку, всі потоки було успішно зупинено.
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 63
Рисунок 3.27 – Стан потоків зупиненого процесу програми-вимагача WannaCry
Після зупинки процесу програми-вимагача, було створено повний дамп
пам’яті процесу через API запит /api/processes/dump (див.рис. 3.28, 3.29).
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 64
Рисунок 3.28 – Результат виконання API запиту для створення дампу пам’яті
програми-вимагача
Рисунок 3.29 – Сповіщення Syslog під час створення дампу пам’яті програми-
вимагача
Тестування виявлення та протидії ШПЗ Conti
Розроблена система захисту успішно виявила і знешкодила програму-
вимагач Conti перед початком шифрування файлів. Програму-вимагач було
запущено від імені звичайного користувача. На рисунку 3.30 показано журнали
syslog під час виявлення атаки:
Рисунок 3.30 - Сповіщення syslog при виявлені атаки
На рисунку 3.31 показані операції під час запуску програми-вимагача:
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 65
Рисунок 3.31 - Перші операції програми-вимагача Conti
На рисунку 3.32 показана зафіксована операція створення текстового файлу
з вимогами викупу (readme.txt) в директорії C:\!!!rnsm_canary. Також програма-
вимагач почала шифрувати файли-приманки. Як видно на рисунку, всі операції
запису даних у файл (IRP_MJ_WRITE) заблоковані і мають статус “ACCESS
DENIED”:
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 66
Рисунок 3.32 – Виявлення та блокування атаки програми-вимагача Conti
На рисунку 3.33 зображені останні операції від процесу програми-вимагача.
Розроблена система успішно блокує ransomware атаку, програма-вимагач не може
здійснювати запис в файли після спроби шифрування файлів-приманок:
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 67
Рисунок 3.33 – Останні операції програми-вимагача Conti перед зупинкою
процесу
Таким чином, зупинка шкідливого процесу зайняла 42 мілісекунди. На
рисунку 3.34 зображені відомості про процес програми-вимагача Conti.
Рисунок 3.34 - Загальна інформація про процес програми-вимагача Conti
На рисунку 3.35 зображено стан потоків програми-вимагача. Як видно на
рисунку, всі потоки було успішно зупинено.
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 68
Рисунок 3.35 - Стан потоків зупиненого процесу програми-вимагача Conti
Після зупинки процесу програми-вимагача, було створено повний дамп
пам’яті процесу через API запит /api/processes/dump (див. рис. 3.36).
Рисунок 3.36 – Результат виконання API запиту для створення дампу пам’яті
програми-вимагача
Рисунок 3.37 - Сповіщення Syslog під час створення дампу пам’яті програми-
вимагача
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 69
Після створення дампу, процес програми-вимагач було завершено через API
запит /api/processes/terminate (див. рис. 3.38).
Рисунок 3.38 – Завершення процесу програми-вимагача через API запит
3.6. Висновки
У підсумку проведених досліджень було розроблено та експериментально
апробовано комплексну систему проактивного реагування на ransomware атаки, яка
поєднує низькорівневе виявлення масового шифрування файлів на рівні файлової
системи та високорівневі механізми нейтралізації загроз. Ключовою складовою
системи став FS Minifilter драйвер, що перехоплює файлові операції модифікації
файлів та блокує їх у разі виявлення взаємодії зі спеціально створеними файлами-
приманками. Функціонал блокування файлових операцій шкідливого процесу в
реальному часі, довело свою здатність ефективно блокувати масове шифрування
файлів.
Розроблений user-mode компонент виконує роль ключового елемента
координації, що забезпечує взаємодію між драйвером та механізмами реагування.
Завдяки роботі з привілеями системного рівня програма здатна призупиняти,
завершувати та аналізувати будь-який процес, який ініціював підозрілу активність.
Реалізований REST API надає адміністраторам можливість віддаленого втручання
під час інциденту, включно зі створенням повних дампів пам’яті, що дозволяє
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 70
отримати цінні артефакти для подальшого розслідування інциденту, зокрема ключі
шифрування файлів.
Важливою частиною системи стала інтеграція з протоколом syslog, що
забезпечила можливість централізованого збору інформації про інциденти та
подальше використання даних системою моніторингу безпеки або комплексними
платформами SIEM. Це створило передумови для підвищення рівня видимості
подій, кореляції дій зловмисника та оперативного оповіщення відповідальних осіб.
Розроблена система формує деталізовані журнали як про активність драйвера, так
і про дії user-mode компонента, що дозволяє повністю відтворити хронологію атаки,
оцінити швидкість реагування та забезпечити доказову базу для аналізу інцидентів.
Створений скрипт для генерації файлів-приманок відіграє важливу роль у
підвищенні ймовірності раннього виявлення атаки. Завдяки правильному
розміщенню та структурі файлів-приманок система успішно виявляє програми-
вимагачі незалежно від того, який порядок обходу файлової системи
використовується: сортування за алфавітом, зворотнє сортування або рекурсивний
пошук за алгоритмом depth-first search.
Результати експериментального тестування з використанням симулятору
програми-вимагача та реальних зразків програм-вимагачів WannaCry і Conti
підтвердили високу ефективність реалізованої системи. У всіх випадках атака була
зупинена до початку шифрування цінних даних, а час реакції становить кілька
мілісекунд. Система ефективно запобігає шифруванню файлів та надає можливість
створити повний дамп процесу для подальшого аналізу. Сукупність отриманих
результатів підтверджує, що запропонований підхід є ефективним та надійним
компонентом комплексу засобів захисту від програм-вимагачів для використання
у корпоративних середовищах, де швидкість і точність виявлення атаки визначають
масштаби можливих збитків.
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 71
ВИСНОВКИ
В роботі проведено аналіз принципу роботи сучасних програм-вимагачів та
розроблено метод для їх виявлення на основі моніторингу файлових операцій над
файлами-приманками. Файли-приманки створюються таким чином що вони
першими потрапили в поле зору програм-вимагачів під час сканування файлової
системи. Цей метод є універсальним для виявлення більшості різновидів програм-
вимагачів, оскільки спільним критерієм програм-вимагачів є характерні масові
операції пошуку та шифрування файлів.
В роботі розглянуті та проаналізовані принципи роботи різних зразків
сучасних програм-вимагачів, їх методи протидії існуючим засобам захисту. Для
реалізації методу виявлення програм-вимагачів було сформовано вимоги та
проаналізовано механізми моніторингу файлових операцій в операційних системах
Windows.
В розробленій системі виявлення ransomware атак, моніторинг файлових
операцій та первинне блокування шифрування файлів було реалізовано в FS
Minifilter драйвері. Ключовою перевагою цього методу моніторингу файлових
операцій є проактивна реакція та можливість блокування файлових операцій для
збереження цілісності файлів. Було проаналізовано можливі ризики завершення
процесів програм-вимагачів і запропоновано здійснювати зупинку процесу як
менш ризикований метод нейтралізації атаки. Також зупинка процесу дозволяє
зберегти повний дамп пам'яті програми-вимагача, що може містити ключ
шифрування файлів та іншу цінну інформацію з точки зору розслідування
інцидентів кібербезпеки.
Логування подій через протокол Syslog та віддалене керування через REST
API інтерфейс дозволяють легко інтегрувати розроблену систему захисту в
інфраструктуру з іншими засобами захисту.
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 72
Результати тестування ефективності розробленої системи з використанням
справжніх зразків програм-вимагачів показали високу швидкість виявлення та
нейтралізації ransomware атак. Система захисту проактивно виявляє файлові
операції над файлом-приманкою і миттєво блокує інші файлові операції від
шкідливого процесу для запобігання подальшого шифрування файлів. Час між
виявленням ransomware атаки та її зупинки становить десятки мілісекунд.
Таким чином можна зробити висновок, що запропонована система виявлення
та протидії ransomware атакам має високу ефективність та підходить для
практичного застосування.
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 73
СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ
1. Qilin Ransomware (Agenda): A Deep Dive. Check Point Software. URL:
https://www.checkpoint.com/cyber-hub/threat-prevention/ransomware/qilin-
ransomware/ (дата звернення: 20.11.2025).
2. LockBit 5.0 Analysis: Technical Deep Dive into the RaaS Giant’s Latest Upgrade.
Flashpoint. URL: https://flashpoint.io/blog/lockbit-5-0-analysis-technical-deep-dive-
into-the-raas-giants-latest-upgrade/ (дата звернення: 20.11.2025).
3. What is Conti Ransomware?. Akamai. URL:
https://www.akamai.com/glossary/what-is-conti-ransomware (дата звернення:
20.11.2025).
4. Delinea Whitepaper 2025 - State of ransomware report. Delinea Identity Security
and Privileged Access Management. URL:
https://delinea.com/hubfs/Delinea/whitepapers/delinea-whitepaper-2025-state-of-
ransomware-report.pdf (дата звернення: 20.11.2025).
5. Abrams L. Marks & Spencer breach linked to Scattered Spider ransomware attack.
BleepingComputer. URL: https://www.bleepingcomputer.com/news/security/marks-
and-spencer-breach-linked-to-scattered-spider-ransomware-attack/ (дата звернення:
20.11.2025).
6. Fall of KNP Logistics: the price of a vulnerable password. SOS Ransomware, an
anti-ransomware service. URL: https://sosransomware.com/en/ransomware-
en/vulnerable-password-sends-century-old-knp-into-bankruptcy-the-true-cost-of-
ransomware/ (дата звернення: 20.11.2025).
7. Evolution of Ransomware Threats 2025: Trends & Key Changes. Veeam. URL:
https://www.veeam.com/blog/evolution-ransomware-threats-2025.html (дата
звернення: 20.11.2025).
8. Checking-up on Health: Ransomware Accounts for 54% of Cybersecurity Threats.
ENISA. URL: https://www.enisa.europa.eu/news/checking-up-on-health-
ransomware-accounts-for-54-of-cybersecurity-threats (дата звернення: 20.11.2025).
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 74
9. Virtualization/Sandbox Evasion, Technique T1497 - Enterprise. MITRE ATT&CK.
URL: https://attack.mitre.org/techniques/T1497/ (дата звернення: 20.11.2025).
10. Abuse Elevation Control Mechanism: Bypass User Account Control, Sub-technique
T1548.002 - Enterprise. MITRE ATT&CK. URL:
https://attack.mitre.org/techniques/T1548/002/ (дата звернення: 20.11.2025).
11. Access Token Manipulation: Token Impersonation/Theft, Sub-technique T1134.001
- Enterprise. MITRE ATT&CK. URL:
https://attack.mitre.org/techniques/T1134/001/ (дата звернення: 20.11.2025).
12. Threat Analysis: Assemble LockBit 3.0 [NEST]. Cybereason - AI-Driven XDR
Platform | MDR | Retainers. URL:
https://www.cybereason.com/hubfs/dam/collateral/reports/Threat-Analysis-
Assemble-LockBit-3.pdf (дата звернення: 20.11.2025).
13. FindNextFileW function (fileapi.h) - Win32 apps. Microsoft Learn. URL:
https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-
findnextfilew#remarks (дата звернення: 20.11.2025).
14. LockBit 5.0. ANY.RUN. URL: https://app.any.run/tasks/88100c43-9932-407b-
bbb5-56dad6810c9d?p=6911f8ece525612b45ef7bcb (дата звернення: 20.11.2025).
15. WannaCry. ANY.RUN. URL: https://app.any.run/tasks/14d0e076-c0ed-4166-a3a9-
b9ceacee919b?p=6912f745e79b8be277e00e8a (дата звернення: 20.11.2025).
16. BART Ransomware. Recorded Future Triage. URL: https://tria.ge/250625-
dqpaxswrs6/behavioral1/analog?proc=84&q=.bart.zip (дата звернення:
20.11.2025).
17. BlackCat. ANY.RUN. URL: https://app.any.run/tasks/d3dd3a00-3dea-4eb2-a040-
a49e6e27a6f9?p=6913df12d8b0d98a42ff9fa8 (дата звернення: 20.11.2025).
18. Conti. ANY.RUN. URL: https://app.any.run/tasks/46f55882-77c2-4e19-9738-
6e4e1ca9ce23?p=6914ec23a932a1093943d4b2 (дата звернення: 20.11.2025).
19. Yuste J., Pastrana S. Avaddon ransomware: An in-depth analysis and decryption of
infected systems. Computers & Security. 2021. Т. 109. С. 102388. URL:
https://doi.org/10.1016/j.cose.2021.102388 (дата звернення: 20.11.2025).
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 75
20. Technical Analysis of BlueSky Ransomware. CloudSEK. URL:
https://www.cloudsek.com/blog/technical-analysis-of-bluesky-ransomware (дата
звернення: 20.11.2025).
21. NailaoLocker Ransomware’s "Cheese". FortiGuard Labs. URL:
https://www.fortinet.com/blog/threat-research/nailaolocker-ransomware-cheese
(дата звернення: 20.11.2025).
22. I/O Completion Ports - Win32 apps. Microsoft Learn. URL:
https://learn.microsoft.com/en-us/windows/win32/fileio/i-o-completion-ports (дата
звернення: 20.11.2025).
23. File and Directory Permissions Modification: Windows File and Directory
Permissions Modification, Sub-technique T1222.001 - Enterprise. MITRE
ATT&CK. URL: https://attack.mitre.org/techniques/T1222/001/ (дата звернення:
20.11.2025).
24. Ransomware Spotlight: LockBit. Trend Micro. URL:
https://www.trendmicro.com/vinfo/us/security/news/ransomware-
spotlight/ransomware-spotlight-lockbit (дата звернення: 20.11.2025).
25. TAU Threat Discovery: Conti Ransomware - VMware Security Blog. VMware.
URL: https://blogs.vmware.com/security/2020/07/tau-threat-discovery-conti-
ransomware.html (дата звернення: 20.11.2025).
26. A Deep Dive Into ALPHV/BlackCat Ransomware. SecurityScorecard. URL:
https://securityscorecard.com/research/deep-dive-into-alphv-blackcat-ransomware/
(дата звернення: 20.11.2025).
27. REvil/Sodinokibi Ransomware. Secureworks. URL:
https://www.secureworks.com/research/revil-sodinokibi-ransomware (дата
звернення: 20.11.2025).
28. WCry (WannaCry) Ransomware Analysis. Secureworks. URL:
https://www.secureworks.com/research/wcry-ransomware-analysis (дата звернення:
20.11.2025).
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 76
29. Locky Bart ransomware and backend server analysis. Malwarebytes Labs. URL:
https://www.malwarebytes.com/blog/news/2017/01/locky-bart-ransomware-and-
backend-server-analysis (дата звернення: 20.11.2025).
30. Unmasking BlackBasta: Inside the Ransomware Syndicateâs Leaked Operations.
Kudelski Security Research Center. URL:
https://kudelskisecurity.com/research/unmasking-blackbasta-inside-the-ransomware-
syndicates-leaked-operations (дата звернення: 20.11.2025).
31. STOP Djvu decryptor. Emsisoft: Free Ransomware Decryption Tools. URL:
https://www.emsisoft.com/en/ransomware-decryption/stop-djvu/ (дата звернення:
20.11.2025).
32. System Binary Proxy Execution, Technique T1218 - Enterprise. MITRE ATT&CK.
URL: https://attack.mitre.org/techniques/T1218/ (дата звернення: 20.11.2025).
33. Reflective call stack detections and evasions. IBM. URL:
https://www.ibm.com/think/x-force/reflective-call-stack-detections-evasions (дата
звернення: 20.11.2025).
34. Obfuscated Files or Information: Fileless Storage, Sub-technique T1027.011 -
Enterprise. MITRE ATT&CK. URL: https://attack.mitre.org/techniques/T1027/011/
(дата звернення: 20.11.2025).
35. Wa Nkongolo M. N., Tokmak M. Ransomware Detection Using Stacked
Autoencoder for Feature Selection. Indonesian Journal of Electrical Engineering and
Informatics (IJEEI). 2024. Т. 12, № 1. URL:
https://doi.org/10.52549/ijeei.v12i1.5109 (дата звернення: 20.11.2025).
36. Evasion using direct Syscalls. Unprotect Project. URL:
https://unprotect.it/technique/evasion-using-direct-syscalls/ (дата звернення:
20.11.2025).
37. DLL Unhooking. Unprotect Project. URL: https://unprotect.it/technique/dll-
unhooking/ (дата звернення: 20.11.2025).
38. Full DLL Unhooking with C++. Red Team Notes. URL:
https://www.ired.team/offensive-security/defense-evasion/how-to-unhook-a-dll-
using-c++ (дата звернення: 20.11.2025).
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 77
39. What is DLL Sideloading. Bitdefender TechZone. URL:
https://techzone.bitdefender.com/en/tech-explainers/what-is-dll-sideloading.html
(дата звернення: 20.11.2025).
40. REvil Ransomware Uses DLL Sideloading. McAfee Blog. URL:
https://www.mcafee.com/blogs/other-blogs/mcafee-labs/revil-ransomware-uses-dll-
sideloading/ (дата звернення: 20.11.2025).
41. An Empirically Comparative Analysis of Ransomware Binaries. Splunk | The Key to
Enterprise Resilience. URL:
https://www.splunk.com/content/dam/splunk2/en_us/gated/white-paper/an-
empirically-comparative-analysis-of-ransomware-binaries.pdf (дата звернення:
20.11.2025).
42. WannaCry, Software S0366. MITRE ATT&CK. URL:
https://attack.mitre.org/software/S0366/ (дата звернення: 20.11.2025).
43. SetFileTime function (fileapi.h) - Win32 apps. Microsoft Learn. URL:
https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-setfiletime
(дата звернення: 20.11.2025).
44. runtime/src/libraries/System.IO.FileSystem.Watcher/src/System/IO/FileSystemWatc
her.Win32.cs at main · dotnet/runtime. GitHub. URL:
https://github.com/dotnet/runtime/blob/main/src/libraries/System.IO.FileSystem.Wat
cher/src/System/IO/FileSystemWatcher.Win32.cs (дата звернення: 20.11.2025).
45. ELENOR-corp Ransomware: Mimic Ransomware Variant Targets Healthcare.
MorphiSec. URL: https://www.morphisec.com/blog/elenor-corp-mimic-
ransomware-variant/ (дата звернення: 20.11.2025).
46. Minispy File System Minifilter Driver - Code Samples. Microsoft Learn. URL:
https://learn.microsoft.com/en-us/samples/microsoft/windows-driver-
samples/minispy-file-system-minifilter-driver/ (дата звернення: 20.11.2025).
47. Mongoose :: Documentation. Mongoose. URL: https://mongoose.ws/documentation/
(дата звернення: 20.11.2025).
48. Splunk Docs. Splunk. URL: https://help.splunk.com/en/splunk-observability-
cloud/manage-data/available-data-sources/supported-integrations-in-splunk-
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 78
observability-cloud/opentelemetry-receivers/syslog-receiver (дата звернення:
20.11.2025).
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 79
ДОДАТОК А
Скрипт мовою Python для створення файлів-приманок:
import os, sys, random
honeypot_marker = 'rnsm_canary'
def create_honeypot_file(path, filename):
file_path = path.strip(os.sep)+os.sep+filename
with open(file_path,'w') as honeypot_file:
honeypot_file.write(f'Test file for detecting ransomware {random.randint(0,10000)}')
print("Created",file_path)
def find_deepest_directories(root_path):
max_depth = -1
# Walk the directory tree
for current_path, dirs, files in os.walk(root_path):
if honeypot_marker in current_path: continue # Skip honeypot directories and files
# Compute depth by counting separators
depth = current_path.count(os.sep)
if depth > max_depth:
max_depth = depth
return max_depth
paths = sys.argv[1:]
for path in paths:
root = os.path.realpath(path)
base_depth = root.count(os.sep)
depth = find_deepest_directories(root)
Арк.
мБІ-41.025.214.248 ПЗ 80 Змн. Арк. Дата
print(f"Creating honeypots for {path}")
print(f"Max directory depth: {depth-base_depth}")
# Honeypot directory for ransomware that might use depth-first file search
dfs_honeypot = os.sep.join([path,f'!!!{honeypot_marker}',*((depth-base_depth+1)*['!0'])])
os.makedirs(dfs_honeypot, exist_ok=True)
directories = [
path,
f'{path}{os.sep}!!!{honeypot_marker}',
dfs_honeypot
]
honeypot_filenames = [
f'!{honeypot_marker}.txt',
f'0{honeypot_marker}.xml',
f'a{honeypot_marker}.json',
f'~{honeypot_marker}.c',
f'9{honeypot_marker}.docx',
f'z{honeypot_marker}.zip',
]
for directory in directories:
for honeypot_filename in honeypot_filenames:
create_honeypot_file(directory, honeypot_filename)
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 81
ДОДАТОК Б
Процес створення файлів-приманок:
py C:\Users\%username%\Desktop\test\create_honeypots.py
C:\Users\%username%\Desktop\ C:\testfiles\ %userprofile% C:\
Creating honeypots for C:\Users\123\Desktop\
Max directory depth: 6
Created C:\Users\123\Desktop\!rnsm_canary.txt
Created C:\Users\123\Desktop\0rnsm_canary.xml
Created C:\Users\123\Desktop\arnsm_canary.json
Created C:\Users\123\Desktop\~rnsm_canary.c
Created C:\Users\123\Desktop\9rnsm_canary.docx
Created C:\Users\123\Desktop\zrnsm_canary.zip
Created C:\Users\123\Desktop\\!!!rnsm_canary\!rnsm_canary.txt
Created C:\Users\123\Desktop\\!!!rnsm_canary\0rnsm_canary.xml
Created C:\Users\123\Desktop\\!!!rnsm_canary\arnsm_canary.json
Created C:\Users\123\Desktop\\!!!rnsm_canary\~rnsm_canary.c
Created C:\Users\123\Desktop\\!!!rnsm_canary\9rnsm_canary.docx
Created C:\Users\123\Desktop\\!!!rnsm_canary\zrnsm_canary.zip
Created C:\Users\123\Desktop\\!!!rnsm_canary\!0\!0\!0\!0\!0\!0\!0\!rnsm_canary.txt
Created C:\Users\123\Desktop\\!!!rnsm_canary\!0\!0\!0\!0\!0\!0\!0\0rnsm_canary.xml
Created C:\Users\123\Desktop\\!!!rnsm_canary\!0\!0\!0\!0\!0\!0\!0\arnsm_canary.json
Created C:\Users\123\Desktop\\!!!rnsm_canary\!0\!0\!0\!0\!0\!0\!0\~rnsm_canary.c
Created C:\Users\123\Desktop\\!!!rnsm_canary\!0\!0\!0\!0\!0\!0\!0\9rnsm_canary.docx
Created C:\Users\123\Desktop\\!!!rnsm_canary\!0\!0\!0\!0\!0\!0\!0\zrnsm_canary.zip
Creating honeypots for C:\testfiles\
Max directory depth: 6
Created C:\testfiles\!rnsm_canary.txt
Created C:\testfiles\0rnsm_canary.xml
Created C:\testfiles\arnsm_canary.json
Created C:\testfiles\~rnsm_canary.c
Created C:\testfiles\9rnsm_canary.docx
Created C:\testfiles\zrnsm_canary.zip
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 82
Created C:\testfiles\\!!!rnsm_canary\!rnsm_canary.txt
Created C:\testfiles\\!!!rnsm_canary\0rnsm_canary.xml
Created C:\testfiles\\!!!rnsm_canary\arnsm_canary.json
Created C:\testfiles\\!!!rnsm_canary\~rnsm_canary.c
Created C:\testfiles\\!!!rnsm_canary\9rnsm_canary.docx
Created C:\testfiles\\!!!rnsm_canary\zrnsm_canary.zip
Created C:\testfiles\\!!!rnsm_canary\!0\!0\!0\!0\!0\!0\!0\!rnsm_canary.txt
Created C:\testfiles\\!!!rnsm_canary\!0\!0\!0\!0\!0\!0\!0\0rnsm_canary.xml
Created C:\testfiles\\!!!rnsm_canary\!0\!0\!0\!0\!0\!0\!0\arnsm_canary.json
Created C:\testfiles\\!!!rnsm_canary\!0\!0\!0\!0\!0\!0\!0\~rnsm_canary.c
Created C:\testfiles\\!!!rnsm_canary\!0\!0\!0\!0\!0\!0\!0\9rnsm_canary.docx
Created C:\testfiles\\!!!rnsm_canary\!0\!0\!0\!0\!0\!0\!0\zrnsm_canary.zip
Creating honeypots for C:\Users\123
Max directory depth: 14
Created C:\Users\123\!rnsm_canary.txt
Created C:\Users\123\0rnsm_canary.xml
Created C:\Users\123\arnsm_canary.json
Created C:\Users\123\~rnsm_canary.c
Created C:\Users\123\9rnsm_canary.docx
Created C:\Users\123\zrnsm_canary.zip
Created C:\Users\123\!!!rnsm_canary\!rnsm_canary.txt
Created C:\Users\123\!!!rnsm_canary\0rnsm_canary.xml
Created C:\Users\123\!!!rnsm_canary\arnsm_canary.json
Created C:\Users\123\!!!rnsm_canary\~rnsm_canary.c
Created C:\Users\123\!!!rnsm_canary\9rnsm_canary.docx
Created C:\Users\123\!!!rnsm_canary\zrnsm_canary.zip
Created C:\Users\123\!!!rnsm_canary\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!rnsm_canary.txt
Created C:\Users\123\!!!rnsm_canary\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\0rnsm_canary.xml
Created C:\Users\123\!!!rnsm_canary\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\arnsm_canary.json
Created C:\Users\123\!!!rnsm_canary\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\~rnsm_canary.c
Created C:\Users\123\!!!rnsm_canary\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\9rnsm_canary.docx
Created C:\Users\123\!!!rnsm_canary\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\zrnsm_canary.zip
Creating honeypots for C:\
Max directory depth: 15
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 83
Created C:\!rnsm_canary.txt
Created C:\0rnsm_canary.xml
Created C:\arnsm_canary.json
Created C:\~rnsm_canary.c
Created C:\9rnsm_canary.docx
Created C:\zrnsm_canary.zip
Created C:\\!!!rnsm_canary\!rnsm_canary.txt
Created C:\\!!!rnsm_canary\0rnsm_canary.xml
Created C:\\!!!rnsm_canary\arnsm_canary.json
Created C:\\!!!rnsm_canary\~rnsm_canary.c
Created C:\\!!!rnsm_canary\9rnsm_canary.docx
Created C:\\!!!rnsm_canary\zrnsm_canary.zip
Created C:\\!!!rnsm_canary\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!rnsm_canary.txt
Created C:\\!!!rnsm_canary\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\0rnsm_canary.xml
Created C:\\!!!rnsm_canary\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\arnsm_canary.json
Created C:\\!!!rnsm_canary\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\~rnsm_canary.c
Created C:\\!!!rnsm_canary\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\9rnsm_canary.docx
Created C:\\!!!rnsm_canary\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\!0\zrnsm_canary.zip
Арк.
Змн. Арк. Дата мБІ-41.025.214.248 ПЗ 84