Kodėl nederėtų laužyti, atrakinti ar root'inti savo išmaniojo įrenginio
Jau keletą kartų bendruomenėje matėme diskusijas apie išmaniųjų įrenginių, pagrinde telefonų, „atrakinimą“ – programinį (ir kartais aparatinį) modifikavimą, kai vartotojas įgauna išskirtines teises be išimties pasiekti visą – tiek programinę, tiek aparatinę įrangą.
Kadangi Android operacinė sistema yra kilusi iš Linux, neatsitiktinai šis neribotų privilegijų įgijimo procesas vadinamas rootinimu.
Konkrečių žingsnių kaip tai padaryti sąmojingai nepateiksiu, bet pasistengsiu paaiškinti kodėl nereikėtų užsiimti įkrovos programos (bootloader) atrakinimo ir paprastai po to einančio esamo operacinės sitemos atvaizdo rootinimo arba trečiųjų šalių (paprastai – pavienių asmenų ar jų grupių paruoštų) atvaizdų (Read Only Memory – ROM).
Galbūt pravers visiems, kuriems įdomu kas per daiktas tas rootinimas 🤓
Apskritai, kodėl įmanoma tai padaryti? Europos Sąjungoje draudžiama specialiai riboti konkurenciją, todėl teisėtas įrenginio savininkas turi teisę įrenginį modifikuoti pats ar diegti kitų paruoštą programinę įrangą. Tačiau reikia suprasti, kad vos perjungiamas OEM unlocking
jungiklis, esantis šiek tiek paslėptoje Developer settings
skiltyje, vartotojas sutinka su visomis iš to išplaukiančiomis pasekmėmis ir kelio atgal nėbėra, nes jungiklio reikšmė Samsung įrenginiuose fiksuojama fiziškai ir nebesugrąžinama. Praktikoje tai reiškia:
- Daugiau nebegausite Android / One UI atnaujinimų iš „Samsung“. Automatiniai atnaujinimai (Over the Air – OTA) neįmanomi kai bootloaderis atrakintas, nes tokius atnaujinimus gali tiekti tik paties įrenginio gamintojai, kol nepažeista tiekimo grandinė („atrakinimas“ ją pažeidžia);
- TWRP yra populiarus atvirojo kodo bootloaderis, jo kodas prieinamas viešai, tačiau tai yra priemonė eksperimentavimui, įrenginių tobulinimui ir žvalgymui. Įrankis nėra skirtas kasdieniniam naudojimui, nes nei vienas išmaniųjų įrenginių gamintojas nepateikia „pasirašytos“ versijos, t.y. OTA yra neįmanomi, o visas Android saugos modelis žlunga;
- Android turi savidiagnostikos priemones, todėl pažeistas saugos modelis reikš, kad įrenginyje nebegalėsite naudotis Samsung Knox saugos sprendimais, nustos veikti nemažai programėlių, kurios reikalauja originalios operacinės sistemos – nebeveiks atsiskaitymų paslaugos, tokios kaip „Google Wallet“, nemaža dalis el. bankininkystės programėlių ir kt.;
- Negalėste turėti jokių priekaištų ar lūkesčių „Samsung“ adresu, jei neveiks tam tikras funkcionalumas, nes trečiųjų šalių operacinės sistemos atvaizdai (ROM) neturės visų aparatinės įrangos tvarkyklių (drivers) arba jas įgyvendins nepilnai, su trūkumais ar pan.;
- Tiek atrakinant bootloaderį, tiek ir diegiant ar paskui naudojant rečiųjų šalių ROM'us, galima negrįžtamai sugadinti įrenginį, nes tokia programinė įranga turės neribotą tiesioginę prieigą prie įrenginių, todėl, pvz.: gali būti sugadinta pastoviosios atmintinės išdėstymo lentelė (partition table), dėl ko įrenginys gali nebeįsikrauti be galimybės jį sutaisyti;
- Pažeistas Android saugos modelis reiškia, kad programėlės nebebus patikimai viena nuo kitos izoliuotos, dėlto kyla papildomų grėsmių dėl duomenų nutekėjimo tarp programėlių.
Asmeniniais mokymosi tikslais, jei tikrai įdomu sužinoti kaip Android sukonstruotas ir kaip veikia modernios programinės įrangos tiekimo grandinės (OTA ir t.t.), rekomenduočiau įsigyti atskirą, programavimui ir vystymui specialiai skirtą įrenginį, kuris turėtų lengvai naudojamas programuotojų priemones manipuliuoti atmintinės išdėstymo lentelėmis, nesunkiai rašyti į skirsnius, leistų lengvai parsisiųsti įrenginių tvarkykles. Vienas iš tokių įrenginių pavyzdžių – mini kompiuteris „Raspberry Pi 5“ 🤓
Tekstas pirmiausia publikuotas „Samsung“ bendruomenėje.
Komentuokite paminėdami mane @gytisrepecka@social.gyt.is