An approach to website vulnerability detection based on static and dynamic analysis

This paper proposes an approach to automated website vulnerability detection based on the combination of static and dynamic analysis within a modular scanner architecture. The motivation for this study arises from the growing number of parameterized URLs in modern web applications and, as a conseque...

Full description

Saved in:
Bibliographic Details
Date:2026
Main Authors: Popereshnyak, S.V., Horokh, B.D.
Format: Article
Language:Ukrainian
Published: PROBLEMS IN PROGRAMMING 2026
Subjects:
Online Access:https://pp.isofts.kiev.ua/index.php/ojs1/article/view/875
Tags: Add Tag
No Tags, Be the first to tag this record!
Journal Title:Problems in programming
Download file: Pdf

Institution

Problems in programming
_version_ 1859479767757094912
author Popereshnyak, S.V.
Horokh, B.D.
author_facet Popereshnyak, S.V.
Horokh, B.D.
author_sort Popereshnyak, S.V.
baseUrl_str https://pp.isofts.kiev.ua/index.php/ojs1/oai
collection OJS
datestamp_date 2026-02-12T15:27:30Z
description This paper proposes an approach to automated website vulnerability detection based on the combination of static and dynamic analysis within a modular scanner architecture. The motivation for this study arises from the growing number of parameterized URLs in modern web applications and, as a consequence, redundant crawling and the high cost of multi-variant testing under limited time and resource budgets in DevSecOps/CI/CD scenarios. The proposed approach is built on a two-stage pipeline: preliminary static analysis of a web resource, which includes sitemap construction by a crawler with depth control, extraction of endpoints, parameters, and input forms, as well as URL template normalization through the generalization of dynamic identifiers; and dynamic vulnerability testing for a normalized set of test points with parallel execution of isolated checks and aggregation of results into machine-readable formats. Quality and performance evaluation metrics are proposed, including precision/recall, the request reduction ratio, and throughput, which enable quantitative assessment of the impact of preliminary normalization and the efficiency of multithreaded processing. The implementation is realized as a Java-based CLI utility with a plugin-based testing model, facilitating extensibility for new vulnerability classes without modification of the core system. Experimental validation was conducted using benchmark vulnerable applications OWASP Juice Shop and OWASP WebGoat, as well as proprietary projects; the results demonstrate a significant reduction in crawler execution time and the achievement of acceptable throughput depending on deployment conditions. The obtained results confirm the effectiveness of combining static structuring of the search space with targeted dynamic checks to improve the scalability and reproducibility of web security analysis.Problems in programming 2025; 4: 41-52
first_indexed 2026-03-12T17:51:16Z
format Article
fulltext Програмні системи захисту інформації 41 © С.В. Поперешняк, Б.Д. Горох, 2025 ISSN 1727-4907. Проблеми програмування. 2025. №4 УДК 004.056 : 004.738.5 https://doi.org/10.15407/pp2025.04.041 С.В. Поперешняк, Б.Д. Горох ПІДХІД ДО ПОШУКУ ВРАЗЛИВОСТЕЙ ВЕБСАЙТІВ НА ОСНОВІ СТАТИЧНОГО Й ДИНАМІЧНОГО АНАЛІЗУ У статті запропоновано підхід до автоматизованого пошуку вразливостей вебсайтів на основі поєд- нання статичного та динамічного аналізу в межах модульної архітектури сканера. Дослідження зумо- влене зростанням кількості параметризованих URL у сучасних вебзастосунках і, як наслідок, надлиш- ковість обходів та висока вартість багатоваріантних перевірок при обмежених часових і ресурсних бюджетах у сценаріях DevSecOps/CI/CD. Підхід базується на двоетапному конвеєрі: попередній ста- тичний аналіз вебресурсу, що включає побудову карти сайту пошуковим роботом із контролем гли- бини, вилучення кінцевих точок, параметрів і форм введення, а також нормалізацію URL -шаблонів через узагальнення динамічних ідентифікаторів; динамічне тестування вразливостей для нормалізо- ваної множини тестових точок із паралельним виконанням ізольованих перевірок та агрегацією ре- зультатів у формати, придатні для автоматизованого оброблення. Запропоновано метрики оцінювання якості та продуктивності, зокрема precision/recall, коефіцієнт редукції запитів і пропускну здатність, що дозволяють кількісно оцінити ефект попередньої нормалізації та ефективність багатопотокової об- робки. Реалізацію виконано як CLI-утиліту на Java з плагінною моделлю тестів, що спрощує розши- рення системи під нові класи вразливостей без модифікації ядра. Експериментальну перевірку прове- дено на еталонних вразливих застосунках OWASP Juice Shop і OWASP WebGoat та на власних проєк- тах; показано суттєве скорочення часу роботи пошукового робота та досягнення прийнятної пропуск- ної здатності залежно від умов розгортання. Отримані результати підтверджують доцільність комбі- нування статичного структурування простору пошуку з цільовими динамічними перевірками для під- вищення масштабованості та відтворюваності аналізу безпеки вебресурсів. Ключові слова: веббезпека; вразливості; статичний аналіз; динамічний аналіз; URL-нормалізація; crawler; модульна архітектура; багатопотокове сканування; ІоТ, DevSecOps. S. Popereshnyak, B. Horokh AN APPROACH TO WEBSITE VULNERABILITY DETECTION BASED ON STATIC AND DYNAMIC ANALYSIS This paper proposes an approach to automated website vulnerability detection based on the combination of static and dynamic analysis within a modular scanner architecture. The motivation for this study arises from the growing number of parameterized URLs in modern web applications and, as a consequence, redundant crawling and the high cost of multi-variant testing under limited time and resource budgets in DevSecOps/CI/CD scenarios. The proposed approach is built on a two-stage pipeline: preliminary static analysis of a web resource, which includes sitemap construction by a crawler with depth control, extraction of endpoints, parameters, and input forms, as well as URL template normalization through the generalization of dynamic identifiers; and dynamic vulnerability testing for a normalized set of test points with parallel execution of isolated checks and aggregation of results into machine-readable formats. Quality and performance evaluation metrics are proposed, including precision/recall, the request reduction ratio, and throughput, which enable quantitative assessment of the impact of preliminary normalization and the efficiency of multithreaded processing. The implementation is realized as a Java-based CLI utility with a plugin-based testing model, facilitating extensibility for new vulnerability classes without modification of the core system. Experimental validation was conducted using benchmark vulnerable applications OWASP Juice Shop and OWASP WebGoat, as well as proprietary projects; the results demonstrate a significant reduction in crawler execution time and the achievement of acceptable throughput depending on deployment conditions. The obtained results confirm the effectiveness of combining static structuring of the search space with targeted dynamic checks to improve the scalability and reproducibility of web security analysis. Key words: web security; vulnerabilities; static analysis; dynamic analysis; URL normalization; crawler; modular architecture; multithreaded scanning; IoT; DevSecOps. Програмні системи захисту інформації 42 Вступ Вебзастосунки та вебсайти залиша- ються одними з основних цілей кібератак через високу динамічність коду, залежність від сторонніх компонентів і складні лан- цюги обробки користувацького введення. Типові класи вразливостей, зокрема, ін’єкції, XSS, помилки конфігурації, слабкі HTTP-заголовки та SSRF проявляються як на рівні логіки застосунку, так і на рівні ро- згортання та мережевої взаємодії, що зумо- влює необхідність поєднання різних мето- дів аналізу. Поширення практик DevSecOps і CI/CD актуалізує потребу в автоматизова- них і відтворюваних інструментах оціню- вання безпеки вебресурсів. Водночас на практиці сканери стикаються з надлишко- вим обходом великої кількості параметри- зованих URL та високою вартістю багато- варіантних перевірок для різних класів вра- зливостей за обмежених часових і ресурс- них бюджетів. У роботі запропоновано підхід до пошуку вразливостей вебсайтів на основі комбінування статичного і динамічного аналізу в межах модульної архітектури ска- нера. Підхід передбачає попередню побу- дову карти сайту за допомогою crawler’а з обмеженням глибини, нормалізацію URL- шаблонів для зменшення дублювання логі- чно еквівалентних сторінок, багатопотоко- вий запуск ізольованих тестів вразливостей та агрегування результатів у форматі, при- датному для подальшого аналізу й інтегра- ції. Актуальність розроблення таких си- стем зумовлена зростанням кількості й складності атак на вебресурси, які є крити- чними компонентами сучасної інформацій- ної інфраструктури та обробляють конфіде- нційні дані. Автоматизовані засоби пошуку вразливостей дозволяють зменшити трудо- місткість ручного аудиту, підвищити регу- лярність перевірок і сприяють впрова- дженню безпечних практик розроблення програмного забезпечення, що є ключовим чинником забезпечення стійкості вебзасто- сунків. Аналіз останніх досліджень і публікацій. У сучасних дослідженнях із безпеки вебзастосунків простежується стійка тенде- нція до інтеграції засобів автоматизованого аналізу у процеси DevSecOps та CI/CD, а та- кож до поєднання статичних і динамічних методів виявлення вразливостей. Значна кі- лькість робіт зосереджена на подоланні об- межень окремих підходів, зокрема висо- кого рівня хибнопозитивних спрацювань статичного аналізу та ресурсомісткості ди- намічного тестування. У роботі [1] проведено системний аналіз проблеми хибнопозитивних спрацю- вань у статичному аналізі, окреслено су- часні підходи до її зменшення та підкрес- лено доцільність комбінування SAST із ін- шими видами аналізу для підвищення прак- тичної цінності результатів. Ефективність динамічного аналізу вебзастосунків дослі- джується в роботі [2], де показано, що ре- зультативність чорних сканерів істотно за- лежить від якості виявлення кінцевих точок і параметрів, а також від обмежень на кіль- кість HTTP-запитів. Концептуальні засади поєднання статичного й динамічного аналізу узагаль- нено у [3], де обґрунтовано підхід зміша- ного аналізу безпеки як способу підви- щення масштабованості та відтворюваності перевірок безпеки вебзастосунків. Практи- чні аспекти застосування шаблонного ста- тичного аналізу для виявлення типових вразливостей OWASP Top 10 розглянуто у роботі [4], що підтверджує доцільність ви- користання легковагових статичних мето- дів як попереднього фільтра. Порівняльний огляд сучасних пара- метрів безпеки вебзастосунків і тенденцій їх розвитку наведено у дослідженні [5], де підкреслюється необхідність переходу до модульних і адаптивних засобів аналізу безпеки. Роботи [6], [7] присвячені застосу- ванню інтелектуальних систем і методів машинного навчання для виявлення вторг- нень та аномалій, що демонструє потенціал таких підходів для зменшення кількості хи- бних спрацювань і підвищення точності де- текції. Програмні системи захисту інформації 43 Питання інтерпретації та візуалізації результатів динамічного тестування у скла- дних багатопроєктних середовищах розгля- нуто в роботі [8], а використання методів машинного навчання для виявлення веба- так — у дослідженні [9]. Ці роботи підкрес- люють актуальність поєднання класичних методів аналізу з інтелектуальними підхо- дами та структурованим поданням резуль- татів. Таким чином, аналіз сучасних публі- кацій показує, що актуальною науково- практичною задачею залишається інжене- рно обґрунтоване комбінування статичного структурування простору пошуку з цільо- вими динамічними перевірками в межах модульних і масштабованих архітектур. За- пропонований у даній роботі підхід відпо- відає цим тенденціям і розвиває їх у напря- мку зменшення надлишкових перевірок та підвищення ефективності автоматизова- ного аналізу безпеки вебресурсів. Мета та завдання дослідження. Метою роботи є розроблення та обґрунту- вання підходу до пошуку вразливостей вебсайтів на основі поєднання статичного та динамічного аналізу в модульній архіте- ктурі сканера, який зменшує надлишкові запити за рахунок нормалізації URL-шаб- лонів, забезпечує масштабоване багатопо- токове виконання тестів та формує резуль- тати у вигляді, придатному для інтеграції з процесами забезпечення якості та безпеки програмного забезпечення. Виклад основного матеріалу Вимоги до програмного забезпе- чення та обґрунтування технологічних рішень. Сучасні вебзастосунки є базовим середовищем реалізації бізнес-процесів у сферах електронної комерції, фінансових послуг, електронного урядування та цифро- вих сервісів. Водночас зростання функціо- нальної складності вебресурсів супрово- джується підвищенням рівня ризиків, зумо- влених як технічними чинниками, так і людським фактором. Незважаючи на знач- ний розвиток засобів захисту, найбільш по- ширеними залишаються такі класи вразли- востей, як SQL-ін’єкції, міжсайтове вико- нання сценаріїв (XSS), підробка міжсайто- вих запитів (CSRF), а також помилки в ме- ханізмах автентифікації та авторизації. Ефективне виявлення зазначених вразливо- стей потребує використання спеціалізова- них програмних засобів, огляд яких було здійснено в попередньому розділі. Аналіз наявних інструментів пока- зує, що більшість із них або орієнтовані на вузьке коло задач, або характеризуються високою ресурсомісткістю та обмеженою гнучкістю налаштувань. У зв’язку з цим ви- никає необхідність формування узагальне- них системних вимог до програмного забез- печення, яке поєднує ефективність автома- тизованого аналізу з можливістю адаптації до різних сценаріїв використання. Ключо- вими вимогами в цьому контексті є висока точність сканування, помірні витрати обчи- слювальних ресурсів, гнучкі механізми конфігурації, підтримка інтеграції з іншими засобами безпеки через стандартизовані формати даних, а також можливість пода- льшого розширення функціональності. На основі зазначених міркувань сфо- рмульовано такі системні вимоги до розро- блюваного програмного забезпечення: за- безпечення кросплатформної роботи з підт- римкою основних операційних систем; ви- користання модульної архітектури, що до- зволяє додавати нові типи перевірок без мо- дифікації ядра; мінімальний поріг входу для інтеграції із зовнішніми інструментами та процесами; підтримка декількох форма- тів звітності, зокрема, HTML і JSON для по- дальшого аналізу результатів. Відповідно до визначених вимог об- ґрунтовано вибір технологічних рішень. За основний спосіб взаємодії з користувачем обрано інтерфейс командного рядка, що за- безпечує простоту розгортання, зручність автоматизації та інтеграції з іншими систе- мами, а також відсутність потреби у додат- ковій серверній інфраструктурі. Для реалі- зації програмного забезпечення викорис- тано мову програмування Java, яка гарантує кросплатформність, надає розвинені засоби для паралельного виконання завдань і міс- тить зрілу екосистему бібліотек для роботи з HTTP-протоколом та модульною архітек- турою. Функціональну логіку роботи сис- теми формалізовано за допомогою BPMN- Програмні системи захисту інформації 44 моделі бізнес-процесу «Пошук вразливос- тей веб-сайту» (Рис.1). Відповідно до цієї моделі користу- вач ініціює процес, задаючи адресу вебре- сурсу для аналізу та, за потреби, додаткові параметри, що визначають пріоритети або обмеження тестування. У разі некоректно- сті введених даних або недоступності ресу- рсу система формує повідомлення про по- милку. Далі здійснюється послідовне або паралельне виконання набору перевірок на наявність вразливостей, під час якого кори- стувач може отримувати попереджувальні повідомлення про виявлення критичних ри- зиків. Завершальним етапом є формування звіту з результатами аналізу та інформу- вання користувача про місце його збере- ження. Запропонована сукупність вимог і технологічних рішень створює основу для реалізації підходу, що відповідає меті дос- лідження та забезпечує практичну придат- ність системи для автоматизованого по- шуку вразливостей вебсайтів. Комбінування статичного і дина- мічного аналізу. Запропонований у роботі підхід до пошуку вразливостей вебсайтів базується на поєднанні методів статичного та динамічного аналізу в межах єдиного ке- рованого процесу сканування. Таке комбі- нування дозволяє зменшити надлишковість динамічних перевірок, підвищити відтво- рюваність результатів та оптимізувати ви- користання обчислювальних і мережевих ресурсів без втрати повноти аналізу. На першому етапі застосовується статичний аналіз вебресурсу, який викону- ється без активної взаємодії з логікою сер- вера. У межах цього етапу здійснюється по- будова мапи сайту за допомогою пошуко- вого робота, аналіз структури HTML-доку- ментів, форм введення даних, параметризо- ваних URL та HTTP-заголовків. Результа- том статичного аналізу є множина виявле- них кінцевих точок, які потенційно можуть бути вразливими до експлуатації. Нехай 𝑈𝑈 — множина всіх URL-адрес, виявлених у процесі обходу вебресурсу. З метою зменшення надлишкового скану- вання виконується нормалізація URL-шаб- лонів, у ході якої динамічні параметри (чи- слові ідентифікатори, UUID, хеші тощо) за- мінюються узагальненими маркерами. У результаті формується зменшена множина логічно унікальних шаблонів: 𝑈𝑈𝑛𝑛 ⊆ 𝑈𝑈. Для кожного нормалізованого шаб- лону 𝑢𝑢 ∈ 𝑈𝑈𝑛𝑛 визначається множина параме- трів 𝑃𝑃(𝑢𝑢), що використовуються у запитах або формах введення даних. Тоді множина тестових точок для динамічного аналізу ви- значається як: 𝑇𝑇 = ⋃ 𝑃𝑃(𝑢𝑢) 𝑢𝑢∈𝑈𝑈𝑛𝑛 . Таким чином, динамічні перевірки виконуються не для всіх виявлених URL, а лише для узагальнених шаблонів і пов’яза- них із ними параметрів, що істотно скоро- чує кількість HTTP-запитів. Ефективність такого поєднання ста- тичного та динамічного аналізу може бути кількісно оцінена за допомогою коефіціє- нта редукції запитів: Рис. 1. Схема бізнес-процесу «Пошук вразливостей вебсайту» Програмні системи захисту інформації 45 𝑅𝑅 = 1 − ∣ 𝑈𝑈𝑛𝑛 ∣ ∣ 𝑈𝑈 ∣ , де ∣ 𝑈𝑈 ∣ — кількість первинно вияв- лених URL, а ∣ 𝑈𝑈𝑛𝑛 ∣ — кількість нормалізо- ваних URL-шаблонів. Значення цієї мет- рики характеризує ступінь зменшення над- лишкових перевірок за рахунок поперед- нього статичного аналізу. На другому етапі здійснюється ди- намічний аналіз, який полягає у виконанні активних тестів вразливостей (DAST) для кожної точки 𝑡𝑡 ∈ 𝑇𝑇. Динамічні перевірки реалізуються у вигляді ізольованих асинх- ронних задач, що виконуються паралельно та використовують різні корисні наванта- ження (payloads) залежно від класу вразли- вості. Такий підхід дозволяє поєднати гли- бину аналізу з прийнятним часом вико- нання та контрольованим навантаженням на цільовий ресурс. Загальний конвеєр комбінування статичного і динамічного аналізу в розроб- леній системі пошуку вразливостей вебсай- тів наведено на рис. 2. Представлена схема ілюструє послідовність переходу від пер- винного збору інформації про вебресурс до виконання цільових динамічних перевірок та агрегування результатів у єдиний звіт. Рис. 2. Конвеєр комбінування стати- чного та динамічного аналізу у системі по- шуку вразливостей вебсайтів Узагальнено процес комбінування статичного та динамічного аналізу може бути поданий у вигляді композиції операто- рів: 𝐴𝐴 = 𝐷𝐷𝐴𝐴𝐷𝐷𝑇𝑇(𝐷𝐷𝐴𝐴𝐷𝐷𝑇𝑇(𝑊𝑊)), де 𝑊𝑊 — цільовий вебресурс, 𝐷𝐷𝐴𝐴𝐷𝐷𝑇𝑇(⋅) — опе- ратор статичного аналізу, що формує стру- ктуру тестових точок, а DAST(⋅) — оператор динамічного тестування, який виконує ак- тивні перевірки на вразливості. Запропонований підхід дозволяє по- єднати переваги статичного аналізу, зок- рема, масштабованість і низьку інвазив- ність, із точністю та практичною значущі- стю динамічного тестування. Це забезпечує зменшення надлишкових запитів, підви- щення ефективності сканування та придат- ність системи до використання в автомати- зованих процесах забезпечення якості та безпеки вебзастосунків. Архітектура програмного забезпе- чення системи пошуку вразливостей. Для реалізації запропонованого підходу до автоматизованого пошуку вразливостей вебсайтів обрано модульну архітектуру програмного забезпечення з підтримкою розширення функціональності через пла- гіни. Така архітектура забезпечує гнучкість системи, її адаптацію до різних класів враз- ливостей і можливість еволюційного розви- тку без модифікації ядра. Архітектурні рішення ґрунтуються на використанні усталених проєктних пате- рнів, що дозволяє досягти балансу між роз- ширюваністю, продуктивністю та зручні- стю супроводу. Кожен тип перевірки враз- ливостей реалізується як окремий плагін, який динамічно підвантажується під час ви- конання, що спрощує додавання нових ал- горитмів статичного та динамічного ана- лізу. Реалізація плагінного механізму базу- ється на Java ServiceLoader API та забезпе- чує ізоляцію модулів тестування і зниження ризику поширення помилок між компонен- тами. Взаємодія користувача з системою організована через інтерфейс командного рядка із застосуванням патерну Command, що дозволяє відокремити обробку команд від бізнес-логіки та спростити розширення набору функцій. Реалізація механізмів тес- Web resource Static analysis (HTML, DOM, forms, URLs) URL normalization Selection of test points Dynamic analysis (DAST) (payload injection) Result aggregation Програмні системи захисту інформації 46 тування вразливостей ґрунтується на пате- рні Strategy, який забезпечує взаємозамін- ність алгоритмів виявлення та підтримує комбінування статичних і динамічних ме- тодів аналізу в межах одного процесу ска- нування. Для підвищення продуктивності си- стема підтримує багатопотокове виконання перевірок із використанням механізмів Java Concurrency API. Паралельне виконання не- залежних тестів дозволяє скоротити час аналізу та забезпечити масштабованість на багатоядерних обчислювальних платфор- мах. Зберігання сигнатур вразливостей, шаблонів тестування та результатів скану- вання реалізовано у форматі структурова- них JSON-файлів без використання зовніш- ніх СУБД. Таке рішення підвищує портати- вність програмного забезпечення та спро- щує його розгортання й оновлення. Архіте- ктура системи узгоджується із принципом єдиної відповідальності та передбачає чіт- кий розподіл функцій між модулем коман- дного інтерфейсу, ядром керування проце- сом аналізу, підсистемою плагінів, моду- лями сканування та формування звітів, що Рис. 3. Діаграма C4 Model першого рівня Програмні системи захисту інформації 47 спрощує тестування, супровід і подальший розвиток системи. Загальна структура системи та взає- модія її компонентів відображені за допо- могою діаграм C4 Model першого та дру- гого рівнів (рисунки 3 і 4). Для наочного подання структури програмного забезпечення та взаємодії його складових у роботі використано нотацію C4 Model, яка дозволяє поетапно деталізувати архітектурні рішення від загального контек- сту до рівня окремих компонентів. Діаграма першого рівня (Context Diagram) відображає систему пошуку враз- ливостей як єдиного програмного компле- ксу, що взаємодіє з користувачем та зовні- шніми вебресурсами, які підлягають ана- лізу. На цьому рівні акцент зроблено на ролі системи в загальному процесі забезпе- чення безпеки вебсайтів та її інтеграції в ро- бочі сценарії використання. Діаграма другого рівня (Container Diagram) деталізує внутрішню структуру системи, виокремлюючи основні контей- нери та модулі, зокрема, командний інтер- фейс, ядро керування процесом скану- вання, підсистему плагінів, модуль вико- нання тестів і підсистему формування зві- тів, а також їхні інформаційні потоки. Така декомпозиція дозволяє чітко простежити розподіл відповідальності між компонен- тами та обґрунтовує вибір модульної архі- тектури як основи для реалізації запропоно- ваного підходу до пошуку вразливостей вебсайтів. Конструювання програмного за- безпечення. Програмна реалізація системи пошуку вразливостей вебсайтів базується на сукупності алгоритмічних та інженерних рішень, спрямованих на підвищення ефек- тивності виявлення вразливостей і оптимі- зацію використання обчислювальних ресу- рсів. Реалізація виконана у вигляді набору взаємодіючих компонентів, інкапсульова- них у відповідні класи з перевизначенням базових методів та модифікацією традицій- них підходів до аналізу вебресурсів. До ключових функціональних компонентів си- стеми належать інтелектуальний пошуко- вий робот, набір тестів вразливостей та ме- ханізми запобігання циклічному вико- нанню процесів сканування. Основні ком- поненти та відповідні алгоритмічні рі- шення системи узагальнено в табл. 3.1. Рис. 4. Діаграма C4 Model другого рівня Програмні системи захисту інформації 48 Таблиця 1. Основні компоненти та алгоритмічні рішення системи Компонент Призначення Ключові алгоритмічні / інженерні рішення URL-нормалізація Усунення надлишкового сканування Узагальнення динамічних параметрів URL за шаблонами Web crawler Побудова мапи сайту Рекурсивний обхід з обмеженням гли- бини та фільтрацією Модулі тестування Виявлення вразливостей Strategy-патерн для різних типів атак Паралельний вико- навець Прискорення аналізу ExecutorService, асинхронна агрегація Модель даних Зберігання результатів Незмінні структури, JSON-серіаліза- ція CLI-інтерфейс Взаємодія з користувачем Command-патерн, Picocli Центральним елементом логіки ана- лізу є алгоритм нормалізації URL-шабло- нів, реалізований у модулі попередньої об- робки даних. Його призначення полягає в усуненні надлишкового сканування сторі- нок з ідентичною структурною логікою, які відрізняються лише значеннями динаміч- них параметрів. Алгоритм виконує деком- позицію URL-адреси на сегменти та засто- совує набір регулярних виразів для вияв- лення типових змінних ідентифікаторів (UUID, числові та шістнадцяткові зна- чення, хеші), які замінюються узагальне- ними маркерами. Це дозволяє агрегувати множину фактичних URL в єдиний шаблон для подальшого тестування та істотно ско- ротити час сканування без втрати повноти аналізу. Підвищення продуктивності сис- теми досягається за рахунок багатопотоко- вого виконання перевірок із використанням пулу потоків, розмір якого конфігурується відповідно до апаратних можливостей пла- тформи. Кожен тест на вразливість (SQL- ін’єкції, XSS, CSRF тощо) виконується як ізольоване асинхронне завдання з подаль- шою агрегацією результатів, що забезпечує ефективне використання багатоядерних си- стем і скорочення загального часу аналізу. Процес підготовки даних підтриму- ється інтелектуальним пошуковим робо- том, який реалізує рекурсивний обхід вебресурсу з обмеженням глибини та філь- трацією статичних ресурсів. Такий підхід дозволяє сформувати мапу сайту, зосере- джену на потенційно вразливих елементах, зокрема, сторінках із формами введення та параметризованими запитами. Програмна структура системи побу- дована відповідно до принципів об’єктно- орієнтованого програмування з викорис- танням усталених патернів проєктування. Патерн Factory уніфікує створення модулів тестування, Strategy забезпечує взаємоза- мінність алгоритмів виявлення вразливос- тей, Builder використовується для гнучкого формування конфігурацій сканування, а Command реалізує взаємодію з користува- чем через інтерфейс командного рядка, спрощуючи автоматизацію використання інструмента. Модель даних системи спроєктована на основі незмінних структур, що гарантує коректність роботи в умовах багатопотоко- вого доступу. Основними сутностями є мо- делі вразливостей, результати сканування та контекст виконання, який зберігає конфігу- рацію та стан HTTP-клієнта. Такий підхід до- зволяє уникнути станів гонки та забезпечити цілісність даних під час паралельної обробки. З урахуванням портативного харак- теру інструмента збереження даних реалі- зовано без використання реляційних СУБД — на основі файлової системи у форматі Програмні системи захисту інформації 49 JSON. Результати аналізу зберігаються у структурованому, людиночитабельному вигляді, придатному для подальшого ана- лізу та експорту. Корисні навантаження для тестів також зберігаються у зовнішніх JSON-ресурсах, що дозволяє оновлювати базу знань системи без перекомпіляції про- грамного коду. Технологічний стек реалізації базу- ється на мові програмування Java та бібліо- теках з відкритим кодом. Для реалізації CLI-інтерфейсу використано Picocli, мере- жева взаємодія здійснюється через HTTP- клієнт OkHttp, аналіз HTML-коду — за до- помогою Jsoup, а серіалізація даних — біб- ліотекою Jackson. Логування реалізовано з використанням SLF4J і Logback, візуаліза- цію прогресу забезпечують Jansi та ProgressBar, а збірка й керування залежнос- тями виконуються за допомогою Gradle. Аналіз якості програмного забез- печення. З урахуванням функціонального призначення та архітектурних особливос- тей розробленої системи для пошуку враз- ливостей вебсайтів якість програмного за- безпечення оцінювалася за прикладно-оріє- нтованими метриками, що відображають як ефективність виявлення загроз, так і проду- ктивність роботи системи. До них належать точність і повнота, коефіцієнт редукції за- питів та пропускна здатність. Метрики точності (precision) та пов- ноти (recall) визначалися на основі тесту- вання системи на заздалегідь відомих враз- ливих вебзастосунках і характеризують здатність коректно ідентифікувати реальні вразливості, відрізняти їх від хибних спра- цювань і забезпечувати покриття відомих класів загроз у процесі статичного та дина- мічного аналізу. Коефіцієнт редукції запитів викори- стано для оцінювання ефективності алгори- тму нормалізації URL-шаблонів і характе- ризує зменшення кількості HTTP-запитів за рахунок усунення дубльованих логічних сутностей без втрати повноти аналізу. Про- пускна здатність системи відображає ефек- тивність реалізації багатопотокової архіте- ктури та накладні витрати HTTP-клієнта OkHttp, визначаючи кількість запитів, що обробляються за одиницю часу. Експериментальна перевірка якості програмного забезпечення виконувалася з використанням еталонних вразливих вебза- стосунків OWASP Juice Shop і OWASP WebGoat, а також власних експерименталь- них проєктів. У процесі оптимізації алгоритмів та архітектурних рішень було досягнуто істот- ного покращення продуктивності: час ро- боти пошукового робота скоротився приб- лизно з 30 хвилин до 2 хвилин для типового сценарію аналізу. Пропускна здатність сис- теми становить близько 150 запитів за секу- нду для локально розгорнутих ресурсів і до 10 запитів за секунду для віддалених сайтів. Під час тестування підтверджено здатність платформи ефективно виявляти проблеми конфігурації CORS-заголовків, параметрів, потенційно вразливих до SSRF, а також інші поширені конфігураційні та логічні вади за- лежно від специфіки цільового ресурсу. Основні результати експеримента- льної оцінки узагальнено в табл. 2. Таблиця 2. Результати оцінювання якості та продуктивності програмного забезпечення Метрика Умови тестування Отримане зна- чення Час роботи пошукового робота До оптимізації ~30 хв Час роботи пошукового робота Після оптимізації ~2 хв Пропускна здатність Локально розгорнутий ресурс ~150 запитів/с Пропускна здатність Віддалений вебсайт ~10 запитів/с Виявлення CORS-вразливостей OWASP Juice Shop, WebGoat Успішне Виявлення параметрів, вразливих до SSRF Еталонні та власні проєкти Успішне Програмні системи захисту інформації 50 Обговорення результатів та перспективи розвитку Отримані результати підтверджують доцільність запропонованого підходу до пошуку вразливостей вебсайтів на основі поєднання статичного й динамічного ана- лізу в межах модульної архітектури. Експе- риментальні дані свідчать, що попередня статична обробка у вигляді побудови мапи сайту та нормалізації URL-шаблонів істо- тно зменшує надлишковість динамічних перевірок і дозволяє скоротити загальний час сканування без втрати повноти аналізу. Застосування коефіцієнта редукції запитів показало, що значна частина HTTP- запитів, характерних для традиційних ди- намічних сканерів, може бути усунена за рахунок агрегування логічно еквівалентних URL. Це особливо важливо для сучасних вебзастосунків із великою кількістю пара- метризованих посилань, де без оптимізації простір пошуку зростає експоненційно. Тож, запропонований підхід підвищує мас- штабованість аналізу та зменшує наванта- ження на цільовий ресурс, що є критичним у середовищах DevSecOps і CI/CD. Оцінювання пропускної здатності підтвердило ефективність реалізованої ба- гатопотокової архітектури. Досягнуті пока- зники швидкості обробки запитів свідчать про здатність системи виконувати динамі- чні перевірки у прийнятні часові межі для вебресурсів різного рівня складності. Ізоля- ція тестів у вигляді асинхронних задач зни- жує ризик взаємного впливу перевірок і пі- двищує стабільність роботи системи. Практичну придатність підходу під- тверджено результатами виявлення конфі- гураційних і параметричних вразливостей, зокрема, пов’язаних із налаштуванням CORS-заголовків та потенційними SSRF- ризиками. Це демонструє, що навіть без за- лучення складних евристик або моделей машинного навчання можливо досягти при- йнятного рівня точності та повноти за раху- нок інженерно обґрунтованої організації процесу аналізу. Водночас експериментальні резуль- тати вказують на певні обмеження запропо- нованого рішення. Ефективність нормаліза- ції URL-шаблонів залежить від якості еври- стик виділення динамічних параметрів, що в окремих випадках може призводити до неповної редукції дубльованих запитів. Крім того, поточна реалізація динамічних тестів орієнтована переважно на класичні вразливості та конфігураційні помилки й повною мірою не охоплює складні логічні або контекстно-залежні дефекти. Подальший розвиток підходу доці- льно спрямувати на підвищення адаптивно- сті та інтелектуальності системи, зокрема, шляхом удосконалення механізмів плану- вання динамічних перевірок і поглиблення статичного аналізу клієнтського коду. Інте- грація зі стандартами звітності та зовніш- німи засобами керування вразливостями та- кож підвищить практичну цінність розроб- леного рішення для промислового застосу- вання. Висновки У статті розроблено та обґрунтовано підхід до пошуку вразливостей вебсайтів на основі поєднання статичного й динаміч- ного аналізу в межах модульної архітек- тури програмного забезпечення. Запропо- новане рішення орієнтоване на підвищення ефективності автоматизованого аналізу безпеки вебресурсів через зменшення над- лишкових перевірок, оптимізації викорис- тання обчислювальних ресурсів і забезпе- чення масштабованості системи. У процесі дослідження сформульо- вано системні та архітектурні вимоги до програмного забезпечення для пошуку вра- зливостей вебсайтів з урахуванням сучас- них практик DevSecOps та обмежень реаль- них середовищ експлуатації. Запропоно- вано алгоритм нормалізації URL-шаблонів, який дозволяє агрегувати логічно еквівале- нтні сторінки з різними динамічними пара- метрами та істотно скоротити кількість HTTP-запитів без втрати повноти аналізу. Модульна архітектура сканера з підтрим- кою плагінів і застосуванням усталених па- тернів проєктування забезпечує керовану розширюваність та спрощує інтеграцію но- вих механізмів статичного і динамічного тестування. Реалізація багатопотокового вико- нання перевірок як асинхронних задач до- Програмні системи захисту інформації 51 зволила ефективно використовувати обчис- лювальні ресурси багатоядерних систем і суттєво зменшити загальний час скану- вання. Запропонований підхід до оціню- вання якості програмного забезпечення, що базується на метриках точності й повноти, коефіцієнта редукції запитів і пропускної здатності, забезпечив об’єктивну експери- ментальну перевірку ефективності розроб- леного інструмента. Результати експериментів, отримані під час тестування на еталонних вразливих вебзастосунках та власних проєктах, підт- вердили практичну придатність запропоно- ваного підходу. Було досягнуто істотного покращення продуктивності системи та продемонстровано здатність виявляти ни- зку поширених конфігураційних і парамет- ричних вразливостей у реальних умовах. Література 1. Guo Z., Tan T., Liu S., Liu X., Lai W., Yang Y., Li Y., Chen L., Dong W., Zhou Y. Mitigating false positive static analysis warnings: Progress, challenges, and opportunities [Електронний ресурс] // IEEE Transactions on Software Engineering. – 2023. – Vol. 49, No. 12. – P. 5154–5188. – DOI: 10.1109/TSE.2023.3322561. 2. Althunayyan M., Saxena N., Li S., Gope P. Evaluation of black-box Web application security scanners in detecting injection vulnerabilities [Електронний ресурс] // Electronics. – 2022. – Vol. 11, No. 13. – Art. no. 2049. – DOI: 10.3390/electronics11132049. 3. Nunes P. J. C. Blended security analysis for web applications: Techniques and tools : PhD thesis [Електронний ресурс]. – Coimbra : Universidade de Coimbra, 2022. – Режим до- ступу: https://estudogeral.uc.pt/handle/10316/10034 0 (дата звернення: 16.12.2025). 4. Kree L., Helmke R., Winter E. Using Semgrep OSS to find OWASP Top 10 weaknesses in PHP applications: A case study [Електрон- ний ресурс] // Detection of Intrusions and Malware, and Vulnerability Assessment (DIMVA 2024) : Proc. 21st Int. Conf. – Lecture Notes in Computer Science. – Vol. 14828. – Cham : Springer, 2024. – P. 64–83. – DOI: 10.1007/978-3-031-56543-4_4. 5. Shahid J., Hameed M. K., Javed I. T., Qureshi K. N., Ali M., Crespi N. A comparative study of Web application security parameters: Current trends and future directions [Елект- ронний ресурс] // Applied Sciences. – 2022. – Vol. 12, No. 8. – Art. no. 4077. – DOI: 10.3390/app12084077. 6. Popereshnyak S., Chornobryvets D., Bakaiev O. AI-driven intelligent platform for freelance services management and monitoring [Елект- ронний ресурс] // Proceedings of the 1st Workshop Software Engineering and Semantic Technologies (SEST 2025). – CEUR Workshop Proceedings. – 2025. – P. 206–217. – Режим доступу: https://ceur-ws.org/Vol- 4053/paper12.pdf 7. Popereshnyak S., Vecherkovskaya A., Zhebka V. Intrusion detection based on an intelligent security system using machine learning methods [Електронний ресурс] // CEUR Workshop Proceedings. – 2024. – Vol. 3654. – P. 163–178. – Режим доступу: https://ceur- ws.org/Vol-3654/paper14.pdf 8. Sönmez F. Ö., Kiliç B. G. Holistic Web Application Security Visualization for Multi- Project and Multi-Phase Dynamic Application Security Test Results [Електронний ресурс] // IEEE Access. – 2021. – Vol. 9. – P. 25858– 25884. – DOI: 10.1109/ACCESS.2021.3057044. 9. Sharma S., Zavarsky P., Butakov S. Machine Learning based Intrusion Detection System for Web-Based Attacks [Електронний ре- сурс] // Proceedings of the IEEE 6th International Conference on Big Data Security on Cloud, High Performance and Smart Computing, and Intelligent Data and Security. – Baltimore, USA, 2020. – P. 227– 230. – DOI: 10.1109/BigDataSecurity-HPSC- IDS49724.2020.00048. References 1. Guo, Z., Tan, T., Liu, S., Liu, X., Lai, W., Yang, Y., Li, Y., Chen, L., Dong, W., & Zhou, Y. (2023). Mitigating false positive static analysis warnings: Progress, challenges, and opportunities. IEEE Transactions on Software Engineering, 49(12), 5154–5188. https://doi.org/10.1109/TSE.2023.3322561 2. Althunayyan, M., Saxena, N., Li, S., & Gope, P. (2022). Evaluation of black-box Web application security scanners in detecting injection vulnerabilities. Electronics, 11(13), 2049. https://doi.org/10.3390/electronics11132049 3. Nunes, P. J. C. (2022). Blended security analysis for web applications: Techniques and tools (Doctoral dissertation, Universidade de Програмні системи захисту інформації 52 Coimbra). Retrieved from https://estudogeral.uc.pt/handle/10316/10034 0 4. Kree, L., Helmke, R., & Winter, E. (2024). Using Semgrep OSS to find OWASP Top 10 weaknesses in PHP applications: A case study. In Detection of Intrusions and Malware, and Vulnerability Assessment (DIMVA 2024) (Lecture Notes in Computer Science, Vol. 14828, pp. 64–83). Springer. https://doi.org/10.1007/978-3-031-56543-4_4 5. Shahid, J., Hameed, M. K., Javed, I. T., Qureshi, K. N., Ali, M., & Crespi, N. (2022). A comparative study of Web application security parameters: Current trends and future directions. Applied Sciences, 12(8), 4077. https://doi.org/10.3390/app12084077 6. Popereshnyak, S., Chornobryvets, D., Bakaiev, O. (2025). AI-driven intelligent platform for freelance services management and monitoring. In Proceedings of the 1st Workshop on Software Engineering and Semantic Technologies (SEST 2025) (pp. 206–217). CEUR Workshop Proceedings. Retrieved from https://ceur-ws.org/Vol- 4053/paper12.pdf 7. Popereshnyak, S., Vecherkovskaya, A., & Zhebka, V. (2024). Intrusion detection based on an intelligent security system using machine learning methods. CEUR Workshop Proceedings, 3654, 163–178. Retrieved from https://ceur-ws.org/Vol-3654/paper14.pdf 8. Sönmez, F. Ö., & Kiliç, B. G. (2021). Holistic Web Application Security Visualization for Multi-Project and Multi-Phase Dynamic Application Security Test Results. IEEE Access, 9, 25858–25884. https://doi.org/10.1109/ACCESS.2021.30570 44 9. Sharma, S., Zavarsky, P., & Butakov, S. (2020). Machine learning based intrusion detection system for web-based attacks. In Proceedings of the IEEE 6th International Conference on Big Data Security on Cloud, High Performance and Smart Computing, and Intelligent Data and Security (pp. 227–230). IEEE. https://doi.org/10.1109/BigDataSecurity- HPSC-IDS49724.2020.00048 Одержано: 17.12.2025 Внутрішня рецензія отримана: 22.12.2025 Зовнішня рецензія отримана: 24.12.2025 Про авторів: Поперешняк Світлана Володимирівна, к.ф.-м.н., доцент http://orcid.org/0000-0002-0531-9809. Горох Богдан Дмитрович, здобувач вищої освіти http://orcid.org/0009-0001-4143-0029 Місце роботи авторів: Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського», тел. +38-098-645-54-62 E-mail: spopereshnyak@gmail.com horokhbohdandmytrovich@gmail.com
id pp_isofts_kiev_ua-article-875
institution Problems in programming
keywords_txt_mv keywords
language Ukrainian
last_indexed 2026-03-12T17:51:16Z
publishDate 2026
publisher PROBLEMS IN PROGRAMMING
record_format ojs
resource_txt_mv ppisoftskievua/2f/9407ecc359944d93f0a213d821a1502f.pdf
spelling pp_isofts_kiev_ua-article-8752026-02-12T15:27:30Z An approach to website vulnerability detection based on static and dynamic analysis Підхід до пошуку вразливостей вебсайтів на основі статичного й динамічного аналізу Popereshnyak, S.V. Horokh, B.D. web security; vulnerabilities; static analysis; dynamic analysis; URL normalization; crawler; modular architecture; multithreaded scanning; IoT; DevSecOps UDC 004.056 : 004.738.5 веббезпека; вразливості; статичний аналіз; динамічний аналіз; URL-нормалізація; crawler; модульна архітектура; багатопотокове сканування; ІоТ, DevSecOps УДК 004.056 : 004.738.5 This paper proposes an approach to automated website vulnerability detection based on the combination of static and dynamic analysis within a modular scanner architecture. The motivation for this study arises from the growing number of parameterized URLs in modern web applications and, as a consequence, redundant crawling and the high cost of multi-variant testing under limited time and resource budgets in DevSecOps/CI/CD scenarios. The proposed approach is built on a two-stage pipeline: preliminary static analysis of a web resource, which includes sitemap construction by a crawler with depth control, extraction of endpoints, parameters, and input forms, as well as URL template normalization through the generalization of dynamic identifiers; and dynamic vulnerability testing for a normalized set of test points with parallel execution of isolated checks and aggregation of results into machine-readable formats. Quality and performance evaluation metrics are proposed, including precision/recall, the request reduction ratio, and throughput, which enable quantitative assessment of the impact of preliminary normalization and the efficiency of multithreaded processing. The implementation is realized as a Java-based CLI utility with a plugin-based testing model, facilitating extensibility for new vulnerability classes without modification of the core system. Experimental validation was conducted using benchmark vulnerable applications OWASP Juice Shop and OWASP WebGoat, as well as proprietary projects; the results demonstrate a significant reduction in crawler execution time and the achievement of acceptable throughput depending on deployment conditions. The obtained results confirm the effectiveness of combining static structuring of the search space with targeted dynamic checks to improve the scalability and reproducibility of web security analysis.Problems in programming 2025; 4: 41-52 У статті запропоновано підхід до автоматизованого пошуку вразливостей вебсайтів на основі поєд нання статичного та динамічного аналізу в межах модульної архітектури сканера. Дослідження зумо влене зростанням кількості параметризованих URL у сучасних вебзастосунках і, як наслідок, надлиш ковість обходів та висока вартість багатоваріантних перевірок при обмежених часових і ресурсних бюджетах у сценаріях DevSecOps/CI/CD. Підхід базується на двоетапному конвеєрі: попередній ста тичний аналіз вебресурсу, що включає побудову карти сайту пошуковим роботом із контролем гли бини, вилучення кінцевих точок, параметрів і форм введення, а також нормалізацію URL-шаблонів через узагальнення динамічних ідентифікаторів; динамічне тестування вразливостей для нормалізо ваної множини тестових точок із паралельним виконанням ізольованих перевірок та агрегацією ре зультатів у формати, придатні для автоматизованого оброблення. Запропоновано метрики оцінювання якості та продуктивності, зокрема precision/recall, коефіцієнт редукції запитів і пропускну здатність, що дозволяють кількісно оцінити ефект попередньої нормалізації та ефективність багатопотокової об робки. Реалізацію виконано як CLI-утиліту на Java з плагінною моделлю тестів, що спрощує розши рення системи під нові класи вразливостей без модифікації ядра. Експериментальну перевірку прове дено на еталонних вразливих застосунках OWASP Juice Shop і OWASP WebGoat та на власних проєк тах; показано суттєве скорочення часу роботи пошукового робота та досягнення прийнятної пропуск ної здатності залежно від умов розгортання. Отримані результати підтверджують доцільність комбі нування статичного структурування простору пошуку з цільовими динамічними перевірками для під вищення масштабованості та відтворюваності аналізу безпеки вебресурсів.Problems in programming 2025; 4: 41-52 PROBLEMS IN PROGRAMMING ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ ПРОБЛЕМИ ПРОГРАМУВАННЯ 2026-02-12 Article Article application/pdf https://pp.isofts.kiev.ua/index.php/ojs1/article/view/875 PROBLEMS IN PROGRAMMING; No 4 (2025); 41-52 ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ; No 4 (2025); 41-52 ПРОБЛЕМИ ПРОГРАМУВАННЯ; No 4 (2025); 41-52 1727-4907 uk https://pp.isofts.kiev.ua/index.php/ojs1/article/view/875/928 Copyright (c) 2026 PROBLEMS IN PROGRAMMING
spellingShingle web security
vulnerabilities
static analysis
dynamic analysis
URL normalization
crawler
modular architecture
multithreaded scanning
IoT
DevSecOps
UDC 004.056 : 004.738.5
Popereshnyak, S.V.
Horokh, B.D.
An approach to website vulnerability detection based on static and dynamic analysis
title An approach to website vulnerability detection based on static and dynamic analysis
title_alt Підхід до пошуку вразливостей вебсайтів на основі статичного й динамічного аналізу
title_full An approach to website vulnerability detection based on static and dynamic analysis
title_fullStr An approach to website vulnerability detection based on static and dynamic analysis
title_full_unstemmed An approach to website vulnerability detection based on static and dynamic analysis
title_short An approach to website vulnerability detection based on static and dynamic analysis
title_sort approach to website vulnerability detection based on static and dynamic analysis
topic web security
vulnerabilities
static analysis
dynamic analysis
URL normalization
crawler
modular architecture
multithreaded scanning
IoT
DevSecOps
UDC 004.056 : 004.738.5
topic_facet web security
vulnerabilities
static analysis
dynamic analysis
URL normalization
crawler
modular architecture
multithreaded scanning
IoT
DevSecOps
UDC 004.056 : 004.738.5
веббезпека; вразливості; статичний аналіз; динамічний аналіз; URL-нормалізація; crawler; модульна архітектура; багатопотокове сканування; ІоТ
DevSecOps
УДК 004.056 : 004.738.5
url https://pp.isofts.kiev.ua/index.php/ojs1/article/view/875
work_keys_str_mv AT popereshnyaksv anapproachtowebsitevulnerabilitydetectionbasedonstaticanddynamicanalysis
AT horokhbd anapproachtowebsitevulnerabilitydetectionbasedonstaticanddynamicanalysis
AT popereshnyaksv pídhíddopošukuvrazlivostejvebsajtívnaosnovístatičnogojdinamíčnogoanalízu
AT horokhbd pídhíddopošukuvrazlivostejvebsajtívnaosnovístatičnogojdinamíčnogoanalízu
AT popereshnyaksv approachtowebsitevulnerabilitydetectionbasedonstaticanddynamicanalysis
AT horokhbd approachtowebsitevulnerabilitydetectionbasedonstaticanddynamicanalysis