Архивы: по дате | по разделам | по авторам

Самые знаменитые: препарируем платформу S60. Часть I

АрхивMobilis
автор : Иван Гагнидзе   09.10.2007

Программная платформа Series 60 Platform, ныне известная под именем S60, около полутора лет назад переродилась, а сейчас находится на полпути к новой вершине - все ждут от S60 сенсорного интерфейса.

Программная платформа Series 60 Platform, ныне известная под именем S60, около полутора лет назад переродилась. Несколькими месяцами позже появилась техника на её основе, а трёхчастное название сократилось до лаконичного S60. За прошедшее время был накоплен изрядный опыт работы с аппаратами под управлением данного ПО, позволяющий судить об имеющихся преобразованиях. Смена "вывески" - самое незначительное из них. Сейчас же система находится приблизительно на полпути к новой вершине. Все ждут от S60 сенсорного интерфейса. Соответствующие телефоны, по некоторым оценкам, могут поступить в продажу в третьем-четвертом кварталах 2008 года. Но до того S60 ещё успеет эволюционировать.

РЕФОРМЫ ПРОШЛОГО

"В жизни каждого мужчины наступает момент, когда он беспощадно рвёт с прошлым, открывая дрожащей рукой таинственную завесу будущего". Этому учил всех, кто смотрел фильм "Здравствуйте, я ваша тетя!", полковник Фрэнсис Чесней. Сложно сказать, действительно ли подобная участь ожидает любого джентльмена, но (простите за неуклюжую смену темы) с отдельными операционными системами такое определённо случается. Последние редакции S60 имеют в своем основании ОС Symbian 9.x, вышедшую два года назад. Естественно, модификации Symbian находят отражение в S60 и UIQ (от User Interface и IQ - программная платформа, на которой работают все смартфоны Sony Ericsson и некоторые производства Motorola), поэтому самой операционной системе в материале уделено столь значительное внимание.

Если не ошибаюсь, на 9-ю версию ОС возлагали большие надежды (кстати, оправдавшиеся; об этом ниже). Однако радость мобильного сообщества от обретения в чём-то удачной, а в чём-то даже и уникальной ОС, была омрачена одним важным обстоятельством. Программное обеспечение, базировавшееся на новом ядре - EKA2 (EPOC Kernel Architecture 2 - оно было доступно для отдельных разновидностей Symbian 8. Однако удобнее считать, что EKA2 стало неотъемлемым атрибутом ОС, начиная с версии 9.1.), - было несовместимо с приложениями, написанными для прежних версий ПО. Иными словами, программы, предназначенные для Nokia Series 60 1-го и 2-го выпусков или UIQ 2.x, непригодны к употреблению на устройствах с S60 и UIQ 3.0.

Авторы EKA2 желали передать ей такие черты EKA1, как:

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

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

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

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

Вследствие реорганизации система обзавелась так называемым наноядром, модулем-диспетчером, предоставляющим простейшие и вместе с тем основополагающие сервисы. Они подобраны таким образом, чтобы обеспечить исполнение GSM-алгоритма. Отсюда и поддержка одноядерных чипов. Помещение служб, связанных с оборудованием (ОЗУ, ПЗУ, USB и т. п.), в область ядра перестало быть обязательным. Это избавило от необходимости его перекомпиляции при каждой смене конфигурации прибора. В целом, метаморфозы операционной системы должны были повысить её привлекательность для конструкторов телефонов. Допускаю, что рост поголовья очень похожих, но чуть отличающихся по оснащению, моделей Symbian-смартфонов у Nokia и Sony Ericsson не в последнюю очередь связан с этим.

КРУГ ДОВЕРИЯ

Интересная, если не уникальная, черта Symbian - регулирование прав программ, применение механизмов аутентификации и цифровых подписей для устанавливаемых приложений. Это необходимо для сохранения в неприкосновенности жизненно важных функций коммуникаторов. Разумеется, присутствует у ОС и поддержка протоколов типа TLS/SSL IPSec.

Ядро, файловый сервер и инсталлятор ПО - части Trusted Computing Base (TCB), обладающие неограниченными полномочиями. Они ответственны за целостность устройства и реализацию базовых принципов безопасности ОС, поэтому их код тщательнейшим образом выверен. Помимо доступа к ядру, элементы Symbian нуждаются в доступе к другим ресурсам, однако не всем. Например, серверу окон важно обмениваться данными с клавиатурой, но не радиомодулем, взаимодействие между ними исключено. И Trusted Computing Environment (TCE), скомпонованное из основных системных приложений, предотвращает нецелевое использование приборных мощностей. У каждого процесса есть свой "уровень допуска". Когда один процесс запрашивает доступ к другому, соответствующая служба выясняет, имеет ли он на это право.

Повысить степень доверия системы к приложению можно, подписывая его. Неподписанную программу нельзя инсталлировать на трубки, управляемые Symbian 9, вопрос в том, сертифицирована ли программа разработчиком или специалистами Symbian. В последнем случае сомнений в её безопасности для аппарата нет: она прошла необходимые испытания. Приложения, сертифицированные самостоятельно, гипотетически имеют шанс оказаться не совсем безобидными или просто, хотя далеко необязательно, менее качественными. Программам, протестированным в Symbian, по причине их благонадёжности, открыт доступ к большему количеству API. У меня почему-то были опасения, что подобный подход снизит скорость написания нового ПО. Однако занимавший до августа пост менеджера по продукции Nokia в странах СНГ Эндре Кадаш сказал по этому поводу следующее: "Переход на новую платформу, конечно, потребовал определённых перемен и дополнительных действий со стороны разработчиков. Но, учитывая бесспорные преимущества новой версии ОС как для них, так и для конечных пользователей, эти усилия были однозначно оправданы. Версии ОС Symbian (9.х), на которых построены программные платформы семейства S60 3rd Edition, открывают перед конечными пользователями и программистами новые перспективы. Как раз благодаря введению механизма сертификации ПО для получения доступа к ряду ранее закрытых API, функциональность приложений существенно расширилась".

Его точку зрения разделяет и Дмитрий Гориловский, некогда занимавшийся созданием ПО, в том числе и для Symbian-техники, и по сей день не утративший интерес к теме. По его мнению, разработка упростилась.

Но безопасность приложений укрепляется не только за счёт их сертификации. Существует механизм, называемый Data Caging, обеспечивающий выделение каждой программе объёма памяти, защищённого от постороннего вмешательства. То есть нарушить деятельность Symbian-приложения проблематично. Благодаря упомянутым выше чертам и при условии, что авторы документации и инженеры не преувеличивают достоинства ОС, получается, что Symbian-платформы (построенные на базе Symbian 9 и выше) практически, а то и совершенно неуязвимы для вирусов.

В одной из статей исполнительного вице-президента Symbian Дэвида Вуда приводится такое рассуждение. В процессе жизнедеятельности операционной системы часто возникает потребность в копировании данных из одной области памяти в другую, допустим, из письма или сетевого приложения в "Контакты". Однако если для этой информации зарезервированы 256 байт памяти, а на вход поступают 300 байт, лишние 44 байта помещаются в ближайшую ячейку буфера поверх ее прежнего содержимого. Происходит переполнение буфера. Исход процедуры зависит от того, как ПО считает нужным обращаться с этими данными. Они могут быть восприняты и как новый набор инструкций, подлежащий исполнению.

В такой ситуации система, вероятно, зависнет, однако есть шанс, что управление перейдёт к вредоносному ПО, и вирус укоренится в аппарате. Поэтому при создании ОС Symbian её творцы делали упор на повышение эффективности и безопасности использования памяти. Попытка копирования сведений за пределы назначенной области буфера приводит к завершению работы программы. В такой среде вирусы не распространяются.

Год-полтора назад довольно частыми были известия об обнаружении очередного "червя", поражающего S60-электронику. Между ними и заявлениями представителей Symbian несложно усмотреть противоречие. И всё же его нет.

Во-первых, техника работала на версиях Symbian до 9-й, хотя, подозреваю, это не столь важно. Во-вторых, в ту пору действительно имели хождение вредоносные программы. Говорили, что их распространяют через почту и Bluetooth. Вполне вероятно, так и было, точно уже не скажу, равно как и не поручусь в том, что кто-то пострадал от них.

Пока приложение не установлено, оно остается безвредным. Именно это и должна сделать потенциальная жертва, чтобы потом заметить в поведении своего смартфона отклонение от нормы. "Алиса знала, что если выпить из склянки с надписью "ЯД", то рано или поздно непременно почувствуешь лёгкое недомогание". Конечно, редкий вирус аттестует себя правдиво, однако не стоит запускать программы без разбора. У вируса нет другого пути обосноваться в Symbian-коммуникаторе, кроме открываемого самим владельцем машины.

У терминалов с Windows Mobile и Linux, похоже, опасность заполучить какой-нибудь троян потенциально выше, поскольку ОС организованы по образу настольных систем. Но, учитывая их низкую, по сравнению с Symbian-агрегатами, популярность, нет смысла переживать из-за сохранности подобных устройств. Так что хоть защитный механизм у Symbian и мощный, он ещё несколько лет будет мало востребован.

Продолжение следует


По материалам "Компьютерры"
© ООО "Компьютерра-Онлайн", 1997-2019
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.