Как заказать анализ защищённости веб-приложения: задание и приёмка

0
7
Обложка статьи: Как заказать анализ защищённости веб-приложения: задание и приёмка

Соберите задание на анализ защищённости своего веб-приложения так, чтобы подрядчик проверял кабинет и API, а не «весь периметр как получится». Общий заказ инфраструктуры — другая страница: как заказать пентест. Самостоятельный базовый прогон без исполнителя: OWASP ZAP baseline. Ниже только веб: что написать в задании, чем принять отчёт и чего в текст заказа не включать. Приёмов атаки в статье нет.

Статья опирается на логику направления «Тесты на проникновение» из методики зрелости Группы Сбер (источник); это методика для крупных компаний, мы используем её как ориентир и пересказываем своими словами. Юридические формулировки договора согласуйте с юристом. Проверка только своих систем или с письменного согласия владельца.

Три разных проверки вебаСамоскан ищет заголовки, внешний пентест — периметр, анализ приложения — роли и кабинет.ZAP / Nucleiсвои руки, шаблоныПериметрпорты и сервисыАнализ вебаURL, роли, ASVS
Заказ анализа приложения не заменяется ни самосканом, ни только внешним пентестом.

Чем это не является

Работа Что получите Когда мало
Скан ZAP / Nuclei своими руками Список заголовков и шаблонов Нет цепочки «вход пользователя → чужие данные»
Внешний пентест периметра Открытые порты и сервисы Не разбирает роли в кабинете
Анализ веб-приложения Находки по доступу, сессии, API на согласованных URL Не заменяет внутренний пентест сети

Перед заказом закройте известное из регулярного скана: цикл уязвимостей. Иначе платите за то, что уже видите в отчёте сканера.

Что обязательно в задании

Поле Пример Зачем
URL и среды https://app.example.com, стенд https://staging.example.com Исполнитель не «находит» чужой домен
Роли гость, клиент, сотрудник, отдельный администратор стенда Проверяют разграничение, не одну учётку
Тестовые учётки Выдаёте вы, пароли меняете после работ Не чужие боевые пароли
Каталог требований OWASP ASVS 5.0.0, выбранный уровень согласован письменно Спорите не «на глаз», а по пунктам стандарта
Вне скоупа Отказ в обслуживании, физический доступ, реальные клиенты Нет сюрприза в пятницу вечером
Окно и контакт Рабочие часы, кто стопит работы Как в подготовке к пентесту

Напишите явно: эксплуатация чужих систем запрещена; данные стенда — учебные; выгрузки с боя не копировать. Не вставляйте в договор «проверьте SQL-инъекцию вот так» — это уже инструкция атаки, её на сайте и в задании нет.

На что ссылаться вместо списка дыр

OWASP Application Security Verification Standard (ASVS) 5.0.0 — каталог требований к веб-приложению. В задании фиксируете версию и глубину: какие главы обязательны (доступ, сессия, файлы, API, секреты в ответах), какие — «по возможности». Идентификаторы требований в отчёте просите в виде v5.0.0-…, чтобы через год не спорить, какая редакция имелась в виду. Методология работ исполнителя может опираться на OWASP Web Security Testing Guide; вам достаточно названия и версии, без пересказа приёмов.

Что требовать в отчёте

  1. Каждая находка: затронутый URL или метод API, роль, при чём воспроизводится, риск для ваших данных, ссылка на пункт ASVS или CWE.
  2. Доказательство без полезной нагрузки «скопируй и нажми»: скрин шага в интерфейсе, идентификатор запроса, что именно увидел исполнитель.
  3. Что смотрели и не подтвердилось — иначе «дыр нет» нельзя отличить от «не смотрели».
  4. Повторная проверка закрытого: срок и объём, без новой полной стоимости сюрпризом.

Как превратить отчёт в задачи: читать отчёт пентеста. Релиз после правок — чек-лист релиза.

Приёмка

Примите работу, если задание закрыто по URL и ролям, находки читаются без исполнителя, спорные пункты размечены как «не подтверждено», а не спрятаны. Не просите «пришлите эксплойт, чтобы мы сами повторили» — для закрытия достаточно описания шага в интерфейсе и повторной проверки исполнителем на том же стенде.

Диагностика

Симптом Причина и что делать
Отчёт как у ZAP: заголовки и версия nginx Это не анализ приложения. Верните на доработку или не подписывайте акт
Проверяли только гостя В задании не было ролей. Допишите учётки и дозакажите
Нашли дыру на чужом поддомене Граница URL не зафиксирована. Остановите работы, уточните список
Нет повторной проверки В договоре только «отчёт». Добавьте ретест закрытого

Где это в модели зрелости

Материал относится к направлению «Тесты на проникновение» (хаб: тесты, карта: карта зрелости). Гигиена — независимая проверка по заданию не реже раза в год или после крупного изменения. ASVS и WSTG — не закон РФ и не замена 152-ФЗ; это язык задания.

Как проверить

  1. В договоре есть список URL, роли, ASVS с версией, вне скоупа и контакт стопа.
  2. Тестовые учётки ваши, после работ пароли сменены.
  3. Отчёт читается без звонка исполнителю; есть глава «что проверяли и не нашли».
  4. Закрытие находок идёт в задачи, не остаётся PDF в почте.

Источники

Комментарии закрыты.