Неділя, 22 Грудня, 2024

Android може позбутися вільної інсталяції додатків: Google відмовляється від повних APK

Android може стати ще більш схожим на iPhone в плані несвободи. Google оголосив про відмову від поточного формату APK та перехід на Android App Bundle (AAB). Новий формат має кілька вимог, які значно ускладнюють розповсюдження програм поза межами Google Play та використання сторонніх магазинів додатків. Нововведення почне діяти з серпня 2021 року.

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

При установці APK система звіряє його підпис з підписом уже наявних програм. При невірному підписі або якщо він вже є – програма не установлюється.

App Bundle має на меті зробити додатки «легшими», щоб програми швидше завантажувалися та встановлювалися. Якщо APK містить графіку та інші мультимедійні ресурси для всіх розмірів екранів, то App Bundle генеруються для різних апаратних конфігурацій.

Кожен App Bundle містить лише ті ресурси, що потребує конкретна апаратна конфігурація. Це робить фінальний файл меншим і він швидше завантажується та встановлюється.

Оскільки Android App Bundle відрізняються від APK, не можна просто скопіювати файл AAB на смартфон. Вони не матимуть підпису, який генеруватиме Google Play Store.

Якщо APK підписував сам розробник додатку, то у випадку AAB підписування виконує Google Play Store. Усі нові додатки, що завантажені з серпня 2021 року, будуть підписуватися Google.

Новий підхід до підпису просуває блокування вільного розповсюдження додатків. При цьому концентрація приватних ключів для підпису додатків в руках Google створює єдину точку загрози. Зловмисникам достатньо потрапити на сервери Google Play, щоб отримати доступ до мільйонів приватних ключів.

Оскільки Google контролює створення пакету App Bundle перед фінальним завантаженням користувачем, це означає можливість модифікації програм. Google обіцяє не модифікувати код і не додавати код, але така можливість у пошукового гіганта буде.

В класичних APK програмісти Google не можуть модифікувати додатки, оскільки це потребуватиме зміну підпису. Ключ для підпису класичного APK знаходиться в руках розробника додатку.

З App Bundles у Google можуть непомітно вставити код в додаток та підписати його. В якості захисту від цього Google представив Code Transparency for App Bundles – це можливість розробнику додати власний ключ для підпису. Але цей метод має обмеження, наприклад, він покриває лише код. Залишається можливість модифікувати інші файли та бібліотеки в додатку. Також розробники повинні вручну додавати Code Transparency до кожного створеного ними додатку. Однак навіть при додаванні Code Transparency система Android не перевіряє відповідність захищеного коду тому, що є в додатку.

Перехід на App Bundle також позбавляє розробників можливості вільно розповсюджувати свої програми, оскільки вони не матимуть доступу до ключа, яким підписується програма. Для розповсюдження потрібно буде використовувати інший ключ.

Користувачі не зможуть оновити програму, якщо вони отримали її не з Google Play. Наприклад, Windows 11 отримає можливість встановлювати додатки з магазину Amazon Appstore. Деякі експерти вважають, що через App Bundle розробникам буде не вигідно публікувати свої програми в інших магазинах, окрім Google Play.

3 КОМЕНТАРІ

      • прошу вибачення, як то кажуть, “накипіло”. Вже не можна встановити зі збережених APK більшість додатків…

Comments are closed.

Євген
Євген
Євген пише для TechToday з 2012 року. Інженер за освітою. Захоплюється реставрацією старих автомобілів.

Vodafone

Залишайтеся з нами

10,052Фанитак
1,445Послідовникислідувати
105Абонентипідписуватися