Bug bounty: pro et contra
Осенью прошлого года 0-day брокер Zerodium выплатила $1 млн за взлом iOS 9. Это самое крупное вознаграждение за всю историю существования программ по привлечению широкой аудитории к поискам уязвимостей.
Впервые такую программу запустила американская ИТ-корпорация Netscape Communications Corporation. Суть проекта под названием Netscape Bugs Bounty заключалась в привлечении технических специалистов компании к поиску недочетов в браузере Netscape Navigator. За успешно выполненную работу полагалось вознаграждение. С тех пор подобные инициативы носят название Bug Bounty.
Больше всего в проекты поиска уязвимостей вкладываются ИТ-компании. Например, с момента существования программы Vulnerability Reward Program (VRP), которая была запущена в 2010 году, Google перечислила независимым экспертам свыше $6 млн. За пять лет существования программы в Facebook 900 исследователей по всему миру получили выплаты на общую сумму $5 млн. Начиная с 2013 года Yahoo потратила $1,6 млн на гонорары за найденные уязвимости, Mozilla и Firefox выплатили в течение пяти лет около $1 млн, а Microsoft — более $500 тыс.
Такие суммы за найденные уязвимости компании платят не зря: поиск и устранение угроз безопасности помогает многократно повысить уровень надежности программных продуктов.
Учитывая данные статистики, которые говорят о росте уровня киберпреступности на 3–4% ежемесячно, вопрос обеспечения информационной безопасности остается одним из самых актуальных не только в сфере информационных технологий, но и в банковской отрасли, где защите информации всегда уделялось особое внимание.
Поиск уязвимостей — путь к безопасности
У ИТ-компаний своя специфика ведения бизнеса: рынок требует от них сокращать время выпуска новых и обновления версий существующих продуктов. В этих условиях Bug Bounty — дополнительная эффективная мера по обеспечению информационной безопасности программных продуктов.
Опыт показывает, что с финансовой точки зрения привлечение сторонних специалистов к поиску угроз безопасности выгоднее, чем оплата штатных сотрудников.
Крупные иностранные ИT-компании тратят в год на подобные программы в среднем от $100 тыс. Между тем, по данным информационного агентства PaleScale, годовая зарплата высококвалифицированного специалиста по поиску уязвимостей составляет в США $80–$100 тыс. По статистике, один штатный сотрудник находит меньше критичных уязвимостей, чем группа независимых исследователей, участвующих в программе Bug Bounty. Поэтому для получения адекватного результата указанную сумму надо увеличить в несколько раз.
В качестве примера можно привести результаты программы Bug Bounty в Facebook. В 2014 году компания получила информацию о 17,011 уязвимостей, 61 из них оказалась критичной. Сумма в $1,3 млн была выплачена 321 багхантеру.
Распространение Bug Bounty
Российские компании пытаются не отставать от своих западных коллег. Так, «Яндекс» организует программы по поиску уязвимостей с 2011 года. Mail.ru, социальная сеть «Одноклассники» и «Лаборатория Касперского» получают информацию по уязвимостям через специализированную площадку hackerone.com.
Отдельно следует уделить внимание ежегодным отчетам компании Bugcrowd о состоянии рынка Bug Bounty. Bugcrowd предлагает платформу, на базе которой встречаются исследователь уязвимостей и компания, желающая проверить свои сервисы. На основании анализа 300 запущенных на платформе Bugcrowd программ было выявлено, что больше 25% из них инициировали компании, не имеющие прямого отношения к информационным технологиям: из финансовой, банковской сферы, ретейла и т. д.
Рис. 1. Ежеквартальное увеличении доли «традиционных» секторов в программах Bug Bounty (©BUGCROWD INC. Отчет о состоянии рынка Bug Bounty за 2016 год)
Сколько стоит уязвимость?
Компании стараются не афишировать расценки за уязвимости. Тем не менее очевидно, что чем сложнее изъян, тем больше за него готовы заплатить. Так, в октябре 2015 года «Яндекс» объявил конкурс на поиск уязвимостей своего браузера. Победителю предназначалось полмиллиона рублей, за второе место давали 300 тыс. рублей, за третье — 150 тыс. рублей. При этом уязвимости делились на пять степеней опасности. К первой, в частности, относилась возможность удаленного исполнения кода, а к пятой — удаленный отказ в обслуживании через JavaScript или HTML.
В 2016 году Bugcrowd выпустила «Классификацию уязвимостей» (Vulnerability Rating Taxonomy, VRT) для того, чтобы унифицировать принципы определения критичности уведомлений. Уровень критичности оценивается по пятибалльной шкале от Приоритета 1 (Р1) до Приоритета 5 (Р5), где 1 — наиболее критичное уведомление и 5 — наименее критичное. Данная шкала позволяет специалистам и организациям определять возможный размер вознаграждения.
Bugcrowd также предлагает модель оценки вознаграждений — Defensive Vulnerability Pricing Model (DVPM) — в зависимости от степени зрелости системы безопасности компании и применяемых в ней технологий. Модель помогает мотивировать исследователей на поиск серьезных уязвимостей.
В 2015 году стартап в области поиска и устранения уязвимостей Zerodium раскрыл закупочные цены на взлом ряда продуктов ИТ-компаний. Выше всего 0-day брокер оценивает изъяны в операционной системе Apple.
Bug Bounty: за?..
Складывается впечатление, что внедрение краудсорсинговых программ поиска уязвимостей несет только выгоду.
Провести Bug Bounty значительно дешевле, чем держать в штате отдельных специалистов для аудита информационной безопасности и тестов на проникновение. Деньги в качестве поощрения за участие в таких программах можно заменить дополнительными баллами в проводимых акциях, дорожными милями или особыми условиями клиентского обслуживания. Иногда молодому специалисту выгодно просто «засветить» себя в списках победителей. Это играет на его профессиональный имидж, который потом можно монетизировать.
Опыт многих компаний говорит об эффективности Bug Bounty: вместо нескольких штатных сотрудников программный продукт или систему в короткий срок проверит множество сторонних багхантеров.
Создание имиджа современной и открытой компании и изъятие информации об уязвимостях из теневого обращения — еще пара аргументов в пользу привлечения широкой аудитории к поискам системных брешей.
…и против
В блоге CIO компании Oracle Мэри Энн Дэвидсон (Mary Ann Davidson) указано: «Не трогайте наши продукты! Согласно лицензии, вы не имеете права на реверс-инжиниринг!» Если Bug Bounty настолько эффективна и выгодна, почему список мировых лидеров, которые внедрили эту программу, весьма ограничен?
Открытые источники говорят о том, что к поискам уязвимостей широкую аудиторию привлекают не больше десяти банков в мире. Такой программы нет ни в одном из банков World TOP-10. Из списка банков Fortune 100 (или других сопоставимых со Сбербанком) подобная программа практикуется только в двух — нидерландских ABN AMRO и ING Bank.
Причина столь осторожного подхода к Bug Bounty кроется как в общих недостатках программы, так и в специфике банковской системы.
Специалисты называют несколько минусов Bug Bounty:
- Отсутствие системного подхода у охотников за уязвимостями. Багхантеры редко находят действительно сложные ошибки в работе программных продуктов. В основном большая часть исследователей быстро просматривает сервис на простые и широко распространенные недочеты, надеясь малыми силами заработать вознаграждение, а потом переходят к ПО следующей компании.
- Поступающие отчеты необходимо быстро рассматривать и исправлять, а это сотни предполагаемых уязвимостей, которые должны проанализировать высококлассные специалисты, чтобы выявить реальные угрозы безопасности. Так, по оценке Bugcrowd, из числа всех уведомлений (54 024) 24 516 (45,38%) были признаны недействительными и 19 572 (36,23%) — повторными. Остальные 9 963 уведомления были признаны действительными и уникальными. Таким образом, соотношение действительных уведомлений к общему количеству уведомлений составило всего 18%.
- Не дождавшись реакции компании, исследователь может выложить уязвимость в открытый доступ. Подобный случай произошел, например, с социальной сетью «ВКонтакте». Багхантер обнаружил логическую ошибку в принципе работы рекламного кабинета соцсети и оставил подробный отчет об ошибке. Однако компания не реагировала на это сообщение в течение полугода. В итоге уязвимость, которая позволяла практически бесплатно проводить дорогостоящие рекламные кампании на сайте, стала достоянием широкой общественности.
К этому списку можно добавить вопросы юридического и налогового сопровождения выплат вознаграждений, особенно трансграничных, которые актуальны для серьезных финансовых организаций. Привлечение сторонних экспертов может серьезно повлиять на плановый процесс развития продуктов. Нельзя также исключать риски сокрытия настоящих атак на компоненты системы под видом участия в Bug Bounty.
Как правильно?
Ошибочно думать, что Bug Bounty — это выгодный проект, который бесплатно сделaет компанию безопасной, исключит пентесты как необходимoсть и вообще сведет все мероприятия по обеспечению безопасности к проверке отчетов и закрытию уязвимостей. Все намного сложнее и очень сильно зависит от размеров тестируемого участка, кадровых возможнoстей и правил самой программы.
На результаты программы поиска уязвимостей с помощью сторонних исследователей влияют многие факторы: тип программы, вознаграждение, временные рамки и степень эксклюзивности.
Соотношение действительных уведомлений к общему количеству оказывает значительное влияние на общую стоимость владения программой. Чем выше затраты на обработку уведомлений, оказывающихся недействительными, тем больше накладных расходов влечет за собой использование программы. В целом, по данным Bugcrowd, закрытые программы, которые не анонсируется публично и в которые компании приглашают лишь ограниченный круг проверенных багхантеров, имеют значительно более высокий коэффициент действительных уведомлений к общему количеству (29%) в сравнении с открытыми — 13%. Такие программы могут быть альтернативой для компаний, соблюдающих различные надзорные требования, например PCI DSS. Они позволяют сохранить целостность модели Bug Bounty и извлечь выгоду из краудсорсинга.
Прежде чем внедрять программу Bug Bounty, следует обратить внимание на такие факторы, как качество продуктов, выстроенный процесс подтверждения уязвимости и устранения дефектов, грамотная юридическая поддержка политики «ответственного неразглашения», в том числе на международном уровне.
Успех программы зависит от следующих предварительных процедур:
• определение временных параметров программы (сроки устранения найденных уязвимостей и установка политики разглашения);
• описание внутреннего процесса доработок и тестирования программного обеспечения;
• оценка финансовых показателей программы и согласование бюджета с внутренними бизнес-заказчиками;
• согласование бухгалтерских, правовых и налоговых вопросов по выплатам третьим лицам;
• определение четких целей, участков тестирования и правил (особенно, финансовых);
• набор необходимого количества высококвалифицированных сотрудников ИБ, которые будут анализировать отчеты по уязвимостям и общаться с претендентами на выплаты;
• определение жестких условий соглашения об уровне предоставления услуги (SLA) на устранение дефектов в программном обеспечении, которое заявлено в программу Bug Bounty.
Следует также помнить, что в банках программа не исключает необходимости проведения тестов на проникновение для прохождения аудита PCI DSS.
Bug Bounty — серьезное мероприятие. Оно может как помочь, так и навредить компании, если будет плохо продумано. В финансовой сфере, очень чувствительной к репутационным рискам, это особенно важно. Надо просчитать все за и против и только если тщательный анализ показывает, что цель оправдывает те средства, которые планируется вложить, программу стоит запускать.
Опубликовано 28.03.2017