Google стремится продвигать расовую справедливость для черных сообществ. Смотри как.
Эта страница была переведа с помощью Cloud Translation API.
Switch to English

Обновления безопасности и ресурсы

Команда безопасности Android отвечает за управление уязвимостями безопасности, обнаруженными на платформе Android и во многих основных приложениях Android, связанных с устройствами Android.

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

Сообщение о проблемах безопасности

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

Ошибки, помеченные как проблемы безопасности, не видны извне, но они могут в конечном итоге стать видимыми после того, как проблема оценена или решена. Если вы планируете отправить исправление или тест CTS для решения проблемы безопасности, приложите его к отчету об ошибке и дождитесь ответа, прежде чем загружать код в AOSP.

Triaging ошибки

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

Типы процессов

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

Тип процесса Определение типа
Ограниченный процесс Процесс, который выполняется в сильно ограниченном домене SELinux.
ИЛИ
Процесс, который значительно более ограничен, чем обычное приложение.
Непривилегированный процесс Стороннее приложение или процесс.
ИЛИ
Приложение или процесс, который выполняется в домене SELinux untrusted_app .
Привилегированный процесс Приложение или процесс с возможностями, которые будут запрещены доменом SELinux untrusted_app .
ИЛИ
Приложение или процесс с важными привилегиями, которые стороннее приложение не может получить.
ИЛИ
Встроенный аппаратный компонент на устройстве, который не является частью доверенной вычислительной базы (TCB).
Доверенная вычислительная база (TCB) Функциональные возможности, являющиеся частью ядра, выполняются в том же контексте ЦП, что и ядро ​​(например, драйверы устройств), имеют прямой доступ к памяти ядра (например, к аппаратным компонентам устройства), имеют возможность загружать сценарии в компонент ядра ( например, eBPF), процессор основной полосы частот или один из немногих пользовательских сервисов, который считается эквивалентным ядру: init , ueventd и vold .
Загрузчик Компонент, который настраивает устройство при загрузке, а затем передает управление ОС Android.
Trusted Execution Environment (TEE) Компонент, предназначенный для защиты даже от враждебного ядра.
Защитный элемент (SE) Необязательный компонент, разработанный для защиты от всех других компонентов устройства и от физических атак, как определено в разделе « Введение в защищенные элементы» .

Строгость

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

Рейтинг Следствие успешной эксплуатации
критический
  • Несанкционированный доступ к данным, защищенным SE
  • Выполнение произвольного кода в TEE или SE
  • Удаленное выполнение произвольного кода в привилегированном процессе, загрузчике или TCB
  • Удаленный постоянный отказ в обслуживании (неработоспособность устройства: полностью постоянный или требует переустановки всей операционной системы или сброса настроек к заводским настройкам)
  • Удаленный обход требований взаимодействия с пользователем при установке пакета или аналогичного поведения
  • Удаленный обход требований взаимодействия с пользователем для любого разработчика, настроек безопасности или конфиденциальности
  • Удаленный безопасный обход загрузки
  • Обход защитных механизмов, предназначенных для предотвращения неисправности критически важных компонентов оборудования (например, тепловой защиты)
Высокая
  • Локальный безопасный обход загрузки
  • Полный обход основных функций безопасности (таких как SELinux, FDE или seccomp)
  • Удаленное выполнение произвольного кода в непривилегированном процессе
  • Локальное выполнение произвольного кода в привилегированном процессе, загрузчике или TCB
  • Несанкционированный доступ к данным, защищенным TEE
  • Атаки на SE, приводящие к снижению рейтинга до менее безопасной реализации
  • Локальный обход требований взаимодействия с пользователем при установке пакета или аналогичного поведения
  • Удаленный доступ к защищенным данным (данным, которые ограничены привилегированным процессом)
  • Локальный постоянный отказ в обслуживании (неработоспособность устройства: постоянная или требует переустановки всей операционной системы или восстановления заводских настроек)
  • Удаленный обход требований взаимодействия с пользователем (доступ к функциям или данным, которые обычно требуют либо инициации пользователя, либо разрешения пользователя)
  • Передача конфиденциальной информации по незащищенному сетевому протоколу (например, HTTP и незашифрованный Bluetooth), когда запрашивающая сторона ожидает защищенной передачи (обратите внимание, что это не относится к шифрованию Wi-Fi, например WEP)
  • Общий обход глубокой защиты или использование технологии смягчения в загрузчике или TEE
  • Общий обход средств защиты операционной системы, которые изолируют данные приложений или профили пользователей друг от друга.
  • Локальный обход требований взаимодействия с пользователем для любого разработчика, настроек безопасности или конфиденциальности
  • Криптографическая уязвимость в стандартной безопасности транспортного уровня (TLS), позволяющая осуществлять атаки «человек посередине»
  • Обход блокировки экрана
  • Обход защиты устройства / защита от сброса настроек / ограничения оператора
  • Целевая профилактика доступа к экстренным службам
  • Обход требований взаимодействия с пользователем, которые обеспечиваются TEE
умеренный
  • Удаленное выполнение произвольного кода в ограниченном процессе
  • Отказ в обслуживании удаленного временного устройства (удаленное зависание или перезагрузка)
  • Выполнение локального произвольного кода в непривилегированном процессе
  • Общий обход глубокой защиты или использование технологии смягчения в привилегированном процессе или УТС
  • Обход ограничений на ограниченный процесс
  • Удаленный доступ к незащищенным данным (данные обычно доступны любому локально установленному приложению)
  • Локальный доступ к защищенным данным (данным, которые ограничены привилегированным процессом)
  • Локальный обход требований взаимодействия с пользователем (доступ к функциональности, которая обычно требует либо инициации пользователя, либо разрешения пользователя)
  • Криптографическая уязвимость в стандартных криптографических примитивах, которая допускает утечку открытого текста (не примитивов, используемых в TLS)
  • Обход шифрования или аутентификации Wi-Fi таким образом, что злоумышленник может подключиться либо к устройству Android, выступая в качестве точки доступа, либо к точке доступа к сети (AP), к которой подключено устройство
Низкий
  • Выполнение локального произвольного кода в ограниченном процессе
  • Криптографическая уязвимость в нестандартном использовании
  • Общий обход глубокой защиты на уровне пользователя или использование технологии смягчения в непривилегированном процессе
Нет влияния на безопасность (NSI)
  • Уязвимость, влияние которой было смягчено одним или несколькими модификаторами рейтинга или изменениями в архитектуре, зависящей от версии, так что эффективная серьезность ниже Низкой, хотя проблема с основным кодом может остаться

Модификаторы рейтинга

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

причина эффект
Требуется запуск в качестве привилегированного процесса для выполнения атаки -1 Серьезность
Сведения об уязвимостях ограничивают влияние проблемы -1 Серьезность
Конфигурации компилятора или платформы уменьшают уязвимость в исходном коде Умеренная Серьезность, если основная уязвимость - Умеренная или выше
Требуется физический доступ к внутренним устройствам устройства и все еще возможно, если телефон выключен или не был разблокирован с момента включения -1 Серьезность
Требуется физический доступ к внутренним устройствам устройства, когда телефон включен и ранее был разблокирован -2 Серьезность
Локальная атака, требующая разблокировки загрузчика Не выше чем низкий
Локальная атака, которая требует, чтобы на устройстве был включен режим разработчика или любые постоянные параметры режима разработчика (и это не ошибка в режиме разработчика). Не выше чем низкий
Если ни один домен SELinux не может выполнять операции в рамках предоставляемой Google SEPolicy Нет влияния на безопасность

Местный против удаленного

Вектор удаленной атаки означает, что ошибка может быть использована без установки приложения или без физического доступа к устройству. Это включает ошибки, которые могут быть вызваны просмотром веб-страницы, чтением электронной почты, получением SMS-сообщения или подключением к вредоносной сети. В целях оценки серьезности команда по безопасности Android также считает «проксимальные» векторы атак удаленными. К ним относятся ошибки, которые могут быть использованы только злоумышленником, который физически находится рядом с целевым устройством, например ошибка, которая требует отправки искаженных пакетов Wi-Fi или Bluetooth. Команда безопасности Android считает атаки на основе NFC проксимальными и, следовательно, удаленными.

Локальные атаки требуют, чтобы жертва запустила приложение, либо установив и запустив приложение, либо согласившись запустить Instant App . В целях оценки серьезности группа безопасности Android также рассматривает векторы физических атак как локальные. К ним относятся ошибки, которые могут быть использованы только злоумышленником, имеющим физический доступ к устройству, например ошибка на экране блокировки или ошибка, требующая подключения USB-кабеля. Обратите внимание, что атаки, которые требуют подключения USB, имеют одинаковую серьезность независимо от того, требуется ли разблокировать устройство или нет; Обычно устройства разблокируются при подключении к USB.

Безопасность Wi-Fi

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

Затрагиваемый компонент

Команда разработчиков, ответственная за исправление ошибки, зависит от того, в каком компоненте эта ошибка. Это может быть основной компонент платформы Android, драйвер ядра, поставляемый производителем оригинального оборудования (OEM), или одно из предварительно загруженных приложений на устройствах Pixel. ,

Ошибки в коде AOSP исправлены командой разработчиков Android. Ошибки низкой серьезности, ошибки в определенных компонентах или ошибки, которые уже известны всем, могут быть исправлены непосредственно в общедоступной основной ветке AOSP; в противном случае они сначала исправляются в наших внутренних репозиториях.

Компонент также является фактором, определяющим, как пользователи получают обновления. Ошибка в платформе или ядре требует обновления встроенного программного обеспечения (OTA), которое необходимо отправить каждому OEM. Ошибка в приложении или библиотеке, опубликованной в Google Play (например, Gmail, Google Play Services или WebView), может быть отправлена ​​пользователям Android в качестве обновления из Google Play.

Уведомление партнеров

Когда в бюллетене по безопасности Android исправлена ​​уязвимость в AOSP, мы сообщим партнерам Android о проблемах и предоставим исправления. Список поддерживаемых бэкпортом версий меняется с каждым новым выпуском Android. Свяжитесь с производителем вашего устройства для получения списка поддерживаемых устройств.

Выпуск кода в AOSP

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

Получение обновлений Android

Обновления для системы Android обычно доставляются на устройства через пакеты обновлений OTA. Эти обновления могут исходить от OEM-производителя, который произвел устройство, или от оператора, который предоставляет услуги для устройства. Обновления устройства Google Pixel поступают от команды Google Pixel после прохождения процедуры технического признания (TA) оператора связи. Google также публикует фабричные изображения Pixel, которые можно загружать на устройства.

Обновление сервисов Google

Помимо предоставления исправлений для ошибок безопасности, команда безопасности Android проверяет ошибки безопасности, чтобы определить, есть ли другие способы защиты пользователей. Например, Google Play сканирует все приложения и удаляет все приложения, которые пытаются использовать ошибку безопасности. Для приложений, установленных вне Google Play, устройства со Службами Google Play могут также использовать функцию проверки приложений, чтобы предупреждать пользователей о приложениях, которые могут быть потенциально опасными.

Другие источники

Информация для разработчиков приложений Android: https://developer.android.com

Информация о безопасности существует на сайтах Android с открытым исходным кодом и разработчиков. Хорошие места для начала:

Отчеты

Иногда команда безопасности Android публикует отчеты или технические документы. См. Отчеты о безопасности для более подробной информации.