Фирмы используют баг-баунти, чтобы купить молчание хакеров
Платформы баг-баунти — HackerOne, Bugcrowd и Synack — служат посредниками между белыми хакерами и компаниями, которые хотят улучшить безопасность своих продуктов. При правильном использовании логика простая:
- Хакер сообщает о найденной уязвимости.
- Компания-разработчик исправляет баг и перечисляет хакеру вознаграждение в качестве благодарности за то, что он поступил правильно.
Но в реальности всё работает иначе. Как показало расследование CSO, компании и платформы баг-баунти настолько перевернули раскрытие уязвимостей с ног на голову, что многие эксперты, включая бывшего директора по политике HackerOne Кэти Муссури, называют это «извращением».
Если вкратце, то вместо исправления багов компании ставят на первый план подкуп хакеров, заставляя их подписывать NDA как обязательное условие выплаты вознаграждения. Это в корне меняет логику происходящего.
Процедура раскрытия уязвимостей
Процедура раскрытия уязвимостей (vulnerability disclosure program, VDP) — практически обязательное требование для многих фирм. Например, Федеральная торговая комиссия США рекомендует компаниям принять такие процедуры и штрафует за плохие практики безопасности. Министерство внутренней безопасности в прошлом году приказало всем гражданским федеральным агентствам внедрить процедуры раскрытия уязвимостей.
Однако для любого агентства или компании VDP представляет собой огромную головную боль. Процедура выглядит так: исследователи безопасности сообщают вам о баге и дают максимум 90 дней, чтобы исправить его. Когда время истекает — они звонят какому-нибудь своему любимому журналисту и публикуют полную информацию об уязвимости в твиттере, а также выступают на конференции Black Hat или DEF CON, если это действительно сочный баг.
С одной стороны, процедура раскрытия уязвимостей обеспечивает определённый баланс между интересами компании, общества и самих исследователей безопасности, которые получают признание за свою работу. Однако существует ряд компаний, которые могут быть озабочены ценой своих акций и/или репутацией, так что они предпочтут заплатить деньги, чтобы избавиться от необходимости отчитываться перед общественностью.
Платформы баг-баунти предлагают организациям заманчивую альтернативу. Исследователи сообщают об уязвимостях в рамках соглашений о неразглашении (NDA). Им буквально платят за молчание. Затем компания делает что хочет. Может, исправит эти баги, о которых вы сообщили, если захочет. А может, и не исправит, но вам запрещено об этом говорить.
Молчание — это товар
Молчание — это товар. И похоже на то, что этот товар востребован на рынке. Спрос рождает предложение. Поэтому платформы баг-баунти развернули свою деятельность таким образом, чтобы предложить покупателям то, за что они готовы платить.
Бывший директор по политике HackerOne Кэти Муссури считает, что корень проблемы — в коммерциализации платформ баг-баунти, которые стремятся к экспоненциальному росту. Например, руководство HackerOne поставило цель собрать у себя на платформе 1 000 000 хакеров. Для них важно привлечь к выплате вознаграждений как можно больше компаний любого размера, на любых условиях.
Кэти Муссури, бывший директор по политике HackerOne, основатель Luta Security
«Эти коммерческие платформы для поиска уязвимостей… извращают всю экосистему, и я хочу, чтобы это прекратилось, даже если сама поплачусь за это, — говорит Муссури. Будучи одним из руководителей HackerOne, она получила опцион акций и может рассчитывать на щедрое вознаграждение в случае успешного публичного размещения акций HackerOne. — Я обращаюсь к вам вопреки своей личной финансовой выгоде».
Другие независимые эксперты согласны, что секретность вредит информационной безопасности: «Вознаграждения лучше всего делать прозрачными и открытыми. Чем больше вы пытаетесь засекретить их и принять NDA, тем менее эффективными они становятся, тем больше речь идёт о маркетинге, а не о безопасности», — говорит Роберт Грэм из Errata Security.
С ним согласен Джонатан Лейтшух, который в прошлом году разгласил катастрофическую уязвимость в программе видеоконференций Zoom (установка веб-сервера на локалхосте без ведома пользователя с удалённым выполнением команд).
Простой эксплоит, когда Zoom стоит на локалхосте:
Активация веб-камеры без разрешения пользователя:
Джонатан Лейтшух уведомил компанию 26 марта 2019 года, но она не исправила уязвимость, поэтому ровно через 90 дней хакер опубликовал статью с описанием в открытом доступе. Информация широко разошлась и наделала шуму. После этого компания мгновенно выпустила патч.
This new @zoom_us feature fully patches the #SecurityVulnerability where users were maliciously joined to a call without their permission.
Doing this in a week is an example the kind of fast response times we want to see in a properly executed bug bounty program!
Go Update! pic.twitter.com/Xrl7GXQW5r
— Jonathan Leitschuh (@JLLeitschuh) July 15, 2019
Но хакер не получил вознаграждения. «Это одна из проблемы с платформами баг-баунти в том виде, в каком они существуют прямо сейчас. Они позволяют компаниям избежать 90-дневного срока на раскрытие информации, — говорит он. — Многие из этих программ строят свой бизнес на этой идее неразглашения. В конечном итоге создаётся впечатление, что они пытаются купить молчание исследователя».
Приватные баг-баунти
Соглашения о неразглашении платформ типа HackerOne запрещают даже упоминать о существовании приватных программ баг-баунти. Одного твита вроде «У компании X есть приватная программа в Bugcrowd» достаточно, чтобы хакера выгнали с платформы.
Хакеров заставляют молчать кнутом и пряником. Где пряник понятно, это — деньги. Но есть и кнут: за нарушение соглашения NDA исследователя могут привлечь к ответственности, вплоть до уголовного преследования. Такая же ответственность теоретически угрожает хакерам, которые на свой страх и риск публикуют информацию об уязвимостях, не заключая никаких соглашений с компанией, а просто руководствуясь общепринятыми принципами хакерской этики и сроком давности 90 дней с момента уведомления компании.
В 2017 году Министерство юстиции США опубликовало руководящие принципы о защите исследователей безопасности. По логике документа, суровые наказания за незаконный взлом не должны применяться к гражданину, который озабочен общественной безопасностью и производит взлом в общественных интересах, пытаясь поступить правильно. Но этот вопрос остаётся на рассмотрение суда. Если же хакер хочет гарантированную юридическую защиту от судебного преследования — он должен подписать NDA, иначе ему грозит тюремное заключение сроком на десять лет и более в соответствии с Законом о компьютерном мошенничестве и злоупотреблениях (Computer Fraud and Abuse Act, CFAA). Именно так следует понимать приватные баг-баунти.
Например, взять PayPal. На официальном сайте указано, что каждый исследователь обязан создать аккаунт HackerOne и согласиться с условиями их приватной программы баг-баунти, включая NDA. Если вы сообщаете о баге каким-либо другим способом, PayPal отказывается гарантировать вашу безопасность и не исключает подачу иска.
То есть вы можете сообщить об уязвимости только подписав NDA, и никак иначе. «Предоставляя заявку или соглашаясь с условиями программы, вы соглашаетесь с тем, что не можете публично раскрывать свои выводы или содержание вашей заявки третьим лицам каким-либо образом без предварительного письменного согласия PayPal», — написано в документе.
Аналогичные приватные программы с NDA действуют и у других компаний, которые выплачивают вознаграждения через HackerOne.
Это неприемлемо, с точки зрения Фонда электронных рубежей: «EFF твёрдо верит, что исследователи безопасности по Первой поправке [к Конституции США] имеют право сообщать о своих исследованиях, и что раскрытие уязвимостей является очень полезным», — говорит Эндрю Крокер, старший юрист Фонда электронных рубежей. По его словам, многие ведущие исследователи безопасности отказываются работать на платформах баг-баунти из-за необходимости подписывать NDA.
Например, такую позицию занял Тэвис Орманди, авторитетный хакер из проекта Google Project Zero. Тэвис отказывается подписывать NDA, предпочитая электронную почту: «Они могут не читать мои отчёты, если не хотят», — говорит он. Таймер на 90 дней всё равно тикает.
Тэвис Орманди — не единственный исследователь безопасности, который отказывается надевать намордник, пишет CSO.
Кевин Финистерре (@d0tslash) отказался от $30 000, потому что компания DJI для выплаты вознаграждения требовала подписать NDA, и не жалеет о своём решении. Потому что благодаря раскрытию информации Кевин приобрёл известность и уважение в сообществе ИБ, а в начале карьеры это дорогого стоит.
В конце концов, существование NDA не соответствует стандартам ISO 29147 и ISO 30111, которые определяют лучшие практики по приёму отчётов об уязвимостях, исправлению этих ошибок и публикации рекомендаций. Кэти Муссури является соавтором этих стандартов и уверяет, что приватные баг-баунти по определению не могут соответствовать этим стандартам, которые описывают для компании правила приёма и обработки информации: «Когда неразглашение является обязательным условием или условием сообщения об ошибках через платформу баг-баунти, это принципиально нарушает процесс раскрытия уязвимостей, описанный в стандарте ISO 29147, — говорит Муссури. — Цель стандарта состоит в том, чтобы обеспечить возможность поступления отчётов об уязвимости и [её выделение] выпуска рекомендаций для затронутых сторон».
Теория за раскрытие уязвимостей утверждает, что краткосрочный риск, вызванный публичным раскрытием информации, перевешивается более долгосрочными выгодами от исправления уязвимостей, лучшего информирования пользователей и системных улучшений защиты.
К сожалению, платформы типа HackerOne не следуют этим принципам. В своём блоге, в статье «Пять критических компонентов политики раскрытия уязвимостей HackerOne объясняет клиентам, как заткнуть рот исследователям безопасности. В частности, рекомендуется не указывать срок, после которого исследователям позволено публично сообщать о своей работе:
По мнению Муссури, зрелые организации могут и должны принять собственные программы раскрытия уязвимостей. Если они готовы к лавине сомнительных сообщений об ошибках, то могут по желанию установить вознаграждение баг-баунти, но посредники в лице HackerOne мало чем полезны: «Я сказала им перед уходом, — говорит Муссури, — если вы, ребята, можете упростить коммуникации между исследователями и вендорами, это хорошо. Но если пытаетесь продать контроль, то занимаетесь не тем».