Методология

Классическая программа bug bounty: тестовые vs. продуктивные системы

akravchenko.jpgАлександр Кравченко

Один из вопросов, который требуется решить компании в рамках запуска программы bug bounty, — это в какой среде, тестовой или продуктивной, будет исследоваться защищенность информационных систем. Каждая из этих сред имеет определенную специфику, и их положительные и отрицательные стороны стоит рассмотреть подробнее.

Тестовая среда

Положительные стороны использования:

  1. Исследование в тестовой среде не влияет на функционирование продуктивной системы и снижает вероятность нарушить ее защищенность и бесперебойность работы.
  2. Тестовая среда позволяет разделять системы, модули и компоненты: проверяется только необходимая система и при непредвиденных обстоятельствах остальные не затрагиваются. Это полезно, когда продукт имеет множество интеграций с другими сервисами, которые не требуется тестировать в рамках программы bug bounty, или, например, напрямую взаимодействует с системами других юридических лиц.
  3. Тестовую среду проще настроить для взаимодействия со средой разработки, что позволяет IT-специалистам получать актуальные данные о ходе исследования защищенности и быстрее обрабатывать уязвимости.
  4. В тестовой среде проводятся исследования специализированных автономных систем, которые не требуют постоянного подключения к интернету или другим внешним сетям (АСУ ТП, банкоматы, постаматы, беспилотный транспорт и другие), а также имеют сложности и ограничения использования в продуктивной среде.
  5. Если система в продуктивной среде предполагает обязательную деанонимизацию хакеров (например, если нужно войти в Госуслуги под своей учетной записью), то они могут не согласиться на исследование, что приведет к падению числа участников. В этом случае имеет смысл разместить систему в тестовой среде и отключить обязательную верификацию.

Отрицательные стороны использования:

  1. Системы, разворачиваемые в тестовой среде, фактически не реплицируются на 100%. Они не содержат ошибок, имеют разного рода допущения или ограничения, в них отсутствуют интеграции с другими сервисами, которые существуют в продуктивной среде. При межсистемном взаимодействии в продуктивной среде могут выявиться новые уязвимости, которые недоступны в тестовой среде.
  2. Ошибки в конфигурации систем, находящихся в тестовых средах, или самих тестовых сред могут расширить поверхность атаки в компании или дать доступ непосредственно в инфраструктуру (локальную вычислительную сеть). Команде организатора стоит включить в область действия программы bug bounty поиск подобного рода уязвимостей, чтобы исключить их использование злоумышленником, особенно если тестовая среда находится на периметре.
  3. Эффективность тестовой среды зачастую зависит от ее архитектуры, масштабов и вычислительной мощности. Это, в свою очередь, может исказить результаты исследования.

Продуктивная среда

Положительные стороны использования:

  1. Система, особенно эксплуатируемая в течение длительного времени, всегда имеет некое «наследие»: артефакты прошлых релизов и инфраструктуры, программные ошибки, куски неиспользуемого кода. Это влияет на реальный результат обнаружения и последующего устранения уязвимостей.
  2. Продуктивная среда содержит в себе реальные данные — те, с которыми работают пользователи. Это дает понимание, какая именно информация подлежит потенциальной утечке, что, в свою очередь, позволяет точнее оценить опасность выявленной уязвимости.
  3. В продуктивной среде информационная система работает в интеграции с другими сервисами. Это отражает реальные условия использования, а значит, данные тестирования кибербезопасности будут точнее.

Отрицательные стороны использования:

  1. Проверка информационной системы в продуктивной среде может нарушить ее работу и, следовательно, бесперебойность бизнес-процессов, создав трудности для пользователей.
  2. Поддержание защищенности и бесперебойной работы системы требует дополнительных ресурсов компании.

Вывод

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