Мобильные приложения

Вам нужно найти уязвимости в приложениях Яндекса
Территория охоты: все публичные приложения Яндекса

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


Полный перечень приложений можно найти здесь

Учтите, что на размер награды будет влиять количество скачиваний приложения, его распространённость и количество обрабатываемых им данных.
Категория
Описание
Вознаграждение
Исполнение произвольного кода

Возможность выполнить код в контексте запущенного приложения.

Пользователь не должен давать согласие и дополнительные разрешения со стороны ОС.

Например:

  • Перезапись исполняемого .so файла вредоносным файлом .so
  • Исполнение Java Exec функции с произвольной командой
150 000 - 500 000
Удаленная эксплуатация
300 000 - 1 000 000
Возможность получения доступа к аутентификационным данным пользователя
Уязвимости, связанные с получением доступа к логину и паролю учетной записи или к OAuth токену.

Например, загрузка произвольного URL в webview в сочетании с возможностью кражи OAuth токена.

75 000 - 500 000
Удаленная эксплуатация
150 000 - 1 000 000
Доступ к критичной информации
Уязвимости, связанные с получением доступа к чувствительным данным, которые обрабатывает мобильное приложение.
45 000 - 200 000
Прочие уязвимости

Прочие уязвимости, оказывающие влияние на безопасность, например:

  • Изменение логики работы приложения (например, mutable deeplinks)
  • Intent redirections (только с демонстрацией импакта)
  • Path traversal (например, zip slip), который позволяет переписать файл внутри приватного контейнера приложения
  • Фишинг через загрузку произвольного URL в webview
10 000 - 150 000

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

Что поисследовать в диплинках?

В наших приложениях реализовано множество диплинков — в некоторых приложениях их может быть несколько десятков и более. Нас особенно интересуют те, с помощью которых можно повлиять на работу приложения (mutable deeplinks) или получить доступ к чувствительным данным, например:

  • Диплинк, с помощью которого можно заставить приложение выполнить обращение к контролируемому багхантером веб-сервису с подстановкой сессионных заголовков
  • Диплинк, с помощью которого можно изменять настройки приложения, например переключить используемый бэкенд yamobileapp://debug?set_api_backend=//example.com


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

В некоторых случаях WebView может обращаться к JavaScript Interface/Bridge, где может быть реализована расширенная функциональность. Нам интересны ситуации, когда можно отобразить контролируемый домен в WebView и, используя доступные JS-интерфейсы, получить доступ, например, к текущей геолокации.

Механизм синхронизации аккаунтов пользователя

Для бесшовной аутентификации в наших приложениях применяется Account Manager. Нас интересует возможность получения доступа к аккаунту пользователя со стороны third-party-приложений.

Способы эксплуатации рассматриваемые в данной программе

Категория
Описание
Полностью удаленная эксплуатация

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

1-click эксплуатация
Когда необходимо убедить пользователя кликнуть на ссылку, а затем перейти в приложение, принадлежащее Яндексу‎
Пользователю необходимо установить вредоносное приложение
Когда пользователю необходимо установить вредоносное приложение. Обратите внимание, что в этом случае сумма награды будет снижена из-за сложности эксплуатации

Какие данные мы относим к критичным

📍Геоданные
  • Данные о местоположении пользователя
  • Сохраненные приватные адреса
  • Возможность узнать местоположение пользователя
💰 Финансовые данные
  • История операций и баланс счета
  • Доступные лимиты Сплита
  • Информация о заработках исполнителей
💾 Сервисные данные
  • Информация о поездке или заказе пользователя
  • Письма, информация о встречах, документы
  • Навыки из Алисы
  • История поисковых запросов
  • Реальные телефоны пользователей/курьеров/водителей/владельцев объявлений (не подменные)

Ограничения:

  • «1-click-эксплуатация» подразумевает, что для воспроизведения уязвимости достаточно перейти по ссылке.
  • «Полностью удалённая эксплуатация» подразумевает, что от пользователя не требуется никаких действий, будь то установка приложений или клики. Например, уязвимость можно проэксплуатировать, находясь в одной вайфай-сети или в радиусе действия Bluetooth либо отправив пользователю письмо или сообщение.
  • Уязвимость по умолчанию должна затрагивать самую свежую версию приложения. Отчёты, где эксплуатация возможна лишь в неактуальных версиях, скорее всего, не будут вознаграждены.
  • Hardcoded API-ключи будут вознаграждаться только в случае, если инженерами безопасности будет доказана возможность исчерпания ресурсов. Просим самостоятельно не производить атаки на API-ключи.
  • Публичные Zero-day-уязвимости в third-party-зависимостях, которые были исправлены не менее чем 2 месяца назад, будут рассматриваться индивидуально и только при наличии доказательства эксплуатации.


Яндекс не выплачивает вознаграждения за:

  • Отчёт сканеров без предоставления доказательства эксплуатации.
  • Уязвимости, для эксплуатации которых нужны root-привилегии, jailbreak и любая другая модификация приложений или устройств.
  • Уязвимости, которые требуют физического доступа к девайсу.
  • Отсутствие механизма или недостаточно безопасная реализация SSL/Certificate pinning.
  • Отсутствие аттестации среды.
  • Хранение критичных данных в открытом виде в приватном контейнере приложения без доказательства возможности получения данных извне.
  • Аутентификационные данные, которые были получены без эксплуатации уязвимости в мобильном приложении.
  • StrandHogg и подобные уязвимости.
  • Доступ к некритичным медиафайлам в контейнере приложения.
  • Уязвимости, которые требуют чрезмерно избыточного количества действий от пользователя.



Wed Oct 09 2024 09:55:57 GMT+0300 (Moscow Standard Time)