Помощь в учёбе, очень быстро...
Работаем вместе до победы

1.4 Вредоносное ПО в ОС Android

РефератПомощь в написанииУзнать стоимостьмоей работы

Хотя большинство приложений в Android запускаются и завершаются при помощи виртуальной машины на основе байт-кода Dalvik, песочница в Android использует иные механизмы, в первую очередь систему групп и пользователей Linux. Каждое приложение запускается с правами отдельного специально созданного для него пользователя (в отличие от классических дистрибутивов Unix, где с правами одного пользователя… Читать ещё >

1.4 Вредоносное ПО в ОС Android (реферат, курсовая, диплом, контрольная)

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

  • — общесистемная песочница и дополнительный механизм контроля допуска к важным системным ресурсам и (Интернет-трафик, SMS, GPS) на базе файловых прав Linux;
  • — собственный механизм IPC с поддержкой объявления каждым приложением собственных защищаемых ресурсов и разрешений на доступ к ним в рамках системной дискреционной модели управления доступом;
  • — система обязательного цифрового подписывания приложений.

Хотя большинство приложений в Android запускаются и завершаются при помощи виртуальной машины на основе байт-кода Dalvik, песочница в Android использует иные механизмы, в первую очередь систему групп и пользователей Linux. Каждое приложение запускается с правами отдельного специально созданного для него пользователя (в отличие от классических дистрибутивов Unix, где с правами одного пользователя запускаются большинство приложений в системе). Только ядро и небольшая часть встроенных сервисов работают с правами системного администратора (пользователя root). В системе отсутствует встроенный способ запуска с правами root пользовательских приложений. При помощи групп доступа контролируется и доступ к большинству периферийных устройств связи, включая кроме вышеупомянутых сетевых карт, GPS и сотового модулей также Bluetooth, NFC и другие. С этой системой прозрачно интегрирован механизм защиты отдельных компонентов приложений при IPC. С точки зрения пользователя с каждой важной функцией, выполняемой отдельным компонентом системы связан ряд «привилегий Android», отображаются пользователю при интерактивной установке использующего её приложения. Также приложения могут производить гибкое управление доступом к информации при помощи «интентов» — межпроцессного средства коммуникации высокого уровня, позволяющего более приложениям с разными уровнями доступа осуществлять работу с общими данными.

Несмотря на внутреннее использование механизма пользователей и групп Linux, первые версии Android не имели поддержки работы с более чем одним пользователем единовременно. В последующих версиях это было исправлено, но в Android до сих пор отсутствует концепция суперпользователя. Хотя получение UID 0 возможно и не предотвращается системой при определённых обстоятельствах, его поддержка не регламентируется разработчиками системы и большинство производителей устройств отключают эту возможность. Как следствие, пользователи большинства устройств с Android лишены возможности установки и модификации системного ПО, включая исправление программных ошибок и уязвимостей. Эту задачу должны выполнять производители устройств при помощи Over-The-Air обновлений (OTA), но многие из них не выпускают таких обновлений даже в течении действия гарантийного срока устройств. Как следствие, эксплуатация давно известных уязвимостей системы является основным способом несанкционированного доступа к информации в Android, используемым множеством программ-эксплойтов для получения root-доступа.

С целью повышения безопасности системы и облегчения идентификации приложений и разработчиков в Android используется механизм обязательного подписывания приложений. Установка версии приложения поверх установленной версии с другой цифровой подписью запрещается на уровне установщика пакетов. Ряд возможностей системы, такие как использование общего UID несколькими приложениями доступны только при их цифровой подписи одним секретным ключом. Такие меры позволяют пользователю однозначно идентифицировать пару «приложение-разработчик» и обеспечивают защиту от распространённых методик социальной инженерии при условии, что доверенная версия приложения уже установлена в системе. По умолчанию приложения могут быть установлены только из источников, определённых как «доверенные» производителем устройства путем включения соответствующих приложений установщиков (например, Google Play) в заводскую прошивку, но в большинстве устройств пользователи могут поменять данную настройку. Тем не менее, сторонние программы даже после установки приложений не могут производить фоновую установку приложений: пользователю каждый раз будет отображён диалог с запросом подтверждения и информацией о полномочиях, требуемых устанавливаемым приложением для работы.

На основе вышеперечисленных особенностей ОС Android можно сделать вывод, что, так как создание вредоносного кода и средств борьбы с ним являются более чем нетривиальными задачами, при разработке антивирусных средств для данной ОС необходимо ясное понимание образа мышления среднестатистического разработчика вредоносного ПО для Android. Ориентироваться следует на создание максимально совместимого (то есть, использующего преимущественно документированные части API) и легко расширяемого базового комплекта средств, способного быть доработанным и настроенным для использования в различных конфигурациях. Будучи недавно созданной, ОС Android динамически развивается: некоторые API меняются и устаревают добавляются новые для их замены. Как следствие, необходимо разрабатывать модули защиты с минимальным использованием высокоуровневого системного функционала и преимущественной опорой на собственную кодовую базу. Некоторые возможности в Android недоступны пользовательскому ПО, для их использования требуется интеграция программы в прошивку производителем устройства или пользователем, производящим модификацию системных компонентов, в том числе с целью получения root-доступа. Любой функционал, использующий такие возможности должен быть выделен в отдельные модули. Кроме того, следует заметить, что в последнее время наблюдается тенденция по уменьшению возможностей изменения системы со стороны ведущего разработчика ОС (Goggle Inc.) и производителей устройств. Для обхода создаваемых ограничений может понадобиться использовать некоторые недокументированные возможности системы, такие как факт использования ядра Linux и наличие в абсолютном большинстве устройств на основе Android ряда системных сервисов со стабильным API, таких как установщик пакетов.

Показать весь текст
Заполнить форму текущей работой