Sadržaj:
Početkom svakog mjeseca Google objavljuje mjesečni Android Security Bulletin i počinje slati ažuriranja na Pixel telefone. Odlično je što je tvrtka transparentna o onome što se događa i kako se stvari popravljaju, čak i ako niste tip osobe koja voli čitati izvorni kod.
Puno je posla koji ulazi u te zakrpe prije nego što se objavi, a još je više posla prije nego što je riječ o drugim telefonima - ako uopšte dolaze. Pogledajmo kako se izrađuje kobasica i pokušajmo bolje razumjeti zašto su vremenske trake sigurnosnih zakrpa malo zamagljene.
Prvo popravite Android
Android je komplicirana zvijer. Preko 5 milijuna linija koda postoji kako bi se pomoglo tvrtkama koje mobilne proizvode podižu i rade s kompletnom aplikacijskom platformom, uključujući pristup Google Playu i drugim uslugama. To nije nešto što se može koristiti kao što jest; ove tvrtke provode puno vremena pokušavajući prilagoditi Android prilagođenom spajanju s drugim softverom koji mogu koristiti za stvaranje lijepog homogeniziranog operativnog sustava.
Google ima određena pravila o tome kako to treba učiniti ako tvrtka želi uključiti svoje usluge, ali proizvođači imaju dugu opciju o načinu izrade konačnog proizvoda.
Taj je kod oživio sigurnosni zakrpa. Netko, bilo to istraživač sigurnosti ili samo prosječni Joe, otkrije nedostatak u telefonu koji bi se mogao koristiti za smanjenje razine zaštite uređaja. Ako ta mana nije nešto što je stvorio OEM, Androidov tim ima zadatak otkriti što se događa, zašto se događa i kako to riješiti na najmanje remetilan način.
Ako se utvrdi nedostatak sigurnosti i dio je osnovnog Android koda, Google to mora riješiti, a zatim poslati svima drugima.
Često, mana nije nešto što Google može ispraviti. Kao i mi, Google nema pristup firmveru kompanija koje proizvode hardver poput Qualcomma ili LG-a. Ako se nedostatak treba riješiti na hardverskoj razini, postoji dobra šansa da će tvrtka koja isporuči neke od korištenih komponenti prvo morati izvršiti promjene. U tom se slučaju te izmjene prosljeđuju Googleu kako bi vidio što treba učiniti kako bi ih prilagodio Androidovom kodu.
Za ove su izmjene potrebno vrijeme, posebno ako je uključen dobavljač hardvera. Postoji zakrpa i testiranje te više zakrpa i više testiranja za sve nedostatke koji se nađu u zakrpi. Nakon što se Google uvjeri da imaju valjano rješenje sigurnosnog propusta, svakoj tvrtki koja pravi Android telefone daje se rani pristup (najmanje 30 dana prije nego što Google objavi zakrpu) kako bi mogli započeti s radom.
Druga faza
Ovdje se radi najveći dio posla. Google može pisati i održavati Android sam, ali većinu uređaja koji ga koriste nije napravio Google. Ovdje su također uključeni i oni koji su - Pixel telefoni. Googleov hardver kupac je Androida na isti način kao što je to Samsung ili Motorola.
Samsung i LG mobilne industrije, koji uvelike mijenjaju Android, imaju mnogo posla kada je vrijeme za spajanje zakrpe.
Sve ove tvrtke rade na nekoliko stvari čim imaju novi kod od Googlea. Prvi - i možda najvažniji - dio je određivanje koji dio flastera nije potreban. I ima puno stvari u svakom zakrpu koje pojedina kompanija može slobodno ignorirati.
Na primjer, ako je NVIDIA morala izvršiti promjene koje se guraju natrag u Android, nijedan Samsung telefon neće trebati taj dio zakrpe. Ekstremniji primjer bile bi promjene koje su BlackBerry ili Samsung napravili koje već rješavaju problem na drugačiji način. Otkrivanje onoga što je potrebno, a što nije, može dugotrajno, pogotovo kada tvrtka izvrši velike promjene u određenim dijelovima operativnog sustava. Google je istraživao optužbe da OEM proizvođači šalju sigurnosne zakrpe koje nisu bavile nekim stvarima koje bi trebale imati, a to je utvrdilo.
Nije potreban svaki dio zakrpe na svakom telefonu.
Nakon što je to učinjeno, ostatak zakrpe treba spojiti u proizvođačev prilagođeni Android kod, zatim sastaviti i testirati. "Izgrađeni i testirani" dio može postati velika glavobolja ako se zakrpa ne može primijeniti samo jer dodiruje datoteke koje prilagođeni kôd koristi ili ovisi o njima. I to vidimo puno. Kad god se Bluetooth ili Wi-Fi zakrpe, bilo da se radi o hardveru ili softveru koji stoji iza njih, dodirnut će kôd koji je izmijenio veliki OEM koji čini draži operativni sustav od "zaliha" Androida. Postoji puno dijelova Androida koje se OEM-ove mogu dodirnuti.
Jednom kada inženjeri tvrtke Samsung ili nekog drugog dobavljača dobiju operativni sustav koji se podiže i pokreće, treba ga testirati. I još malo testirali. Ispitivanje može uključivati vraćanje mrežnih inženjera od različitih prijevoznika, kao i vraćanje Googlea i / ili proizvođača bilo koje komponente u miks. To mora biti ispravno. Zakrpa poslana tisućama i tisućama telefona mogla bi potencijalno osakatiti mrežu mobilnog operatera, pojesti ograničenje podataka svakog korisnika ili čak prouzrokovati da sam telefon prestane raditi. Bilo što takve vrste je neprihvatljivo i mora se pronaći prije nego što napusti zgradu.
Prepoznavanje
Tvrtka koja je napravila vaš telefon, Google i možda vaš prijevoznik rade zajedno kako bi pripremili masovno ažuriranje putem zraka. Ako ste ikada vidjeli URL koji se koristi za preuzimanje zakrpe, primijetit ćete da na web adresi ima "Google". To je zato što motor unutar vašeg telefona koji može dohvatiti i obraditi OTA ažuriranje traži na vrlo specifičnom mjestu zakrpu. Treba znati da je zakrpa 100% ispravna i potpisana pravim digitalnim potpisom. Ponovno će to provjeriti nakon što se patch potpuno preuzme.
Ako ste telefon kupili od prijevoznika, on ima mnogo unosa tijekom čitavog trajanja zakrpe.
Vaš prijevoznik može imati neka pravila o tome kada i tko može preuzeti zakrpu nakon što je uživo, ako je njihovo ime na telefonu. Tvrtke poput Samsunga ili LG-a izrađuju prilagođene verzije svojih najpopularnijih modela za svaki prijevoznik, što ima puno uloga u postupanje. Trebalo bi otkad je njegovo ime na kutiji. To može biti frustrirajuće, ali ima smisla. Ako svi u Pittsburghu (na primjer) koji imaju Samsung Galaxy S8 telefon pokušaju istovremeno dohvatiti zakrpu od 800 MB, mreža će se raspasti na mjestima. Vaš prijevoznik će učiniti sve što treba kako bi održao mrežu živom.
Google također postavlja svojevrsno zadržavanje na rollouts OTA. Određeni broj korisnika dobit će zakrpu i nakon određenog vremena Google utvrđuje jesu li ti korisnici imali dobro ili loše. Ako sve pođe dobro, veći broj korisnika dobit će zakrpu u drugom valu. To se ponavlja nekoliko puta prije otvaranja poplavnih vrata. Korisnici koji ne žele čekati ovo posljednje testiranje mogu ručno preuzeti zakrpu kroz postavke uređaja.
Kad dođe vaš red i dajete vašem telefonu zeleno svjetlo da preuzme tu datoteku, ona se preuzima i tada vaš telefon preuzima kontrolu.
U tvojim rukama
Flaster se preuzima na vaš telefon i provjerava kao prava stvar. Starije verzije Androida imaju namjensku predmemoriju, koja je odjeljak vašeg prostora za pohranu podijeljen na stvari poput ažurirane datoteke za život; stvari koje su samo privremeno na telefonu. Telefoni koji koriste Androidovu značajku neprimjerenog ažuriranja (koja bi na većini telefona trebala imati Android Nougat) "skidaju" preuzete datoteke u utore koji se nazivaju. U oba slučaja morate imati dovoljno prostora za izdvajanje i rad na OTA datoteci.
Telefoni sa starijim verzijama Androida mogu imati namjensku predmemoriju particije koja se koristi tijekom ažuriranja. Ona mora biti 2, 5 puta veća od OTA datoteke koju ste preuzeli.
Softver za ažuriranje OTA na vašem telefonu dio je Androida. Skripta u preuzetoj datoteci govori kako pronaći datoteke koje je potrebno izmijeniti i kopirati te datoteke u predmemoriju uređaja ili u određeni utor. Zatim uspoređuje izvorne datoteke na vašem telefonu s datotekama koje ste preuzeli. Neki mogu biti jednostavni swap - izvadite datoteku X iz telefona i izbrišite je, a zatim je zamijenite datotekom X iz preuzimanja s OTA. Ostale nisu puna datoteka i sadrže samo male specifične promjene. Softver za ažuriranje i instalacijski program u vašem telefonu zna što ovdje učiniti.
Mnoge su datoteke u Androidu, posebno aplikacije i knjižnice softvera doista puno datoteka komprimiranih u posebnu arhivu. Možete uzeti APK datoteku i promijeniti je u.zip datoteku i otvoriti je u sustavu Windows. Ponekad je te arhive potrebno otvoriti, a njihove dijelove zamijeniti novim verzijama za sigurnosnu zakrpu. Zbog toga vam je potreban taj radni prostor u vašoj particiji predmemorije - tu se izuzimaju te datoteke.
Mnogo datoteka na vašem telefonu doista su arhive koje sadrže mnogo datoteka, uključujući i ostale arhive datoteka. Komplicirano je.
Jednom kada se svaka datoteka u OTA ažuriranju obradi i promijene kopije sistemskih datoteka, vrijeme je da pokrenete sustav s njima. To se događa kada vas telefon zatraži da ponovno pokrenete sustav nakon što obradi primljeni OTA, jer često postoje datoteke koje je potrebno zakrpati, ali se koriste dok telefon radi. Možda ćete vidjeti zaslon na kojem se vidi kako se tijekom ponovnog pokretanja radi, ili možete jednostavno vidjeti logotip Androida. U oba se slučaja datoteke provjeravaju, premještaju na svoje mjesto i ponovo provjeravaju. Stare datoteke se čuvaju u predmemoriji za slučaj da postoji problem i ne možete se pokrenuti s novim datotekama.
Ostalo vam je da provjerite da li je i dalje sve kako vam se sviđa, a noviji datum verzije Security Patch u postavkama telefona. Sad ste spremni za sljedeće ažuriranje!