Введение В настоящее время мобильные устройства используются не только для звонков и отправки 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; - иные утечки, не зависящие от каналов передачи информации (ПЭМИН - побочные электромагнитные излучения и наводки), вибродатчики, акустические датчики и т. п.). Информационные ресурсы, подверженные утечке Тип данных Подробное описание данных Данные о контактах Номер телефона, ФИО, электронная почта, группа контакта, дата рождения контакта, почтовый адрес, сведения о работе, псевдоним, веб-сайт и отношения Данные о совершенных звонках Журнал входящих, исходящих, пропущенных вызовов SMS-данные Журнал сообщений, содержимое входящих, исходящих SMS и ММS, а также черновики сообщений Данные из органайзера Встречи, заметки, списки дел, дни рождения; данные из стандартных приложений, таких как будильник, календарь и др. Данные аккаунтов электронной почты Контакты, электронные адреса, вложенные сообщения и файлы Данные из браузеров Временные файлы, список посещенных страниц, закладки браузеров Журнал трафика и сессий Пакеты, переданные через GPRS, EDGE, LTE, Wi-Fi и др. Медиафайлы Файлы (фото, видео-, аудиофайлы, документы), хранящиеся в памяти телефона Голосовые данные Речь при совершении звонков, использование голосовых команд в интернет-сервисах Данные телефона Уникальный номер телефона, фирма-производитель, модель устройства и др. Данные SIM-карты Номер SIM-карты; юридическое лицо, обслуживающее мобильные станции; тарифный план и др. Геолокационные данные Текущее местонахождение, маршрут передвижений и др. Данные с медиаустройств Данные, полученные с динамика, микрофона, фронтальной и основной камеры и др. Данные с карты памяти Файлы (фото, видео-, аудиофайлы, документы), хранящиеся в карте памяти Данные по использованию мобильных приложений Использование социальных сетей, игровая статистика и др. Среди перечисленных способов незаконного получения данных наиболее удобным, а также безопасным для злоумышленника (отсутствие непосредственного контакта с мобильным устройством делает крайне затруднительным доказательный процесс при проведении следственных мероприятий) является использование мобильного приложения с функциями отправки интересующих данных через сеть Интернет. Каждое приложение в ОС Android потенциально может получить доступ к любому из вышеперечисленных типов данных. Исключение могут составить лишь данные, генерируемые в другом приложении. Это связано с тем, что приложения в Android работают независимо друг от друга - каждое приложение находится в своей «песочнице». Данный принцип предотвращает хищение информации с одного приложения другим. Однако есть возможность получить и такой вид данных, если разработчик сам предоставляет другим приложениям доступ (например, при создании комплекса приложений разработчик может сформировать функции по предоставлению данных другой программе). В ОС Android реализована дискреционная политика доступа на уровне приложений и сервисов: каждому приложению в соответствие ставится некоторая матрица доступа, в которой зафиксированы полномочия по доступу этого приложения к сервисам мобильного устройства (фотокамера, Интернет, контакты, запуск приложения при включении телефона и т. п.). В качестве матрицы доступа для каждого приложения выступает системный файл manifest.xml. В файле перечислены все сервисы мобильного устройства, к которым приложению необходим доступ. При установке приложения на мобильное устройство ОС однократно запрашивает у пользователя разрешение на доступ данного приложения к заявленным в файле manifest.xml-сервисам, при этом каждый из них характеризуется не одной функцией, а целым набором [7]. Таким образом, получая доступ к сервису, приложение автоматически получает доступ ко всем входящим в него функциям. Это означает, что приложение приобретает потенциальные недекларированные возможности в виде функционала, превышающего заявленный разработчиком набор действий. Иллюстрация используемой в настоящее время в ОС Android дискреционной модели разграничения прав доступа на примере четырех «типовых» сервисов приведена на рис. 1. Например, приложение «Фонарик», которому для работы необходима только вспышка камеры мобильного устройства, получает дополнительный функционал проведения фото- и видеосъемки (дополнительные функции одного сервиса - «Камера»). Другой пример - приложения, которые при установке требуют значительно больше разрешений, чем необходимо для их полноценной работы (рис. 2). В данном случае игровому приложению требуются абсолютно ненужные для его работы разрешения на получение мультимедиаконтента, данных о беспроводном подключении и информации об устройстве. С высокой долей вероятности можно утверждать, что это пример потенциальной «программы-шпиона». Рис. 1. Политика разграничения прав доступа приложений к сервисам ОС Android Рис. 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. Внедрение принудительного контроля каналов передачи мобильных данных (корпоративный proxy-сервер, VPN-сервер и т. п.) для создания централизованной точки контроля передаваемой конфиденциальной информации и предотвращения ее утечки. Рис. 5. Алгоритм работы «программы-шпиона» В зависимости от поставленных задач возможно применение комбинации перечисленных защитных механизмов. Выводы В рамках исследования в процессе анализа разграничения доступа к личным данным, обрабатываемым в ОС Android, было выявлено, что основной угрозой являются приложения, которые устанавливаются на мобильные устройства. Для оценки возможностей злоумышленников было разработано клиент-серверное приложение, эмулирующее канал утечки информации. Задачей мобильного приложения было получение доступа к SMS и контактам мобильного устройства, а также передача собранных данных на сторонний web-сервис. Тестирование системы выявило ее пригодность для использования злоумышленниками, при этом популярные антивирусные средства для мобильных устройств не выявили угрозу со стороны «приложения-шпиона». Кроме того, была произведена публикация мобильного «приложения-шпиона» в официальном интернет-магазине для распространения Android-приложений, встроенные механизмы которого также не выявили угроз. Таким образом, эмпирическим был доказан факт того, что приложения, которые поступают в мобильные устройства даже из официальных источников, могут нести потенциальную угрозу утечки информации. Предложены варианты нейтрализации выявленных угроз утечки персонифицированной информации владельцев мобильных устройств.