BC/NW 2011; №2 (19):11.2
ОБЗОР СРЕДСТВ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ В
ОПЕРАЦИОННЫХ СИСТЕМАХ ДЛЯ МОБИЛЬНЫХ УСТРОЙСТВ
Хорев П.Б.
(Национальный
исследовательский университет «МЭИ», Россия)
Обеспечение информационной безопасности современных мобильных устройств
(смартфонов, коммуникаторов, карманных персональных компьютеров (КПК) и т.п.)
становится весьма актуальной задачей в связи с постоянным увеличением
возможностей этих устройств, ростом количества их пользователей, хранением на
этих устройствах конфиденциальной информации (персональных данных, коммерческой
и профессиональной тайны). Серьезной угрозой для таких устройств становятся
вредоносные программы (вирусы, черви, трояны и т.д.).
В настоящем докладе будет выполнен обзор средств защиты информации, как имеющихся
в наиболее распространенных операционных системах для мобильных устройств, так
и предоставляемых другими производителями
К наиболее известным операционным системам (ОС) для мобильных устройств
относятся Symbian, Android и Windows Mobile.
ОС от корпорации Symbian [1] создавалась
специально для смартфонов и, следовательно, учитывала их маленькие размеры,
экраны с небольшим разрешением, но то же время обеспечила эти устройства
многозадачностью. Symbian является консорциумом, в
состав которого входят Psion, Nokia, Ericsson, Motorola, Sony Ericsson, Siemens, Panasonic, Fujitsu, Samsung, Sony и Sanyo. Основным собственником является
Nokia. С момента
возникновения Symbian было выпущено несколько версий
программного обеспечения, реализованных без обратной совместимости.
В любой версии Symbian OS − это
полнофункциональная 32-разрядная операционная система, созданная с учетом всех
требований телекоммуникационной индустрии и поддерживающая большинство
современных стандартов и протоколов − Bluetooth, GPRS, GSM/EGSM, HSCSD, CDMA. Начиная с
шестой версии ОС подразделяется на ядро и графическую подсистему, что позволяет
производителям мобильных устройств применять фирменные графические интерфейсы
для своих смартфонов. Поэтому Symbian, установленная
на аппаратах производства двух разных компаний, может выглядеть совершенно
по-разному.
Приложения Symbian OS отличаются удобными
графическими элементами, позволяющими быстро ее освоить даже неопытному
пользователю. В распоряжении пользователя стандартные графические элементы
управления, реализованные в библиотеке EIKON, включая панель инструментов (toolbar) и инструментальные линейки (toolband).
Управление функциями ядра ОС и приложений обеспечивается как с клавиатуры, так
и с помощью сенсорного пера.
По условиям соглашения между компаниями Symbian
и Opera Software браузеры Opera используются в ОС Symbian
по умолчанию.
В ОС Symbian ядро, файловый сервер, менеджер
памяти и драйверы устройств находятся в базовом слое операционной системы (Base). Ядро (Kernel) управляет системными ресурсами (такими,
например, как оперативная память) и отвечает за квантование времени для
приложений и системных задач. Драйверы устройств предоставляют доступ к
различным частям аппаратной платформы − клавиатуре, экрану, инфракрасному
порту и т.д. На более высоком уровне система поддерживает различные
коммуникационные возможности − протоколы TCP/IP и IMAP4, службы SMS и
управления системной базой данных. С помощью компонентов Symbian
OS можно получить доступ ко всем необходимым функциям и ресурсам − мультимедийным, безопасности, персональной информации и
прочим. Компоненты Symbian OS поддерживают
синхронизацию и интернационализацию данных. Остальное
программное обеспечение находится на самом верхнем уровне.
Файловый сервер обеспечивает подобное DOS отображение
файловой системы мобильного устройства (каждому диску назначена определенная
буква, обратный слеш определяет каталог). Symbian
поддерживает различные типы файловых систем, включая FAT32 и
специфическую для Symbian систему NOR.
Среди имеющихся в ОС Symbian средств
обеспечения информационной безопасности можно выделить следующие:
·
возможность
шифрования потоковых мультимедийных данных,
передаваемых по стандарту связи WCDMA (широкополосный
доступ с кодовым разделением каналов);
·
невозможность
перенаправления на другие устройства файлов, права на которые принадлежат
третьим лицам. Допустимо их использование только на том устройстве, на котором
они были получены или предустановлены (технология Digital rights management, DRM, которая
затрудняет создание копий защищаемых электронных документов либо позволяют
отследить создание таких копий);
·
невозможность
установки приложений, не снабженных электронной цифровой подписью (ЭЦП);
·
разграничение
доступа приложений к папкам (прежде всего к системным папкам sys и resources). Доступ к системной папке sys, в которой хранятся исполняемые файлы, отсутствует у приложений вообще.
Доступ к папке resources у приложений есть только на
чтение;
·
наличие
разных уровней возможностей приложений – открытый, базовый, расширенный и полный
(Manufacturer).
Существуют два типа ЭЦП под приложениями для ОС Symbian:
Symbian Signed (подписи от компании Symbian, выдаваемые
производителям после того, как
приложение будет протестировано и одобрено как безопасное специалистами
компании) и Self-signed (подпись от самого разработчика). Приложения
с ЭЦП типа Self-signed обладают только
возможностями из категории открытых, а при попытке использования возможности
базовой категории (например, отправке sms-сообщения) от пользователя будет запрашиваться подтверждение этого
действия. Возможности остальных категорий доступны только Symbian
Signed приложениям.
Symbian OS является открытой системой. Весь набор средств для программирования
и вся необходимая для их использования информация, включая описание пользовательской библиотеки, позволяющей программам сторонних производителей
обращаться к функциям ядра, доступны разработчикам совершенно бесплатно.
Программное обеспечение для этой ОС создается на языке C++ [2] на обычном
персональном компьютере с использованием, например, среды разработки Microsoft Visual Studio и эмулятора. Но это же приводит и к изобилию
вредоносного ПО для Symbian OS. Первый компьютерный
вирус для мобильных устройств, использующих Symbian
OS, для своего распространения использовал спецификацию Bluetooth. На данный момент под Symbian
существует уже около двух сотен вредоносных программ.
К недостаткам средств разграничения доступа приложений к системным
папкам ОС Symbian, что приводит и к обходу
невозможности установки и запуска неподписанных приложений, следует отнести
наличие в свободном доступе для пользователей сети Интернет программ,
позволяющих любому приложению получить полный доступ к системным папкам
смартфона.
Для ОС Symbian в настоящее время разработано
достаточно средств обеспечения информационной безопасности от известных
производителей (Symantec,
Kaspersky, ESET
и др.). Как правило, их решения включают
в себя персональный межсетевой экран, антивирусные монитор и сканер [3].
Другими производителями предлагаются также программы для защиты файлов
пользователей с их персональными данными и другой конфиденциальной информацией:
·
шифрование
текстовых, графических и мультимедийных файлов на
основе ключа, генерируемого из парольной фразы;
·
разграничение
доступа к sms-сообщениям, как входящим, так и исходящим (для доступа к ним
потребуется ввод пароля).
К недостаткам некоторых из программ, выполняющих перечисленные выше
функции защиты, относится отсутствие контроля длины, сложности и сроков
действия выбираемых пользователями паролей, что может существенно снизить
эффективность использования шифрования и разграничения доступа.
Операционная система Android является разработкой компании Google. Поддержку ее продвижению
оказывают компании Motorola, T-Mobile, Samsung Electronics, Telecom Italia, NTT DoCoMo, China Mobile, Sprint Nextel, KDDI Corporation, Telefónica, HTC, LG и др. Инновационность
данной ОС во многом определяется девизом «All apps are equal», т.е. установленные ранее
компоненты могут впоследствии замещаться иным программным обеспечением.
Платформа Android
основана на Linux, и все приложения представлены на языке Java, что способствует повышению
эффективности программирования при разработке новых приложений [4].
Другим важным преимуществом ОС Android являются сервисы Google, которые способствуют
максимальному использованию всех возможностей сети Интернет. Большая часть
приложений для этой ОС бесплатна, что также весьма привлекательно для
владельцев мобильных устройств.
Важными характеристиками ОС Android также являются многозадачность, «облачный» обмен данными, разделение
доступа в Интернет с другими устройствами, поддержку Flash. Для разработки
приложений для платформы Android потребуется набор инструментов
и библиотек API − Android SDK.
В состав Android входит
комплект базовых приложений: клиенты электронной почты и SMS, календарь,
различные карты, браузер, программа для управления контактами и многие другие. Android
позволяет использовать функции API, используемые ядром этой ОС. Любое
приложение может использовать уже реализованные возможности другого приложения
при условии, что последнее разрешит экспорт своей функциональности. Таким
образом, архитектура ОС Android реализует принцип многократного использования
компонентов ОС и приложений.
К основным системным службам ОС Android относятся:
·
система представлений (View System) – набор представлений с
расширяемой функциональностью, который служит для построения внешнего вида
приложений, включающий такие элементы управления, как списки, таблицы, поля
ввода, кнопки и т.п.;
·
контент-провайдеры (Content Providers) – службы, которые позволяют
приложениям получать доступ к данным других приложений, а также предоставлять
доступ к своим данным;
·
менеджер ресурсов (Resource Manager), который предназначен для
доступа приложений к строковым, графическим и другим типам ресурсов;
·
менеджер извещений (Notification Manager) который позволяет любому
приложению отображать уведомления пользователю в строке состояния;
·
менеджер деятельностей (Activity Manager), который управляет жизненным циклом приложений и предоставляет
систему навигации по истории их работы.
Платформа Android включает набор библиотек
функций на языках C/C++, используемых различными компонентами ОС. Для
разработчиков доступ к функциям этих библиотек реализован через использование Application Framework. К этим библиотекам относятся:
·
стандартная системная библиотека языка C для встраиваемых
устройств;
·
библиотеки для поддержки воспроизведения и записи файлов
популярных аудио- и видеоформатов;
·
менеджер поверхностей для управления доступом к подсистеме
отображения графических слоев 2D и 3D;
·
«движок» Web-браузера, который предоставляет доступ к функциям
встроенного браузера Android;
·
«движки» для работы с 2D и 3D графикой;
·
библиотека для работы со шрифтами;
·
ядро системы управления реляционными базами данных.
В состав ОС Android входит набор библиотек ядра,
которые предоставляют большую часть функциональности библиотек ядра языка Java.
Каждое приложение запускается в своем собственном процессе, со своим
собственным экземпляром виртуальной машины Java. Для каждой такой машины действует принцип изоляции по
потокам и низкоуровневому распределению памяти. Все взаимодействие отдельных процессов происходит только через
ядро ОС, а не напрямую. Байт-код Java, на котором написаны приложения, компилируются в
dex-формат при помощи утилиты dx, входящей в состав SDK.
Android основана на ОС Linux, поэтому платформе доступны
системные службы ядра Linux: управление памятью и процессами, обеспечение
безопасности, работа с сетью и драйверами устройств. Также ядро служит слоем
абстракции между аппаратным и программным обеспечением.
Android наследует от Linux
некоторые механизмы защиты: в Android также используются
идентификаторы пользователя и группы. Но в отличие от Linux, пользователь − это
отдельная программа, поэтому разные программы, запускаемые владельцем
смартфона, имеют разные идентификаторы. Для этих пользователей-приложений
устанавливаются права доступа к файлам на чтение, запись и выполнение, которые
хранятся в индексах файлов. Владельцами системных файлов являются пользователи root или system, а файлам каждого приложения
назначается отдельный идентификатор владельца, ассоциированный с данным
приложением.
В базовой поставке ОС Android пять процессов запускаются с
идентификатором root, два от имени system и еще два под rild. Такое разделение идентификаторов процессов реализовано в
ядре операционной системы, и любые попытки изменить пользователей для этих
процессов будут расцениваться как атаки и автоматически блокироваться.
В Android также используется отличный от принятого в Linux механизм разграничения прав
пользователей-приложений, называемый привиле-гиями.
При установке приложения набор этих привилегий проверяется, и пользователю
предлагается их подтвердить.
Одной из проблем защитных механизмов Android является низкая точность
определения привилегий, например, если приложение получает доступ в Интернет,
то оно может использовать любые порты для отправки и получения данных, что
позволяет использовать Интернет для самых разных задач. Еще одним опасным местом
Android является демон installd, который занимается установкой
приложений. Он запускается от имени root, однако имеет дело
с пакетами программ, которые могут быть получены из непроверенных
источников.
Как и другие ОС для мобильных устройств Android подвергается различным атакам, значительная
часть которых направлена на похищение пользовательских данных. На данный момент
разработано немало программных средств, предназначенных для дополнительного
обеспечения информационной безопасности мобильных устройств на платформе Android. С помощью таких программ можно предотвратить кражу
личной информации пользователей устройств, задавая различные уровни доступа
приложений к данным.
Другие приложения для ОС Android позволяют
реализовать следующие функции безопасности:
·
создание
хранилища конфиденциальной информации, зашифрованного на ключе, выводимом из
парольной фразы, с различными дополнительными возможностями;
·
блокировка нежелательных вызовов и (или) sms-сообщений на основе ведения «черных списков» с сохранением подробной
информации о заблокированных вызовах в специальном журнале и с защитой списков
и журнала от несанкционированного доступа и модификации с помощью пароля;
·
защита
от вредоносного программного обеспечения.
Операционная система Windows Mobile является продуктом компании Microsoft, имеет базовый набор приложений, разработанных с использованием Microsoft Win32 API (программы могут приобретаться
через сервис Windows Marketplace for Mobile или устанавливаться вручную пользователем).
К основным механизмам защиты этой ОС относятся [5]:
·
защита
устройства от несанкционированного использования PIN-кодом или паролем;
·
поддержка
сертификатов открытых ключей для разрешения запуска только приложений с ЭЦП от
доверенных производителей и аутентификации другого устройства или компьютера;
·
шифрование локальных и передаваемых (получаемых) данных;
·
возможность удаленного стирания конфиденциальных данных владельца
устройства при его краже.
В Windows Mobile не предусмотрен механизм разграничения
доступа к объектам файловой системы, реализованный в ОС от Microsoft для настольных компьютеров. Другой
особенностью Windows Mobile является то, что
наибольшая безопасность обеспечивается сочетанием мобильных устройств и
инфраструктуры сетей Microsoft
с использованием Microsoft Exchange, Microsoft Office Communications Server, Microsoft SharePoint и т.п. При использовании продуктов других производителей или
соединении с устройствами на других платформах могут возникать различные угрозы
безопасности.
Для ОС Windows Mobile также разработано
немало дополнительных средств обеспечения информационной безопасности, прежде
всего для защиты от вредоносных программ.
В докладе рассмотрены встроенные и дополнительные средства защиты в ОС
для мобильных устройств, их достоинства и недостатки. Но источником наиболее
опасных угроз для информации, хранящейся и обрабатываемых на таких устройствах,
остается их владелец, неквалифицированно или совсем не использующий эти
средства или сознательно стремящийся их «обойти».
Литература
1. Платов А. Что такое Symbian
OS // Компьютерная газета. http://www.nestor.minsk.by/kg/index.html.
2.
Москальчук
Д. Программирование под Symbian OS: начало. RSDN Magazine 2005, №2. http://www.rsdn.ru/mag/main.htm.
3.
Хорев П.Б.
Программно-аппаратная защита информации. М.: ФОРУМ, 2011.
4.
Коржов В.
Безопасный Android. Открытые системы. СУБД. 2010, №7.
http://www.litres.ru/pages/biblio_book/?art=429022.
5. Безопасность Windows Mobile 6.x.
http://www.cyberguru.ru/
operating-systems/windows/windows-mobile-security.html.