Критикую bug bounty программу Apple и наглядно показываю, почему не стоит туда репортить баги

в 11:43, , рубрики: api, apple, apple developer program, bug bounty, bugbounty, exploit, iOS, iphone, Privacy, vulnerability, информационная безопасность, Разработка веб-сайтов, разработка мобильных приложений
Небольшая история о том, как я зарепортил баги в Apple BugBounty Program

image

Эта история началась 18 января 2022 года. У компании Apple есть платная API для разработчиков Apple Developer Program

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

Более подробно ознакомиться с методами, доступными через API можно здесь.

Для доступа к Apple Developer API вы должны быть участником программы Apple Developer. Стоимость регистрации составляет 99 долларов США (или в местной валюте, если она доступна) за год членства.

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

Пока у меня не было валидного токена для авторизации я решил настроить среду разработки, внести необходимые url в Advanced REST плагинчик для Chrome, чтобы в будущем не тратить время на чтение документации на предмет необходимых параметров. Естественно не удержался и сделал парочку запросиков с неверным токеном.
Прежде всего, я делаю запрос без токена доступа и получаю ответ: 401 Unauthorized

image

Я думаю, что мне нужно пойти сделать валидный токен доступа, но пока я искал, как его сгенерировать, я решил попробовать произвольный токен. Поскольку не было никакой информации о длине токена, то я сгенерил обычный JWT токен, абсолютно случайный и подставил его хедера запроса: Authorization: Bearer ZrtCDYwfcen0G6ODNMr2x34uGeiEzo Сделал запрос и уже хотел закрыть REST клиент, и тут внезапно я получил данные из API. Был очень удивлен, что без валидного токена я стал получать валидные данные из платного API.

image

Ранее у меня был опыт работы в отделе тестирования Почта@Mail.Ru Group (на данный момент VK и на текущий момент там не работаю), я решил более детально изучить работу авторизации API.

Я начал пробовать разные запросы с разными токенами.
Попробовал другие произвольные токены разной длины и состоящие из разных символов.

К примеру, авторизационный токен, который длинее или короче на один символ, токена указанного выше, не приводило к успешному выполнению запроса.

Дальше стало понятно, что в Apple не проверят токен на валидность, а тупо чекают длинну токена:

image

Проверил остальные методы из API, все они не чекали правильность токена, а проверяли только соотвествие длины токена лишь какой-то определенной длинне.

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

image

По привычке пошел на HackerOne платформу, чтобы зарепортить найденный баг. Однако, как выяснилось компания Apple не регистрирует баги через платформу HackerOne и просит написать о найденных уязвимостях на почту product-security@apple.com Были сомнения, но все-таки я решил зарепортить.

image

После этого письма пришла автоматическая отбивка, что они приняли мое обращение.
Обращению был присвоен номер: 791460310
Далее мне написал специалист из сесурити тим Apple, просил, чтобы я уточнил все нюансы.

image

После нескольких дней после репорта зарепорченный баг был исправлен и обход авторизации был исправлен.
Была переписка, где просили подтвердить, что баг заправлен. Ее выкладывать смысла не вижу.

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

image

С тех пор прошел примерно месяц и от компании Apple не было никаких новостей. Позавчера я написал им письмо, с просьбой уточнить собираются ли они меня отблагодарить за мой репорт и в ответ получил вот такое письмо:

image

Почему я написал эту статью сюда?


Как выяснилось, что я не один такой. На хабре я нашел статьи Denis Tokarev(illusionofchaos), в которой он пишет о проблемах с выплатами по программе BugBounty. Денису точно так же как и мне ничего не выплатили. Статья Дениса доступна на habr по ссылке тыц.

Я бы хотел обратить внимание остальных исследователей информационной безопастности, что наверно нам не стоит писать в компанию Apple информацию о найденных уязвимостях до тех пор, пока они не приведут в порядок свою программу BugBounty. Мое личное мнение такое, что надо быть честными со всеми и не иметь двойных стандартов, вне зависимости от политической ситуации на мировой арене. По своей глупости я имел неосторожность написать им еще об одном баге, но там менее интересная история, хотя они и по второму багу молчат до сих пор.

P.S. Я очень надеюсь, что в комментах под этой статьей не будут публиковать политические лозунги и выяснять отношения, в любой ситуации надо оставаться проф. пригодными коллегами.

P.S.S. Решение о репорте багов в компанию Apple каждый принимает сам, но имейте в виду статьи с Хабра. Так же я предполагаю, что возможно, моя статья окажет кому-то подспорье в поиске более серьезных уязвимостей.

Автор: Максим Максимов

Источник


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js