Научная статья на тему 'Инструментальная среда для маскирования привилегий оС Android'

Инструментальная среда для маскирования привилегий оС Android Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
50
12
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПОДСИСТЕМА ПРИВИЛЕГИЙ ОС ANDROID / ОПЦИОНАЛЬНЫЕ ПРИВИЛЕГИИ ANDROID / МАСКИРОВАНИЕ ПРИВИЛЕГИЙ / ФИКТИВНЫЙ РЕСУРС / ANDROID OS PERMISSION SUBSYSTEM / ANDROID OPTIONAL PERMISSIONS / MOCKING PERMISSIONS / MOCK RESOURCE

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Новик А.К.

Операционная система Android имеет достаточно развитые средства защиты от вредоносного программного обеспечения, основой которых является подсистема привилегий, позволяющая разграничить для приложений доступ к важным системным ресурсам и конфиденциальным данным владельца мобильного устройства. В данной статье рассматривается один из недостатков этой подсистемы: невозможность задания опциональных привилегий. Описан подход, позволяющий устранить этот недостаток. Подход основан на маскировании определенного ресурса для приложения: приложение работает с фиктивным ресурсом и не имеет возможности распознать ресурс как фиктивный. Рассмотрены вопросы реализации данного подхода в ОС Android для устранения существующих недостатков системы.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Android has robust system that prevents malware from dealing damage to sensitive data and abusing system resources. The core element of that system is permission subsystem, which allows restricting access to system resources and private data. One of its drawback is described in this article: it is impossible to set optional permissions. Here is an approach to resolve it. The approach is based on mocking certain resource application application deals with mocked resource and cannot understand if this resource is mocked or real. Some concerns of implementing this approach is also described.

Текст научной работы на тему «Инструментальная среда для маскирования привилегий оС Android»

• методы встраивания в частотную область изображения.

Стоит отметить, что методы, использующие для встраивания частотную область изображения, являются более стойкими. Однако сложность их реализации выше. Поэтому в настоящее время на практике используются в основном методы, использующие для встраивания пространственную область изображения. [1]

Наиболее распространенным методом является метод замены наименее значимого бита (НЗБ). Поэтому и методы стеганоанализа в основном направлены на работу со стеганоконтейнерами, информация в которые встроена с помощью замены НЗБ.

Были проанализированы основные методы стегано-анализа:

• Хи-квадрат;

• метод Фридрих;

• метод, основанный на квантованных данных наблюдения;

• метод, использующий оператор LBP;

• метод, использующий оценщик взвешенных стега-ноизображений;

• метод, использующий детектор ииО. Анализ проводился по критериям:

• способ выбора контейнера;

• способ доступа к информации;

• принцип скрытия данных;

• формат контейнера;

• назначение методов;

• реализуемые атаки.

По результатам анализа лучшим методом был выбран метод, использующий детектор ииО. Преимущество данного метода в том, что он позволяет обнаружить данные, встроенные в конструирующий контейнер, который был сгенерирован стеганосистемой. Это является более сложно задачей, чем обнаружение данных в обычных случайных контейнерах. [2]

Алгоритм метода, использующего детектор ииО, состоит из следующих шагов:

1. На основании исходного изображения Y формируется изображение Y такое что:

Y=(yij)= JPEG-1 CJPEGeCY)),

(1)

где JPEG9 обозначает применение JPEG-сжатия со степенью сжатия 9.

2. Далее рассчитывается количество пикселей, значения которых в Y и Y не совпадают:

Де = П |{aoh *о}|.

(2)

где гц = уц - уц.

3. Вероятность того было ли встроено сообщение в заданный контейнер определяется через уровень встраивания, который задается следующим образом:

Pluo = Ре( ДеХ

(3)

где pe(x) = ае + bex + cex2 + dex3.

Дальнейшее исследование направлено на проведения экспериментальных исследований с помощью разработанного алгоритма с целью оценить качество встраивания данных методом замены НЗБ в различные изображения.

Список литературы

1. Конахович Г.Ф., Пузыренко А.Ю. Компьютерная стеганография. Теория и практика. К.: «МК-Пресс», 2006. - 288 с.

2. Никишова А.В., Корняков О.А. Модель оценки сте-ганографических систем - Приоритетные технологии: актуальные вопросы теории и практики: сб. науч. докл. Первого Всерос. конгресса, г. Волгограда, 24-25 апр. 2014г. - В.: Изд-во ВолГУ, 2014, стр.62-66

3. Николаенко В.Г., Никишова А.В., Кожевникова И.С., Васенёва В.А. Критерии оценки методов сте-ганоанализа - Евразийский союз ученых. Ежемесячный научный журнал №8 / 2014 часть 8. VIII Международная научно-практическая конференция: «Современные концепции научных исследований» - М.: 2014, стр.92-94

ИНСТРУМЕНТАЛЬНАЯ СРЕДА ДЛЯ МАСКИРОВАНИЯ ПРИВИЛЕГИЙ ОС ANDROID

Новик А. К.

Аспирант кафедры прикладной математики НИУМЭИ (ТУ)

АННОТАЦИЯ

Операционная система Android имеет достаточно развитые средства защиты от вредоносного программного обеспечения, основой которых является подсистема привилегий, позволяющая разграничить для приложений доступ к важным системным ресурсам и конфиденциальным данным владельца мобильного устройства. В данной статье рассматривается один из недостатков этой подсистемы: невозможность задания опциональных привилегий. Описан подход, позволяющий устранить этот недостаток. Подход основан на маскировании определенного ресурса для приложения: приложение работает с фиктивным ресурсом и не имеет возможности распознать ресурс как фиктивный. Рассмотрены вопросы реализации данного подхода в ОС Android для устранения существующих недостатков системы.

ABSTRACT

Android has robust system that prevents malware from dealing damage to sensitive data and abusing system resources. The core element of that system is permission subsystem, which allows restricting access to system resources and private data. One of its drawback is described in this article: it is impossible to set optional permissions. Here is an approach to resolve it. The approach is based on mocking certain resource application - application deals with mocked resource and cannot understand if this resource is mocked or real. Some concerns of implementing this approach is also described.

Ключевые слова: подсистема привилегий ОС Android, опциональные привилегии Android, маскирование привилегий, фиктивный ресурс.

Keywords: Android OS permission subsystem, Android optional permissions, mocking permissions, mock resource.

Введение

Согласно исследованию известной компании International Data Corporation [1] в первом квартале 2015 года операционная система Android занимает лидирующую позицию на рынке мобильных операционных систем с долей в 78%. Такую популярность можно объяснить, с одной стороны, простотой и удобством ее использования, а с другой - надежностью ее системы безопасности, важной частью которой является подсистема привилегий. Тем не менее, несмотря на кажущееся удобство указанной подсистемы, ей недостает гибкости: одним из серьёзных недостатков является отсутствие возможности задания опциональных привилегий. Имея такую возможность, пользователь получает больший контроль за работой приложения. В данной работе будут рассмотрены практические аспекты реализации указанных возможностей в ОС Android.

Описание подсистемы привилегий

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

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

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

Модификация подсистемы привилегий

Для реализации модифицированной подсистемы привилегий, то есть подсистемы привилегий с возможностью задания опциональных привилегий необходимо рассмотреть два основных вопроса: собственно реализация данной возможности и интеграция существующих приложений, написанных без учёта этой возможности.

Для реализации опциональных привилегий необходимо предоставить разработчику возможность описывать привилегии как опциональные. В обычной версии описание требуемой привилегии имеет следующий синтаксис:

<uses-permissionandroid:name="string" android:maxSdkVersion="integer" />

В атрибуте name указывается название требуемой привилегии, а в атрибуте maxSdkVersion — максимальная версия Android, для которой требуется данное разрешение. Для описания опционального разрешения помимо указанного тега используется ещё один тег метаданных следующего вида:

<meta-data android:name="string" android:value="string" />,

где в качестве значения android:name используется имя привилегии, а в качестве значения строка "optional". Такой подход позволяет не изменять существующую структуру файла манифеста (а, значит, и не меняя существующие утилиты для сборки пакета приложения), добавляя при этом нужную функциональность.

При установке приложения пользователю представляется возможность определить, требуется ли ему конкретная привилегия или нет. На рисунке 1 показан экран с возможностью выбора конечного набора привилегий.

О 10:43

л Тестовое приложе...

Хотите ли вы установить это приложение? Оно получит следующие разрешения:

ЛИЧНЫЕ ДАННЫЕ

Осуществление телефонных ^ (Сй вызовов ^^

ДОСТУП К УСТРОЙСТВУ

Неограниченный доступ в Интернет

Просмотр сетевых подключений ^ {¡^ Управление функцией ^ ^^

Отмена Далее

Рисунок 1. Задание опциональных привилегий.

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

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

В первом случае просто выполняется вызов функции и возвращается реальное значение. Если привилегия опциональная и она не предоставлена, то вызов функции приводит к генерации исключения системы безопасности SecurityException [2]. Приложение должно обработать соответствующее исключение, так как разработчик знал, что данная привилегия может и не быть предоставлена. В случае, если это приложение было написано для ОС Android без учёта возможностей опциональных привилегий, то приложение, скорее всего, не обработает данное исключение и будет остановлено; фактически это означает, что приложением нельзя будет пользоваться. Для решения этой проблемы и применяется метод маскировки ресурса: функция, запрашиваемая приложением, выполняется, но

возвращается фиктивный ресурс. Например, если приложение запрашивало доступ к службе вибрации, то вызов выполняется, но реально устройство не вибрирует; если запрашивался доступ к списку контактов, то он возвращается пустым; запрос на доступ к сети Интернет обрывается по тайм-ауту. Таким образом приложение продолжает работать корректно даже несмотря на отсутствие привилегии. Для каждой привилегии можно также разработать отдельный фиктивный ресурс, который помешает приложению отличить его фиктивность; например, можно хранить два списка контактов, один для приложений, имеющих привилегию, другой - для приложений, для которых эта привилегия маскируется. Заключение

Рассмотренная в статье модификация подсистемы привилегий ОС Android позволяет усилить контроль за работой приложений, уменьшив риски, связанные с доступом к конфиденциальным данным и системным ресурсам. Этот подход позволят разработчикам определять необязательные привилегии, что увеличивает доверие пользователей и, следовательно, потенциальную клиентскую аудиторию разработчика. Кроме того, рассмотренный подход с маскировкой ресурсов системы также позволяет использовать в системе огромное количество уже существующих приложений из Google Play (около полутора миллионов приложений на май 2015 года [3]).

Список литературы

1. International Data Corporation. http://www.idc.com/.

2. Портал разработчиков ОС Android. http://developer. android.com/.

3. Статистика AppBrain. http://www.appbrain.com /stats/ number-of-android-apps.

РЕСТРУКТУРИЗАЦИЯ ПРОЦЕССА ВЫПОЛНЕНИЯ ЗАДАЧИ ПО ПРОСТРАНСТВЕННОЙ ХАРАКТЕРИСТИКЕ НА ЭТАПЕ ПРЕДПРОЕКТНОГО ОБСЛЕДОВАНИЯ

Новоселова Ольга Вячеславовна,

кандидат технических наук, доцент; Солодовникова Наталия Витальевна,

Аспирант, ФГБОУ ВПО Московский государственный технологический университет «СТАНКИН», Москва, Россия

АННОТАЦИЯ

В статье приведено формальное описание реструктуризации процесса выполнения задачи по пространственной характеристике. ABSTRACT

The article presents a formal description the restructuring of process of task execution by spatial characteristic. Ключевые слова: процесс, реструктуризация, автоматизация предметных задач, методология автоматизации интеллектуального труда

Keywords: process, restructuring, automation of subject tasks, the methodology automation of intellectual labor.

Методология автоматизации интеллектуального труда [1], разработанная в Московском государственном технологическом университете «СТАНКИН», предлагает промышленный способ создания автоматизированных систем и определяет необходимый и достаточный набор модельных представлений, позволяющий поэтапно представить как процесс решения задачи, так и проект автоматизированной системы (АС). Данный набор включает следующие описания: процесса решения предметной задачи (как его видит специалист-предметник); структуры системы знаний о предметной области; проекта автоматизированной системы из двух моделей - инвариантной к

программно-технической среде и средствам реализации и ориентированной на них. Модели содержат описания: информационной (или статической) составляющей, функциональной и/или динамической составляющей, их увязки (модель в целом).

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

i Надоели баннеры? Вы всегда можете отключить рекламу.