Bug bounty можно и следует считать одним из этапов развития процессов управления уязвимостями и анализа защищенности в организации. Выявление уязвимостей силами внутренней команды специалистов информационной безопасности, аудит, привлечение подрядчиков для проведения тестирования на проникновение, использование автоматизированных средств поиска уязвимостей — все это является неотъемлемой частью кибербезопасности и характеризует зрелость организации с точки зрения защищенности.
Программа bug bounty — это процесс привлечения внештатных исследователей кибербезопасности и специалистов по анализу защищенности и тестированию на проникновение к проверке программного обеспечения, веб-приложений и ИТ-инфраструктуры организации с условием выплаты вознаграждения за выявленные уязвимости или получения иного поощрения
Приступать к формированию собственной программы bug bounty следует после выстраивания классических методов и процессов информационной безопасности, так как программа потребует вовлечения в процесс различных подразделений, отвечающих не только за информационную безопасность, но и за поддержку ИТ-инфраструктуры и обеспечение финансовых операций.
Нельзя сказать, что существует универсальный процесс, следуя которому можно быстро и эффективно сформировать программу bug bounty и предложить ее исследователям. Однако существует ряд контрольных точек, направленных на выстраивание всего процесса, прохождение которых существенно упростит создание программы.
Формирование цели
Запуская программу bug bounty, организации, как правило, преследуют конкретную цель — сократить возможное количество уязвимостей разного уровня опасности в тех информационных активах, которые они предоставили для исследования.
Формирование бюджета
Необходимо определить размер бюджета на проведение программы, а также определиться, в каком формате будут происходить возможные выплаты: будут ли это прямые выплаты исследователю за каждую обнаруженную уязвимость или выплаты из фонда, который резервируется под соответствующие цели.
Следует помнить, что чем более ограничен бюджет, тем меньше выплаты за найденные уязвимости, а значит и привлекательность такой активности для исследователей кибербезопасности будет ниже.
Самостоятельная публикация либо использование платформы
На следующем этапе необходимо выбрать формат публикации программы — опубликовать ее самостоятельно или воспользоваться услугами специализированной платформы.
Самостоятельная публикация используется не так часто и имеет свои преимущества и недостатки:
- преимущества:
- экономия денежных средств благодаря отсутствию сервисных сборов, выплачиваемых платформам;
- полный контроль над процессом;
- возможность не афишировать работы;
- точечный выбор исследователей с учетом специфики организации.
- недостатки:
- затраты ресурсов внутренних подразделений на выстраивание и поддержание всей программы и сопутствующих процессов;
- много времени затрачивается на поиск и привлечение исследователей;
- формирование подробных отчетов о функционировании программы (сбор и публикация различной статистики об уязвимостях, поступивших отчетах, выплатах) может стать проблемой для организаций, не имеющих подобного опыта;
- необходимость заранее максимально четко определить границы проведения работ может стать нетривиальной задачей для внутренней команды;
- необходимость выделить ресурсы для разворачивания стенда с тестируемыми в рамках программы ПО или системами;
- если организация не очень широко известна, это может затруднить привлечение исследователей с требуемыми навыками и опытом.
Размещение программ bug bounty на специализированных площадках активно набирает популярность. Существуют различные зарубежные и российские платформы bug bounty (BI.ZONE Bug Bounty, HackerOne, Standoff365).
Платформы bug bounty — это электронные площадки, созданные для организации поиска уязвимостей и анализа защищенности сообществом исследователей безопасности. Специалисты платформ предоставляют необходимую инфраструктуру, оказывают поддержку и дают экспертные рекомендации
При работе с платформами bug bounty следует учитывать их преимущества и недостатки.
- Преимущества платформы:
- выступает как агрегатор программ от различных организаций, благодаря чему исследователи могут продемонстрировать разнообразие применяемых подходов и навыков;
- берет на себя вопросы оформления и сопровождения исследователей;
- разгружает внутренние подразделения заказчика, позволяя службе информационной безопасности сосредоточиться непосредственно на уязвимостях;
- верифицирует уязвимости и проверяет отчеты;
- предоставляет помощь и экспертную поддержку организации, разместившей программу;
- предоставляет возможность выбрать открытую или закрытую публикацию программы.
- Недостатки:
- сервисные сборы (единоразовая выплата, подписка, комиссии).
Внутренние процессы
Внутри любой организации должен быть сформирован перечень подразделений или ответственных лиц, которые будут отвечать:
- за взаимодействие с исследователями, включая:
- их поиск и привлечение;
- юридическое оформление;
- коммуникацию в рамках программы;
- верификацию уязвимостей.
- взаимодействие с платформой, если принято решение работать через нее:
- выбор платформы;
- публикация программы;
- коммуникация с платформой.
- выплату вознаграждения либо предоставление иного поощрения, принятого в рамках программы.
Как правило, подобные роли и задачи должны быть зафиксированы во внутренней нормативной документации.
Информационные активы, границы работ и тестовый стенд
Важный шаг в процессе формирования программы — определение информационных активов, подлежащих тестированию. Это может быть ПО, веб-приложение или часть ИТ-инфраструктуры. Тестировать можно каждую новую версию ПО, функциональность продукта или группу приложений.
Наравне с перечнем информационных активов внутренней команде организации необходимо определить границы тестирования, правила и ограничения, которые потенциальный исследователь обязан будет соблюдать.
Нельзя забывать и о подготовке испытательного стенда, на котором будут выполняться работы. Не во всех случаях оптимально проводить тестирование продуктивных систем.
Краткий чек-лист подготовки к bug bounty
- Реализовать классические методы управления уязвимостями и анализа защищенности в организации.
- Определить цель (несколько целей), которой необходимо достичь при реализации программы.
- Сформировать бюджет и определить модель выплат потенциальным исследователям.
- Выбрать формат публикации программы: самостоятельно либо с использованием платформы.
- Определить ответственных за программу, область их задач и порядок их взаимодействия между собой.
- Определить информационные активы, которые будут представлены для тестирования. Определить границы работ и подготовить тестовый стенд.