Эти три подхода часто подают как ступени одного и того же: будто Red Team — это пентест получше, а bug bounty — пентест подешевле. Это не так. Каждый отвечает на свой вопрос, и неверный выбор даёт точный ответ на вопрос, который вы не задавали.
Три вопроса
Пентест спрашивает: какие уязвимости есть в этой системе? Нанятая команда изучает согласованный объём в согласованный срок и сообщает обо всём, что нашла, и о том, что именно проверила. Ценность — в покрытии: вы знаете, что проверялось и как.
Bug bounty спрашивает: что найдут люди снаружи из того, что мы пропустили? Независимые исследователи смотрят на то, что им интересно, столько, сколько хотят, и получают вознаграждение за подтверждённые находки. Ценность — в разнообразии взглядов и настойчивости. Покрытие никто не обещает.
Red Team спрашивает: заметим ли мы атаку и сможем ли её остановить? Команда добивается конкретной цели так, как это делал бы реальный противник, а ваши защитники об этом не знают. Ценность — в том, что становится известно об обнаружении и реагировании. Найти много уязвимостей — не цель; достаточно дойти до цели через одну.
В сравнении
| Критерий | Пентест | Bug bounty | Red Team |
|---|---|---|---|
| Вопрос | Что уязвимо? | Что мы пропустили? | Заметим ли мы? |
| Объём | Согласованный, фиксированный | Опубликованный, открытый | Определяется целями |
| Длительность | Дни и недели | Непрерывно | Недели и месяцы |
| Кто знает | Все | Все | Небольшая контрольная группа |
| Покрытие | Документируется | Не гарантируется | Не является целью |
| Оплата | За работу | За подтверждённые находки | За работу |
| Результат | Отчёт со всеми находками | Поток отчётов | Описание атаки и пробелы в обнаружении |
Обычный порядок
Большинству организаций стоит пройти эти шаги по порядку: каждый следующий бесполезен без предыдущего.
- Пентест. Найти и исправить то, что находит систематическая проверка. Этого же ждут аудиторы и заказчики.
- Политика раскрытия. Опубликовать канал для сообщений извне. Стоит недорого и служит основой для всего дальнейшего.
- Закрытая программа bug bounty. Пригласить ограниченную группу исследователей на уже проверенный объём. Тогда вознаграждения платятся за труднонаходимое.
- Публичная программа bug bounty. Открыть программу, когда сроки ответа и исправления выдерживаются на закрытой.
- Red Team. Проверить обнаружение и реагирование, когда базовые уязвимости устранены и есть команда, работу которой можно проверять.
Начинать с конца дорого. Публичная программа на непроверенном приложении платит высокие вознаграждения за находки, которые проект с фиксированной стоимостью дал бы в первые дни. Операция Red Team против организации без мониторинга за неделю доказывает то, что было известно заранее.
Когда порядок меняется
- Тест предписан регулятором. TLPT по требованиям DORA — это упражнение Red Team с заданной структурой. Если вы подпадаете под требование, вопрос не в том, проводить ли его, а в том, как.
- Продукт выходит каждую неделю. Ежегодный тест описывает систему, которой уже нет. Разовый проект заменяется непрерывным тестированием.
- Система напрямую хранит средства. Для смарт-контрактов аудит проводится до развёртывания, а программа с ощутимыми вознаграждениями стартует в день развёртывания.
Что спросить у исполнителя
- Что именно будет проверено и как я увижу, что это проверено?
- Кто будет выполнять работу и кто проверяет отчёт?
- Что произойдёт, если на второй день найдётся критическая уязвимость?
- Входит ли повторная проверка и до какого срока?
- Что нужно от нас для начала работ?
Исполнитель, который не может ответить на первый вопрос, продаёт время, а не уверенность.
Коротко
Выбирайте пентест, когда нужно узнать состояние системы. Выбирайте bug bounty, когда состояние известно и вы хотите узнать, что пропустили. Выбирайте Red Team, когда нужно проверить людей и процессы, которые должны заметить атаку. Если вы не уверены, какой вопрос ваш, опишите ситуацию — мы скажем, с чего начали бы и почему.