Рейтинг@Mail.ru

Обзор безопасности Android. Безопасность на уровне ядра.

: в разделе: Android
7420

android-wall

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

 

Сначала рассмотрим архитектуру Android'a.
Из изображения можно выделить следующие уровни:
1) Уровень Applications.
2) Уровень Applications Framework.
3) Уровень Libraries.
4) Уровень Android Runtime.
5) Уровень ядра Linux.


android-architect

Уровень приложений (Applications). Приложения для Android могут поставляться как вместе с системой, так и устанавливаться из сторонних источников. Обычно в состав встроенных приложений входят различные клиенты e-mail, SMS, календари, карты, браузер, контакты. Практически все приложения написаны на Java.

Уровень Application Framework. По сути это API, с которой разработчик взаимодействует при разработке приложений для Android. В этот слой входят такие приложения, как Activity Manager,Resource Manager, и другое подобное ПО.


Уровень Libraries. На этом уровне находятся библиотеки, которые необходимы для работы ОС.

Уровень Android Runtime. Это набор библиотек ядра, предоставляющий большую часть функциональности библеотек языка Java.

Уровень ядра. Само ядро Android'a основано на Linux. Данное ядро стало основой операционной системы в силу своей открытости, и доступной функциональности. Среди функций, доступных в ядре для Android можно выделить Binder (обеспечивается межпроцессорное взаимодействие IPC/RPC), Ashmem (драйвер разделямой памяти), Wakelocks (предотвращает отключение процессора), и другое ПО.

android-programs

Как известно, приложения можно установить как с помощью установщика, так и скачать с google play, к примеру. В любом случае при установке приложения система присвоит ему уникальные данные UserID (UID) и GroupID (GID). Получается, что каждое приложение представляет один пользователь, который имеет доступ только к этому приложению, и к некоторым другим фукнциям по запросу. При запуске приложения создается песочница (каждое приложение работает в своей песочнице). Таким образом, каждое приложение запускается в своей изолированной среде, и имеет доступ только к своим данным. По запросу приложения ему могут быть предоставлены определнные разрешения/полномочия. Также у каждого приложения есть своя директория, где приложение хранит свои данные. Только владелец и пользователь, входящий в группу владельцев приложения имеют полный доступ к папке, таким образом, никто другой доступ к приложению получить не может без соответствующего запроса.

0
Привязка к тегам android Linux Безопасность

Оставить комментарий

Гость Вторник, 18 Сентябрь 2018