Добавил:
мой вк: vk.com/truecrimebitch больше работ здесь: https://github.com/alisadex Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БСТ2104_Кофанов_Д_А_Лабораторная_работа_6.docx
Скачиваний:
1
Добавлен:
11.05.2025
Размер:
1.13 Mб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ

Ордена Трудового Красного Знамени

Федеральное государственное бюджетное образовательное учреждение высшего образования

«Московский технический университет связи и информатики»

__________________________________________________________________

Кафедра «Информационная безопасность»

Отчёт по лабораторной работе №6

по дисциплине «Методы и средства защиты информации в компьютерных сетях»

Выполнили: студенты гр. БСТ2104

Алексеев Даниил Петрович

Кофанов Дмитрий Алексеевич

Мироносцев Григорий Константинович

Первухина Алиса Александровна

Проверили:

асс. Рыбаков Сергей Юрьевич

асс. Раковский Дмитрий Игоревич

Москва

2024

Задание

  1. Выбрать web-ресурс для тестирования. Web-ресурс должен принадлежать Вам, либо Вы должны получить письменное подтверждение от владельца web-ресурса на проведение тестирования на проникновение.

    1. В случае анализа стороннего web-ресурса привести:

      1. Письменное согласие от владельца web-ресурса на проведение тестирования на проникновение.

      2. Скриншот главный страницы web-ресурса и URL, по которому будет проводиться тестирование.

  2. Скачать и установить ZAP: https://www.zaproxy.org/download/.

    1. Сделать скриншот главного экрана программы.

  3. Кратко описать функционал программы.

  4. Провести анализ выбранного web-ресурса для тестирования.

    1. Сделать скриншот работы ZAP.

  5. Получить список обнаруженных web-уязвимостей. Привести и заполнить в отчете таблицу по шаблону из табл. 6.1.

Таблица 6.1 – Шаблон списка обнаруженных web-уязвимостей

уязвимости

Уровень опасности

Название уязвимости

Описание уязвимости

Способ (способы) устранения выявленной уязвимости

1

  1. Сделать выводы на основании полученной информации.

Содержание

Цель работы 4

Теоретическая часть 4

Ход выполнения работы 5

Вывод 15

Цель работы

Целью работы является приобретение навыков поиска уязвимостей в web-ресурсах путём выявления структуры ресурса, сканирования на уязвимости и выявления ошибок в логике работы.

Теоретическая часть

Процесс выявления web-уязвимостей является комплексным мероприятием. Конкурентным преимуществом программы ZAP перед аналогами является:

  • открытый программный код;

  • открытая лицензия;

  • перевод на русский язык;

  • возможность обнаружения ряда типовых уязвимостей «из коробки».

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

Ход выполнения работы

Результаты выполнения работы представлены на рисунках 1-5:

Рисунок 1 – Выбор web-ресурса для тестирования (https://mishchukov.ru)

Рисунок 2 – Контакты владельца web-ресурса

Рисунок 3 – Согласие от владельца web-ресурса на проведение тестирования на проникновение

Рисунок 4 – Главный экран программы ZAP

OWASP Zed Attack Proxy (ZAP) — это простой в использовании интегрированный инструмент тестирования на проникновения и нахождения уязвимостей в web-приложениях.

Некоторые из функций ZAP:

1) Перехват прокси – ZAP выступает в роли промежуточного прокси-сервера между клиентом (например, браузером) и сервером. Это позволяет перехватывать, анализировать и модифицировать HTTP/HTTPS-запросы и ответы. Полезно для выявления уязвимостей, таких как недостаточно защищённые данные или скрытые параметры.

2) Традиционный и AJAX пауки:

  • Традиционный паук сканирует web-сайт, переходя по ссылкам и идентифицируя страницы для анализа. Это стандартный инструмент для построения карты сайта.

  • AJAX-паук фокусируется на динамическом содержимом, которое загружается через JavaScript. Это важно для тестирования современных web-приложений.

3) Автоматизированный сканер – позволяет быстро выполнить базовый аудит безопасности web-приложения. Ищет общие уязвимости, такие как XSS, SQL-инъекции, небезопасные заголовки и многое другое.

4) Пассивный сканер – анализирует трафик, проходящий через прокси, без отправки дополнительных запросов. Это безопасный способ идентификации возможных проблем без риска нарушения работы приложения.

5) Принудительный просмотр – пытается получить доступ к скрытым файлам и папкам на сервере, которые могут быть неправильно защищены (например, /admin, /backup.zip). Использует словари и наборы URL для поиска таких ресурсов.

6) Фаззер – позволяет автоматизированно тестировать входные данные с помощью большого количества различных значений (например, для поиска уязвимостей валидации или переполнения буфера). Фаззинг помогает выявить непредвиденные поведения приложения.

7) Динамические SSL-сертификаты – ZAP может генерировать собственные динамические SSL-сертификаты, что позволяет работать с HTTPS-трафиком. Это полезно для анализа зашифрованных данных.

8) Поддержка смарт-карт и клиентских цифровых сертификатов – ZAP поддерживает аутентификацию с использованием смарт-карт или клиентских сертификатов, что особенно важно для тестирования защищённых корпоративных систем.

9) Поддержка web-сокетов – включает инструменты для захвата и анализа трафика WebSocket. Это важно для современных приложений, которые используют WebSocket для двусторонней связи в реальном времени.

10) Поддержка аутентификации и сессий – ZAP поддерживает различные механизмы аутентификации (например, Basic Auth, OAuth, JWT). Также он может управлять сессиями для проверки защиты от взлома через управление сессиями.

11) Мощный REST API – ZAP предоставляет API для автоматизации тестирования, интеграции с CI/CD системами или управления ZAP удалённо.

12) Поддержка большого количества скриптовых языков – ZAP поддерживает создание и использование пользовательских скриптов на популярных языках, таких как JavaScript, Python, Ruby, Groovy и др. Это позволяет адаптировать его функциональность под конкретные задачи.

13) Опция автоматического обновления – регулярные обновления обеспечивают, что ZAP всегда использует актуальные базы данных уязвимостей и расширений.

14) Интегрированные дополнения и маркет обновлений – ZAP имеет обширную экосистему дополнений, доступных в маркетплейсе, которые расширяют его функциональность. Это включает поддержку новых технологий, отчёты, сканеры и многое другое.

Рисунок 5 – Анализ выбранного web-ресурса для тестирования

Список обнаруженных web-уязвимостей представлен в таблице.

Таблица – Список обнаруженных web-уязвимостей

уязвимости

Уровень опасности

Название уязвимости

Описание уязвимости

Способ (способы) устранения выявленной уязвимости

1

Medium

Заголовок Content Security Policy (CSP) не задан

Политика безопасности содержимого (CSP) — это дополнительный уровень безопасности, который помогает обнаруживать и смягчать определенные типы атак, включая межсайтовые сценарии (XSS) и атаки с внедрением данных. Эти атаки используются для всего: от кражи данных до порчи сайта или распространения вредоносных программ. CSP предоставляет набор стандартных HTTP-заголовков, которые позволяют владельцам web-сайтов объявлять утвержденные источники контента, которые браузеры должны разрешить загружать на эту страницу. Охватываемые типы включают JavaScript, CSS, HTML-фреймы, шрифты, изображения и встраиваемые объекты, такие как апплеты Java. ActiveX, аудио и видео файлы.

Убедитесь, что ваш web-сервер, сервер приложений, балансировщик нагрузки и т. д. настроены для установки заголовка Content-Security-Policy.

2

Medium

Отсутствует заголовок (Header) для защиты от кликджекинга

Ответ не включает Content-Security-Policy с директивой «frame-ancestors» или X-Frame-Options для защиты от атак «ClickJacking».

Современные web-браузеры поддерживают Content-Security-Policy и заголовки HTTP X-Frame-Options. Убедитесь, что один из них установлен на всех web-страницах, возвращаемых вашим сайтом/приложением. Если вы ожидаете, что страница будет обрамлена только страницами на вашем сервере (например, это часть FRAMESET), вам следует использовать SAMEORIGIN, в противном случае, если вы никогда не ожидаете, что страница будет обрамлена, вам следует использовать DENY. В качестве альтернативы рассмотрите возможность реализации директивы Content Security Policy «frame-ancestors».

3

Low

Включение исходного файла междоменного JavaScript

На странице есть один или несколько файлов сценариев из стороннего домена.

Убедитесь, что исходные файлы JavaScript загружаются только из надежных источников,

и источники не могут контролироваться конечными пользователями приложения.

4

Low

Заголовок Strict-Transport-Security не установлен

HTTP Strict Transport Security (HSTS) - это механизм политики web-безопасности, посредством которого web-сервер объявляет, что соответствующие пользовательские агенты (например, web-браузер) должны взаимодействовать с ним, используя только безопасные соединения HTTPS (т. е. HTTP на уровне TLS / SSL). HSTS - это протокол отслеживания стандартов IETF, указанный в RFC 6797.

Убедитесь, что ваш web-сервер, сервер приложений, балансировщик нагрузки и т. д. настроены для принудительного применения Strict-Transport-Security.

5

Low

Заголовок X-Content-Type-Options отсутствует

Для заголовка Anti-MIME-Sniffing X-Content-Type-Options не задано значение «nosniff». Это позволяет более старым версиям Internet Explorer и Chrome выполнять MIME-сниффинг тела ответа, что может привести к интерпретации и отображению тела ответа как тип контента,

отличный от объявленного типа контента. Текущая (начало 2014 г.) и устаревшая версии Firefox будут использовать объявленный тип содержимого (если он установлен), а не выполнять сниффинг MIME.

Убедитесь, что приложение / web-сервер правильно задает заголовок Content-Type

и что он устанавливает заголовок X-Content-Type-Options равным «nosniff» для всех web-страниц.

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

6

Low

Утечка информации о версии через поле заголовка HTTP-ответа «Server»

Web-сервер / сервер приложений передает информацию о версии через HTTP-заголовок ответа «Server». Доступ к такой информации может облегчить злоумышленникам определение других уязвимостей,

которым подвержен ваш web-сервер / сервер приложений.

Убедитесь, что ваш web-сервер, сервер приложений, балансировщик нагрузки и т. д. настроены на подавление заголовка «Server» или предоставление общих сведений.

7

Informational

Директивы управления кэшем

Заголовок управления кэшем установлен неправильно или отсутствует, что позволяет браузеру и прокси-серверам кэшировать содержимое. Это может быть предназначено для статических ресурсов, таких как css, js или файлы изображений, однако ресурсы должны быть проверены, чтобы гарантировать, что конфиденциальный контент не будет кэширован.

Для защищенного содержимого убедитесь, что для HTTP-заголовка управления кэшем задано значение «без кэша, без сохранения, с обязательной повторной проверкой». Если актив должен быть кэширован, рассмотрите возможность установки директив «public, max-age, immutable».

8

Informational

Пользовательский Агент Fuzzer

Проверьте различия в ответах на основе нечеткого пользовательского агента (например, мобильные сайты, доступ в качестве поискового робота). Сравните код состояния ответа и хэш-код тела ответа с исходным ответом.

Это информационное предупреждение, поэтому никаких изменений не требуется.

9

Informational

Современное web-приложение

Были обнаружены ссылки, не имеющие традиционных атрибутов href,

что указывает на то, что это современное web-приложение.

Это информационное предупреждение, поэтому никаких изменений не требуется.

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

Основные наблюдения:

  1. Приложение не имеет надлежащих мер защиты от распространённых атак, таких как межсайтовый скриптинг (XSS), кликджекинг и перехват данных.

  2. Конфигурация сервера не учитывает современные стандарты web-безопасности, такие как HTTP Strict Transport Security и Content Security Policy.

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

  4. Современная структура web-приложения (динамическая загрузка ресурсов, отсутствие традиционных атрибутов ссылок) предполагает использование передовых технологий, что требует дополнительных мер безопасности для защиты от сложных атак.

Устранение обнаруженных проблем не только повысит безопасность, но и обеспечит соответствие приложения лучшим практикам в области web-безопасности. Настройка заголовков безопасности, управление кэшем и контроль за сторонними ресурсами значительно сократят риски и обеспечат надёжную защиту от большинства типичных атак и уязвимостей.

Вывод

В ходе выполнения лабораторной работы было проведено тестирование на проникновение web-ресурса.

Таким образом, в результате были получены практические навыки по работе с ПО ZAP для поиска уязвимостей в web-ресурсах путём выявления структуры ресурса, сканирования на уязвимости и выявления ошибок в логике работы.