- Безопасность на мобильных устройствах
- Созданы, чтобы защищать
- Множество функций защиты
- Полная защита
- Защита от опасных приложений
- Защита от спама
- Защита от опасных сайтов
- Ваша конфиденциальность
- Выбор всегда за вами
- Задавайте настройки доступа для приложений
- Проверка неиспользуемых приложений
- Не передавайте данные в приложения, которыми не пользуетесь
- Безопасность на всех уровнях
- Мощная встроенная защита
- Профессиональная защита для всех
- Центр безопасности Google
- Блог Google о безопасности
- Для разработчиков
- Для технических специалистов
- Для компаний
- Экстренная помощь
- Помощь в экстренной ситуации
- Для разработчиков
- Для организаций
- Для прессы
- Экосистема
- Помощь
- Основы безопасности операционной системы Android. Уровень ядра
- Вступление
- Disclaimer
- Список статей
- Стек Android
- Безопасность на уровне ядра
- Заключение
- Что такое обновления безопасности Android и почему они важны
- Что такое обновление безопасности Android
- Почему обновления безопасности Android важны
- Как проверить наличие обновлений безопасности Android
- Почему на моем телефоне Android не установлены последние обновления безопасности
Безопасность на мобильных устройствах
Созданы, чтобы защищать
Множество функций защиты
Встроенные функции обеспечивают безопасность всех ваших действий, будь то скачивание приложений, посещение сайтов или обмен данными. Если мы заметим угрозу, например вредоносное приложение или опасную ссылку, то предупредим вас и посоветуем, что делать дальше. Наши мощные внутренние механизмы безопасности защищают ваше устройство и данные, даже когда вы ими не пользуетесь.
Полная защита
Защита от опасных приложений
Google Play Защита ежедневно сканирует приложения, которые вы скачиваете. Если мы обнаружим вредоносное приложение, то сообщим вам об этом и расскажем, что делать. Кроме того, мы изучим его, чтобы в дальнейшем защищать вас ещё лучше. Не беспокойтесь – вы в безопасности.
Защита от спама
Отвечайте только на те звонки, которых ждете. Мы проследим, чтобы вас не беспокоили боты, и предупредим, если позвонят спамеры. Расшифровка звонков выполняется только на устройстве, поэтому ваши данные надежно защищены.
Защита от опасных сайтов
Google Безопасный просмотр предупредит, если вы соберетесь перейти на подозрительный сайт или скачать вредоносный файл. Так мы сможем защитить вас от вредоносного ПО и фишинга. Мы заботимся о том, чтобы ваши личные данные не попали в руки злоумышленников.
Ваша
конфиденциальность
Мы защищаем ваши данные от посторонних глаз, шифруя их и ограничивая список действий, которые приложения могут выполнять в фоновом режиме. Если вы не хотите сохранять информацию о посещении сайта или построении маршрута, перейдите в режим инкогнито в Chrome или Картах. Мы также создали инструменты, которые позволяют выбирать, кто и когда будет иметь доступ к вашим данным, и к каким именно.
Выбор всегда за вами
Задавайте настройки доступа для приложений
На устройстве Android вы можете сами выбирать, какая информация будет доступна приложениям. Например, вы можете открыть доступ к микрофону, камере или данным о местоположении – только на один раз или насовсем. Делитесь данными когда и как захотите.
Проверка неиспользуемых приложений
Не передавайте данные в приложения, которыми не пользуетесь
Если вы давно не открывали какое-то приложение на своем телефоне, Android может автоматически отключить для него доступ к вашим данным. Но в любое время вы сможете снова его включить. Android поможет вам поддерживать порядок на устройстве.
Безопасность на всех уровнях
Мощная встроенная защита
В Android есть множество функций для обеспечения безопасности. Благодаря шифрованию ваши данные надежно защищены, если телефон заблокирован. Кроме того, если вы сохраняете данные с телефона в облаке, они шифруются с помощью PIN-кода устройства. Доступ к ним есть только у вас. Каждое приложение на телефоне защищено на уровне операционной системы: доступ других приложений к информации о ваших действиях блокируется. Мы сообщим вам, если обнаружим несанкционированное вмешательство в операционную систему. Эти функции безопасности всегда активны и работают автоматически в фоновом режиме.
Профессиональная защита для всех
Центр безопасности Google
Мы постоянно улучшаем наши инструменты обеспечения конфиденциальности и технологии безопасности. Мы развиваемся вместе с интернетом, а вы всегда остаетесь под нашей защитой.
Блог Google о безопасности
Читайте новости и другую полезную информацию о безопасности и конфиденциальности в интернете.
Для разработчиков
Узнайте о надежных инструментах обеспечения безопасности и встроенных функциях защиты, полезных для разработчиков.
Для технических специалистов
Узнайте больше о защите данных и устройств в Android.
Для компаний
Встречайте защиту первоклассного уровня. Управляйте всеми своими устройствами. Узнайте, как Android защищает коммерческие данные.
Экстренная помощь
Помощь в экстренной ситуации
Мы создаем уникальные функции для вашей безопасности. Узнайте, как быстро получить помощь в экстренной ситуации с помощью телефона Android.
Для разработчиков
Для организаций
Для прессы
Экосистема
Помощь
Некоторые функции и устройства доступны не во всех странах. Наличие не гарантируется.
Наличие функций и поддержка технологий зависят от производителя оригинального оборудования и/или устройства.
Источник
Основы безопасности операционной системы Android. Уровень ядра
Вступление
Самой распространенной операционной системой для смартфонов на сегодняшний день является Android. Но не только этот факт подогревает интерес к ней. Открытость, возможность что-то настроить, подкрутить, и, естественно, сломать тоже в немалой степени способствуют увеличению популярности этой платформы. Я попробую поделиться опытом, как устроена эта операционная система, а так же рассмотреть систему безопасности. Всем, кому интересно, добро пожаловать! В этой статье я рассмотрю безопасность на уровне ядра.
Disclaimer
Термины я буду стараться писать на английком языке, так как боюсь ошибиться в их переводе. Если кто-то знает, как их красиво перевести на русский язык, напишите мне, и я дам перевод этих терминов. Желательно, чтобы у вас под рукой находились исходный код Android (хотя я и буду стараться давать ссылки на файлы в Интернете), потому что я иногда буду давать ссылки на файлы, где находится та или иная функциональность. Как загрузить исходный код, можно почитать здесь или вот в этой статье на Хабре.
Список статей
Стек Android
Ну никуда не деться от этой картинки. Я нашел её на просторах Интернета и нужна она для того, чтобы понять из чего состоит Android. Итак, в стеке Android выделяют четыре уровня (снизу-вверх):
- Linux kernel (Ядро Linux)
- Native Libraries
- Application Framework
- Applications (Приложения)
Linux kernel. Как неудивительно это звучит, но изначально, Android Inc. — это стартап. Как и во всех стартапах, в этой компании стояла задача максимально использовать уже существующие решения. Поэтому в качестве ядра этой платформы был выбран Linux из-за его открытости и наличия необходимой функциональности. В Android ядро Linux управляет памятью, процессами, а так же используется в качестве hardware abstraction layer (HAL). Насколько мне известно, в Linux драйвера либо встроены в ядро, либо разработаны в виде загружаемых модулей ядра. Так как в Android загрузка модулей ядра по умолчанию отключена, а если встраивать все драйвера, то ядро очень сильно разрастется, то было принято решение создать промежуточный слой (proxy) между ядром и драйверами, который и назвали HAL. Таким образом, HAL — это просто набор интерфейсов, имплементация которых реализована в драйверах. С другой стороны в ядро были добавлены некоторые системы, которые характерны только для Android систем. На данный момент, они пока не включены в основную ветку ядра Linux, поэтому просто скачать ядро Linux и заменить им ядро Android не получится. Среди них следует выделить, Binder (обеспечивает межпроцессное взаимодействие IPC/RPC), Asynchronous SHared MEMory — Ashmem (драйвер разделяемой памяти), Wakelocks (механизм, который позволяет предотвращать затемнение экрана и/или отключение процессора), Low Memory Killer, Alarm, Logger и т.д.
Native Libraries. К этому слою относятся различные нативные библиотеки, которые необходимы для работы Android. Они так же позаимствованы у open-source сообщества. Среди них мы можем найти SQLite, WebKit и т.д.
Android Framework. К этому слою относится то, с чем мы обычно взаимодействуем, когда пишем наши приложения для Android (PowerManager, ActivityManager, NotificationManager и т.д.).
Applications. Приложения бывают двух типов: те, что поставляются вместе с образом системы (системные) и приложения, которые мы загружаем из маркета или других источников. В первом случае, в устройстве приложения находятся в «/system/app» директории, во втором случае в «/data/app».
Безопасность на уровне ядра
Давайте рассмотрим процесс установки приложения на Android устройство. Существует несколько способов установить приложение на устройство (в общем случае):
- Используя приложение PackageInstaller
- Используя приложение Android Market
- Используя комманду adb install
На рисунке, например, приложение ex1.apk устанавливается с помощью PackageInstaller (используется в случае, если вам, например, по почте прислали приложение и вы хотите его установить с устройства), ex2.apk устанавливается с помощью Android Market (Google Play), и приложение ex3.apk устанавливается с помощью комманды adb install ex3.apk (обычно эта комманда используется разработчиками приложений для установки приложения с компьютера).
Во время установки, Android каждому приложению по умолчанию присваивает уникальные user ID (UID) и group ID (GID), таким образом каждому приложению в этой операционной системе соответсвует свой пользователь. Имя пользователя обычно имеет формат app_x, а идентификаторы пользователя вычисляется по формуле (Process.FIRST_APPLICATION_UID + x), Process.FIRST_APPLICATION_UID равен 10000. Эти идентификаторы приложения не изменяются. Список установленных приложений хранится в файле «/data/system/packages.list» и если у вас рутованый телефон, или вы работаете с эмулятором, то вы можете просмотреть этот файл, используя следующую комманду:
У каждого приложения есть своя домашняя директория, например /data/data/
— имя Android пакета, например com.ex.ex1 Имя Android пакета задается в свойстве package в файле AndroidManifest.xml Эта папка — Internal storage (внутреннее хранилище), директория, где приложение хранит все свои приватные данные, и к которому разработчики приложений получают доступ используя функции Context.getFilesDir() или Context.getDir() У этой папки права доступа определены как drwxr-x—x, т.е. только владелец и пользователи входящие в группу владельцев имеют полный доступ к этой папке. А так как каждое приложение определено как уникальный пользователь, то это означает, что приложения, по умолчанию, не имеют доступа к информации друг друга. Хотя при создании файла во внутреннем хранилище можно явно задать, что этот файл будет MODE_WORLD_READABLE и/или MODE_WORLD_WRITABLE
Кроме того, на уровне ядра уникальные UID и GID каждого приложения используются для разделения доступа к ресурсам системы (память и процессорное время). Таким образом, на уровне ядра для каждого приложения создается своя собственная песочница (Application Sandbox).
С другой стороны, разработчик приложения может указать, что некоторые ЕГО приложения должны иметь один и тот же UID. В AndroidManifest.xml файле для этого есть специальное свойство sharedUserId В этом случае, эти приложения будут иметь доступ к ресурсам друг-друга, но только если они подписаны одним и тем же ключом разработчика.
Некоторые permission (разрешения) так же работают на уровне ядра. Давайте, например, рассмотрим наиболее используемое разрешение android.permission.INTERNET Если приложение запрашивает это разрешение, то Android во время установки дополнительно включает это приложение в специальную группу «inet». Так же работают и некоторые другие разрешения. Список соответствия между этими разрешениями и соответствующими группами можно найти в файле frameworks/base/data/etc/platform.xml:
Список соответствия между именами этих групп и значениями (GID) задан в явном виде в файле system/core/include/private/android_filesystem_config.h в массиве структур android_ids[]:
Таким образом, если приложение пытается подключиться к Интернету, ядро проверяет, находится ли это приложение в группе с идентификатором AID_INET. Если нет, то приложению запрещается доступ. Код этой проверки очень тривиальный:
Заключение
Это моя первая статья на Хабре, так что не судите строго. Если сообществу интересно, то я продолжу в следующих статьях описывать внутренности Android. Я понимаю, что много не знаю, да и времени всегда не хватает, но я постараюсь поделиться тем, что уже пропустил через себя. Надеюсь, что узнаю что-то новое из комментариев! Если кому-то интересна какая-то определенная тема, то пишите в комментариях, постараюсь в будущих статьях учесть ваши пожелания.
Источник
Что такое обновления безопасности Android и почему они важны
Обновления — частая тема, когда дело касается операционной системы Android. На самом деле существуют разные типы обновлений Android, одно из которых — «Обновление безопасности». Чем отличаются эти обновления и почему они так важны?
В мире Android существует три основных типа обновлений: большие ежегодные обновления прошивки с увеличением номера версии, более мелкие ежемесячные обновления безопасности и «Обновления системы Google Play», которые являются еще одним типом обновления безопасности.
Что такое обновление безопасности Android
Обновление безопасности Android — это обновление, которое в первую очередь направлено на повышение безопасности и исправление ошибок. Эти обновления обычно не содержат функций, которые Вы могли бы заметить при повседневном использовании.
Как упоминалось ранее, Android обычно получает одно большое обновление версии каждый год, но этого недостаточно, чтобы оградить его от угроз и ошибок безопасности.
Когда выйдет новая версия Android, с ней неизбежно возникнут проблемы. Это просто реальность продуктов, созданных людьми. Однако Google не хочет отправлять полное обновление системы только для устранения некоторых ошибок. Вместо этого они исправят проблемы с помощью небольшого обновления.
Как и следовало ожидать из названия, эти обновления также очень важны по соображениям безопасности. Некоторые ошибки представляют собой угрозу безопасности, и их можно быстро устранить с помощью обновления. Обновления безопасности также могут исправить уязвимости от новых атак, которые могут возникнуть.
Эти обновления иногда называют «патчами». Это небольшие исправления, которые влияют на работу всей операционной системы.
Почему обновления безопасности Android важны
Вы можете не заметить каких-либо необычных новых функций при установке обновления безопасности Android, но, тем не менее, они очень важны. Программное обеспечение редко не содержит ошибок. Оно постоянно нуждается в обслуживании и исправлениях, чтобы поддерживать его в безопасности.
Эти небольшие обновления важны, поскольку они в совокупности исправляют ошибки и исправляют дыры в безопасности.
Ранее мы упоминали, что небольшие обновления могут быстро устранить новые уязвимости, и это тоже очень важно. Вам не нужно ждать обновления полной версии, чтобы исправить явную угрозу безопасности. Важно скачать эти обновления как можно скорее.
Как проверить наличие обновлений безопасности Android
Имея это в виду, Вы, вероятно, задаетесь вопросом, как проверить, установлено ли у Вас последнее обновление безопасности.
Сначала проведите вниз от верхнего края экрана (один или два раза, в зависимости от производителя Вашего устройства). Затем коснитесь значка шестеренки, чтобы открыть меню настроек.
Вверху экрана Вы увидите раздел «Статус защиты». Найдите «Обновление системы безопасности» и проверьте дату.
Очень велика вероятность, что у Вас не будет обновления за текущий месяц. К сожалению, многие Android-устройства отстают в этом плане. Если у Вас новый телефон Samsung или Google Pixel, Вы должны получать последние обновления безопасности.
Вы можете проверить наличие обновлений, выбрав «Обновление системы безопасности» и нажав кнопку «Проверка обновлений».
Почему на моем телефоне Android не установлены последние обновления безопасности
В идеальном мире каждое устройство Android получит последнее обновление безопасности одновременно. К сожалению, этого не происходит.
Каждый месяц Google вносит исправления и публикует обновления безопасности для своих партнеров (Samsung, LG, OnePlus и т. д.). Затем эти компании должны утвердить исправления, добавить свои собственные и выпустить их на устройства.
Вот почему телефоны Pixel обычно сразу получают обновления безопасности. Google контролирует весь процесс. Остальные устройства зависят от производителя. Samsung хорошо обновляет свои флагманские устройства, но некоторые телефоны низкого уровня могут получать обновления с задержкой.
Перед покупкой телефона Android найдите время, чтобы проверить, что производитель говорит об обновлениях. Samsung, например, обещает четыре года обновлений для многих своих устройств. Держитесь подальше от производителей с плохой репутацией.
Источник