Как работят месечните актуализации на корекцията за сигурност на Android

Някога чудили ли сте се как работят месечните актуализации на корекцията за сигурност на Android? Не се чудете повече, тъй като ние имаме само началната част, за да разберете целия процес.

Google публикува месечни бюлетини за сигурността от август 2015 г. Тези бюлетини за сигурността съдържат списък с разкрити уязвимости в сигурността, които са коригирани и засягат рамката на 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

Съдържа корекции на априлската рамка

да

да

Съдържа априлски доставчик + кръпки на ядрото

Не

да

Съдържа мартенски корекции на рамката

да

да

Съдържа мартенски доставчик + кръпки на ядрото

да

да

Разбира се, някои производители на оригинално оборудване може да изберат да включат свои собствени корекции и актуализации в актуализации за сигурност. Повечето производители на оригинално оборудване имат своя собствена представа за 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 в маркетингови материали. Освен това им е разрешено да доставят мобилни услуги на Google (GMS - отнася се за почти всички услуги на Google), стига да отговарят на изискванията, посочени в Compatibility Definition Document (CDD) и преминете Compatibility Test Suite (CTS), Vendor Test Suite (VTS), Google Test Suite (GTS) и няколко други теста. Има различни разлики в процеса на корекция за сигурност за компании, които не са Android партньор.

  • Пачовете на рамката на Android са достъпни за тях, след като бъдат обединени в AOSP 1-2 дни преди пускането на бюлетина за сигурността.
  • Upstream корекциите на ядрото на 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, и Основна линия на проекта помагат за премахване на техническите трудности при обединяването на тези корекции за сигурност, но това не е достатъчно, за да накара OEM производителите да се стремят постоянно да пускат актуализации. С Generic Kernel Image, или GKI, доставчиците на SoC и OEM ще имат по-лесно време да сливат корекции на Linux ядрото нагоре, въпреки че вероятно няма да видим първите устройства с GKI до следващата година.

Но една интересна информация, която повечето не знаят, е, че основните OEM производители трябва да осигурете „най-малко четири актуализации на защитата“ в рамките на една година от пускането на устройството и общо 2 години актуализации. Google не потвърди тези конкретни условия, но компанията потвърди, че е „работила върху изграждането на корекция за сигурност в [техните] OEM споразумения“. Що се отнася до Android Enterprise Recommended (AER) устройства, устройствата трябва да получават актуализации за защита в рамките на 90 дни от пускането в продължение на 3 години. Необходими са здрави AER устройства 5 години на актуализации за сигурност. Устройствата с Android One трябва да получават актуализации за сигурност всеки месец в продължение на 3 години.

Какво има в корекцията за сигурност?

Корекцията за сигурност е просто още една актуализация, макар и като цяло много по-малка с промени в отделни рамки и системни модули, а не подобрения или промени в цялата система. Всеки месец Google предоставя на OEM устройства zip файл, който съдържа корекции за всички основни версии на Android, които в момента все още се поддържат, заедно с тестов пакет за сигурност. Този тестов пакет помага на OEM производителите да открият пропуски в корекциите за сигурност, за да сте сигурни, че няма да пропуснат нищо и че пачовете са обединени по подходящ начин. С течение на месеца Google може да направи незначителни ревизии, като например да реши, че една конкретна корекция не е задължителна, особено ако има проблеми с прилагането й.

Какво ще кажете за персонализирани ROM?

Ако вашият смартфон не получава много актуализации за защита, това не означава непременно, че е по-добре да преминете към персонализиран ROM. Въпреки че е вярно, че ще получите актуализации за защита, които иначе не бихте получили, това е само половината от историята. Отключването на вашия буутлоудър ви прави податливи на физически атаки на вашето устройство, дори ако от страна на софтуера сигурността е засилена. Това не означава, че не трябва да използвате персонализирани ROM, просто има други проблеми, когато става въпрос за използването им, които не са приложими, ако вашият буутлоудър е заключен. Ако сте по-притеснени от софтуерната страна на нещата, тогава все още сте по-добре с персонализиран ROM, който получава чести корекции за сигурност.

Но помните ли, че говорихме за разликата между пластирите ГГГГ-ММ-01 и ГГГГ-ММ-05? Нивото на корекция -05 съдържа корекции на ядрото на Linux, както и корекции на доставчика - корекции, приложени към софтуер със затворен код. Това означава, че персонализираните разработчици на ROM са оставени на милостта на OEM, за когото разработват, и дали OEM пуска актуализирани петна или не. Това е добре за устройства, които все още се актуализират от производителя, но за устройства, които не са, приложените корекции могат да се прилагат само към рамката на Android и ядрото на Linux. Ето защо LineageOS' Доверителен интерфейс показва две нива на корекция за сигурност - едното е платформа, другото е доставчик. Въпреки че персонализираните ROM за неподдържани устройства не могат да интегрират напълно всички най-нови корекции, те ще бъдат по-сигурни от по-старите, остарели ROM.