От хакера до владельца программы Bug Bounty: учебный опыт
Опубликовано: 2022-04-27Безопасность была главным приоритетом в Braze с момента нашего основания в 2011 году. Наше внимание к защите данных наших клиентов привело нас к тому, что при создании нашего продукта мы придерживались подхода к безопасности и конфиденциальности, удостоверившись, что мы сертифицированы в связи с ISO 27001. и SOC 2 Type 2, а также создать специальный кластер HIPAA, чтобы помочь брендам защитить защищенную медицинскую информацию. Но хотя все эти шаги важны, мы не останавливаемся на достигнутом. Вы всегда можете сделать больше, и это сосредоточение на поиске новых способов укрепления нашей безопасности является важной причиной, почему я здесь.
Еще в 2020 году Марк Шаша, руководитель отдела безопасности Braze, пригласил меня помочь запустить здесь программу вознаграждения за обнаружение ошибок с целью упростить выявление проблем безопасности, которые могут повлиять на наш продукт. И теперь, когда программа запущена и работает чуть больше года, я подумал, что пришло время оглянуться назад на то, что мы создали, и на то, чему я научился за это время.
Что такое программа Bug Bounty?
В программе Braze bug bounty сторонним сторонам предлагается попытаться скомпрометировать продезинфицированную версию платформы Braze без клиентских данных, и им платят, когда они обнаруживают действительную, действенную проблему безопасности. Создание программы вознаграждения за обнаружение ошибок позволяет такой компании, как Braze, привлекать внешних исследователей и специалистов по безопасности для выявления потенциальных проблем безопасности, что позволяет нам активно устранять уязвимости.
Эти программы широко рассматриваются как одна из самых важных мер кибербезопасности, которую может принять компания, отчасти потому, что они позволяют брендам собирать информацию о безопасности от огромного количества разных людей с самыми разными наборами навыков. Как правило, запуск и поддержание успешного публичного вознаграждения за обнаружение ошибок является признаком того, что в организации действует здоровая программа безопасности, поскольку для запуска такой программы без происшествий требуется уровень зрелости безопасности, для достижения которого требуется много размышлений и заботы.
Мои дни в качестве участника Bug Bounty
Я впервые услышал о наградах за обнаружение ошибок еще в 2014 году, но, поскольку я думал, что они звучат слишком хорошо, чтобы быть правдой, я не участвовал в них до 2016 года. Вдохновленный некоторыми сообщениями в блогах, написанными другими этичными хакерами, я принял участие в Yahoo! программу вознаграждения за ошибки и обнаружил, что у меня есть настоящий талант к работе. Во-первых, они дали мне возможность использовать свои хакерские навыки для защиты компьютерных систем, а не для их компрометации. Во-вторых, они дали мне возможность заработать большие суммы денег, пока я этим занимался.
По мере того, как число компаний и правительственных организаций, запускающих программы вознаграждения за обнаружение ошибок, росло, я стал специализироваться на поиске ошибок, связанных с подделкой запросов на стороне сервера (SSRF), для программы вознаграждения за обнаружение ошибок, связанной с крупной телекоммуникационной компанией, и заработал чуть менее 1 миллиона долларов только от выявление этих уязвимостей. Но в то время как финансовая сторона работы над ошибками действительно окупалась для меня, я обнаружил, что мне не хватает структуры и личных связей, которые приходят с дневной работой. Поэтому, когда Braze предложил мне запустить и контролировать собственную программу вознаграждения за обнаружение ошибок, я ухватился за этот шанс.
Как мы запустили программу Bug Bounty в Braze
В Braze нам пришлось пройти ряд шагов, прежде чем мы смогли воплотить в жизнь наше видение программы вознаграждения за обнаружение ошибок. Во-первых, поскольку участникам платят за каждую найденную действительную ошибку, которую они могут принять, запуск программы поощрения без устранения каких-либо и всех известных уязвимостей может привести к тому, что компании будут платить большие деньги за информацию, которая у них уже есть, уменьшая влияние программы и одновременно взвинчивая его стоимость. С этой целью перед подготовкой к официальному запуску мы выполнили следующие шаги:
Развертывание внутренних соглашений об уровне обслуживания безопасности (SLA) с командами разработчиков
Создание программы управления уязвимостями
Развертывание инструментов динамического анализа безопасности (DAST)
Проведение внутренних тестов на проникновение
Проведение сторонних тестов на проникновение
Обеспечение того, чтобы все известные проблемы были устранены
Затем, как только мы убедились, что дублированная версия платформы Braze, созданная для программы вознаграждения за обнаружение ошибок, максимально защищена, мы инициировали частную программу ограниченного масштаба с использованием платформы Bugcrowd. Мы запустили эту двухнедельную программу по требованию, чтобы мы могли использовать ее в качестве доказательства концепции и помочь познакомить организацию Braze с реалиями запуска программы вознаграждения за обнаружение ошибок. В конце концов, идея пригласить хакеров и исследователей безопасности для поиска недостатков безопасности в вашем продукте может показаться странной или запутанной, если вы раньше не сталкивались с наградами за обнаружение ошибок.
4 больших урока от запуска новой программы Bug Bounty
Я довольно быстро понял, что запустить новую программу вознаграждения за обнаружение ошибок гораздо сложнее, чем взять на себя управление уже существующей. Существует так много различных факторов, влияющих на создание успешной программы, которым не уделяется столько внимания — отчасти потому, что они не так интересны, как выявление критических ошибок, их быстрое исправление и выплата крупных вознаграждений. Учитывая это, давайте поговорим о некоторых из моих самых больших уроков:
1. Запуск программы Bug Bounty требует совместной работы нескольких команд
Первоначально я надеялся, что запустить программу будет так же просто, как принять решение, выбрать правильную платформу, определиться с масштабом и суммой вознаграждения, а затем просто начать. Но чтобы сделать это правильно, требуется гораздо больше планирования, подготовки и внимания к сделке, чем я думал. Во-первых, я не принял во внимание все другие команды в Braze, которые должны были сыграть свою роль в поддержке запуска программы вознаграждения за обнаружение ошибок, — от работы, которую проделала наша юридическая команда, чтобы убедиться, что у нас есть надлежащая формулировка для наше соглашение Safe Harbor с работой, проделанной для создания наших SLA и обеспечения правильного процесса эскалации, когда происходят нарушения. Эта работа может быть сложной, но она абсолютно необходима. Программа поощрения ошибок, которая не была тщательно спланирована и реализована, неизбежно столкнется со многими проблемами, которые, в свою очередь, могут привести к плохой молве о программе, что затруднит привлечение высококлассных хакеров и исследователей безопасности и, возможно, обрекая все начинание.
2. Никогда не упускайте из виду свои отношения с хакерами и исследователями
Брендам важно помнить, что успешная программа вознаграждения за обнаружение ошибок зависит от взаимоотношений между программой и хакерами/исследователями, которые в ней участвуют. Счастливые хакеры гораздо охотнее тратят свое время на вашу программу, и, учитывая, что каждая программа поощрения борется за долю конечного ресурса, а именно, время и внимание хакеров/исследователей, важно убедиться, что вы настраиваете себя для достижения успеха, уделяя приоритетное внимание этим отношениям и делая все возможное, чтобы выделиться среди других программ. Некоторые компании делают это, выплачивая более высокие вознаграждения, чем в среднем по отрасли, за различные классы и серьезность ошибок, но это не единственный (или лучший) способ сделать это.
Из-за того, что я работал охотником за ошибками, я смог использовать свой опыт, чтобы рассказать, как Braze поддерживает эти отношения. Например, я смог получить согласие на то, чтобы Braze одновременно запускал как публичные, так и частные программы вознаграждения за обнаружение ошибок. Это позволяет нам идентифицировать лиц, участвующих в нашей общедоступной программе, которые сообщают о хороших, достоверных отчетах, а затем вознаграждать их, приглашая их в нашу частную программу. У этих участников есть дополнительные функциональные возможности, которые они могут протестировать и первыми получить доступ к новым дополнениям, прежде чем мы добавим их в общедоступную программу. Я считаю, что, делая такие небольшие вещи, компании могут показать свою признательность исследователям, которые вносят свой вклад в их программу, и поощрить их к более глубокому участию в будущем.
3. Bug Bounty выглядит иначе со стороны компании
До того, как я начал запускать свою собственную программу вознаграждения за обнаружение ошибок, я не был поклонником работы с программами, управляемыми сторонней платформой. Для программ, настроенных таким образом, компании обычно полагаются на сторонние проверяющие, предоставляемые платформой, которые просматривают материалы от хакеров/исследователей и определяют серьезность каждой обнаруженной ошибки, и у меня был некоторый опыт, когда проверяющие не делал звонки, с которыми я не соглашался.
Однако теперь, когда я на другой стороне, я вижу, насколько ценен такой платформенный подход для компаний, использующих его. Хотя мы по-прежнему участвуем в непосредственном наблюдении за работой, выполняемой сторонними триагерами, которые мы используем, я обнаружил, что их использование может значительно сократить затраты времени и энергии, связанные с запуском такой программы. Триагеры, с которыми мы работаем, являются профессионалами и доказали свою эффективность в нашей программе, помогая сделать наше успешное развертывание возможным.
4. Работа не заканчивается, когда обнаружена ошибка
До того, как присоединиться к Braze, я часто разочаровывался в программах вознаграждения за обнаружение ошибок, которые занимали недели или месяцы, чтобы исправить уязвимости, которые я им отправил. С моей точки зрения, проблемы в целом казались довольно сухими и сухими, и я чувствовал, что исправление этих ошибок не должно занимать много времени или вообще не должно выполняться.
Но теперь, когда я стал свидетелем того, что происходит за кулисами, когда сообщается об одной из этих ошибок, я понял, что не принял во внимание все обсуждения и работу, проделанную за кулисами в течение жизненного цикла уязвимости безопасности — от расследования и подтверждение ошибки и передача этих деталей ответственной команде внутри компании для фактических изменений кода, тестирования и выпусков, которые должны произойти, прежде чем ошибка будет действительно устранена. Реальность такова, что эти вещи требуют времени, и, как хакер, я не всегда принимал во внимание объем работы, отчасти потому, что хотел, чтобы весь процесс был выполнен как можно быстрее, чтобы мне могли заплатить.
Последние мысли
Запуск программы вознаграждения за обнаружение ошибок в прошлом году полностью изменил мой взгляд на отрасль и даже изменил то, как я выбираю, на каких программах вознаграждения за обнаружение ошибок я сосредоточусь в свободное время. Этот взгляд за кулисы дал мне гораздо больше уважения к важной работе, выполняемой триагерами платформ, и лучшему пониманию того, каковы реалистичные сроки для компаний для оценки и устранения ошибок, которые я сообщаю. С этим новым пониманием я надеюсь, что смогу продолжать улучшать и расширять программу вознаграждения за обнаружение ошибок Braze, а также добиваться еще большего успеха в качестве охотника за ошибками в будущем.
Хотите присоединиться к команде Braze? Проверьте наши открытые роли !