КОМПЬЮТЕРНОЕ ОБЕСПЕЧЕНИЕ И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА
УДК 004.021
И. Ю. Кучин, Ш. Ш. Иксанов, С. В. Белов, М. М. Нургалиев
УСОВЕРШЕНСТВОВАНИЕ ДИСКРЕЦИОННОЙ МОДЕЛИ ДОСТУПА МОБИЛЬНЫХ ПРИЛОЖЕНИЙ К СЕРВИСАМ ОПЕРАЦИОННОЙ СИСТЕМЫ ANDROID
Предметом исследования выбрана самая популярная в настоящее время, с точки зрения ее возможностей по защите обрабатываемых личных и служебных данных, операционная система для мобильных устройств Android. В ходе анализа выявлено, что основной угрозой являются приложения, которые устанавливаются на мобильные устройства. Для оценки возможностей злоумышленников разработано клиент-серверное приложение, эмулирующее канал утечки информации, задача которого - получение доступа к SMS и контактам мобильного устройства, а также передача собранных данных на сторонний web-сервис. С помощью приложения, легально размещенного в интернет-магазине цифровой дистрибуции Google Play, показано несовершенство применяемой в Android дискреционной модели доступа приложений к компонентам и сервисам мобильного устройства. Предложены варианты усовершенствования данной модели и внедрения дополнительных механизмов защиты.
Ключевые слова: дискреционная политика разграничения прав доступа, информационная безопасность, операционная система Android, мобильные приложения.
Введение
В настоящее время мобильные устройства используются не только для звонков и отправки SMS-сообщений - они предоставляют их владельцам широкий спектр возможностей: обработка электронных документов, доступ к корпоративным ресурсам, работа и общение в социальных сетях, хранение персонифицированной информации владельца (фотографии, видеофайлы, переписка, информация о местоположении) и т. д. Прогресс технологий в области мобильных устройств вызвал существенное увеличение объема конфиденциальной и личной информации, которая обрабатывается на мобильном устройстве [1].
Активное использование мобильных сервисов влечет за собой потребность в наличии постоянного доступа в глобальную сеть Интернет и высокой пропускной способности каналов передачи информации [2]. В настоящее время объем информации, обрабатываемый на мобильных устройствах, достигает объемов информации, обрабатываемой на персональных компьютерах и ноутбуках. Проблема защиты данных в персональных компьютерах рассматривается уже достаточно давно, и на рынке существует множество решений (антивирусы, межсетевые экраны, настраиваемые маршрутизаторы, электронные подписи и др.), в то же время защита информации в мобильных устройствах пока изучена мало, вследствие чего в рассматриваемой предметной области существует целый ряд вопросов, требующих ответа, среди которых [3]:
— каналы утечки информации в мобильном устройстве;
— способы и средства защиты информации для мобильных устройств, предотвращение угроз утечки информации до их реализации;
— принципы работы средств защиты информации с учетом специфики мобильных операционных систем (ОС).
Согласно результатам открытого исследования безопасности 50 наиболее популярных бесплатных приложений для ОС Android и iOS [1], 96 % приложений для iOS и 84 % приложений для Android могут получать конфиденциальную информацию о владельце устройства. При-
ложения получают доступ к личным данным пользователя: информации о его местонахождении, событиям календаря, контактам, телефонным разговорам, фотокамере. Так, специалисты «Лаборатории Касперского» проанализировали киберугрозы, которые были обнаружены в 2015 г., и выяснили, что злоумышленники все чаще пытаются украсть финансы пользователей мобильных устройств и их личные данные [4]. Основными объектами атак являются владельцы мобильных устройств на базе ОС Android. В 2015 г. защитными продуктами компании было заблокировано в 3,25 раза больше, чем в 2014 г. кибератак, целью которых были пользователи Android -всего было предотвращено более 2 млн атак. При этом число владельцев Android-устройств, которые все же подверглись реальной атаке, выросло в 3,64 раза. Около половины (48 %) хакерских программ являются банковскими или SMS-троянами, которые пытаются получить личные данные пользователя и предоставляют злоумышленникам доступ к его финансам [5, 6].
Помимо усиливающейся тенденции к переходу со стационарных устройств на мобильные, «перегруженности» этих устройств конфиденциальной информацией, вкупе с невысокой, в целом, осведомленностью, в том числе технических специалистов, о тонкостях работы и настройки мобильных ОС, в качестве основных причин утечки конфиденциальной информации нами выделены следующие:
— практически полное отсутствие средств защиты информации (не считая антивирусных приложений и криптографических дисков) для мобильной платформы Android. Сертифицированные Федеральной службой по техническому и экспортному контролю (ФСТЭК) России мобильные приложения также не были обнаружены в соответствующем реестре на официальном сайте Службы, исключение - средство криптографической защиты информации ViPNet Client для Android, перекрывающее лишь малую часть возможных угроз безопасности мобильных устройств;
— отсутствие возможностей по тонкой настройке прав доступа приложений к компонентам мобильного устройства, а именно невозможность детализации прав доступа к конкретным функциям того или иного сервиса. Как следствие, приложение, которому необходим доступ только к ограниченному функционалу, получает легальные полные права на весь сервис. В дальнейшем попытка доступа этого приложения к любым функциям сервиса закончится успешно, что противоречит принципу минимальных привилегий и вызывает появление канала утечки информации.
Постановка задачи
Целью исследований являлась разработка дополнительных механизмов защиты ОС Android, в том числе усовершенствующих используемую дискреционную модель доступа приложений к сервисам. При этом необходимо было предусмотреть различные подходы к защите мобильного устройства в случаях личного и корпоративного использования.
Для достижения поставленной цели определены следующие задачи:
— анализ механизмов разграничения доступа к информационным ресурсам в мобильной ОС Android;
— разработка клиент-серверного приложения для эмуляции канала утечки информации в ОС Android;
— анализ работы программного продукта, в том числе на предмет его обнаружения антивирусными средствами;
— разработка методов нейтрализации выявленных каналов утечки информации, включая усовершенствование дискреционной политики разграничения прав доступа.
Механизмы разграничения доступа к информационным ресурсам в операционной системе Android
Анализ развития технологий в области мобильных устройств показал постоянный рост объема обрабатываемой персонифицированной информации, к которой относится обширный перечень данных (табл.).
Если данная информация будет передана злоумышленнику, это может привести к негативным последствиям для владельца мобильного устройства. В настоящее время существуют 3 наиболее популярных вида передачи данных через мобильные устройства:
— подключение к сети Интернет c использованием мобильной (сотовой) связи (3G, 4G и т. п.);
— подключение к сети Интернет через беспроводные сети (Wi-Fi и т. п.);
— физическая коммутация с другим носителем информации (карта памяти, USB-кабель для подключения к рабочей станции и т. п.).
Из этого следует, что утечка информации может происходить в таких случаях, как:
— перехват данных, поступающих на сотовые вышки;
— перехват интернет-трафика;
— использование программы типа «троянский конь», которая, получив необходимые разрешения от ОС, легально отправляет персонифицированную информацию злоумышленнику;
— сбор данных при подключении мобильного устройства к компьютеру или другому считывающему устройству;
— сбор данных при подключении карты памяти к другому считывающему устройству;
— сбор данных при подключении по технологии Bluetooth или Wi-Fi;
— иные утечки, не зависящие от каналов передачи информации (ПЭМИН - побочные электромагнитные излучения и наводки), вибродатчики, акустические датчики и т. п.).
Информационные ресурсы, подверженные утечке
Тип данных Подробное описание данных
Данные о контактах Номер телефона, ФИО, электронная почта, группа контакта, дата рождения контакта, почтовый адрес, сведения о работе, псевдоним, веб-сайт и отношения
Данные о совершенных звонках Журнал входящих, исходящих, пропущенных вызовов
8М8-данные Журнал сообщений, содержимое входящих, исходящих SMS и ММS, а также черновики сообщений
Данные из органайзера Встречи, заметки, списки дел, дни рождения; данные из стандартных приложений, таких как будильник, календарь и др.
Данные аккаунтов электронной почты Контакты, электронные адреса, вложенные сообщения и файлы
Данные из браузеров Временные файлы, список посещенных страниц, закладки браузеров
Журнал трафика и сессий Пакеты, переданные через GPRS, EDGE, LTE, Wi-Fi и др.
Медиафайлы Файлы (фото, видео-, аудиофайлы, документы), хранящиеся в памяти телефона
Голосовые данные Речь при совершении звонков, использование голосовых команд в интернет-сервисах
Данные телефона Уникальный номер телефона, фирма-производитель, модель устройства и др.
Данные 81М-карты Номер SIM-карты; юридическое лицо, обслуживающее мобильные станции; тарифный план и др.
Геолокационные данные Текущее местонахождение, маршрут передвижений и др.
Данные с медиаустройств Данные, полученные с динамика, микрофона, фронтальной и основной камеры и др.
Данные с карты памяти Файлы (фото, видео-, аудиофайлы, документы), хранящиеся в карте памяти
Данные по использованию мобильных приложений Использование социальных сетей, игровая статистика и др.
Среди перечисленных способов незаконного получения данных наиболее удобным, а также безопасным для злоумышленника (отсутствие непосредственного контакта с мобильным устройством делает крайне затруднительным доказательный процесс при проведении следственных мероприятий) является использование мобильного приложения с функциями отправки интересующих данных через сеть Интернет.
Каждое приложение в ОС Android потенциально может получить доступ к любому из вышеперечисленных типов данных. Исключение могут составить лишь данные, генерируемые в другом приложении. Это связано с тем, что приложения в Android работают независимо друг от друга - каждое приложение находится в своей «песочнице». Данный принцип предотвращает хищение информации с одного приложения другим. Однако есть возможность получить и такой вид данных, если разработчик сам предоставляет другим приложениям доступ (например, при создании комплекса приложений разработчик может сформировать функции по предоставлению данных другой программе).
В ОС Android реализована дискреционная политика доступа на уровне приложений и сервисов: каждому приложению в соответствие ставится некоторая матрица доступа, в которой зафиксированы полномочия по доступу этого приложения к сервисам мобильного устройства (фотокамера, Интернет, контакты, запуск приложения при включении телефона и т. п.). В качестве матрицы доступа для каждого приложения выступает системный файл manifest.xml. В файле перечислены все сервисы мобильного устройства, к которым приложению необходим доступ.
При установке приложения на мобильное устройство ОС однократно запрашивает у пользователя разрешение на доступ данного приложения к заявленным в файле manifest.xml-сервисам, при этом каждый из них характеризуется не одной функцией, а целым набором [7]. Таким образом, получая доступ к сервису, приложение автоматически получает доступ ко всем входящим в него функциям. Это означает, что приложение приобретает потенциальные недекларированные возможности в виде функционала, превышающего заявленный разработчиком набор действий.
Иллюстрация используемой в настоящее время в ОС Android дискреционной модели разграничения прав доступа на примере четырех «типовых» сервисов приведена на рис. 1. Например, приложение «Фонарик», которому для работы необходима только вспышка камеры мобильного устройства, получает дополнительный функционал проведения фото- и видеосъемки (дополнительные функции одного сервиса - «Камера»). Другой пример - приложения, которые при установке требуют значительно больше разрешений, чем необходимо для их полноценной работы (рис. 2). В данном случае игровому приложению требуются абсолютно ненужные для его работы разрешения на получение мультимедиаконтента, данных о беспроводном подключении и информации об устройстве. С высокой долей вероятности можно утверждать, что это пример потенциальной «программы-шпиона».
Глобальный Manifest* операционной системы Android (таблица прав доступа)
Рис. 1. Политика разграничения прав доступа приложений к сервисам ОС Android
Л ..ill CT 16:46
Бильярд - Pool Billiards Pro
Требуются следующие разрешения:
§ Покупки
в приложении
Фото/
мультимедиа/ файлы ^ Данные
о Wi-Fi подключении [Т] Идентификатор
устройства и данные о вызовах jle play
ПРИНЯТЬ
Добро пожаловать в игру
Рис. 2. Пример запроса разрешений к сервисам ОС Android
Анализ официального источника распространения приложений Google Play Market [8] показал, что из 100 наиболее популярных бесплатных приложений только 3 не имеют возможностей,
а соответственно, и намерений на сбор и передачу третьей стороне персонифицированной информации о владельце устройства. Аналогичный анализ игровых приложений показал, что среди 100 наиболее популярных игр только 4 не несут потенциальной опасности со стороны разработчиков.
Это свидетельствует о том, что подавляющее большинство приложений, установленных на мобильном устройстве, являются потенциальными шпионами или зловредными приложениями. Наиболее популярными запросами разрешений в рассмотренных приложениях являются:
1) возможность обработки SMS-сообщений;
2) доступ к информации о местоположении;
3) идентификационные данные устройства;
4) доступ к фото/мультимедиа/файлам;
5) доступ в Интернет.
Разработка клиент-серверного приложения, эмулирующего канал утечки информации
Нами было разработано «приложение-шпион» и web-сервис для моделирования процедуры получения сообщений (SMS) и контактов из телефонной книги владельца мобильного устройства по команде с сервера. Целью разработки данной системы является демонстрация возможности разработчиков мобильных приложений осуществлять кражу личных данных пользователей ОС Android.
К разработанному программному обеспечению [6, 9], демонстрирующему возможности сбора личной информации через потенциальные канала утечки информации, были предъявлены следующие требования:
— реализация нескольких путей «проникновения» в мобильное устройство (в том числе с возможностью размещения данного приложения на официальных источниках);
— создание базы данных для дальнейшего хранения информации, собранной с мобильного устройства;
— реализация интерфейса просмотра полученных данных с составлением отчетов.
Для реализации своих зловредных по отношению к владельцу мобильного устройства действий приложение должно попасть в мобильное устройство из официального источника либо при помощи злоумышленника (как было показано ранее, второй вариант значительно менее привлекателен для злоумышленника). Далее производится запуск приложения; в тот же момент происходит запуск сервиса приложения, в котором производится работа по сбору и передаче конфиденциальной информации.
Блок-схема работы сервиса приложения представлена на рис. 3. Данная схема является бесконечным циклом, т. е. сбор данных осуществляется непрерывно в режиме реального времени.
Основным препятствием при передаче данных является отсутствие подключения к сети Интернет. В этом случае цикл переходит в режим ожидания, а затем повторяется попытка получить запрос на сбор и передачу информации.
Конечным этапом в каждом цикле является формирование пакета данных и дальнейшая его передача на удаленный сервер.
Для сокрытия работы приложения возможно использовать 2 следующих способа:
— маскировать функции по сбору информации путем создания приложения, обладающего привилегиями по доступу к данным, необходимым для его работы (например, приложению, реализующему голосовой набор контактов, для работы требуются полномочия по доступу к контактам пользователя, микрофону и Интернету, что дает возможности создателям приложения получить данные всех перечисленных категорий в фоновом режиме без ведома пользователя);
— реализация злоумышленных действий при продвижении развлекательного контента для отвлечения внимания (разработка приложения-игры, которое в фоновом режиме во время игры пользователя осуществляет отправку его личных данных на внешний web-сервис).
Для сокрытия возможностей разрабатываемого приложения был выбран второй вариант, в связи с простотой распространения мобильной игры среди абонентов мобильных устройств. При разработке игровой составляющей мобильного приложения была выбрана простая в реализации игра в жанре «Tower Defense» («Защитные Башни»).
( Начало
Рис. 3. Блок-схема работы сервиса приложения-шпиона
Приложение под видом игры было загружено1 в интернет-магазин цифровой дистрибуции Google Play, где успешно прошло контроль на отсутствие вредоносного кода, было скачано и запущено на мобильном устройстве. Проверка мобильного устройства популярными средствами антивирусной защиты на наличие вредоносных приложений также дала отрицательный результат. В результате работы приложения на web-сервере была собрана информация о контактах, журнале вызовов и SMS-сообщениях пользователя смартфона (рис. 4).
Рис. 4. Результаты сбора данных на web-сервере
Разработка методов нейтрализации выявленных каналов утечки информации
Для устранения выявленной уязвимости предлагаются два подхода (рис. 5) [10]:
1. Детализация дискреционной модели доступа до уровня отдельных функций сервиса.
2. Внедрение принудительного контроля каналов передачи мобильных данных (корпоративный ргоху-сервер, УРК-сервер и т. п.) для создания централизованной точки контроля передаваемой конфиденциальной информации и предотвращения ее утечки.
1 Загрузка приложения в общедоступный источник осуществлялась исключительно в целях проведения эксперимента с соответствующими предупреждениями в описательной части и с ограниченной для конкретных мобильных устройств сферой применения.
Рис. 5. Алгоритм работы «программы-шпиона»
В зависимости от поставленных задач возможно применение комбинации перечисленных защитных механизмов.
Выводы
В рамках исследования в процессе анализа разграничения доступа к личным данным, обрабатываемым в ОС Android, было выявлено, что основной угрозой являются приложения, которые устанавливаются на мобильные устройства. Для оценки возможностей злоумышленников было разработано клиент-серверное приложение, эмулирующее канал утечки информации. Задачей мобильного приложения было получение доступа к SMS и контактам мобильного устройства, а также передача собранных данных на сторонний web-сервис.
Тестирование системы выявило ее пригодность для использования злоумышленниками, при этом популярные антивирусные средства для мобильных устройств не выявили угрозу со стороны «приложения-шпиона». Кроме того, была произведена публикация мобильного «приложения-шпиона» в официальном интернет-магазине для распространения Android-приложений, встроенные механизмы которого также не выявили угроз. Таким образом, эмпирическим был доказан факт того, что приложения, которые поступают в мобильные устройства даже из официальных источников, могут нести потенциальную угрозу утечки информации. Предложены варианты нейтрализации выявленных угроз утечки персонифицированной информации владельцев мобильных устройств.
СПИСОК ЛИТЕРА ТУРЫ
1. Gartner опубликовала статистику продаж смартфонов за 3-й квартал 2015 года // URL: http://androidinsider.ru/smartfony/gartner-opublikovala-statistiku-prodazh-smartfonov-za-3-kvartal-2015-goda.html (дата обращения: 19.11.2015).
2. Детальное сравнение iOS, Android и Windows Phone // URL: http://revolverlab.com/detalnoe-sravnenie-ios-android-i-windows-phone/ (дата обращения: 15.09.2015).
3. ГОСТ Р 50922-2006. Защита информации. Основные термины и определения. Взамен ГОСТ Р 50922-96; введ. 2008-02-01. М.: Стандартинформ, 2008. 12 с.
4. How I can read SMS messages programmatically Android // URL: http://stackoverflow.com/questions/ 848728/how-can-i-read-sms-messages-from-the-inbox-programmatically-in-android (дата обращения: 20.11.2015).
5. Аналитика: Google Play обошёл App Store по числу приложений // URL: http://www.3dnews.ru/ 908131 (дата обращения: 19.09.2015).
6. Горнаков С. Г. Программирование компьютерных игр под Windows в XNA Game Studio Express / С. Г. Горнаков. М.: ДМК Пресс, 2008. 384 с.
7. URL: http://developer.alexanderklimov.ru/android/theory/AndroidManifestXML.php (дата обращения: 02.10.2015).
8. URL: https://play.google.com/store (дата обращения: 03.09.2015).
9. Разработка под Android // URL: http://developer.alexanderklimov.ru/android/ (дата обращения: 20.08.2015).
10. Кучин И. Ю. Разработка системы позиционирования и контроля объектов с помощью беспроводной технологии Wi-Fi / И. Ю. Кучин, Ш. Ш. Иксанов, С. К. Рождественский, А. Н. Коряков // Науч. вестн. Новосибирск. гос. техн. ун-та. 2015. Т. 60, № 3. С. 130-146.
Статья поступила в редакцию 18.01.2016
ИНФОРМАЦИЯ ОБ АВТОРАХ
Кучин Иван Юрьевич - Россия, 414056, Астрахань; Астраханский государственный технический университет; канд. техн. наук, доцент; доцент кафедры «Информационная безопасность»; ivankuchin2010@gmail.com.
Иксанов Шамиль Шавкетович - Россия, 414056, Астрахань; Астраханский государственный технический университет; аспирант кафедры «Информационная безопасность»; astu.org@bk.ru.
Белов Сергей Валерьевич - Россия, 414056, Астрахань; Астраханский государственный технический университет; канд. техн. наук, доцент; зав. кафедрой «Автоматизированные системы управления и обработки информации и управления»; s.belov@astu.org.
Нургалиев Марат Мадиевич - Россия, 414056, Астрахань; Астраханский государственный технический университет; студент, специальность «Комплексное обеспечение информационной безопасности автоматизированных систем»; iknow.whoiam@mail.ru.
I. Yu. Kuchin, Sh. Sh. Iksanov, S. V. Belov, M. M. Nurgaliev
IMPROVEMENT OF DISCRETIONARY MODEL OF MOBILE APPLICATIONS ACCESS TO SERVICES OF ANDROID OPERATING SYSTEM
Abstract. The subject of the study is the most popular, at the present time, operating system for mobile Android devices in terms of its capacity to protect the processed personal and official data. The analysis revealed that the main threat are the applications that are installed on mobile devices. In order to evaluate the possibilities of the intruders, a client-server application is developed; it emulates a channel of information leakage, the task of which is to gain access to SMS and contacts of mobile device, as well as transfer the collected data to third-party web-service. Using the application legally placed in the online store Google Play, the imperfection of the applicable in Android discretionary model of access of the applications to the components and services of the mobile device is shown. The approaches to improve the model and to introduce additional protection mechanisms are given.
Key words: discretionary policy of allocation of access rights, information security, operating system Android, mobile applications.
REFERENCES
1. Gartner opublikovala statistiku prodazh smartfonov za 3-i kvartal 2015 goda [Gartner published statistics on sales of smartphones for the 3rd quarter of 2015]. Available at: http://androidinsider.ru/smartfony/gartner-opublikovala-statistiku-prodazh-smartfonov-za-3-kvartal-2015-goda.html (accessed: 19.11.2015).
2. Detal'noe sravnenie iOS, Android i Windows Phone [Detailed comparison of iOS, Android and Win-dows Phone]. Available at: http://revolverlab.com/detalnoe-sravnenie-ios-android-i-windows-phone/ (accessed: 15.09.2015).
3. GOSTR 50922-2006. Zashchita informatsii. Osnovnye terminy i opredeleniia [Information security. Basic terms and definitions]. Vzamen GOST R 50922-96; vveden 2008-02-01. Moscow, Standartinform Publ., 2008. 12 p.
4. How I can read SMS messages programmatically Android. Available at: http://stackoverflow.com/questi ons/848728/how-can-i-read-sms-messages-from-the-inbox-programmatically-in-android (accessed: 20.11.2015).
5. Analitika: Google Play oboshel App Store po chislu prilozhenii [Analytics: Google Play beat App Store in number of applications]. Available at: http://www.3dnews.ru/908131 (accessed: 19.09.2015).
6. Gornakov S. G. Programmirovanie komp'iuternykh igr pod Windows v XNA Game Studio Express [Programing of computer games for Windows in XNA Game Studio Express]. Moscow, DMK Press, 2008. 384 p.
7. Available at: http://developer.alexanderklimov.ru/android/theory/AndroidManifestXML.php (accessed: 02.10.2015).
8. Available at: https://play.google.com/store (accessed: 03.09.2015).
9. Razrabotka pod Android [Development for Android]. Available at: http://developer.alexanderklimov.ru/ android (accessed: 20.08.2015).
10. Kuchin I. Iu., Iksanov Sh. Sh., Rozhdestvenskii S. K., Koriakov A. N. Razrabotka sistemy pozi-tsionirovaniia i kontrolia ob"ektov s pomoshch'iu besprovodnoi tekhnologii Wi-Fi [Development of the sys-tem of positioning and control of the objects using wireless technologies Wi-Fi]. Nauchnyi vestnik Novosibirskogo gosudarstvennogo tekhnicheskogo universiteta, vol. 60, no. 3, pp. 130-146.
The article submitted to the editors 18.01.2016
INFORMATION ABOUT THE AUTHORS
Kuchin Ivan Yurevich - Russia, 414056, Astrakhan; Astrakhan State Technical University; Candidate of Technical Sciences, Assistant Professor; Assistant Professor of the Department "Information Security"; ivankuchin2010@gmail.com.
Iksanov Shamil Shavketovich - Russia, 414056, Astrakhan; Astrakhan State Technical University; Postgraduate Student of the Department "Information Security"; astu.org@bk.ru.
Belov Sergey Valeryevich - Russia, 414056, Astrakhan; Astrakhan State Technical University; Candidate of Technical Sciences, Assistant Professor; Head of the Department "Automated Systems of Information Processing and Management"; s.belov@astu.org.
Nurgaliev Marat Madievich - Russia, 414056, Astrakhan; Astrakhan State Technical University; Student, Specialty "Complex Support of Information Security of Automated Systems"; iknow.whoiam@mail.ru.