Защитите устройство Android

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

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

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

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

Помимо предоставления стабильной платформы для дальнейшего развития, Android предоставляет разработчикам дополнительную поддержку различными способами. Команда безопасности Android ищет потенциальные уязвимости в приложениях и предлагает способы их устранения. Для устройств с Google Play службы Play Services предоставляют обновления безопасности для критически важных библиотек программного обеспечения, таких как OpenSSL, который используется для защиты связи приложений. Android Security выпустила инструмент для тестирования SSL ( nogotofail ), который помогает разработчикам находить потенциальные проблемы безопасности на любой платформе, которую они разрабатывают.

Android также использует базовую аппаратную поддержку для обеспечения безопасности. Например, технология ARM TrustZone используется для обеспечения безопасного хранения криптографических ключей, а также подтверждения целостности загрузки. [DICE](https://pigweed.googlesource.com/open-dice/+/refs/heads/main/docs/android.md) используется для измерения прошивки, загружаемой до загрузки Android. Это позволяет удаленно проверять, что прошивка не подвержена известным критическим уязвимостям, которые могут быть использованы для нанесения вреда как разработчикам, так и пользователям.

Дополнительную информацию для разработчиков приложений Android можно найти на сайте Developer.android.com .

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

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

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

Фон

Android предоставляет платформу с открытым исходным кодом и среду приложений для мобильных устройств.

В разделах и страницах ниже описаны функции безопасности платформы Android. На рис. 1 показаны компоненты безопасности и особенности различных уровней стека программного обеспечения Android. Для каждого компонента предполагается, что перечисленные ниже компоненты надежно закреплены. За исключением небольшого количества кода ОС Android, работающего от имени пользователя root, весь код выше ядра Linux ограничен «песочницей» приложения.

Рисунок 1. Стек программного обеспечения Android

Рисунок 1. Программный стек Android

Основными строительными блоками платформы Android являются:

  • Аппаратное обеспечение устройства: Android работает на широком спектре аппаратных конфигураций, включая мобильные телефоны, планшеты, часы, автомобили, смарт-телевизоры, игровые приставки OTT и телеприставки. Android не зависит от процессора, но использует некоторые аппаратные возможности безопасности, такие как ARM eXecute-Never.
  • Операционная система Android. Основная операционная система построена на основе ядра Linux. Доступ ко всем ресурсам устройства, таким как функции камеры, данные GPS, функции Bluetooth, функции телефонии и сетевые подключения, осуществляется через операционную систему.
  • Среда выполнения приложений Android. Приложения Android чаще всего пишутся на языке программирования Java и запускаются в среде выполнения Android (ART). Однако многие приложения, включая основные службы и приложения Android, являются собственными приложениями или включают в себя собственные библиотеки. И ART, и собственные приложения работают в одной и той же среде безопасности, содержащейся в изолированной программной среде приложения. Приложения получают выделенную часть файловой системы, в которую они могут записывать личные данные, включая базы данных и необработанные файлы.

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

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

Службы безопасности Google

Google предоставляет набор облачных сервисов, доступных на совместимых устройствах Android с помощью Google Mobile Services . Хотя эти службы не являются частью проекта Android Open Source Project (AOSP), они включены во многие устройства Android. Дополнительную информацию о некоторых из этих сервисов см. в обзоре Android Security за 2018 год .

Основные службы безопасности Google:

  • Google Play. Google Play – это набор сервисов, которые позволяют пользователям находить, устанавливать и приобретать приложения со своего устройства Android или в Интернете. Google Play упрощает разработчикам доступ к пользователям Android и потенциальным клиентам. Google Play также предоставляет проверку сообществом, проверку лицензии приложения, сканирование безопасности приложения и другие службы безопасности.
  • Обновления Android. Служба обновлений Android предоставляет новые возможности и обновления безопасности для выбранных устройств Android, включая обновления через Интернет или по беспроводной сети (OTA).
  • Службы приложений: платформы, которые позволяют приложениям Android использовать облачные возможности, такие как резервное копирование данных и настроек приложений, а также обмен сообщениями из облака на устройство ( C2DM ) для push-сообщений.
  • Проверка приложений. Предупреждайте или автоматически блокируйте установку вредоносных приложений, а также постоянно сканируйте приложения на устройстве, предупреждая о них или удаляя их .
  • SafetyNet: система обнаружения вторжений, сохраняющая конфиденциальность и помогающая Google отслеживать, смягчать известные угрозы безопасности и выявлять новые угрозы безопасности.
  • Аттестация SafetyNet: сторонний API для определения совместимости устройства с CTS. Аттестация также может идентифицировать приложение Android, взаимодействующее с сервером приложений.
  • Диспетчер устройств Android: веб-приложение и приложение Android для поиска потерянного или украденного устройства.

Обзор программы безопасности

Ключевые компоненты программы безопасности Android включают в себя:

  • Обзор дизайна. Процесс обеспечения безопасности Android начинается на ранних стадиях жизненного цикла разработки с создания богатой и настраиваемой модели и дизайна безопасности. Каждая основная функция платформы проверяется инженерами и специалистами по безопасности, при этом соответствующие меры безопасности интегрированы в архитектуру системы.
  • Тестирование на проникновение и проверка кода. В ходе разработки платформы компоненты Android и компоненты с открытым исходным кодом подвергаются тщательным проверкам безопасности. Эти проверки выполняются командой безопасности Android, командой инженеров информационной безопасности Google и независимыми консультантами по безопасности. Цель этих проверок — выявить слабые места и возможные уязвимости задолго до выпуска основных выпусков, а также смоделировать типы анализа, которые выполняются внешними экспертами по безопасности после выпуска.
  • Проверка открытого исходного кода и сообщества: AOSP обеспечивает широкую проверку безопасности любой заинтересованной стороной. Android также использует технологии с открытым исходным кодом, прошедшие серьезную внешнюю проверку безопасности, например ядро ​​Linux. Google Play предоставляет пользователям и компаниям форум, на котором они могут предоставлять информацию о конкретных приложениях непосредственно пользователям.
  • Реагирование на инциденты: даже при соблюдении этих мер предосторожности после доставки могут возникнуть проблемы с безопасностью, поэтому в проекте Android создан комплексный процесс реагирования на проблемы безопасности. Штатные члены группы безопасности Android следят за сообществом безопасности Android и в целом для обсуждения потенциальных уязвимостей и проверки ошибок безопасности , зарегистрированных в базе данных ошибок Android. При обнаружении законных проблем команда Android разработала процесс реагирования, который позволяет быстро устранить уязвимости и свести к минимуму потенциальный риск для всех пользователей Android. Эти ответы, поддерживаемые облаком, могут включать обновление платформы Android (обновления AOSP), удаление приложений из Google Play и удаление приложений с устройств, находящихся в полевых условиях.
  • Ежемесячные обновления безопасности. Команда безопасности Android ежемесячно предоставляет обновления для устройств Google Android и всех наших партнеров-производителей устройств.

Архитектура безопасности платформы

Android стремится стать наиболее безопасной и удобной операционной системой для мобильных платформ, перепрофилируя традиционные элементы управления безопасностью операционной системы для:

  • Защитите приложение и пользовательские данные
  • Защитите системные ресурсы (включая сеть)
  • Обеспечьте изоляцию приложений от системы, других приложений и пользователя.

Для достижения этих целей Android предоставляет следующие ключевые функции безопасности:

  • Надежная безопасность на уровне ОС благодаря ядру Linux
  • Обязательная песочница для всех приложений
  • Безопасное межпроцессное взаимодействие
  • Подписание приложения
  • Разрешения, определенные приложением и предоставленные пользователем
,

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

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

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

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

Помимо предоставления стабильной платформы для дальнейшего развития, Android предоставляет разработчикам дополнительную поддержку различными способами. Команда безопасности Android ищет потенциальные уязвимости в приложениях и предлагает способы их устранения. Для устройств с Google Play службы Play Services предоставляют обновления безопасности для критически важных библиотек программного обеспечения, таких как OpenSSL, который используется для защиты связи приложений. Android Security выпустила инструмент для тестирования SSL ( nogotofail ), который помогает разработчикам находить потенциальные проблемы безопасности на любой платформе, которую они разрабатывают.

Android также использует базовую аппаратную поддержку для обеспечения безопасности. Например, технология ARM TrustZone используется для обеспечения безопасного хранения криптографических ключей, а также подтверждения целостности загрузки. [DICE](https://pigweed.googlesource.com/open-dice/+/refs/heads/main/docs/android.md) используется для измерения прошивки, загружаемой до загрузки Android. Это позволяет удаленно проверять, что прошивка не подвержена известным критическим уязвимостям, которые могут быть использованы для нанесения вреда как разработчикам, так и пользователям.

Дополнительную информацию для разработчиков приложений Android можно найти на сайте Developer.android.com .

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

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

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

Фон

Android предоставляет платформу с открытым исходным кодом и среду приложений для мобильных устройств.

В разделах и страницах ниже описаны функции безопасности платформы Android. На рис. 1 показаны компоненты безопасности и особенности различных уровней стека программного обеспечения Android. Для каждого компонента предполагается, что перечисленные ниже компоненты надежно закреплены. За исключением небольшого количества кода ОС Android, работающего от имени пользователя root, весь код выше ядра Linux ограничен «песочницей» приложения.

Рисунок 1. Стек программного обеспечения Android

Рисунок 1. Программный стек Android

Основными строительными блоками платформы Android являются:

  • Аппаратное обеспечение устройства: Android работает на широком спектре аппаратных конфигураций, включая мобильные телефоны, планшеты, часы, автомобили, смарт-телевизоры, игровые приставки OTT и телеприставки. Android не зависит от процессора, но использует некоторые аппаратные возможности безопасности, такие как ARM eXecute-Never.
  • Операционная система Android. Основная операционная система построена на основе ядра Linux. Доступ ко всем ресурсам устройства, таким как функции камеры, данные GPS, функции Bluetooth, функции телефонии и сетевые подключения, осуществляется через операционную систему.
  • Среда выполнения приложений Android. Приложения Android чаще всего пишутся на языке программирования Java и запускаются в среде выполнения Android (ART). Однако многие приложения, включая основные службы и приложения Android, являются собственными приложениями или включают в себя собственные библиотеки. И ART, и собственные приложения работают в одной и той же среде безопасности, содержащейся в изолированной программной среде приложения. Приложения получают выделенную часть файловой системы, в которую они могут записывать личные данные, включая базы данных и необработанные файлы.

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

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

Службы безопасности Google

Google предоставляет набор облачных сервисов, доступных на совместимых устройствах Android с помощью Google Mobile Services . Хотя эти службы не являются частью проекта Android Open Source Project (AOSP), они включены во многие устройства Android. Дополнительную информацию о некоторых из этих сервисов см. в обзоре Android Security за 2018 год .

Основные службы безопасности Google:

  • Google Play. Google Play – это набор сервисов, которые позволяют пользователям находить, устанавливать и приобретать приложения со своего устройства Android или в Интернете. Google Play упрощает разработчикам доступ к пользователям Android и потенциальным клиентам. Google Play также предоставляет проверку сообществом, проверку лицензии приложения, сканирование безопасности приложения и другие службы безопасности.
  • Обновления Android. Служба обновлений Android предоставляет новые возможности и обновления безопасности для выбранных устройств Android, включая обновления через Интернет или по беспроводной сети (OTA).
  • Службы приложений: платформы, которые позволяют приложениям Android использовать облачные возможности, такие как резервное копирование данных и настроек приложений, а также обмен сообщениями из облака на устройство ( C2DM ) для push-сообщений.
  • Проверка приложений. Предупреждайте или автоматически блокируйте установку вредоносных приложений, а также постоянно сканируйте приложения на устройстве, предупреждая о них или удаляя их .
  • SafetyNet: система обнаружения вторжений, сохраняющая конфиденциальность и помогающая Google отслеживать, смягчать известные угрозы безопасности и выявлять новые угрозы безопасности.
  • Аттестация SafetyNet: сторонний API для определения совместимости устройства с CTS. Аттестация также может идентифицировать приложение Android, взаимодействующее с сервером приложений.
  • Диспетчер устройств Android: веб-приложение и приложение Android для поиска потерянного или украденного устройства.

Обзор программы безопасности

Ключевые компоненты программы безопасности Android включают в себя:

  • Обзор дизайна. Процесс обеспечения безопасности Android начинается на ранних стадиях жизненного цикла разработки с создания богатой и настраиваемой модели и дизайна безопасности. Каждая основная функция платформы проверяется инженерами и специалистами по безопасности, при этом соответствующие меры безопасности интегрированы в архитектуру системы.
  • Тестирование на проникновение и проверка кода. В ходе разработки платформы компоненты Android и компоненты с открытым исходным кодом подвергаются тщательным проверкам безопасности. Эти проверки выполняются командой безопасности Android, командой инженеров информационной безопасности Google и независимыми консультантами по безопасности. Цель этих проверок — выявить слабые места и возможные уязвимости задолго до выпуска основных выпусков, а также смоделировать типы анализа, которые выполняются внешними экспертами по безопасности после выпуска.
  • Проверка открытого исходного кода и сообщества: AOSP обеспечивает широкую проверку безопасности любой заинтересованной стороной. Android также использует технологии с открытым исходным кодом, прошедшие серьезную внешнюю проверку безопасности, например ядро ​​Linux. Google Play предоставляет пользователям и компаниям форум, на котором они могут предоставлять информацию о конкретных приложениях непосредственно пользователям.
  • Реагирование на инциденты: даже при соблюдении этих мер предосторожности после доставки могут возникнуть проблемы с безопасностью, поэтому в проекте Android создан комплексный процесс реагирования на проблемы безопасности. Штатные члены группы безопасности Android следят за сообществом безопасности Android и в целом для обсуждения потенциальных уязвимостей и проверки ошибок безопасности , зарегистрированных в базе данных ошибок Android. При обнаружении законных проблем команда Android разработала процесс реагирования, который позволяет быстро устранить уязвимости и свести к минимуму потенциальный риск для всех пользователей Android. Эти ответы, поддерживаемые облаком, могут включать обновление платформы Android (обновления AOSP), удаление приложений из Google Play и удаление приложений с устройств, находящихся в полевых условиях.
  • Ежемесячные обновления безопасности. Команда безопасности Android ежемесячно предоставляет обновления для устройств Google Android и всех наших партнеров-производителей устройств.

Архитектура безопасности платформы

Android стремится стать наиболее безопасной и удобной операционной системой для мобильных платформ, перепрофилируя традиционные элементы управления безопасностью операционной системы для:

  • Защитите приложение и пользовательские данные
  • Защитите системные ресурсы (включая сеть)
  • Обеспечьте изоляцию приложений от системы, других приложений и пользователя.

Для достижения этих целей Android предоставляет следующие ключевые функции безопасности:

  • Надежная безопасность на уровне ОС благодаря ядру Linux
  • Обязательная песочница для всех приложений
  • Безопасное межпроцессное взаимодействие
  • Подписание приложения
  • Разрешения, определенные приложением и предоставленные пользователем