Наш общий бизнес-фронт BIKINIKA.com.ua
Уважний читач, мабуть, уже поставив собі питання: що заважає розробнику оголосити в виконуваному файлі доступ до всіх захищеним можливостям і отримати повну свободу дій? Відповідь криється в процедурі інсталяції SIS-пакетів.
Платформа безпеки Symbian 9.x не дозволяє користувачеві отримати прямий доступ до каталогу \ sys \ bin \, що зберігає виконувані файли. Тому єдиний спосіб інсталювати додаток на пристрій - скористатися системним монтажником (що є компонентом ТСВ). Для цього програма, супутні файли і ресурси упаковуються в файл з розширенням. sis або. sisx. SIS-пакет зберігає інформацію про каталогах, в які слід скопіювати зберігаються в ньому файли, а також ряд налаштувань для установника.
Перед установкою в SIS-файл впроваджується цифровий сертифікат (digital certificate), що містить наступну інформацію:
- ким, коли і кому він виданий;
- термін його дії;
- список IMEI-номерів пристроїв, за якими можна телефонувати установка даного SIS-файлу;
- список захищених можливостей, доступ до яких він засвідчує.
Процедура прикріплення цифрового сертифікату називається підписуванням (signing), а сам SIS-файл стає підписаним (signed). Підписати SIS-пакет можна відразу декількома сертифікатами. SIS-файл без сертифіката є не підписаним (unsigned). У Symbian 9.x установка непідписаних SIS-відключена.
Системний установник грає роль своєрідного шлюзу, перевіряючи сертифікати інстальоване SIS-файлів. У тому випадку, коли сертифікат відсутній або термін його дії закінчився, програма встановлена не буде. Після інсталяції програма може використовуватися необмежено довго - до її роботі термін дії сертифіката відношення не має. При наявності в системі певних настройок установник також може виконати онлайн-перевірку сертифіката і відмовити в інсталяції програми, чий сертифікат був відкликаний.
Установник також перевіряє, що декларований в додатку доступ до всіх захищеним можливостям посвідчений сертифікатом. Для цього він сканує всі містяться в SIS-пакеті виконувані файли і формує загальний список декларованих в них захищених можливостей. Такий же список формується на підставі всіх прикріплених до пакету сертифікатів, після чого обидва списки порівнюються. Якщо в безлічі декларованих виконуваними файлами захищених можливостей є хоч одна, чи не міститься у великій кількості можливостей, засвідчених сертифікатами, то установка додатки переривається. Винятком є група призначених для користувача можливостей - їх використання може не завірятися сертифікатом.
Тут можна відзначити деяке протиріччя: з одного боку, установка непідписаних додатків в Symbian 9.x заборонена, а з іншого, - програма, що не використовує захищених можливостей або обмежується доступом лише до категорії призначених для користувача можливостей, не потребує сертифікаті. Таке протиріччя дозволяється підписанням SIS-пакета сертифікатом-пустушкою, що не засвідчує будь-яких можливостей. Такий сертифікат може згенерувати сам розробник за допомогою утиліт SDK. Сертифікат-пустушка в англомовній документації позначається як «self-generated certificate», а підписаний з його допомогою файл - «self-signed». Так як отримати сертифікат self-generated може будь-хто, додатки, що встановлюються за допомогою пакетів self-signed, відносяться до категорії ненадійних.
Список захищених можливостей, які не потребують запевнення сертифікатом при установці, в дійсності задається у файлі \ system \ data \ swipolicy. ini і може змінюватися виробником пристроїв. Передбачається, що в нього входять всі можливості з категорії призначених для користувача, і я не зустрічав пристрою, де це було б не так. Але ось сам склад групи призначених для користувача можливостей не так давно змінився - в нього увійшла можливість Location, раніше ставилася до системних. На пристроях з платформою S60 і S60 FP1 можливість Location в файлі swipolicy. ini не згадана, і оголосив її self-signed пакет не буде встановлено.
Крім типу self-generated, є ще один спеціальний тип сертифіката - сертифікат розробника (DevCert, Developer Certificate). Отримати його відносно легко, але підписаний сертифікатом розробника SIS-пакет може бути встановлений лише на ті пристрої, за допомогою IMEI яких закодований в сертифікаті. Тому він використовується тільки в процесі розробки і тестування.
Питаннями сертифікації додатків для Symbian OS займається організація під назвою Symbian Signed. На їхньому сайті www. symbiansigned. com є сервіс Open Signed Online, де ви зможете підписати свій SIS-файл сертифікатом розробника для одного пристрою (вказавши його IMEI). При цьому ви зможете сформувати список завіряються їм захищених можливостей
з числа призначених для користувача і системних. Заповнивши всі форми і відправивши SIS-файл на сервер, ви через деякий час отримаєте підписаний SIS-пакет на вказану поштову адресу E-mail. Сам файл сертифіката розробника ви отримати не зможете.
Використання сервісу Open Signed Online накладає ряд обмежень на що містяться в SIS-пакеті програми. Головним з них є використання значення UID3 (SID) з незахищеного діапазону (0хЕ0000000 ... 0xEFFFFFFF).
Власники ідентифікатора видавця (Publisher ID) мають можливість за допомогою сервісу Open Signed Offline замовити сертифікат розробника з будь-якими захищеними можливостями, крім групи можливостей виробника. Такий сертифікат може дозволяти установку на кілька пристроїв (вказується список IMEI - до 1000 номерів), а також отримати сам файл сертифіката та підписувати їм SIS-файли самостійно.
Звичайний сертифікат, який не має обмежень по IMEI і відкриває доступ до всіх необхідних захищеним можливостям, на руки не видається. Підписати їм ваше додаток можна буде, тільки скориставшись однією з програм сертифікації Symbian Signed. Для цього також потрібно ідентифікатор видавця. Крім того, чим більше важливі захищені можливості декларуються додатком, тим більше вимогливу і дорогу програму сертифікації доведеться пройти.
Додатки, що встановлюються за допомогою SIS-пакетів, підписаних сертифікатом розробника або звичайним сертифікатом, відносяться до категорії надійних. Працюючи з такими додатками - злом смартфона неможливий.