Як працюють щомісячні оновлення системи безпеки Android

click fraud protection

Ви коли-небудь замислювалися, як працюють щомісячні оновлення системи безпеки Android? Більше не дивуйтеся, адже у нас є лише підручник, щоб ви могли зрозуміти весь процес.

З серпня 2015 року Google публікує щомісячні бюлетені безпеки. Ці бюлетені безпеки містять список виявлених уразливостей безпеки, які було виправлено та впливають на фреймворк Android, ядро ​​Linux та інші компоненти постачальника із закритим кодом. Кожна вразливість у бюлетенях була виявлена ​​Google або розкрито компанії. Кожна вразливість у списку має номер загальних вразливостей і вразливостей (CVE) разом із пов’язаними посилання, тип уразливості, оцінка серйозності та версія AOSP, на яку впливає (якщо застосовно). Але незважаючи на, здавалося б, спрощений процес, за яким працюють виправлення безпеки Android, насправді існує дещо складний туди-сюди за лаштунками, який дозволяє вашому телефону отримувати щомісяця або (сподіваємось) майже щомісяця патчі.

Що насправді робить патч безпеки?

Можливо, ви помітили, що фактично кожен місяць 

два рівні патчів безпеки. Формат цих патчів – РРРР-ММ-01 або РРРР-ММ-05. Хоча РРРР і ММ, очевидно, представляють рік і місяць відповідно, «01» і «05» насправді не означають день місяця, в якому було випущено цей рівень виправлення безпеки. Натомість версії 01 і 05 насправді є двома різними рівнями виправлення безпеки, які випускаються в один і той самий день щомісяця. Рівень виправлення з 01 у кінці містить виправлення в інфраструктурі Android, але ні патчі постачальника або вихідні патчі ядра Linux. Патчі виробника, як ми визначили вище, стосуються виправлень компонентів із закритим кодом, таких як драйвери для Wi-Fi і Bluetooth. Рівень виправлення безпеки, позначений -05, містить ці виправлення постачальника, а також виправлення в ядрі Linux. Подивіться на таблицю нижче, яка може допомогти зрозуміти.

Щомісячний рівень виправлення безпеки

2019-04-01

2019-04-05

Містить квітневі виправлення Framework

Так

Так

Містить квітневі патчі постачальника + ядра

Немає

Так

Містить виправлення March Framework

Так

Так

Містить березневі патчі постачальника + ядра

Так

Так

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

  • Google Pixel
  • Huawei
  • LG
  • Motorola
  • HMD Global
  • Samsung

Хронологія виправлення безпеки від Google для вашого телефону

Виправлення безпеки мають часовий графік, який охоплює приблизно 30 днів, хоча не кожен OEM може скористатися повною довжиною цього терміну. Давайте подивимось на Виправлення безпеки від травня 2019 року наприклад, і ми можемо розбити всю хронологію створення цього патча. Компанії, як Необхідний отримати оновлення безпеки того ж дня як Google Pixel, тож як вони це роблять? Коротка і проста відповідь полягає в тому, що вони є Партнер Android. Бюлетень безпеки за травень 2019 року був опублікований 6 травня, і Google Pixels, і Essential Phone отримають оновлення майже негайно.

Що означає бути партнером Android

Не будь-яка компанія може бути Android-партнером, хоча, за загальним визнанням, таким є практично кожен великий OEM-виробник Android. Партнери Android – це компанії, яким надається ліцензія на використання бренду Android у маркетингових матеріалах. Їм також дозволено надавати мобільні служби Google (GMS – це майже всі служби Google), якщо вони відповідають вимогам, викладеним у Compatibility Definition Document (CDD) і пройти Compatibility Test Suite (CTS), Vendor Test Suite (VTS), Google Test Suite (GTS) і кілька інших тестів. Існують суттєві відмінності в процесі виправлення безпеки для компаній, які не є партнер Android.

  • Патчі Android Framework стають доступними для них після того, як їх об’єднано в AOSP за 1-2 дні до випуску бюлетеня безпеки.
  • Виправлення ядра Linux, щойно вони стануть доступними, можна вибрати як вишеньку.
  • Виправлення від постачальників SoC для компонентів із закритим кодом доступні залежно від угод із постачальником SoC. Зауважте, що якщо постачальник надав OEM доступ до вихідного коду компонентів із закритим вихідним кодом, то OEM може вирішити проблему самостійно. Якщо OEM не має доступу до вихідного коду, він повинен дочекатися виправлення від постачальника.

Якщо ви є партнером Android, вам стане набагато легше. Партнери Android отримують сповіщення про всі проблеми з інфраструктурою Android і проблемами з ядром Linux принаймні за 30 днів до публікації бюлетеня. Google надає виправлення для всіх проблем для OEM-виробників для об’єднання та тестування, хоча виправлення компонентів постачальника залежать від постачальника. Наприклад, виправлення для проблем фреймворку Android, про які йдеться в бюлетені безпеки за травень 2019 року, були надані партнерам Android принаймні ще 20 березня 2019 року*. Це а багато додаткового часу.

*Примітка: Google може, і часто робить, оновлювати виправлення для останнього бюлетеня безпеки до загального випуску. Ці оновлення можуть статися, якщо виявлено нові вразливості та помилки, якщо Google вирішить видалити певні виправлення зі щомісячного бюлетеня через порушення критичних компонентів, якщо Google оновлює патч, щоб усунути помилку, створену попередньою версією патча, та інші причини.

Чому мені потрібно так довго чекати, щоб отримати виправлення безпеки на своєму телефоні?

Хоча це правда, що партнери Android (читай: усі основні OEM-виробники) отримали виправлення безпеки задовго до багато хто боляче усвідомлює, що вони, ймовірно, не отримають оновлення безпеки протягом кількох місяців після його випуску реліз. Як правило, це зводиться до однієї з чотирьох причин.

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

Хоча всі ці вагомі причини для компанії не випускати виправлення безпеки, кінцевий користувач не завжди дбає про будь-яку з них. Слід визнати, що кінцевий користувач також не завжди піклується про патчі безпеки, хоча вони повинні. Такі ініціативи, як Project Treble, розширений Linux LTS, і Проект Mainline допомагають усунути технічні труднощі, пов’язані з об’єднанням цих виправлень безпеки, але цього недостатньо, щоб змусити OEM-виробників постійно прагнути випускати оновлення. Завдяки Generic Kernel Image, або GKI, постачальникам SoC і OEM-виробникам буде легше об’єднувати вихідні патчі ядра Linux, хоча ми, швидше за все, не побачимо перші пристрої з GKI до наступного року.

Але цікава інформація, яку більшість не знають, полягає в тому, що основні виробники комплектного обладнання повинен забезпечити «щонайменше чотири оновлення безпеки» протягом року після запуску пристрою та 2 роки оновлень загалом. Google не підтвердила ці конкретні умови, але компанія підтвердила, що вони «працювали над внесенням виправлень безпеки в [свої] OEM-угоди». Що стосується пристроїв Android Enterprise Recommended (AER), пристрої повинні отримувати оновлення безпеки протягом 90 днів після випуску протягом 3 років. Для придбання потрібні міцні пристрої AER 5 років оновлень безпеки. Пристрої Android One повинні отримувати оновлення безпеки щомісяця протягом 3 років.

Що міститься в патчі безпеки?

Виправлення системи безпеки — це лише ще одне оновлення, хоча, як правило, набагато менше зі змінами окремих фреймворків і системних модулів, а не загальносистемних покращень чи змін. Щомісяця Google надає виробникам обладнання ZIP-файл, який містить виправлення для всіх основних версій Android, які наразі ще підтримуються, а також пакет тестів безпеки. Цей набір тестів допомагає OEM-виробникам виявляти прогалини в виправленнях безпеки, щоб вони нічого не пропустили і що патчі були об’єднані належним чином. Протягом місяця Google може вносити незначні зміни, наприклад, вирішувати, що один конкретний патч є необов’язковим, зокрема, якщо виникнуть проблеми з його впровадженням.

А як щодо користувальницьких ПЗУ?

Якщо ваш смартфон не отримує багато оновлень безпеки, це не обов’язково означає, що вам краще перейти на спеціальну ПЗУ. Хоча правда, що ви отримуватимете оновлення безпеки, які інакше б не отримали, це лише половина історії. Розблокування завантажувача робить вас сприйнятливими до фізичних атак на ваш пристрій, навіть якщо з боку програмного забезпечення безпека посилена. Це не означає, що ви не повинні використовувати користувацькі ПЗУ, просто є інші проблеми, коли справа доходить до їх використання, які не стосуються, якщо ваш завантажувач заблоковано. Якщо вас більше турбує сторона програмного забезпечення, то вам все одно краще мати користувацьку ПЗУ, яка часто отримує виправлення безпеки.

Але пам’ятаєте, ми говорили про різницю між патчами YYYY-MM-01 і YYYY-MM-05? Рівень виправлення -05 містить виправлення ядра Linux, а також виправлення постачальників - виправлення, які застосовуються до програмного забезпечення із закритим кодом. Це означає, що розробники спеціального ПЗУ залежать від того, для якого OEM вони розробляють, і від того, випускає OEM оновлені блоки чи ні. Це добре для пристроїв, які все ще оновлюються виробником, але для пристроїв, які не оновлюються, застосовані виправлення можна застосувати лише до фреймворку Android і ядра Linux. Ось чому LineageOS Інтерфейс довіри показує два рівні виправлення безпеки: один — платформа, інший — постачальник. Незважаючи на те, що спеціальні ПЗУ для непідтримуваних пристроїв не можуть повністю інтегрувати всі останні виправлення, вони будуть більш безпечними, ніж старіші, застарілі ПЗУ.