Съдържание:
В началото на всеки месец 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, се опитват да извлекат едновременно 800MB лепенка, мрежата ще се разпадне на петна. Вашият оператор ще направи всичко необходимо, за да поддържа мрежата жива.
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 в настройките на вашия телефон. Сега сте готови за следващата актуализация!