Android включает в себя лучшие в отрасли функции безопасности и сотрудничает с разработчиками и разработчиками устройств, чтобы обеспечить безопасность платформы и экосистемы Android. Надежная модель безопасности необходима для обеспечения активной экосистемы приложений и устройств, созданных на платформе Android и связанных с ней и поддерживаемых облачными сервисами. В результате на протяжении всего жизненного цикла разработки Android подвергалась строгой программе безопасности.
Android разработан, чтобы быть открытым. Приложения для Android используют передовое аппаратное и программное обеспечение, а также локальные и обслуживаемые данные, предоставляемые через платформу, чтобы приносить инновации и ценность для потребителей. Чтобы реализовать эту ценность, платформа предлагает среду приложений, которая защищает конфиденциальность, целостность и доступность пользователей, данных, приложений, устройства и сети.
Для обеспечения безопасности открытой платформы требуется мощная архитектура безопасности и строгие программы безопасности. В Android была разработана многоуровневая система безопасности, достаточно гибкая, чтобы поддерживать открытую платформу и при этом защищать всех пользователей платформы. Сведения о том, как сообщать о проблемах безопасности и о процессе обновления, см. в разделе Обновления безопасности и ресурсы .
Android создан для разработчиков. Элементы управления безопасностью были разработаны, чтобы уменьшить нагрузку на разработчиков. Разработчики, разбирающиеся в безопасности, могут легко работать с гибкими элементами управления безопасностью и полагаться на них. Разработчики, менее знакомые с безопасностью, защищены безопасными настройками по умолчанию.
В дополнение к стабильной платформе, на которой можно работать, Android оказывает дополнительную поддержку разработчикам несколькими способами. Команда безопасности Android ищет потенциальные уязвимости в приложениях и предлагает способы устранения этих проблем. Для устройств с Google Play Play Services предоставляет обновления безопасности для критически важных программных библиотек, таких как OpenSSL, который используется для защиты обмена данными между приложениями. Безопасность Android выпустила инструмент для тестирования SSL ( nogotofail ), который помогает разработчикам находить потенциальные проблемы безопасности на любой платформе, которую они разрабатывают.
Дополнительную информацию для разработчиков приложений для Android можно найти на сайте developer.android.com .
Android создан для пользователей. Пользователям предоставляется видимость разрешений, запрошенных каждым приложением, и контроль над этими разрешениями. Этот дизайн включает в себя ожидание того, что злоумышленники попытаются выполнить обычные атаки, такие как атаки социальной инженерии, чтобы убедить пользователей устройств установить вредоносное ПО, и атаки на сторонние приложения на Android. Android был разработан, чтобы снизить вероятность этих атак и значительно ограничить влияние атаки в случае ее успеха. Безопасность Android продолжает улучшаться после того, как устройство оказывается в руках пользователя. Android работает с партнерами и общественностью , чтобы предоставить исправления для любого устройства Android, которое продолжает получать обновления безопасности.
Дополнительную информацию для конечных пользователей можно найти в справочном центре Nexus , справочном центре Pixel или справочном центре производителя вашего устройства.
На этой странице изложены цели программы безопасности Android, описаны основы архитектуры безопасности Android и даны ответы на наиболее актуальные вопросы системных архитекторов и аналитиков безопасности. Он фокусируется на функциях безопасности базовой платформы Android и не обсуждает проблемы безопасности, которые уникальны для конкретных приложений, например связанных с браузером или приложением SMS.
Фон
Android предоставляет платформу с открытым исходным кодом и среду приложений для мобильных устройств.
Разделы и страницы ниже описывают функции безопасности платформы Android. На рис. 1 показаны компоненты безопасности и особенности различных уровней программного стека Android. Каждый компонент предполагает, что перечисленные ниже компоненты надежно закреплены. За исключением небольшого количества кода ОС Android, работающего от имени пользователя root, весь код выше ядра Linux ограничен песочницей приложения.
Основные строительные блоки платформы 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 с открытым исходным кодом (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
- Обязательная изолированная программная среда для всех приложений
- Безопасное межпроцессное взаимодействие
- Подписание приложений
- Разрешения, определяемые приложением и предоставляемые пользователем