Light mode

Пентест vs багбаунти: что лучше?

  • #Standoff
  • #BugBounty

Чтобы сразу заинтересовать читателя, нужно начинать с дерзкого основного тезиса. Итак, ИБ-консалтинг в виде пентестов и анализа защищенности умер, будущее — за багбаунти! 

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

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

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

Дано: компания A и компания B

Представьте две страховые компании с идентичными характеристиками:

  • Численность штата — около 700 человек. 
  • ИБ-команды насчитывают по 20 сотрудников.
  • Компании используют схожий набор СЗИ и уже внедрили ИБ-процессы в цикл разработки.
  • Уровень зрелости ИБ-процессов — «улучшающийся». Компании могут корректировать регламенты, внедрять новые методики и оптимизировать бизнес-процессы. 
  • В среднем за год каждая компания находит 100 уязвимостей на внешнем периметре: 62 среднего и низкого уровней, 25 высоких и 13 критических.

Оба бизнеса стремятся быть максимально защищенными и не допускать критических инцидентов, но между ними есть существенное различие. Компания А уже год как вышла на багбаунти, а компания B все еще кипятит продолжает пользоваться пентестами. 

Почему первая компания выбрала багбаунти? Причин может быть несколько: 

  • Желание найти слабые места на периметре, например уязвимости в устаревших версиях Confluence и Jira. 
  • Потребность закрывать новые уязвимости. Если компания А проходила через пентесты, значит проблемы с Confluence и Jira, скорее всего, уже решены. Но остаются и другие моменты, требующие внимания. 
  • Понимание, что пентесты, которые проводятся один-два раза в год, не обеспечивают необходимый уровень защиты.

Компания В, напротив, проповедует инерционный подход. Она привыкла работать с проверенной командой, ее пока не взломали и т. д. В общем, она не хочет менять то, что неплохо работает. 

Мой опыт показывает, что компании, которые начинают совмещать пентесты и багбаунти, в итоге отказываются от пентестов

А и B работали с уязвимостями

Давайте посмотрим, как выглядит процесс работы с багбаунти в компании А. 

  1. Согласование бюджета.
  2. Определение ответственных. В том числе важно понять, на кого ляжет процесс триажа уязвимостей (это могут быть как сотрудники компании, так и специалисты багбаунти-площадки).
  3. Развитие программы. Когда работа с отчетами исследователей налажена, уязвимости закрываются по плану и ничего не сбоит, можно расширять программу: подключать новые направления, повышать выплату за криты и т. д.

Теперь разберемся, как выглядят пентесты в компании В.

  1. Согласование бюджета.
  2. Выбор команды, которая будет проводить пентест (если у компании уже есть проверенные исполнители, этот этап можно опустить).
  3. Обработка результатов. Компания получает отчет от исследователей, после чего начинается рутинная работа по устранению уязвимостей.

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

Мотивация исследователей. Мотивация багхантеров предельно проста: нашел уязвимость — получил деньги, нет — остался без вознаграждения. У пентестеров же оплата фиксированная, в среднем — около 250 тыс. руб. в месяц. Само собой, топовые специалисты могут получать заметно больше, но это скорее исключения.

Временные рамки. Компания А находится под постоянным вниманием белых хакеров. Ее проверяют 24/7, поэтому уязвимости в только что опубликованных продуктах выявляются моментально. Пентесты в компании В обычно длятся от двух до четырех недель. Отмечу, что я встречал пентесты, которые идут весь год, но это такое же редкое явление, как единороги :) 

Эффективность поиска уязвимостей. Качество пентестов напрямую зависит от квалификации исполнителей. Если сможете нанять хорошую команду, результат будет соответствующий. Если нет — эффективность поиска уязвимостей будет низкой. У компании А подобных качелей нет, потому что у багхантеров (как мы уже выяснили) другая мотивация. К тому же большинство топовых пентестеров участвуют в крупных багбаунти-программах.

Охват. Пентесты, как правило, подразумевают лишь проникновение в периметр компании. За распространение по инфраструктуре и реализацию недопустимых событий отвечают специалисты red team, а стоимость такой команды может достигать 10 млн руб. в год. Проще говоря, это сложно и дорого. Багбаунти же закрывает все задачи сразу. 

Бизнес-процессы. Для выхода на пентесты нужно с нуля выстраивать процессы анализа и устранения уязвимостей. Если вы уже все это прошли, серьезных изменений для перехода на багбаунти не потребуется. Нужно лишь добавить в готовые процессы людей, которые будут раз в две недели утверждать размер вознаграждений исследователям. Плюс решить, кто будет заниматься триажем уязвимостей (но крупные площадки зачастую берут эту задачу на себя).

Привлекательность бренда. Компания А, выйдя на багбаунти, продемонстрировала рынку, что у нее зрелые ИБ-процессы и ее ИБ-команда занимается реальной безопасностью. Компания В остается невидимой и прячется за ширмой аудитов. Если они выставят одинаковые вакансии, у первой компании будет больше шансов найти качественного эксперта, не переплачивая за его навыки.

Денежные затраты. По моему опыту, хорошую багбаунти-программу можно сделать за 1,5–2 млн руб. в год. Качественный пентест обойдется в 2–3 млн руб. ежегодно. 

Для перехода с пентестов на багбаунти не обязательно драматически наращивать бюджет. Сначала можно установить максимальную ставку в районе 40–50 тыс. руб. за уязвимость, а когда исследователи сорвут низко висящие фрукты, постепенно увеличивать вознаграждения

Для наглядности соберем различия в небольшой таблице (см. табл. 1).

 ПентестБагбаунти
ЦельПротестировать безопасность, найти точки входа в инфраструктуру компании
ЭкспертыОграниченная командаНеограниченное количество исследователей, каждый из которых хочет заработать 
СрокиВ среднем по 2–3 недели на пентестНепрерывное тестирование безопасности
ОплатаОплата за время работы команды. Никакой конкуренции, потому что вознаграждение не зависит от количества и опасности найденных уязвимостейОплата за результат, высокая конкуренция среди исследователей
СкоупТолько заранее обговоренные элементы инфраструктурыСкоуп регулируется: можно убирать или добавлять в программу отдельные сервисы и участки инфраструктуры
Документация и отчетыОдин документ с пачкой уязвимостей, объем которого может достигать нескольких сотен страницДля каждой уязвимости формируется отдельный отчет, отчеты приходят по одному
Таблица 1. Различия между багбаунти и пентестами

У нас в практике не было ситуаций, в которых заказчики тратили на багбаунти больше денег, чем на регулярные и качественные пентесты

***

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

  • Когда бизнес регулярно заказывает пентест у одной и той же команды, ему проще контролировать исполнителей. Если при этом компания довольна результатами, можно смело оставаться на пентестах.
  • Пентест заставляет компанию развиваться резкими рывками — проверки раз в год дают большой объем уязвимостей, которые нужно срочно закрывать. Багбаунти же позволяет сделать этот процесс эволюционным: баги закрываются постепенно, поэтому изменения происходят плавно, без лишнего стресса для ИБ-команды.
  • Пентест — это проверенный подход, но прямо сейчас багбаунти эффективнее, потому что хороших исполнителей проще найти на багбаунти-платформах. Если у вас нет надежной пентест-команды, придется либо нанимать непроверенных специалистов, либо платить огромные суммы топовым экспертам, календарь которых расписан на год вперед.

В заключение приведу пример, за который мне стыдно и которым я одновременно с этим горжусь. У нас есть собственная багбаунти-программа, в рамках которой исследователи проверяют платформу Standoff 365 на наличие уязвимостей. Перед запуском программы мы провели классический анализ защищенности своими силами. Все прошло отлично: мы поправили пару багов и запустили программу багбаунти. А буквально через две недели мы выпустили новую фичу, и я шутки ради написал в чат с хакерами: «Выкатили новую фичу, у нас есть багбаунти — проверите?» И нас проверили. Проверили так хорошо, что фичу сразу же сломали и мы заплатили за нее 450 тыс. руб. Проблему исправили за два часа :) 

Мораль истории в том, что даже после качественного пентеста достаточно выкатить всего один новый продукт — и у вас уже есть потенциальная дыра в периметре. Багбаунти же подразумевает регулярную проверку защищенности, которая поможет быстро нивелировать подобные угрозы 

Мы дěлаем Positive Research → для ИБ-экспертов, бизнеса и всех, кто интересуется ✽ {кибербезопасностью}