Умные устройства с Алисой

Вам нужно найти уязвимости в наших умных устройствах.
Территория Охоты: устройства Яндекса, которые управляются с помощью голосового интерфейса.
В программу поиска уязвимостей не входят устройства Умного дома, телевизоры и прочие устройства, которые разработаны совместно с другими брендами. Полный список исключений можно найти в разделе «Исключения».
*Серверная инфраструктура вокруг умных устройств относится  к основному направлению программы «Охота за ошибками».
Цель направления - поиск уязвимостей в умных устройствах Яндекса. Мы выделяем несколько категорий:
Уязвимости приложений и сервисов на устройстве
Выполнение кода, чтение локальных файлов, различные типы инъекций, которые ведут к получению повышенных привилегий на устройстве.
Уязвимости могут быть в приложениях на устройстве, голосовых навыках, привилегированном/не привилегированном процессе и так далее.
Уязвимости в программном обеспечении производителя SoC и Firmware
На низком уровне устройства нас интересуют атаки, позволяющие обходить механизмы безопасной загрузки и исполнять произвольный код. Такие проблемы мы передаём нашим партнерам, но не занимаемся выпуском CVE.
Если вы хотите искать низкоуровневые проблемы, вам следует ознакомиться со спецификацией ARM Trusted Firmware. Большинство наших устройств основано на ней.
Обход подписной модели
Часть наших устройств продаётся по подписной модели, предполагающей регулярные выплаты за использование устройства. При отсутствии выплат на устройства накладываются ограничения.
Например, больше нельзя будет смотреть фильмы на Кинопоиске или общаться голосом с Алисой. Нас интересуют любые способы обхода этих ограничений.
Получение повышенных привилегий через интерфейсы на PCB
В рамках программы мы не рассматриваем сложные, дорогие и трудновоспроизводимые атаки на плату, например, Fault Injection. Однако нас интересуют атаки, которые позволяют через подключение к JTAG, USB и другим физическим интерфейсам устройства получить высокопривелигированный доступ.
Раскрытие критичной информации о пользователе
Нам интересны проблемы, которые могут приводить к раскрытию критичной информации о пользователе (например, той, которая может его идентифицировать). Раскрытие должно производиться без физического контакта с устройством.
Яндекс не выплачивает вознаграждение за:
1. Аппаратные атаки

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

1.2. Side-channel Fault Injection атаки с низкой вероятностью повторения

2. Уязвимости прошивки и ПО

2.1. Отсутствие защитных механизмов прошивки, не приводящих к эксплуатации

2.2. Хранение токенов/ключей на файловой системе без дополнительной уязвимости

2.3. Уязвимости в сторонних библиотеках без влияния на безопасность устройства

2.4. Отсутствие бинарной защиты в приложениях устройства

3. Сетевые атаки

3.1. Перехват незашифрованного трафика в локальной сети

3.2. Отсутствие шифрования трафика в локальных сетях без доказанного вреда

3.3. Открытые порты без доказуемого вектора атаки

4. Протоколы и интерфейсы

4.1. Уязвимости в протоколах Bluetooth/Zigbee/Matter без удаленной эксплуатации

4.2. Отсутствие аутентификации в протоколах без доказанного вреда

4.3. Обход ограничений протокола без влияния на безопасность

5. Облачные сервисы

5.1. Уязвимости в облачных API без влияния на устройства относятся к категории Инфраструктура и сервисы Яндекса

6. Голосовые ассистенты

6.1. Уязвимости в голосовых навыках от сторонних разработчиков

7. DoS и отказы в обслуживании

7.1. Локальные DoS-атаки, устраняемые перезагрузкой

7.2. Временные сбои отдельных функций устройства

7.3. Перегрузка процессора без персистентности

7.4. Сетевые flood-атаки без постоянного влияния

8. Информационные утечки

8.1. Раскрытие версий ПО и аппаратных компонентов

8.2. Утечка структуры файловой системы без доступа к данным

8.3. Раскрытие MAC-адресов и серийных номеров

8.4. Метаданные телеметрии без персональной информации

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

Решение об уровне критичности часто принимается совместно с разработчиками и может занимать некоторое время.

Категория атаки
Вектор
Примеры воздействия
Выплата
Выполнение кода
Удаленное выполнение кода (0-click RCE) ⚡
Выполнение кода без взаимодействия с пользователем
до 1,500,000 ₽
Локальное повышение привилегий
Повышение привилегий до уровня ядра/системы
до 500,000 ₽
Защищенные компоненты
Компрометация TEE/Secure Element
Извлечение криптографических ключей из защищенного элемента
до 750,000 ₽
Обход Secure Boot
Постоянная компрометация цепочки загрузки
до 750,000 ₽
Извлечение данных
Несанкционированный доступ к данным
Доступ к чувствительным данным без разрешений
до 500,000 ₽
Утечка отладочных данных из логов
Чтение отладочных данных с logcat, позволяющих считывать внутреннее состояние сеансов
до 50,000 ₽
Обход механизмов защиты
Обход политик безопасности
Обход механизмов DAC/MAC
до 250,000 ₽
Обход изоляции приложений
Полный обход песочницы приложения
до 250,000 ₽
Обход защиты от сброса к заводским настройкам
Колонка не отвязывается от пользователя после сброса данных
до 500,000 ₽
Сетевые атаки
Обход протоколов
Компрометация устройства через Bluetooth/Zigbee/Matter с выполнением кода или управлением устройством
до 500,000 ₽
Компрометация облачных сервисов
Уязвимости в облачных API без влияния на устройства относятся к категории Инфраструктура и сервисы Яндекса
Атаки на ОТА-обновления
Установка вредоносной прошивки
до 500,000 ₽
Физические атаки (см. понижающие коэффициенты)
Атаки через физические интерфейсы
Получение высокопривелегированного доступа через JTAG/USB/UART
до 500,000 ₽
{ Обратите внимание }

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

Понижающие коэффициенты применяются в следующих случаях:

  • Требуется привилегированный контекст для исполнения атаки
  • Требуется физический доступ к выключенному/включенному устройству
  • Требуется физический разбор устройства
  • Локальная атака требует разблокировки загрузчика
  • Атака работает только до перезагрузки устройства
  • Требуется модификация файловой системы
  • Атака имеет вероятностный характер
  • Атака требует дополнительных действий от пользователя (user interaction)
  • Устройства 2 и 3 приоритета