$15 000 за ошибку. Как минский программист ушёл с работы в топ-5 багхантеров Facebook и топ-20 Google (+Гайд, как зарабатывать на багах)

Оставить комментарий
$15 000 за ошибку. Как минский программист ушёл с работы в топ-5 багхантеров Facebook и топ-20 Google (+Гайд, как зарабатывать на багах)

«1 dmitry» — так с некоторых пор в Google в шутку именуют выплату в 1337 долларов по bug bounty program. Android-разработчику Дмитрию Лукьяненко, в честь которого её так назвали, эта сумма в прошлом году приходила на счёт не менее 12 раз.

Год назад Дмитрий превратил своё хобби в бизнес — и теперь зарабатывает тем, что ищет уязвимости в продуктах Google и Facebook, работает с площадками HackerOne и BugCrowd. В рейтинге багхантеров Facebook за прошлый год он в первой пятёрке, в рейтинге Google — в топ-20.

Посмотреть код страницы и найти там скрытую от глаз информацию — не это ли настоящая социальная инженерия, которая без взлома открывает путь к цели? Настоящие легенды не брутфорсят миллионы паролей — иногда нужно замечать непривычное в привычных вещах. И раз ты читаешь этот абзац — возможно, в тебе есть тот самый талант, который присущ старым легендам хакерства? Давай проверим. Если ты окажешься одним из нас — получишь заслуженный приз. Он будет твой, если сможешь отыскать дальнейшие шаги этого импровизированного «квеста» в дневнике хакера, который мы оставили тут — https://vk.cc/99LDMA </p

dev.by поговорил с Дмитрием о том, как превратить поиск «дыр» в безопасности приложений в регулярный источник дохода.

​​Кстати, неожиданные уязвимости можно найти везде — даже в коде этой статьи.

С чего всё началось?

4 года назад в «Яндексе» я работал над библиотекой, которая отвечала за авторизацию в приложениях, — чтобы, авторизовавшись, к примеру, в «Яндекс.Картах», пользователь больше не проходил эту процедуру в «Яндекс.Музыке». В ходе работы мне нужно было решать задачи, относящиеся к межпроцессному взаимодействию, и мне стало интересно, как другие приложения обмениваются данными и работают с аккаунтами. Я скачал Android-клиент Vkontakte, хотел что-то посмотреть — и случайно обнаружил, что он позволяет моему приложению включать пользователей в любые группы даже без их ведома.

И что вы сделали — сообщили в службу поддержки Vkontakte об уязвимости?

Нет, я погуглил (Cмеётся), хоть и работал в «Яндексе». И нашёл bug bounty сервис HackerOne: он соединяет бизнес в лице Vkontakte, Mail.ru, DropBox, Yahoo, Twitter, Slack и багхантеров. С помощью этой площадки можно заявить об уязвимости — и получить компенсацию от компании-клиента. На сайте HackerOne есть программа каждой компании, в ней список требований к отчётам и перечень продуктов, которые участвуют в bug bounty.

Я всегда прилагаю к отчёту мини-Android-проект, чтобы те, кто его принимает, не тратили время на создание своего такого модуля. Просто скачали, нажали на кнопочку — и всё увидели сами.

Это считается «хорошим тоном»?

В мобильном багхантинге — да: все исследователи, с которыми я общаюсь, так делают. Сейчас я пришёл к тому, что в каждый отчёт помимо описания — самого proof of concept — включаю ещё видеоролик, вроде этого.

15 000 долларов за баг: «Подумал, что один нолик мне просто мерещится»

Сколько вам заплатили за первую найденную уязвимость?

Тысячу долларов. Если честно, я думал, будет больше.

Почему? Такие баги стоят больше?

Так мне тогда казалось…

Как скоро вы пришли к тому, что на поиске уязвимостей можно делать бизнес?

Я долго рассматривал это как хобби: у меня ведь была работа. Тем не менее, искать баги стал чаще — в Mail.ru, Dropbox, Uber: на HackerOne начали накапливаться деньги. Тогда я пошёл и оформил ИП. Мы с женой начитались «страшилок», как в Беларуси тяжело оформить ИП, и даже думали, не сделать ли это в Литве. Но потом решили попробовать «по упрощёнке» поработать. В итоге за два дня я получил документы и дал отмашку HackerOne отправить платёж.

Я стараюсь делать всё правильно. Вот почему я работаю с HackerOne, Facebook и Google — у них есть публичный договор: акты по нему подписываются в одностороннем порядке.

Почему это является плюсом?

Потому что вряд ли вы доберётесь до второй стороны. И вообще, отправляя отчёт, вы не знаете, получите ли деньги. Всегда есть опасение, что придёт ответ: «Спасибо! Мы уже знаем об этой уязвимости». Также никто заранее не оговаривает сумму вознаграждения. Поиск багов, по сути — та же рыбалка: смотришь, изучаешь, цепляешься за что-то глазом и давай «разматывать удочку». А что дальше, никто не знает: может щука, а может и старый башмак.

У меня был случай: я тестировал мессенджер Facebook на Android, потом открыл его веб-версию и увидел среди своих изображения от случайных пользователей — сервер почему-то «выплёвывал» эти участки памяти. В итоге за эту уязвимость я получил приличную сумму — можно год жить.

А в чём случайность?

В том, что тестировал-то я Android-приложение, и нежданно-негаданно нашёл проблему на сервере Facebook.

Если использовать вашу же метафору, на сколько потянула самая крупная ваша «рыба»?

На 15 000 долларов и тоже от Facebook: если честно, я даже подумал тогда, что один нолик мне просто мерещится. DropBox когда-то за аналогичный баг заплатила 4 000, и я был счастлив безмерно. Мне казалось, что и Facebook заплатит примерно столько же…

В чём заключалась уязвимость?

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

Почему?

Говорят, деньги любят тишину: можно купаться в лучах славы, а можно тихо зарабатывать. Метод, с помощью которого я нашёл уязвимость в Facebook, точно такой же, как тот, что я использовал, чтобы обнаружить проблему в DropBox. Расскажи я о нём раньше и, возможно, до Facebook первым добрался бы кто-то другой.

В ответ на письмо с отчётом ребята из команды безопасности Facebook сбросили мне статью — студенты какого-то университета проводили исследование и проверяли все мессенджеры на тот же вид уязвимости. Но мой отчёт пришёл на день-два раньше.

Конкуренция в вашем бизнесе высока?

В вебе очень. Один раз я нашёл XSS — это когда JS-код можно вставить в тело страницы, и он выполнится. Я был рад и горд неимоверно: ещё бы — «моя первая веб-уязвимость»! Но оказалось, меня опередили — пришёл ответ о «дубликате».

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

А как часто вам сообщают о «дубликате»?

К счастью, не часто — в 5-7% случаев.

Благодаря гранту Google я стал багхантером на постоянной основе

Почему вы сконцентрировались в основном на Google и Facebook? Ведь есть ещё Apple, Adobe, Microsoft и другие.

Я в основном работаю с Android-приложениями: декомпилирую их, а затем изучаю структуру, ищу компоненты, доступные для других приложений. Я пытался сделать всё то же и на iOS, но не преуспел: приложение с iPhone непросто даже скачать на компьютер — нужен, как я понимаю, рутованный телефон.

Что же до Google и Facebook, у них огромное количество больших сложных приложений под Android, в которых могут быть ошибки — это раз. Два — у этих компаний хорошие выплаты: минимум 500 долларов.

Почему не Microsoft, ведь у них вроде тоже есть Android-приложения — ответ прост: bug bounty на них не распространяется. В Microsoft платят только за уязвимости в Windows, а также в их браузере.

Помимо Google я отправляю уязвимости также в подразделение Android: у меня уже 11 официальных CVE (Common Vulnerabilities and Exposures. — прим. dev.by).

Ещё я хотел бы отметить, что уязвимости, которые я нахожу, — не критические. У нас разработчики могли бы и подзабить на такие: «Ой, да ладно! Это мелочь, да и вообще маловероятно…», но Facebook и Google даже низковероятные баги принимают за уязвимости и выплачивают вознаграждение в 1000-1300 долларов.   

Правда ли, что кроме вознаграждения Google также даёт исследователям гранты?

Да, благодаря такому гранту я и стал багхантером на постоянной основе (Смеётся.).

В 2018 году у меня сложилась безвыходная ситуация: неожиданно уволили из стартапа.

Увольнение одним днём стало для меня шоком: «соломки» никто не подстелил, падать было больно. У меня ведь семья, кредит на машину — ещё порядка 15 000 долларов  нужно было выплатить.

Неужели не было «подушки безопасности» в виде выплат с программ bug bounty?

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

Почему не стали бы?

Сейчас мне неинтересно искать уязвимости на проектах, где выплаты, прямо скажем, невысоки: в Mail.ru, к примеру, могли платить 150-300 долларов за уязвимость. Сегодня я понимаю, что уделяя столько же времени работе, можно получить больше только в Google и Facebook.

Как вы получили первый грант от Google?

Я знал, что Google даёт гранты на исследование уязвимостей. Написал руководителю программы — мы с ним раньше переписывались, он как-то спрашивал, не интересуют ли меня вакансии в Google. Тогда я отшутился: «Если вы откроете офис в Минске».

Прошло пару недель, и я получил перевод на сумму 1337 долларов — «1 dmitry». Снял офис, и работа пошла. Я подсчитал тут на досуге: за год Google назначил выплаты по 16 моим уязвимостям, из них 12 — «1 dmitry», и ещё несколько других.

Я искал баги также у Facebook и Telegram, а вот для HackerOne совсем перестал смотреть: в прошлом году они подключили сервис для отправки платежей, и он не работал с Беларусью. Только недавно мне удалось справиться с этой проблемой.

Каким образом?

У меня накопилась сумма, соизмеримая с двумя зарплатами разработчика в Беларуси, и я попросил прислать ее как раньше — по реквизитам.

Они ни в какую: «Не можем. Не получается», стали предлагать варианты: в биткоинах, через PayPal… К счастью, я познакомился в Лас-Вегасе с CEO HackerOne Мортеном Микосом, написал ему. И хоть он и говорит, что это «не его заслуга», через неделю служба поддержки разобралась и включила Беларусь в список стран, куда доходят платежи.

Business Insider отмечает, что вы получили несколько грантов от Google.

Да, пару в начале года по моей просьбе, и один совсем недавно — уже по инициативе Google. Если честно, мне самому уже неудобно просить: всё же небольшая подушка безопасности у меня есть. Но если дают, не отказываюсь.

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

Какие обязательства накладывает на багхантера получение гранта?

Есть разные гранты: чаще всего ты волен выбирать, что исследовать, но в ряде случаев тебе не оставляют выбора: «Надо это посмотреть!»

Я всегда выбирал Android-приложения. И, к счастью, преуспел. Что приятно, грант — не предоплата, если ты нашёл уязвимости, за них ты получишь отдельно. Но если ты не найдёшь ничего, никто не потребует вернуть деньги.

Google не требует отчётов, но я всё же прикладываю миниотчёт, чтобы было видно, чем я занимался в этот период. Ведь это работа!

Вы не единожды участвовали в закрытых конференциях по безопасности от HackerOne, BugCrowd и Google. Как багхантеры на них попадают?

Честно говоря, до того, как в мае прошлого года HackerOne позвали меня в Лондон, я  ничего о них не знал. Исследователей отбирает команда HackerOne — чем выше рейтинг, тем больше шансов. Примерно за две недели до события им сообщают имя заказчика — отсчёт пошёл: за это время багхантерам нужно постараться найти уязвимости в продуктах заказчика и подготовить отчёты.

Эти отчёты исследователи отправляют на самом мероприятии, а команда по безопасности принимает их и обрабатывает, выставляя на табло суммы и баллы. В Лондоне я занял четвёртое место из 20 возможных, а также попал в категорию Show&Tell. Как я понял, это очень круто.

Почти по такому же принципу работает и конкурент HackerOne — BugCrowd. Я был на их мероприятии в Майами и занял там первое место. Но неделю спустя уязвимость, обнаруженную одним из участников пересмотрели, и он переместился на первую строчку, а я получил «серебро».

Один раз я сам напросился на такой live hacking event. Facebook пригласили меня в Лас-Вегас в то время, когда там проходили конференции по безопасности Black Hat и DefCon. Я узнал, что в Вегасе будет проводить своё мероприятие и HackerOne,  и написал им.

Значит ли это, что почти любой желающий может попасть на соревнования такого рода?

Думаю, не любой: всё же мероприятия закрытые. Бывает, в новостях на hackerone.com и bugcrowd.com проскакивают анонсы, но кто заказчик, никогда не раскрывается. «Охотнику» с рейтингом, полагаю, не откажут: я же написал — и бинго, мне разрешили участвовать. Однако в таком случае все расходы лягут на ваши плечи.

Кстати, есть ещё вариант: у вас может быть знакомый из тех, кто точно едет на такую конференцию. На мероприятие от HackerOne мне тоже предлагали взять с собой «+1», если мой попутчик самостоятельно оплатит дорогу.

Сейчас я надеюсь, что моего друга из Латвии позовут ещё на одно мероприятие от HackerOne, и он возьмёт меня «+1». У него очень высокий рейтинг — он входит в двадцатку лучших исследователей на HackerOne.

«Вернуться в найм было «планом Б»

Россиянка Алиса Шевченко «взламывает» компьютерные системы крупных компаний по их заказу и зарабатывает около 160 000 долларов в год. Вы для себя не думали над похожим развитием «карьеры»?

Думал, и как раз около двух месяцев назад ко мне обратилась одна белорусская компания с просьбой помочь улучшить безопасность их продукта.

Как они узнали о вас?

Сотрудники компании были у меня в друзьях в Facebook. Видели фото с мероприятия от Google.

То самое, на котором вы держите в руках огромный чек на 2337 долларов (Дмитрий получил сумму в 500 + 500 + 1337 прим. dev.by)?

Оно. С чеком, кстати, вышла забавная история: когда я возвращался из Лас-Вегаса, рядом со мной сидел парень со здоровенным чеком на 25 000 долларов, который загораживал весь проход. Мы потом познакомились — оказалось, это киберспортсмен Никита Марчинский, в позапрошлом году он выиграл в Quake Champions ещё больше — 175 000 долларов.

И вот когда мне вручили такую же по размеру табличку, я подумал: «Теперь побываю сам в его шкуре. Но оказалось, что наклейку можно с пластины аккуратно снять — я так и сделал.

За год у вас не появлялось желание всё бросить и вернуться в «найм»?

Нет, хотя изначально это был «план Б».

Никогда не жалели, что отказались от предложения менеджера Google?

Нет, мне комфортно на родине. Когда Google купил AIMatter, я искренне говорил, что не хотел бы уезжать из Беларуси.

​«Памятка» от Дмитрия Лукьяненко, как начать зарабатывать на поиске багов:

  • Не у всех компаний есть программы bug bounty — не стоит искать уязвимости там, где вас не просят.
  • И уж тем более не советую эти уязвимости где-то публиковать, высказывая «праведный гнев», что вам не заплатили ни копейки.
  • Воспользуйтесь проверенными ссылками: HackerOne, BugCrowd, Google, Facebook, Yandex.
  • Выбирайте компании, у которых есть публичные договора. И не забудьте оформить ИП.
  • Перед тем, как отправить баг, обязательно прочтите условия участия в bug bounty program.
  • Не расстраивайтесь, если узнаете, что у вас «дубликат». На встрече в Google мне рассказывали, как в один день им пришло три отчёта об одной и той же уязвимости.
  • В нашей гонке банк «срывает» первый, поэтому если вы что-то нашли — не тяните с отправкой отчёта.
  • Читайте об уязвимостях, просматривайте открытые отчёты. Возможно, уязвимость уже закрыли, но у вас появится своя идея, как обойти защиту.​

​Хотите почувствовать себя багхантером — найдите в коде этой статьи уязвимость, которая станет подсказкой, что делать дальше.

Материал подготовлен при поддержке ООО «Винокурня Нарочь»
Проверить уровень, усовершенствовать скилы.

Всё про тест ISTQB для тестировщиков. На личном опыте.

Читайте также
Дизайн, VR и интернет вещей: 10 доступных онлайн-курсов от Google, Amazon и других гигантов
Дизайн, VR и интернет вещей: 10 доступных онлайн-курсов от Google, Amazon и других гигантов
Дизайн, VR и интернет вещей: 10 доступных онлайн-курсов от Google, Amazon и других гигантов
На платформе Coursera можно найти сотни курсов от крупных корпораций, включая Google, Amazon и HubSpot. Это отличная возможность начать новую карьеру, повысить квалификацию и просто получить плюс в профессиональную карму. Мы собрали 10 программ от ИТ-компаний, которые помогут освоить машинное обучение, UX-дизайн, продакт-менеджмент, кибербезопасность и многое другое.
10+ сертификаций Coursera, которые помогут улучшить резюме и повысить зарплату
10+ сертификаций Coursera, которые помогут улучшить резюме и повысить зарплату
10+ сертификаций Coursera, которые помогут улучшить резюме и повысить зарплату
Бюджетный способ прокачать навыки и повысить зарплату — это профессиональный сертификат от Google, IBM или крупного зарубежного университета. На Coursera как раз можно найти десятки полезных обучающих программ по машинному обучению, проджект-менеджменту и не только. Собрали 10+ сертификаций, которые будут выигрышно смотреться в резюме как новичка, так и опытного специалиста.
Belka Games уволила сотрудников в Беларуси, России и Литве
Belka Games уволила сотрудников в Беларуси, России и Литве
Belka Games уволила сотрудников в Беларуси, России и Литве
16 комментариев
Российская «Леста» стала 100%-м собственником «Гейм Стрим»
Российская «Леста» стала 100%-м собственником «Гейм Стрим»
Российская «Леста» стала 100%-м собственником «Гейм Стрим»

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

Комментариев пока нет.