Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ДЗ_Клименко Артемий_ИУ6-52.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
4.16 Mб
Скачать

2.2 Архитектура и вирусы Android

Мобильная операционная система Android на данный момент наиболее всего распространена среди пользователей смартфонов и планшетов. Она заслужила популярность пользователей тем, что является открытой системой, а планшеты на этой системе имеют почти те же возможности, что домашние персональные компьютеры на операционной системе Windows. Из-за открытости системы, она имеет достаточно большое число вирусов, которые начали появляться с момента ее создания. Apple же ранее представила iOS, которая является закрытой системой и, можно сказать, не имеет вирусов; в опасности лишь люди, делающие jailbreak с целью сделать систему открытой.

Расмотрим архитектуру этой системы.

Linux kernel (ядро линукс)

Как известно, Андроид основан на несколько урезанном ядре ОС Linux и поэтому на этом уровне мы можем видеть именно его. Оно обеспечивает функционирование системы и отвечает за безопасность, управление памятью, энергосистемой и процессами, а также предоставляет сетевой стек и модель драйверов. Ядро также действует как уровень абстракции между аппаратным обеспечением и программным стеком.

Libraries (библиотеки)

«Выше» ядра, как программное обеспечение промежуточного слоя, лежит набор библиотек (Libraries), предназначенный для обеспечения важнейшего базового функционала для приложений. То есть именно этот уровень отвечает за предоставление реализованных алгоритмов для вышележащих уровней, поддержку файловых форматов, осуществление кодирования и декодирования информации (в пример можно привести мультимедийные кодеки), отрисовку графики и многое другое. Библиотеки реализованы на C/C++ и скомпилированы под конкретное аппаратное обеспечение устройства, вместе с которым они и поставляются производителем в предустановленном виде.

Некоторые из них: Surface Manager (отвечает за работу с дисплеем), Media Framework (аудио и видео), SQLite (СУБД), OpenGL | ES (3D графика), FreeType (текст, шрифты), LibWebCore (библиотека браузерного движка WebKit), SGL (2D-графика), SSL (криптографический протокол).

Android runtime (среда выполнения андроид)

Ключевыми её составляющими являются набор библиотек ядра (Core Libraries) и виртуальная машина Dalvik. Библиотеки обеспечивают большую часть низкоуровневой функциональности, доступной библиотекам ядра языка Java.

Каждое приложение в ОС Android запускается в собственном экземпляре виртуальной машины Dalvik. Таким образом, все работающие процессы изолированы от операционной системы и друг от друга. И вообще, архитектура Android Runtime такова, что работа программ осуществляется строго в рамках окружения виртуальной машины. Благодаря этому осуществляется защита ядра операционной системы от возможного вреда со стороны других её составляющих. Поэтому код с ошибками или вредоносное ПО не смогут испортить Android и устройство на его базе, когда сработают. Такая защитная функция, наряду с выполнением программного кода, является одной из ключевых для надстройки Android Runtime.

Dalvik полагается на ядро Linux для выполнения основных системных низкоуровневых функций, таких как, безопасность, потоки, управление процессами и памятью.

Application framework (каркас приложений)

Уровнем выше располагается Application Framework, иногда называемый уровнем каркаса приложений. Именно через каркасы приложений разработчики получают доступ к API, предоставляемым компонентами системы, лежащими ниже уровнем. Кроме того, благодаря архитектуре фреймворка, любому приложению предоставляются уже реализованные возможности других приложений, к которым разрешено получать доступ.

В базовый набор сервисов и систем, лежащих в основе каждого приложения и являющихся частями фреймворка, входят: Activity Manager (управляет циклами приложений), Package Manager (управляет установленными пакетами на устройстве), Windows Manager (управляет окнами приложений), Telephony manager, Content Providers (контент-провайдеры, управляют данными, которые одни приложения открывают для других, чтобы те могли их использовать для своей работы), Resource Manager (обеспечивает доступ к ресурсам без функциональности), View System (создание визуальных компонентов приложений, например списков, текстовых полей и т.д.), Location manager, Notification manager.

Applications (приложения)

На вершине программного стека Android лежит уровень приложений (Applications). Сюда относится набор базовых приложений, который предустановлен на ОС Android. Например, в него входят браузер, почтовый клиент, программа для отправки SMS, карты, календарь, менеджер контактов и многие другие. Список интегрированных приложений может меняться в зависимости от модели устройства и версии Android.

Таким образом, благодаря Application Framework, приложения в ОС Android могут получать в своё распоряжение вспомогательный функционал, благодаря чему реализуется принцип многократного использования компонентов приложений и операционной системы. Естественно, в рамках политики безопасности.

Теперь стоит затронуть уязвимости системы.

2009: Первым вирусом, поражающим операционную систему Android, был троян (руткит), ворующий данные пользователя. Его деятельность активировалась с помощью SMS-сообщения. Вреда он никому не причинил, поскольку был создан компанией Trustwave (с 1995 года на рынке компьютерной безопасности) в целях доказательства возможности создания малвари под «неуязвимую операционную систему». Новость об этом обошла ленты IT-новостей по всему миру.

2010: Вторая половина этого года принесла миру значительное количество вирусов-дебютантов. В начале августа «Лаборатория Касперского» объявила об обнаружении SMS-троянца массового поражения — FakePlayer. Эта незатейливая программа маскировалась под порнопроигрыватель и рассылала SMS на платные номера. В считаные дни вслед за ним на сцену вышли MobileSpy и SmsSend, совершающие аналогичные действия. Все модификации этих вирусов маскировались под самые необходимые приложения для смартфона: заставки с обнаженными азиатками, игры типа «определи размер груди по фотографии» и прочее.

В начале сентября появилась новая разновидность SmsSend (Android.SMSSend.2 по квалификации Dr.Web). Для его распространения был создан специальный сайт (в российской доменной зоне), при посещении которого автоматически начиналась загрузка вируса.

В последние месяцы 2010 года стали набирать популярность три китайских вируса Geinimi, Spy и ADRD. Эти заразы маскировались под популярные Android-приложения и распространялись в основном через форумы и блоги о мобильных гаджетах. Вкратце опишем функционал каждого вида малвари.

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

Одна из главных проблем, с которыми могут столкнуться пользователи, — уязвимости системы, позволяющие получить права root. Существуют специальные приложения, скрипты и программные модули, выполняющие эту задачу. В повседневной жизни подобные вещи пользователям не страшны, так как чаще всего их используют осознанно для получения большего контроля над устройством. Другое дело, что эти же уязвимости (например, CVE-2009-1185, CVE-2011-1823) взяли на вооружение создатели вредоносных приложений. Используя эксплойты (те самые программные модули и скрипты) для повышения своих прав до уровня root, они получают возможность, например, беспрепятственно устанавливать другие программы без разрешения пользователя (как это делают различные модификации Android.Gongfu и Android.DreamExploid). Некоторые вредоносные программы не используют эксплойты сами, напрямую, а вводят пользователя в заблуждение и побуждают его самого выполнить необходимые действия, тем самым дав вредоносной программе требуемые ей возможности.

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

Системные приложения, как стандартные, так и приложения от поставщиков Android-устройств, тоже подвержены уязвимостям. Например, некоторые уязвимости браузера WebKit позволяют потенциальным вредоносным программам выполнить произвольный JavaScript-код и получить доступ к защищенным данным браузера.

Время рассмотреть наиболее опасные угрозы:

2011: Начало весны этого года порадовало сенсационной находкой — малварь в официальном Android Market! В нем было найдено около пятидесяти приложений с трояном DreamExploid. Этот вирус также занимался сбором информации о пользователе (включая IMEI и абонентский номер) и выполнением различных команд, направляемых с сервера мошенников. Но самое главное — он пытался завладеть администраторскими правами посредством запуска root-эксплойта! Все зараженные приложения были изъяты из магазина Google и принудительно удалены (подобное нарушение прав человека среди пользователей Android называется Kill Switch).

В июне внутри приложения Angry Birds Rio Unlock был найден новый вирус, названный Plankton. После сбора информации о пользователе он устанавливает на устройство могучую кучку вирусов различного функционала. Поскольку разблокировка уровней в Angry Birds была на тот момент насущной потребностью миллионов жителей нашей планеты, Plankton получил рекордные масштабы распространения (четверть миллиона человек за несколько недель).

2012: Зимой появляется бэкдор Anzhu, встроенный в программу для блокировки экрана. Новым в нем является мониторинг системного журнала.

На рубеже зимы и весны отметился Moghava, предназначенный для жителей Ирана. Коммерческой выгоды создателям продукт не приносит. Он просто перебирает все картинки пользователя и помещает на них фотографию некого аятоллы Хомейни (мужик в чалме и с бородой).

В июле китайскую аудиторию порадовал MMarketPay, который заставляет устройство заниматься неистовым шопингом в магазинах приложений. А японскую аудиторию ублажил MailSteal, формирующий базу для email-спама из адресной книги пострадавшего. В августе активизировались SpyEye и Zeus, которые специализируются на краже паролей.

2013: В начале года Android-устройства подвергаются заражению вирусом Biggboss. Идея проста: фейковое сообщение от работодателя, перенаправление на сайт, просьба перевести деньги на счет компании.

Весной появился Androways. Этот вирус спамит пользователя Push-уведомлениями о «срочных необходимых обновлениях», заставляя человека дать согласие на установку друзей-вирусов.

В апреле выходит Uapush, которая показывает рекламу в нотификационной панели.

В начале осени обнаружен ботнет, состоящий из 200 тысяч Android-устройств, зараженных вирусом SmsSend. Это стало абсолютным рекордом среди мобильных бот-сетей.

В этот же период начинает вредительствовать Fakealert, отображающий сообщения о несуществующих угрозах и требующий внести плату для ее устранения.

2014: Год начался ярко. В январе появился первый буткит для Android — Oldboot. Вредоносная деятельность у него не отличается от основной массы старших собратьев — выполнение команд от управляющего сервера. Но размещается он в загрузочной области файловой системы, что можно считать грандиозным технологическим прорывом.

Система приглянулась хакерам и достаточно быстро начали появляться вирусы. Список вирусов можно продолжать достаточно долго, но уже видно, что пользователям этой операционной системы надо быть достаточно осторожными.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]