Проектирование программного обеспечения сканера веб-уязвимостей TechnoScan c использованием нотаций диаграммы UML | Статья в журнале «Юный ученый»

Отправьте статью сегодня! Журнал выйдет 25 мая, печатный экземпляр отправим 29 мая.

Опубликовать статью в журнале

Авторы: ,

Научный руководитель:

Отличный выбор методов исследования Высокая теоретическая значимость Актуальная тема исследования

Рубрика: Информатика

Опубликовано в Юный учёный №9 (72) октябрь 2023 г.

Дата публикации: 04.10.2023

Статья просмотрена: 32 раза

Библиографическое описание:

Држевецкий, Н. А. Проектирование программного обеспечения сканера веб-уязвимостей TechnoScan c использованием нотаций диаграммы UML / Н. А. Држевецкий, М. Ю. Ромейко, Т. А. Пулко. — Текст : непосредственный // Юный ученый. — 2023. — № 9 (72). — С. 27-30. — URL: https://moluch.ru/young/archive/72/3920/ (дата обращения: 11.05.2024).



В статье представлен анализ актуальности использования сканеров уязвимости для предотвращения возможных угроз и выявления уязвимостей веб-приложений на ранних этапах. Представлены результаты проектирования сканера веб-уязвимостей “TechnoScan” с использованием нотаций диаграммы UML.

Ключевые слова : веб-уязвимости, сканеры веб-уязвимостей, сканирование веб-сайта, UML-моделирование, проектирование программного обеспечения.

В настоящее время уязвимости веб-приложений представляют серьезную опасность как для частных лиц, так и для организаций, что обусловлено возрастающим числом кибератак и инцидентов по утечке данных, что является серьезной угрозой для конфиденциальности и целостности информации, включая утечку конфиденциальных и персональных данных, атаки на сервера и многое другое.

Для обеспечения защиты веб-сайтов необходимо проводить тестирование, организацию и обеспечение всех необходимых механизмов защиты информации, которые обычно включают в себя:

— использование специализированных сканеров безопасности инструменты для анализа защищенности информационной системы;

— настройка и внедрение криптопротоколов передачи данных по сети компании;

— настройка и внедрение парольной политики;

— настройка механизмов разграничения доступа пользователей к ресурсам и приложениям [1].

Для предотвращения возможных угроз и выявления уязвимостей веб-приложений на ранних этапах, рекомендуется проводить предварительное сканирование собственного веб-сайта. Этот процесс позволяет выявить потенциальные уязвимости и принять меры по их устранению до возможного воздействия злоумышленников. Для осуществления данной операции применяются специализированные инструменты, такие как сканеры веб-уязвимостей.

В принципе работы сканеров существуют два механизма поиска и анализа уязвимостей:

  1. Зондирование. При таком способе анализ происходит в активной фазе, то есть инициализирует виртуальные атаки и проверяет, в каких участках системы возникают угрозы. Довольно эффективный, но медленный и рискованный метод, поскольку тестирование может вызвать реальный сбой. По окончании процесса предоставляется подробный отчет с найденными проблемами и рекомендациями по их деактивации [2, 3].
  2. Сканирование. Этот механизм работает с максимально возможной скоростью, но на поверхностном уровне, поэтому дает менее точные результаты. Однако очень маловероятно, что при таком режиме может случится сбой системы. Данный метод только предупреждает о найденных проблемах, но не более того [2, 3].

Существуют два основных подхода к сканированию уязвимостей:

— сканирование «белый ящик» (white Box), при котором специалист, проводящий тестирование, имеет полный доступ к исходному коду приложения или системы, что позволяет более глубоко анализировать код и обнаруживать скрытые уязвимости, но требует доступа к программному обеспечению [2].

— сканирование «черный ящик» (black box), при котором специалист, проводящий тестирование, не имеет предварительной информации о структуре исследуемой системы; такой подход моделирует действия настоящего злоумышленника, что позволяет выявлять уязвимости с точки зрения внешнего атакующего [2].

На рынке существует множество сканеров уязвимостей, как коммерческих, так и свободно распространяемых, например, Nessus, OpenVAS, Acunetix, Qualys, XSpider («Positive Technologies»); ScanOVAL, RedCheck («Алтэкс-Софт»).

Главной целью исследовательской работы являлась разработка приложения с простым и интуитивно понятным интерфейсом, которое позволит полностью автоматизировать процесс проведения сканирования веб-сайтов и сделает доступным выявление уязвимостей веб-приложений на ранних этапах даже для тех, кто не является экспертом в области информационной безопасности.

На первичном этапе проводилось проектирование сканера веб-уязвимостей “TechnoScan” с использованием нотаций диаграммы UML.

UML (от англ. Unified Modeling Language) переводится как «унифицированный язык моделирования». Это графический язык, в котором каждой фигуре, символу, стрелке или их сочетаниям присвоены конкретные значения, что позволяет визуализировать явление или процесс так, чтобы схема была понятна всем, кто знаком с UML. Именно поэтому IT-специалисты во время разработки ПО часто используют UML-моделирование и проектирование процессов [4].

Элементами диаграммы UML могут быть классы программного кода, страницы сайта, части механизма, зоны торгового зала и т. д., в зависимости от того, какой процесс или какую сущность описывает её создатель (рисунок 1) [4].

Пример UML-диаграммы, описывающей последовательность действий для покупок в интернете [4]

Рис. 1. Пример UML-диаграммы, описывающей последовательность действий для покупок в интернете [4]

Схема UML концептуальная, т. е. она оперирует концепциями и связями между ними. Сама диаграмма состоит из фигур, значков, надписей, линий и контуров.

Таким образом, с использованием указанных инструментов для разработки структурированной архитектуры кода данной программы и для обеспечения более четкой спецификации задачи, была создана UML-диаграмма работы данного приложения (рисунок 2) [5].

Как видно из диаграммы, для достижения поставленной цели, было решено объединить различные инструменты Nmap, SQLmap и XSStrike для проведения сканирования, чтобы приложение имело обширный охват уязвимостей различных типов. Для программирования использовался язык Python, возможности которого охватывают различные области и позволяют занимать лидирующие позиции в мире программирования.

UML-диаграмма проектирования программного обеспечения сканера веб-уязвимостей “TechnoScan” [5]

Рис. 2. UML-диаграмма проектирования программного обеспечения сканера веб-уязвимостей “TechnoScan” [5]

Один из отрывков кода программы сканера уязвимости “TechnoScan”, написанного на языке программирования Python предоставлен на рисунке 3.

Использование библиотек Python в коде программы сканера уязвимости “TechnoScan”

Рис. 3. Использование библиотек Python в коде программы сканера уязвимости “TechnoScan”

Использование нотаций диаграммы UML позволило разработать программу сканера уязвимости “TechnoScan”, написанного на языке программирования Python, которая позволяет быстро и эффективно сканировать веб-сайты на наличие возможных уязвимостей. Детализация процессов позволила избежать ошибок на этапе разработки. Пользователь может указать URL-адрес сайта и выбрать типы уязвимостей для сканирования. Результаты выводятся на экран в удобном формате, что позволяет пользователям быстро принимать меры по устранению обнаруженных проблем и повышению безопасности своих ресурсов в сети Интернет.

Литература:

  1. Уязвимости и угрозы веб-приложений в 2020–2021 гг. [Электронный ресурс]. — Режим доступа: https://www.ptsecurity.com/ru-ru/research/analytics/web-vulnerabilities-2020–2021/ — 19.07.2023.
  2. Сканер уязвимостей — что это и зачем он нужен. Макхост [Электронный ресурс]. — Режим доступа: https://mchost.ru/articles/chto-takoe-skaner-uyazvimostej/ — 25.07.2023.
  3. Сканер уязвимостей (Vulnerability scanner): что это, функции, принципы работы [Электронный ресурс]. — Режим доступа: https://itglobal.com/ru-ru/company/glossary/vulnerability-scanner/ — 25.07.2023.
  4. На каком языке рисуют схемы: что такое UML и почему его понимают во всём мире [Электронный ресурс]. — Режим доступа: https://practicum.yandex.ru/blog/uml-diagrammy/ — 31.07.2023.
  5. Пулко Т. А., Држевецкий Н. А., Ромейко М. Ю. Программа «TechnoScan». Заявка на оказание услуг по добровольной регистрации и депонированию объекта авторского права или смежных прав от 26 сентября 2023 г. № d20230102 в Национальный центр интеллектуальной собственности Республики Беларусь.


Ключевые слова

веб-уязвимости, сканеры веб-уязвимостей, сканирование веб-сайта, UML-моделирование, проектирование программного обеспечения
Задать вопрос