Проведение пентеста может быть частью ваших целей, но в данный момент это не является приоритетом. Это может быть вызвано различными причинами: ведутся разработки, планируется миграция, еще не выделен бюджет и т. д. Когда пентест крайне необходим? Давайте разбираться.
Мы представим различные ситуации, в которых возникает этот вопрос, и дадим вам ключи к определению подходящего времени для проведения теста на проникновение.
Вы находитесь на стадии разработки продукта и ждете стабилизации версии перед проведением пентеста
Для проекта, находящегося в стадии разработки, действительно интересно подождать, пока первая версия более или менее стабилизируется, прежде чем проводить пентест.
Но в некоторых случаях, особенно в проектах, где планируется большая фаза разработки, может быть полезно проводить тесты по ходу дела, когда некоторые базовые функции уже готовы. Это позволяет проверить часть работы. Это также помогает направлять дальнейшую разработку, чтобы избежать повторения определенных ошибок и ограничить время, потраченное на исправления безопасности, которые могут задержать запуск в производство.
Для небольших проектов пентест можно планировать только в конце фазы разработки.
У вас есть проект миграции сервера
В целом, полезнее протестировать новую конфигурацию сервера, когда она будет внедрена, чем тестировать конфигурацию, которая вскоре перестанет использоваться. Однако необходимо учитывать риски для существующей инфраструктуры: когда произойдет миграция? В то же время, каков уровень риска?
Ответы, которые вы дадите на эти вопросы, определят правильное время в вашей ситуации.
Важно знать, что в случае пентеста веб-приложений аудит включает две фазы: фазу тестирования на уровне приложений и фазу тестирования на серверах. Можно проводить эти два этапа в разное время, чтобы протестировать приложение, если в этом есть краткосрочная необходимость, а затем серверы, когда миграция будет завершена.
Следует также отметить, что для этого типа пентеста фаза тестирования серверов представляет собой лишь небольшую (но, тем не менее, критически важную) часть общего объема тестов, которые необходимо запланировать.
У вас есть проект по редизайну приложения
Если от старой версии приложения собираются отказаться, то первой мыслью будет то, что тестирование его безопасности не актуально. Но стоит хорошо подумать: насколько критично приложение? Сколько времени займет переделка?
По бюджетным причинам часто невозможно провести углубленный аудит безопасности на старой версии приложения, которое переделывается.
Проведение быстрого пентеста на старой версии — это возможность получить обратную связь, которая позволит устранить наиболее «очевидные» недостатки (с точки зрения злоумышленника), а также направить новые разработки (благодаря тому, что разработчики узнают о некоторых проблемах безопасности).
Всегда будет важно провести аудит безопасности новой версии приложения, если оно становится основным для пользователей. В некоторых случаях, если сначала провести быстрый пентест на старой версии, это также ограничит время, необходимое для исправления недостатков в новой версии, так как произойдет передача навыков безопасности.
У вас пока нет бюджета для проведения пентеста
Бюджет — это фактор, который часто сдерживает проекты пентестов по вполне понятным причинам. Однако следует остерегаться предвзятого мнения о том, что любой пентест обязательно требует огромного бюджета. В действительности все зависит от объема и уровня глубины тестов.
Некоторые клиенты предпочитают начать с быстрого аудита, чтобы сохранить низкий бюджет и получить первые отзывы об уровне безопасности.
Это особенно актуально для молодых стартапов, которые хотят внедрить тестирование безопасности при очень небольшом бюджете, а затем постепенно увеличивать ресурсы по мере роста и повышения уровня подверженности рискам.
У вас нет времени на пентест, команда занята другими приоритетами
Понятно желание не добавлять команде лишних задач. Однако остерегайтесь приоритетов, которые отодвигают безопасность на второй план. Не откладывайте проведение пентеста надолго и делайте его «когда придет время», чтобы не игнорировать потенциальные критические недостатки.
Более того, пентест не очень сильно мобилизует команду разработчиков. Пентестеры относительно автономны в проведении аудита безопасности. В некоторых случаях им потребуется, чтобы вы заранее предоставили им тестовую среду или даже тестовые учетные записи. После проведения пентеста, в зависимости от выявленных уязвимостей и необходимых исправлений, команда разработчиков может быть более или менее мобилизована. Но вы сможете самостоятельно определить приоритетность исправлений, которые необходимо внедрить, например, сначала исправить критические недостатки, а остальные исправления включить в свою дорожную карту.
В первую очередь вы хотите устранить недостатки безопасности, о которых вы уже знаете
Зная уязвимости, которые вы уже выявили до проведения пентеста, пентестерам не приходится «тратить» время на уже известные уязвимости, и они могут сосредоточиться на поиске других уязвимостей.
Однако в таких ситуациях, когда уязвимости известны, приводят в ловушку: откладывание проведения пентеста на длительное время (иногда на месяцы, иногда больше), чтобы дать разработчикам возможность устранить уязвимости. Иногда эта ситуация затягивается, потому что другие приоритеты, потому что возникли непредвиденные обстоятельства или потому что исправления не завершены на 100%.
Тем временем могут существовать риски, связанные с нераспознанными уязвимостями или уязвимостями, которые были обнаружены, но их влияние сведено к минимуму. Тестирование на проникновение позволяет взглянуть на ситуацию со стороны и расставить приоритеты по степени критичности. Неважно, найдем ли мы недостатки, о которых вы уже знаете, главное, чтобы вы получили представление обо всех найденных недостатках, их влиянии и уровне критичности, а также о том, как их устранить. Затем вы сможете принять решение о порядке приоритетов.
Хотите сначала завершить исправления после предыдущего пентеста
Действительно, если вы хотите углубить тесты в рамках уже проведенного пентеста, завершив исправления предыдущего аудита безопасности, пентестеры смогут продвинуться дальше в своих исследованиях во время следующего. Они также могут проверить, что внедренные исправления не привели к нежелательным последствиям для других элементов.
В других ситуациях, например, если вы хотите протестировать другую цель, то пентест может быть проведен независимо от текущих патчей.