От чего зависит стоимость пентеста
1. Количество и типы объектов
Проверка одного веб-приложения и тестирование распределенной инфраструктуры — разные по объему задачи. На трудоемкость влияют:
- количество доменов, IP-адресов и сетевых сегментов;
- число приложений и API;
- наличие мобильных клиентов;
- количество сред и вариантов развертывания;
- состав информационных систем внешнего и внутреннего периметра;
- количество пользовательских ролей.
Само по себе число IP-адресов еще не описывает реальный объем. За одним IP-адресом может находиться небольшой сервис, а за другим — приложение с множеством функций, интеграций и уровней доступа.
2. Сложность приложения
Чем больше функций, ролей и бизнес-процессов необходимо проверить, тем больше сценариев предстоит проанализировать.
Объектами исследования могут являться:
- механизмы регистрации и восстановления доступа;
- ролевой механизм разграничения доступа;
- личные кабинеты;
- административная панель;
- механизмы обработки и загрузки файлов;
- платежные или иные критичные операции;
- интеграции со сторонними системами;
- методы API;
- правила разграничения полномочий.
Совокупность перечисленных и иных объектов исследования формирует оценку сложности приложения.
Некоторые недостатки могут проявляться только при последовательном выполнении нескольких операций или при взаимодействии между ролями и объектами доступа. Подобные сценарии требуют ручного анализа бизнес-логики и не сводятся к запуску автоматического сканера.
Для веб-приложений ориентиром при формировании программы проверки может выступать OWASP Web Security Testing Guide. Руководство содержит систематизированные сценарии тестирования веб-приложений и веб-сервисов, однако конкретный перечень проверок должен учитывать архитектуру и функции исследуемой системы.
3. Формат тестирования
Объем доступной специалистам информации влияет на методику и трудоемкость проекта.
Black Box — тестирование с минимальными исходными сведениями об объекте. Такой формат в большей степени воспроизводит действия внешнего нарушителя, который начинает с доступной из открытых источников информации.
Grey Box — сценарий, предполагающий что специалисты получают часть сведений или ограниченный доступ: например, тестовые учетные записи пользователей с разными ролями. Это позволяет глубже проверить механизмы авторизации, разграничение прав и внутреннюю логику приложения.
White Box — формат, в рамках которого команде предоставляется расширенная информация об архитектуре, конфигурации или реализации системы. В зависимости от задачи могут передаваться схемы взаимодействия, документация, настройки и исходный код.
Эти подходы не являются уровнями качества. Выбор зависит от цели. Иногда в одном проекте используются разные модели: например, внешний периметр проверяют в формате Black Box, а приложение — с тестовыми учетными записями.
4. Требуемая глубина проверки
Запрос «проверить сайт» может означать разные задачи:
- найти наиболее очевидные уязвимости;
- проверить определенный перечень функций;
- оценить защищенность всех пользовательских ролей;
- проверить возможность развития атаки;
- смоделировать действия нарушителя с заданными возможностями;
- исследовать конкретные критичные сценарии.
Если требуется не только подтвердить отдельный недостаток, но и проверить потенциальную цепочку атак, специалистам понадобится больше времени на анализ, согласование и документирование результатов.
При этом глубина эксплуатации должна быть ограничена целями проверки. Для подтверждения риска не всегда требуется получать доступ к учетной записи с максимально возможным набором прав или выгружать реальные данные.
5. Ограничения при тестировании
Пентест является активной проверкой, поэтому условия его проведения согласовываются заранее. На трудоемкость могут влиять различные ограничения:
- работа только в определенные часы;
- проведение проверки в продуктивной или тестовой среде;
- запрет на отдельные методы воздействия;
- ограничения по сетевой нагрузке;
- наличие критичных систем, работу которых нельзя нарушать;
- необходимость предварительно согласовывать отдельные действия;
- особый порядок работы с персональными или конфиденциальными данными;
- требования к регистрации действий специалистов.
Чем жестче ограничения, тем тщательнее приходится планировать проверку и адаптировать к ним методику.
До начала тестирования обычно определяются Rules of Engagement — правила проведения работ. Согласно определению NIST, такой документ устанавливает ограничения и дает команде полномочия выполнять заранее согласованные действия.
6. Требования к отчету
Ценность пентеста определяется не только количеством найденных уязвимостей. Результаты должны быть понятны и техническим специалистам, которым предстоит устранять недостатки, и руководителям, принимающим решения о приоритетах.
На состав и детализацию отчета влияют:
- необходимость управленческого резюме;
- требования к описанию доказательств;
- детализация сценариев воспроизведения;
- привязка результатов к конкретным системам;
- описание возможных последствий;
- рекомендации по устранению;
- анализ цепочек атак;
- формат оценки серьезности уязвимостей;
- требования внутреннего контроля или регуляторов.
Уязвимостям может присваиваться оценка критичности по CVSS. При этом CVSS, особенно его базовая оценка, характеризует прежде всего тяжесть последствий эксплуатации, а не бизнес-риск для конкретной организации. Поэтому числовой балл следует дополнять контекстом: критичностью системы и данных, существующими защитными мерами, актуальностью угрозы и возможными последствиями для организации.
7. Повторная проверка
После устранения обнаруженных недостатков может проводиться ретест. Его задача — подтвердить в согласованном объеме проверки, что ранее выявленные уязвимости устранены и исходный сценарий больше не воспроизводится.
Ретест не следует автоматически приравнивать к новому полному пентесту. Обычно он сосредоточен на ранее выявленных проблемах. Проверка способов обхода исправлений и новых сценариев эксплуатации ранее выявленных уязвимостей зависит от заранее согласованных границ ретеста.
8. Срочность и организация доступа
Если тестирование требуется провести в сжатые сроки, может понадобиться расширенная команда или параллельная работа нескольких специалистов. На сроки также влияют готовность тестовых учетных записей, полнота технической информации, доступность ответственных сотрудников и скорость согласования возникающих вопросов.
Задержка с предоставлением доступа может увеличить календарную продолжительность проекта, даже если технический объем остается прежним.