Logo uk.androidermagazine.com
Logo uk.androidermagazine.com

Від google до телефону: термін служби оновлення безпеки для Android

Зміст:

Anonim

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

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

Спочатку ви виправите Android

Android - складний звір. Більше 5 мільйонів рядків коду існує, щоб допомогти компаніям, які змушують мобільні продукти ставати і працювати з повноцінною платформою додатків, включаючи доступ до Google Play та інших служб. Це не те, що можна використовувати як є; ці компанії витрачають багато часу на те, щоб надати Android, призначений для злиття з іншим програмним забезпеченням, яке вони можуть використовувати для створення приємної гомогенізованої операційної системи.

У Google є деякі правила щодо того, як це робити, якщо компанія хоче включити свої послуги, але виробники мають довгий привід про те, як будується кінцевий продукт.

У цьому коді оживає патч безпеки. Хтось, будь то дослідник безпеки або просто середній Джо, виявляє недолік у телефоні, який може бути використаний для зменшення рівня захисту пристрою. Якщо цей недолік не є чимось створеним OEM, команда Android має завдання дізнатися, що відбувається, чому це відбувається, і як виправити це найменш руйнівним чином.

Якщо виявлено недолік безпеки і він є частиною базового коду Android, Google має виправити його, а потім надіслати його всім іншим.

Часто недолік - це не те, що Google може виправити. Як і ми, Google не має доступу до вбудованого програмного забезпечення від компаній, що виробляють апаратні засоби, такі як Qualcomm або LG. Якщо недолік потрібно вирішити на апаратному рівні, є хороший шанс, що компанія, яка постачає деякі використовувані компоненти, спочатку повинна внести зміни. У такому разі ці зміни пересилаються в Google, щоб він міг бачити, що потрібно зробити для їх розміщення в коді Android.

Ці зміни потребують часу, особливо якщо задіяний постачальник обладнання. Існує виправлення та тестування та більше виправлення та більше тестування для кожної вади, виправленої в патчі. Після того, як Google переконається, що вони мають дійсне виправлення недоліків у безпеці, кожній компанії, яка робить телефони Android, надається ранній доступ (принаймні за 30 днів до того, як Google відкриє патч), щоб вони могли приступити до роботи.

Фаза друга

Саме тут проводиться більша частина роботи. Google може самостійно писати та підтримувати Android, але основну частину пристроїв, які ним користуються, не створює Google. Тут також включені ті, що є - телефони Pixel. Апаратне забезпечення Google є клієнтом Android так само, як Samsung або Motorola.

У Samsung та LG мобільної індустрії, які вносять багато змін у Android, багато роботи, коли настав час об’єднати патч.

Усі ці компанії приступають до роботи над декількома речами, як тільки мають новий код від Google. Перша - і, можливо, найважливіша - частина - визначення того, яка частина патча не потрібна. І в кожному патчі є багато речей, які одна компанія може вільно ігнорувати.

Наприклад, якщо NVIDIA довелося внести зміни, які відсуваються назад в Android, жодним телефонам Samsung не потрібна ця частина патча. Більш крайнім прикладом можуть бути зміни, які внесли BlackBerry або Samsung, які вже вирішують проблему по-іншому. Дізнатися, що потрібно, а що ні, може зайняти багато часу, особливо коли компанія вносить значні зміни до певних частин операційної системи. Google досліджував звинувачення в тому, що виробники виробника надсилають патчі безпеки, які не стосуються деяких речей, які вони повинні мати, і ось що він знайшов.

Не кожна частина патча потрібна на кожному телефоні.

Як тільки це буде зроблено, решту патча потрібно об'єднати у користувальницький користувальницький код Android, після чого створити та протестувати. "Вбудована і перевірена" частина може стати великим головним болем, якщо виправлення не можна просто застосувати, оскільки воно торкається файлів, якими користується або використовує спеціальний код. Ми бачимо, що теж багато. Щоразу, коли Bluetooth або Wi-Fi буде виправлено, будь то апаратне забезпечення або програмне забезпечення, яке знаходиться за ними, він торкнеться коду, зміненого великим OEM, який робить більш привабливою операційну систему, ніж "запас" Android. Є багато частин Android, до яких OEM може торкнутися.

Як тільки інженери Samsung або іншого постачальника отримують операційну систему, яка завантажується і працює, її потрібно перевірити. І ще тестували. Тестування може включати залучення мережевих інженерів від різних операторів, а також повернення Google і / або виробника будь-якого компонента в суміш. Це має бути правильно. Патч, що розсилається тисячам і тисячам телефонів, може потенційно зруйнувати мережу оператора, з'їсти обмеження даних кожного користувача або навіть змусити сам телефон перестати працювати. Будь-яке подібне неприйнятне і його потрібно знайти, перш ніж він покине будівлю.

Виступ

Компанія, яка створила ваш телефон, Google і, можливо, ваш оператор працюють разом, щоб підготувати масове оновлення в ефірі. Якщо ви коли-небудь бачили URL-адресу, яка використовується для завантаження виправлення, ви помітите, що у веб-адресі є "Google". Це тому, що двигун у вашому телефоні, який може отримати та обробити оновлення OTA, шукає дуже специфічне місце для виправлення. Потрібно знати, що патч на 100% правильний і підписаний правильним цифровим підписом. Він перевірить це ще раз, коли патч повністю завантажений.

Якщо ви купили телефон у оператора, він вдосталь вводить протягом усього терміну служби виправлення.

У вашого оператора можуть бути деякі правила про те, коли і хто може завантажити патч, як тільки він з’явиться, якщо їх ім’я є на телефоні. Такі компанії, як Samsung або LG, виготовляють власні версії своїх найпопулярніших моделей для кожного оператора, які мають багато вкладів у те, як це робиться. Це слід, оскільки його назва вказана на коробці. Це може розчарувати, але це має сенс. Якщо всі в Пітсбурзі (наприклад), у яких є телефон Samsung Galaxy S8, намагаються одночасно отримати патч 800 Мб, мережа розвалюється на місцях. Ваш оператор зробить усе, що потрібно для того, щоб зберегти мережу живою.

Google також робить своєрідне затримка розгортання OTA. Конкретна кількість користувачів отримає виправлення, і після встановленої кількості часу Google визначає, чи мали цей користувач хороший досвід чи поганий. Якщо все піде добре, більша кількість користувачів отримає виправлення у другій хвилі. Це повторюється кілька разів перед відкриттям шлюзів. Користувачі, які не бажають чекати цього остаточного тестування, можуть завантажити вручну виправлення через налаштування свого пристрою.

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

У ваших руках

Патч завантажується на ваш телефон і перевіряється як правильний матеріал. Старіші версії Android мають спеціальний кеш, який є розділом вашої пам’яті, який розділений для таких речей, як файл оновлення; речі, які є лише тимчасово по телефону. Телефони, які використовують функцію безперервного оновлення Android (яка має бути більшості телефонів під керуванням Android Nougat при продажу), "ковзають" завантажені файли в так звані слоти. В будь-якому випадку вам потрібно мати достатньо місця для того, щоб файл OTA був вилучений і працював над ним.

Телефони зі старими версіями Android можуть мати спеціальний розділ кешу, який використовується під час оновлення. Він повинен бути в 2, 5 рази більшим за завантажений файл OTA.

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

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

Багато файлів на вашому телефоні - це справді архіви, що містять багато файлів, включаючи інші архіви файлів. Це складно.

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

Залишилося лише переконатися, що все так само, як вам це подобається, і у налаштуваннях вашого телефону у вас є нова дата для версії Security Patch. Тепер ви готові до наступного оновлення!