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

Конечно, внутри компаний есть (или должны быть) специально обученные люди, занимающиеся поиском уязвимостей. Но объем таких работ огромен, и увеличивается он ежедневно. Что можно предпринять? Найти нужные «рабочие руки» — всех желающих, кто хочет и может этим заняться, причем за вознаграждение. Так возникла идея Bug Bounty — открытой краудсорсинговой альтернативы внутренней ИБ-службе, реализованной как своего рода мегаконкурс по поиску уязвимостей в программах компаний (разумеется, все это не за бесплатно, хотя есть исключения).

Увы, джентльменам не верят на слово в современном мире, а потому, если вы решили попробовать заработать на bug hunting, придется соблюдать правила игры. В статье я попытаюсь очертить круг возможностей «охотников за ошибками» и расскажу о вариантах участия в программах вознаграждения за найденные ошибки: сторонних платформах Bug Bounty (marketplaces) и программах, спонсируемых компаниями.

Платформы Bug Bounty

Платформы Bug Bounty содержат много технической информации. На них можно найти практически любой вариант поддержки и обучения «молодых охотников» — от форумов и учебных блогов до «информационных табло», на которых отражаются, например, время отклика компании на ваши исследования и средняя сумма вознаграждения за найденные ошибки. Систематизируются там и ваши собственные успехи: количество найденных ошибок, уровень их серьезности и так далее. Помимо этого, на подобных платформах представлены стандартизованные варианты оформления процесса поиска ошибок (то есть те, которые принимает большинство компаний), правила раскрытия информации о найденных уязвимостях и прочая документация для понимания правил «охоты за ошибками» — как общих, так и относящихся к конкретным компаниям. Такие стандарты позволяют, в том числе, автоматизировать рабочий процесс, например, разработать видоизменяемый шаблон отчета (Write-up), который можно повторно использовать в заданиях.

В статье я рассмотрю наиболее известные зарубежные площадки Bug Bounty: Bugcrowd, HackerOne, Vulnerability Lab, BountyFactory и Synack. Стоит отметить, что аналогичные хабы есть и на территории СНГ: bugbounty.ru (Россия), bugbounty.kz (Казахстан), bugbounty.by (Беларусь), — они останутся за бортом этой статьи.

HackerOne и Bugcrowd

HackerOne и Bugcrowd имеют схожий охват различных компаний с разными продуктами, бизнес-моделями и требованиями безопасности. Основное направление площадок — поиск уязвимостей в веб-приложениях, но есть также предложения о поиске уязвимостей в мобильных приложениях и нестандартные альтернативные варианты. У HackerOne есть несколько известных компаний, которые являются эксклюзивными для этой платформы (в том числе и Twitter), но в целом предложения очень похожи.

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

Bugcrowd поддерживает систему классификации уязвимостей, называемую таксономией рейтинга уязвимостей (Vulnerability Rating Taxonomy, VRT). Как утверждают представители площадки, эта система помогает определиться, на какие типы уязвимостей лучше обратить внимание с учетом опыта исследователя и его веры в свои силы, измеряемой в величине вознаграждения за найденную уязвимость. Естественно, что чем больше вы верите в свои силы, тем на более дорогостоящие уязвимости вы решите замахнуться.

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

В то время, как вы изучаете площадки, площадки изучают вас. Как в Bugcrowd, так и у HackerOne есть политика вознаграждения за нахождение багов. Исследуются, например, показатели количества и «качества» активности пользователя, полученные за последние 90 дней. По результатам таких исследований вас могут пригласить в «частные программы» вознаграждений. Они отличаются более узким кругом претендентов на награду, что повышает шансы найти «денежный» баг, но в то же время претенденты в них более опытны, и лишь ваше дело решить, что лучше — ввязаться в драку или посмотреть на нее со стороны.

Помимо этого, HackerOne предлагает вознаграждение за аудит безопасности собственных ресурсов и сайтов площадки. В этом случае выплату можно получить, даже если обнаружить уязвимости не удастся, главное — продемонстрировать серьезный исследовательский подход с полным описанием опробованных вариантов. Отсутствие результата — тоже результат, к тому же зачем упускать возможность лишний раз проверить безопасность, не так ли?

Vulnerability Lab

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

BountyFactory

BountyFactory позиционирует себя как первая европейская Bug Bounty платформа, основанная на европейских правилах и законодательстве. BountyFactory управляется группой YesWeH4ck — рекрутинговой компанией Infosec, основанной в 2013 году. Помимо платформы Bug Bounty, под управлением YesWeH4ck находятся доска объявлений о работе YesWeH4ck Jobs, скоординированная платформа раскрытия уязвимостей ZeroDisclo и совокупность всех общедоступных программ по защите от уязвимостей FireBounty. Как и Bugcrowd и HackerOne, BountyFactory имеет свою систему оценки, таблицу лидеров, а также публичные и частные программы, на которые распространяется ограниченное количество приглашений. Являясь европейским оператором, BountyFactory отлично подходит для компаний, которые не пользуются популярными американскими bug bounty-платформами.

Synack

Платформа Synack позиционирует себя как своего рода эксклюзивный клуб «охотников за ошибками». Желающим попасть в него необходимо пройти весьма жесткий отбор. Synack потребует вашу личную информацию, проведет видеоинтервью, инициирует проверку биографических данных и идентификацию, а также оценит ваши навыки, чтобы убедиться, что вы не только обладаете опытом подобных работ и способны на многое, но и достаточно ответственны для аудита программ, предполагающих работу с конфиденциальными данными (одна из специализаций Synack). В Red Team этой платформы принимаются менее 10% претендентов. В отличие от других платформ Bug Bounty, Synack не публикует список лидеров или каких-либо других исследователей публично (хотя у нее есть внутренние рейтинги, которые используются как основа для вознаграждений и приглашений для выбора компаний). Synack хранит личность своих исследователей в секрете, и это дает «охотникам за ошибками» некоторую защиту от судебных исков со стороны компаний, пытающихся препятствовать агрессивному аудиту, или от тех, кто считает, что исследователь нарушил Правила взаимодействия (Rules of engagement, ROE).

Программы, спонсируемые компаниями

Деньги против барахла

На требования и условия получения вознаграждения за поиск уязвимостей в рамках программ, спонсируемых компаниями, влияет множество факторов. В основном в качестве вознаграждения компании предлагают деньги, при этом широко распространены и так называемые swag-only программы, когда исследователи получают подарки: различный мерч, бутылки с водой и так далее. Тем не менее, именно swag-only программы являются базой, основой для новичков. Они дают отличную практику по поиску уязвимостей на действующих сайтах компаний, при этом многие из них поддерживаются на сторонних маркетплейсах. Таким нехитрым образом компании одновременно обеспечивают себе более широкий круг исследователей уязвимостей и избегают излишних трат денег. Помимо этого, особо отличившихся «охотников за уязвимостями» компании могут пригласить в собственные программы bug bounty hunting.

Крупные компании платят высокие гонорары за найденные уязвимости, но шанс найти такую уязвимость не слишком велик: основной спектр уязвимостей уже найден до вас. У стартапов будут более «уязвимые» приложения, но область атаки намного уже, чем у крупных компаний, то есть уязвимости могут быть малоизвестными, и помимо определенной удачи, нужны опыт и навыки. Взлом Google, Facebook или Amazon гарантирует вам большие выплаты в случае успеха, но у них уже есть крупные команды безопасности и так много сообщений об ошибках от независимых исследователей, что начинающему «охотнику за ошибками» будет сложно найти что-либо с первой попытки.

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

Google

У Google обширная программа Bug Bounty, с подробными структурами выплат и специальными инструкциями для классификации различных типов ошибок. Большую часть информации об этом можно найти в разделе «Награды» на странице «Безопасность приложений», но Google также разрабатывает набор учебных пособий по тестированию (небольшой). Особое внимание в нем уделяется формализации результатов: как правильно оформить конкретно для Google то, что вы искали и как вы это делали. В качестве примера можно привести университет Bughunter, Google Gruyere и другие учебные приложения. В них содержатся не только предпочтения и требования Google, но и лучшие практики и знания, которые можно применить к программам и заданиям других компаний.

Facebook

У Facebook есть программа вознаграждения за выявление ошибок с минимальной выплатой в размере 500 долларов. В политике ответственного раскрытия информации компании говорится, что Facebook «не будет мириться со злоупотреблениями с данными». Это значит, что против вас не будут инициировать судебный процесс или расследование с привлечением правоохранительных органов в ответ на сообщение о найденной проблеме безопасности, но при одном условии — соблюдении вышеупомянутых правил Facebook (политики ответственного раскрытия). Количество информации, доступной для программы Facebook, минимально. Помимо этого, Facebook очень резко реагирует на попытки несанкционированного поиска уязвимостей на своей платформе, что неудивительно, особенно с учетом недавнего усиленного контроля за деятельностью компании как за рубежом, так и в России.

Amazon

У Amazon есть программы bug bounty hunting как для подразделений электронной коммерции, так и для облачных сервисов. Их ключевая особенность — применение «разрешительной» модели участия вместо «открытой». Другими словами, пока вы соблюдаете правила взаимодействия, можете ожидать иммунитета. Amazon потребует от вас регистрации и запроса на разрешение участия в пентестинге. Таким образом компания отсекает излишнее количество тестировщиков, а также старается различить активность «белых» и «черных» хакеров (White and Black-Hat).

У Amazon есть множество официальных документов, постов в блогах и документации о том, как в компании работает безопасность, но материалов, обучающих «охотников за уязвимостями», намного меньше, чем у Facebook или Google.

GitHub

GitHub предлагает программу вознаграждений, которая охватывает широкий спектр его свойств, включая API, корпоративные приложения и основной сайт. Выплаты в большинстве случаев варьируются от 555 до 20 000 долларов США.

Одна из замечательных особенностей программы GitHub заключается в том, что каждый участник, успешно нашедший ошибки, получает страницу профиля, на которой отображаются не только набранные им баллы, место в рейтинге исследователей и заработанные значки, но и обнаруженные уязвимости с кратким техническим описанием. Такие страницы профиля могут стать впоследствии отличным пунктом в резюме для карьеры в области ИБ.

Microsoft

У Microsoft есть программа вознаграждений, охватывающая как ее потребительские продукты для ПК, так и продукты для веб-приложений, например, Azure. На сайте программы Microsoft Bounty подробно рассказывается о форматировании отчетов и их представлении, показаны примеры хороших и плохих образцов, приведены подробные, конкретные рекомендации по тестированию для каждого свойства Microsoft, но нет большого запаса учебного материала с точки зрения общего пентестинга. У Microsoft, как и у многих других компаний, есть своя публичная таблица лидеров и система рейтинга.

Internet Bug Bounty Program (IBBP)

IBBP представляет собой нечто среднее между сторонними маркетплейсами и спонсируемыми компанией программами. IBBP — некоммерческая организация, которую финансируют крупные технологические партнеры, включая Microsoft, Adobe, Facebook и GitHub, для защиты целостности основных интернет-сервисов. Технологии, охватываемые программой Bug Bounty IBBP, разнообразны: языки (Perl, Ruby, PHP), фреймворки (Django, Ruby on Rails), серверы (NGINX, Apache HTTP) и криптографические инструменты (Open SSL).

Именно IBBP выплачивала вознаграждения за некоторые из самых известных и высокооцененных найденных уязвимостей за последнее десятилетие: Heartbleed — 15 тыс. долларов, ShellShock — 20 тыс. долларов и ImageTragick — 7,5 тыс. долларов. Таким образом, IBBP является отличным ресурсом для развития навыков пентестинга, особенно веб-приложений.

Как найти программы Bug Bounty сторонних компаний

У многих компаний есть программы вознаграждения за ошибки. Выяснить, поддерживается ли для сайта или приложения программа Bug Bounty, легко за пару запросов. Например, можно использовать запросы с синтаксисом поиска Google, например, inurl: / security /, intext: bug bounty и intext: reward или их объединение. Можно также настроить оповещение Google, используя эти и другие поисковые термины, чтобы получить простой, автоматизированный способ поиска новых программ для участия в пентестинге.

Bugcrowd курирует список, заполняемый компаниями-участниками платформы. Из него можно узнать, какие программы Bug Bounty доступны в компаниях, в какой форме по ним предоставляется вознаграждение, и есть ли у этих организаций «Зал славы» для успешных исследователей.

Firebounty, упомянутый ранее как продукт YesWeH4ck, представляет собой гибрид, который показывает программы Bug Bounty с других платформ, а также свои собственные уникальные предложения.

Автор: Дмитрий Мельник, ведущий инженер по информационной безопасности R-Vision

Комментарии (0)