Главная » Разработка для Android » Paranoid Android

0

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

Вы уже использовали механизм  полномочий для получения доступа к стандартным системным компонентам, в частности к геолокационным сер- висам и к Источнику данных, содержащему информацию о контактах. Делалось это с помощью тегов <uses-permission> в манифесте  приложения.

В следующих разделах  более подробно рассмотрены доступные на плат- форме Android механизмы обеспечения безопасности. Чтобы получить о них исчерпывающее  представление, можете ознакомиться с документацией, размещенной на сайте для разработчиков по адресу developer.android.com/guide/ topics/security/security.html.

Безопасность на уровне ядра Linux

Все пакеты в Android имеют собственный уникальный пользовательский идентификатор (UID) на уровне ядра Linux. Благодаря этому процессы

и ресурсы, созданные  ими, изолируются и не могут повлиять на другие приложения (равно как и сами подвергнуться влиянию).

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

«пограничников», контролирующих потоки данных на обоих концах.

Знакомство с системой полномочий

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

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

Чтобы  использовать компоненты,  защищенные данным механизмом, необходимо добавить теги <uses-permission> в манифест  своего при- ложения,  указывая требуемые полномочия.

После установки приложения полномочия, запрашиваемые в его мани- фесте, анализируются и предоставляются (или  отвергаются) с помощью доверенных сертификатов в зависимости от решения пользователя.

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

Источник: Майер P. Android 2 : программирование приложений для планшетных компьютеров и смартфонов : [пер. с англ. ] / Рето Майер. — М. : Эксмо, 2011. — 672 с. — (Мировой компьютерный бестселлер).

По теме:

  • Комментарии