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

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

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

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

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

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

Android также использует встроенную аппаратную поддержку для обеспечения безопасности. Например, технология ARM TrustZone используется для обеспечения безопасного хранения криптографических ключей, а также для подтверждения целостности загрузки. DICE используется для измерения прошивки, загружаемой до загрузки 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 Device Manager: веб-приложение и приложение для 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.
  • Обязательная песочница для всех приложений.
  • Безопасное межпроцессное взаимодействие
  • Подписание приложений
  • Разрешения, определяемые приложением и предоставляемые пользователем.