Бизнес
#статьи

Этичный хакинг: как заработать на чужих ошибках и не угодить под статью

Четыре багхантера рассказали о конфликтах с компаниями, крупнейших наградах и своей мотивации.

Багхантеры, или, как они сами себя называют, этичные хакеры, — это специалисты, которые ищут уязвимости интернет-сервисов и ПО за вознаграждение. Они участвуют в программах Bug Bounty на специальных платформах, где зарегистрированы компании, и помогают разработчикам найти ошибки в их продуктах. Компании получают от таких программ хорошо задокументированные отчёты об имеющихся проблемах, а хакеры — деньги или иные бонусы за работу.

IT-гиганты готовы тратить на услуги багхантеров крупные суммы — в 2020 году на одной только платформе HackerOne участникам программ Bug Bounty были выплачены награды на сумму свыше 40 млн долларов (почти 3 млрд рублей).

Несколько этичных хакеров рассказали нам о том, как можно зарабатывать на поиске уязвимостей и с какими проблемами они сталкиваются в своей работе.


«Я должен был работать на них на протяжении двух месяцев за две тысячи рублей»

Сергей Вакулин

специалист по компьютерной и информационной безопасности

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

Я тогда не знал о специальных платформах вроде HackerOne, а просто открывал рейтинг сайтов на Rambler или Mail.ru и искал уязвимости. Если что-то находил, то сообщал об этом разработчикам и пытался договориться с ними о вознаграждении. Одни считали меня вымогателем, а другие платили — но суммы были небольшими.

В 2018 году я увидел программу Bug Bounty «ВКонтакте» и обнаружил у соцсети две уязвимости. Одна из них была связана с импортом телефонных номеров. С помощью этого бага я нашёл реальные контактные данные блогеров Николая Соболева, Совергона и Ксюши Плюшевой.

Вторая уязвимость позволяла восстанавливать стёртую переписку. Если бы её не исправили, злоумышленники смогли бы похищать у взломанных пользователей содержимое удалённых сообщений — например, снимки паспортов или интимные фотографии. За найденные ошибки «ВКонтакте» должна была заплатить 100 долларов, но я получил 500. Неожиданно и приятно.

Но не со всеми компаниями взаимодействие проходит так гладко — к примеру, недавно у меня произошёл конфликт с одним крупным онлайн-ретейлером. В феврале 2021 года я нашёл на их сайте две XSS-уязвимости хранимого типа. Уровень критичности этих ошибок был высоким — они позволяли получить cookie, где хранились логины и пароли пользователей, а также данные о привязанных банковских картах. Проще говоря, можно было зайти в чужой аккаунт и заказывать товары.

Ретейлер разместил на своём сайте информацию о вознаграждениях. За найденные важные уязвимости я должен был получить от 15 до 50 тысяч рублей. Я попытался сообщить компании о багах, но электронная почта для Bug Bounty не работала: мне возвращался ответ от системы — такого ящика не существует. Тогда я позвонил в техподдержку.

В начале апреля мне пришёл ответ, что ретейлер готов заплатить за обнаруженные уязвимости только две тысячи рублей. По утверждению разработчиков, оба бага не представляли из себя опасности, поскольку в cookie не хранились учётные сведения. Я перепроверил всё и убедился, что одна уязвимость, связанная с авторизацией, исчезла. Они исправили ошибку, а мне сказали, что её и вовсе не было.

Позже компания выслала договор, в котором было указано, что я должен работать на них на протяжении двух месяцев за две тысячи рублей. Также в документе содержался бессрочный запрет на разглашение информации о найденных уязвимостях, хотя это противоречит общим положениям Bug Bounty, позволяющим раскрывать подробности об ошибке спустя 60 дней после обращения к разработчикам. Я не стал подписывать этот договор, и они мне ничего не заплатили.

Как избежать таких ситуаций?

По словам директора технического департамента RTM Group Фёдора Музалевского, чтобы не попасть в подобную ситуацию, этичным хакерам надо лучше проверять условия договора ещё до начала поиска уязвимостей.

«Не все компании, которые заявляют выплаты, делают это честно. Поэтому лучше фиксировать всё: предлагаемую сумму вознаграждений, найденную уязвимость», — объяснил он Skillbox Media.

А вот что касается публикации информации об уязвимости и её возможной эксплуатации, Музалевский заявил, что действия хакера могут подпадать под статью 273 УК РФ. При этом недобросовестное поведение компании не будет иметь значения. Юрист также отметил, что если со своей стороны хакер выполнил все условия разработчиков, то вполне может потребовать вознаграждение через суд, так как многие программы Bug Bounty являются публичной офертой.

«Я решил переключиться на другие направления»

Этичный хакер Web Security

завершил карьеру багхантера после конфликта с производителем пылесосов

Я стал багхантером около двух лет назад. У меня нет технического образования, но я могу писать несложный код на Python. Меня приглашают в закрытые программы Bug Bounty, куда можно попасть за очки репутации и успешные «репорты». Я выбираю компании, которые быстро рассматривают отчёты и у которых большой размер вознаграждения. Иногда на поиск ошибки может уйти день, иногда — две недели.

Раньше поиск уязвимостей был основным заработком, но после конфликта с известным британским производителем пылесосов я решил переключиться на другие направления. Их программа Bug Bounty привлекла меня своими условиями: уязвимости можно было искать не только на предопределённых доменах, но и в их поддоменах. Для багхантера чем больше периметр атаки, тем лучше.

Спустя какое-то время мне пришло уведомление, что моя атака сработала в админ-панели сайта, который занимается цифровым самообслуживанием и помогает компаниям настраивать голосового помощника. Я обнаружил Blind-XSS-уязвимость на странице возврата товара, которая позволяла получить персональные данные клиентов компании. После изучения сайта стало понятно, что их партнёром является тот самый производитель.

По-хорошему, я должен был добыть cookie, и это стало бы доказательством наличия уязвимости. Но на тот момент ни того, ни другого не было — имелись только IP компьютера, на котором сработала XSS, User-Agent и данные о причастности известной компании к сайту.

Я сразу отправил отчёт о находке и рассчитывал на вознаграждение в размере 1000 долларов — именно такая сумма полагалась за обнаружение ошибки с высоким уровнем критичности. Моё обращение рассматривал HackerOne staff (h1 staff. — Прим. ред.) — это люди, которые отсеивают совсем несерьёзные заявки, чтобы разгрузить сотрудников компании. Стопроцентных доказательств наличия уязвимости у меня не было, и я понимал, что h1 staff закроет мой отчёт. Поэтому заранее запросил медиацию, чтобы оповещение пришло британскому производителю в обход h1 staff и разработчики вручную проверили баг на валидность. Но ответа от них я не получил.

Позже мой отчёт и вовсе отклонили. Тогда я решил, что найденная уязвимость не представляет опасности, опубликовал информацию о баге в своём блоге на Medium и уведомил об этом компанию.

У меня логика простая: если баг валидный, то принимайте и платите, я без разрешения не буду его раскрывать. А если нет, то закрывайте заявку, и я опубликую результат своей умственной деятельности.

Мне пришло извещение с предупреждением от HackerOne — площадка встала на сторону производителя. Чтобы его опротестовать, я повторно проверил сайт на наличие Blind-XSS, и уязвимость подтвердилась. У меня получилось добыть cookie и HTML-код админ-панели, в котором хранились адреса, мобильные телефоны, email-адреса клиентов и информация о купленных товарах.

Позже я опубликовал видеодоказательство на своём YouTube-канале, на который сразу посыпались жалобы от компании. Канал не пострадал, а вот блог на Medium забанили.

Как не оказаться в таком положении?

Если вознаграждение за найденную уязвимость существенное, хакер может привлечь нотариуса к осмотру исходного кода страницы. Правда, стоимость такой услуги составит от 10 тысяч рублей, рассказал Skillbox Media партнёр юридической фирмы «Афонин, Божор и партнёры» Михаил Божор.

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

«Однажды я получил от GitHub 10 тысяч долларов»

Null Null

Четыре месяца боролся с компанией и проиграл

Я занимаюсь поиском уязвимостей около трёх лет. По образованию я специалист по информационной безопасности, но это никак не помогает в Bug Bounty. У меня, например, есть знакомый терапевт, который устал работать по профессии и понемногу вливается в сферу этичного хакинга.

Однажды я получил от GitHub 10 тысяч долларов. На сайте был баг, который позволял заходить под любой учётной записью и удалённо исполнять код. Позже я сообразил, что мог получить доступ к серверам GitHub и их компьютерам, тем самым увеличив сумму вознаграждения до 30 тысяч долларов, но разработчики к этому моменту уже исправили ошибку.

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

Я четыре месяца пытался доказать, что они не правы, и обратился в поддержку HackerOne. Однако платформа встала на сторону компании и спор закончился не в мою пользу.

«Если найду ошибку на сайте, то просто напишу об этом разработчикам»

Slava

Робин Гуд в хакерском мире

Я ищу баги уже более 10 лет, но принципиально не участвую в программах Bug Bounty. Не то чтобы я не нуждался в деньгах, просто приоритеты изменились.

Если предположить, что в среднем за один найденный критичный баг платят больше 1 000 долларов, то за это время я бы мог заработать уже около 100–250 тысяч долларов. Но этичный хакинг — это не так просто, как кому-то может показаться. Мало обнаружить уязвимость, её ещё надо распознать и доказать.

У меня привычка изучать код, это стало моим образом жизни. Если я обнаруживаю ошибку на сайте, то просто пишу о своей находке разработчикам. Мне достаточно, чтобы баг исправили.

В 2020 году я нашёл у «Тинькофф-Банка» уязвимость в алгоритме, который использовался для генерации СМС-кодов при верификации операций. Коды состояли из шести цифр, и у меня получилось написать скрипт для их предсказания. Теоретически баг позволял оплачивать покупки в магазинах по одному только номеру банковской карты. Я написал об обнаруженной ошибке в банк. Мне ничего не ответили, но через несколько недель СМС-коды сократились до четырёх цифр — баг исправили.

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

Для некоторых поиск ошибок на сайте это как удовлетворение собственного любопытства. В начале 2021 этого года был случай с РЖД: хакер под ником LMonoceros опубликовал на «Хабре» статью о «дырах» в сервисах компании. Эксплуатируя найденную уязвимость, он попал во внутреннюю сеть РЖД и получил доступ к камерам видеонаблюдения на вокзалах, перронах и в офисах. Сотрудники компании связались с хакером и исправили ошибку.

Но не все подобные случаи заканчиваются для хакеров хорошо. Иногда поиск уязвимостей на сайте приводит к уголовному делу. В 2009 году городской суд Санкт-Петербурга вынес студенту экономического факультета СПбГУ приговор за взлом факультетского сайта, который произошёл в 2006 году. Суть взлома заключалась в замене главной страницы ресурса на другую — это называется deface.

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

Как не угодить под статью?

Как рассказала Skillbox Media адвокат бюро «S&K Вертикаль» Александра Стриманова, ответственность хакера в каждом отдельном случае зависит от конкретных действий, которые он совершил.

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

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

Учитесь и пробуйте новое — бесплатно

Выберите курс Skillbox с бесплатным доступом:

Жизнь можно сделать лучше!
Освойте востребованную профессию, зарабатывайте больше и получайте от работы удовольствие.
Каталог возможностей
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована