Izvor: B92, 05.Nov.2010, 21:31 (ažurirano 02.Apr.2020.)
A propusti u telefonima?
U nekom trenutku vaš "stari” telefon više nećete moći nadograditi na noviji OS jer je proizvođač tako odlučio. A ispred vas je još barem godina dana ugovora koji vam veže ruke. Hoćete li kupiti novi telefon, ili ćete sačekati da istekne ugovor?
Radoslav Dejanović
Izvor: Monitor.hr
Sigurnosni propusti na računalima poznata su i gotovo svakodnevna stvar. Operacijski sustavi (pa i aplikacije) velike su, komplicirane stvari. >> Pročitaj celu vest na sajtu B92 << Kompleksne, sa hrpom koda – a svaki iskusniji programer reći će vam kako je teško napisati više od desetak, dvadeset linija koda i pritom biti siguran da se negdje nije sakrila kakva greška.
Sad zamislite što se sve nalazi u programima dugim na desetke milijuna linija koda koliko, primjerice, ima tipičan OS. Potraga za i ispravljanje grešaka sastavni je dio svakog imalo značajnijeg softverskog projekta, a na velikim projektima možete naći i poveće timove ljudi zaduženih samo za testiranje programa i traženje pogrešaka u kodu. Danas svatko (pametan) radi redoviti "update” svojih Windowsa (ili Linuxa, ili Macintosha – razlike nema). Proizvođač OS-a više (Linux) ili manje (Windows, OS X) ažurno objavljuje zakrpe otkrivenih grešaka; prednost Linuxa ovdje je samo u tome što zakrpe ne moraju proći kroz organizacijske filtere i poslovne procese kakve zahtjevaju Microsoft i Apple, pa se zakrpe obično objavljuju dan ili dva nakon otkrića problema, nekad čak istog dana.
A kad ste zadnji put "apdejtali” svoj mobilni telefon?
Čak i ako ste vlasnik relativno starog i oronulog mobilnog telefona, u sličnoj ste situaciji kao i vlasnik novog, krasnog, blještavog i multidodirljivog Androida: u džepu imate malo računalo. Faktički svaki mobilni telefon kojeg koriste u GSM mreži je upravo to: računalo. Ima procesor, ima memoriju, ima mjesto za spremanje podataka, u sebi sadrži ekvivalent operacijskog sustava (u slučaju modernih PametnoTelefona to je OS svojstvima sukladan onome na vašem radnom računalu).
Arhitekturalno, zapravo nema velike razlike između starih "cigli” i modernih pametnjakovića – samo što stariji telefoni puno više skrivaju tu činjenicu od korisnika, pa vam se čini kako se njima može samo telefonirati; starije generacije mobilnih telefona nisu imale dovoljno jak hardver koji bi podržao sve mogućnosti koje moderni telefoni imaju, i to je jedini pravi razlog zašto na njima niste mogli imati ništa više od nekakvog kalendara i poneke jednostavne razbibrige.
Vrlo nedavno je jedan istraživač odlučio objaviti kod kojim je moguće "napasti” Google Android 2.1 OS (točnije, WebKit komponentu) koji pogoni nezanemariv broj modernih telefona. Vijest je dočekana sa nevjericom i posve opravdanim strahom, no to nije prvi put da netko otkrije nešto što može naškoditi telefonu. Daleko manje poznato javnosti je da su se sigurnosni problemi javljali i na onim starim telefonima za koje ne biste niti pretpostavili da bi ih mogli imati. Pričam o vremenu od prije više od desetljeća, kada pametnih telefona faktički još nije ni bilo, a zasloni telefona u boji bili su pravo čudo moderne tehnologije.
Prisjetimo li se činjenice da su i tada ti telefoni bili zapravo računala sa svojim softverom (a softver može – neki kažu mora – sadržavati greške), zapravo je logično očekivati probleme.
Jedan od softverskih sigurnosnih problema tog vremena bio je vezan uz SMS poruke: određene modele telefona bilo je moguće "zablesirati” slanjem poruke u kojoj je bio određeni sadržaj; takvi su se problemi kretali od relativno benignih – zaslon telefona bi se "zablesirao” i trebalo je isključiti pa uključiti uređaj kako bi se vratio u normalu, pa sve do vrlo ozbiljnih – telefon bi, unatoč isključivanju i uključivanju, bio ponovo zablesiran već prilikom ulaska u popis SMS poruka i jedini način za popravak bio je odnijeti uređaj u servis kako bi se ručno obrisala SMS poruka koja tjera telefon u ludilo (jer je korisnik, logično, sam ne može obrisati).
Efektivno, bio je to pravi mobilni DoS napad: neki šaljivac vam pošalje SMS poruku u kojoj je tek nekoliko neobičnih znakova, nakon čega više ne smijete pristupati SMS porukama da vam se telefon ne "zablesira” - i tako do servisa.
Razlog takvom problemu u stvari je identičan problemima koje srećemo danas: softver koji pogoni telefon imao je propust u dijelu koji obrađuje SMS poruke, i netko lukav pronašao je način kako se "zabaviti” sa (ne)prijateljima.
Sigurnosni propusti u telefonima, dakle, nisu nova stvar. Oni su prije bili rijeđi samo zato što su telefoni svojim korisnicima davali puno, puno manje slobode: sve što je korisnik mogao bilo je razgovarati i slati SMS poruke. Pa eto, čak i u tako restriktivnom sučelju netko je pronašao rupu u softveru.
Moderni su telefoni daleko, daleko moćnije igračke i korisnicima daju puno više mogućnosti. Mobilni Internet jedna je od stvari koje postaju sve poželjnije, a proizvođači mobilnih telefona moraju pratiti želje svoje sve zahtjevnije i sve razmaženije publike, koja pritom ima i sve manje konkretnih tehnoloških znanja – ali to je prirodna evolucija svih uređaja koji žele postati komadom bijele tehnike.
Povećanjem mogućnosti telefona nužno dolazi do povećanja kompleksnosti njegovog softvera, samim time i do veće vjerojatnosti za pojavu greške koja je promakla razvojnom timu. Tako se dogodila i ta nesretna greškica na Android telefonima, koja napadaču omogućuje ograničenu kontrolu nad sadržajem vašeg telefona: posebno napravljenom web stranicom napadač može otvoriti shell na vašem telefonu i kroz njega pristupiti svim informacijama kojima može pristupiti web preglednik vašeg telefona (jer iskorištavanjem propusta dobiva upravo onakve ovlasti na računalu kakve ima aplikacija kroz koju je provaljeno), što vjerojatno isključuje adresar i mogućnost da netko u vaše ime ostvaruje pozive i šalje SMS poruke, ali vjerojatno uključuje mogućnost pristupa svim vašim multimedjialnim sadržajima i možda čak i dokumentima.
Mogućnost štete ograničena je sigurnosnim postavkama preglednika u vašem telefonu. Dakle, ozbiljna stvar, ali ne i katastrofalna. Osim toga, problem je riješen u Androidu 2.2, dok je Android 2.1 otvoren za napad.
I tu sad dolazimo do onog suštinskog problema. Jasno je, softver na mobilnim telefonima je kompleksna stvar, mogućnost greške nije mala. Greške, dakle, valja ispraviti.
Vratimo se ponovo na onu priču iz davnina. Software update u to se vrijeme zvao "firmware update”, jer je sav programski kod bio upisan u ROM telefona. Firmware update je proces gotovo identičan onome što nazivamo "software update”, ali s tom razlikom da je firmware update rađen tako da u cijelosti obriše stari softver i na njegovo mjesto stavi novi softver; za razliku od te prakse, moderni princip rada mijenja samo afektirani softver ili dio OS-a. Za korisnika – razlike nema.
Dakle, i u to vrijeme proizvođači telefona radili su update svojeg softvera. On bi često nosio neka poboljšanja i ispravljao greške koje nisu bile odmah vidljive korisniku. No, zanimljiv je slučaj kod već navedenih SMS napada. U slučaju telefona kojeg su korisnici morali nositi na servis, firmware update bio je spreman već mjesec ili dva nakon otkrića; u slučaju telefona kojim je korisnik sam mogao obrisati "hackersku” SMS poruku, update je došao nakon pola godine ili više.
Primjećujete li problem? Proizvođači GSM telefona vole svoje uređaje gledati kao zaokružen, završen proizvod kojeg valja plasirati na tržište i zatim samo prodavati. Nekakvo praćenje sigurnosti i izdavanje ažurnih zakrpa za njih je samo gubitak vremena i resursa; telefon je komad proizvoda sa kojim se treba što je manje moguće baviti od onog trenutka kad on iz ruke trgovca prijeđe u ruke korisnika. Zato će proizvođači GSM telefona nastojati ignorirati probleme i rješavati samo one koji bi ih mogli osramotiti ili uzrokovati prelazak kod konkurencije.
Danas više ne bi trebalo biti tako. Moderni su telefoni računala u punom smislu te riječi, i za njih važe ista pravila kao i za računala koja držite na ili ispod stola. Posebice sada, kada de facto imate punokrvni OS konkurentan Windowsima, Linuxu ili OS X-u, a pritom i otvoren prema Internetu, suludo je ne očekivati isti set problema kakav imaju "stolni” operacijski sustavi. No, stav proizvođača mobilnih telefona promjenio se zapravo vrlo malo – unatoč evolucijskom pritisku, mnogi još uvijek pokušavaju izbjeći odgovornost za kompleksnost vlastitog uratka i nastoje dati "poslijeprodajnu” podršku korisnicima u što je moguće manjoj mjeri (jer to ne mogu naplatiti).
Korisnici starog Androida 2.1 u ovom primjeru na vlastitoj koži osjetit će problematiku ovakvog pristupa, jer iako je Google (proizvođač Android OS-a) ispravio propust, na proizvođaču je telefona da svojim korisnicima pošalje update. Što oni mogu, ali i ne moraju učiniti.
Mobilni telefoni imaju jedan problem koji zapravo nije tehnološke, već psihološke prirode: starije generacije Android telefona, jednako kao i iPhone, ne mogu dobiti najnoviju verziju OS-a. Tehnološki to zaista nije problem, jer iako je procesor sporiji i memorije ima manje, vjerojatno razlika nije tolika da bi baš onemogućila korištenje novijeg OS-a na starijem hardveru. Naprotiv, razlika je ponajprije psihološke prirode: noviji OS svakako jest veći i kompliciraniji od staroga, sa više mogućnosti.
Kad bi se takav OS "natočio” na stariji telefon, korisnik bi vjerojatno primjetio kako noviji OS na njegovom telefonu radi – sporije. To je zapravo logično, ali sjetimo se: korisnici telefona iste promatraju kao komad namještaja, ne kao sofisticirano računalo. Kako prosječnom korisniku objasniti da mu je telefon sporiji zato što na njemu ima bolji i noviji softver?
Zato se proizvođači telefona osiguravaju onemogućavanjem prelaska na noviji softver neko vrijeme nakon što model izađe na tržište. No, to za sobom povlači drugi problem: u želji da budu ažurni prema novim korisnicima svojih proizvoda, proizvođači se telefona fokusiraju na poboljšanje svojih aktualnih modela u ponudi, dok se one stare dvije ili tri godine faktički zanemaruju. U konkretnom slučaju, moglo bi se dogoditi da neki proizvođači Android telefona nikad ne isprave rečeni propust jer uređaje sa Androidom verzije 2.1 smatraju tehnološki zastarjelima i izvan fokusa (koji je, naravno, na verziji 2.2). Da zabune ne bi bilo: Android 2.1 izašao je POČETKOM OVE GODINE.
Srećom, i nesretni korisnici telefona koje su za skupe novce kupili prije davnih 365 dana imaju spasa: problem se može izbjeći korištenjem drugih preglednika za pristup Web stranicama. To bi trebalo otkloniti prijetnju, ali valja imati na umu da neke aplikacije koje se bave posve drugim stvarima mogu interno koristiti ranjivi WebKit (za ažuriranje nekih svojih podataka, primjerice, čak i "u pozadini”, za korisnika neprimjetnim postupkom), pa bi i pokretanje naoko bezazlenih aplikacija koje nemaju taj problem moglo biti potencijalno opasno. Jedino pravo rješenje, dakle, jest pokrpati grešku u verziji 2.1. No, to mora učiniti proizvođač telefona i ponuditi svojim korisnicima update. Sretno vam bilo.
Završimo priču zanimljivom dvojbom krajnjeg korisnika. Odlučili ste priuštiti si super-duper moderan PametnoTelefon. Pristali ste vezati se u okove na dvije godine kod nekog davatelja GSM usluge u zamjenu za više ili manje prihvatljiv popust. Stavili ste u džep svog novog ljubimca. Život je lijep.
No, tehnološki ciklus mobilne telefonije vrlo je brz. Možete očekivati noviji, brži, ljepši i bolji telefon unutar godine dana od kupnje svoga, ponekad čak i u samo pola godine. Ista je priča i sa softverom: možete očekivati novi Android ili novi iOS barem jednom godišnje. U nekom trenutku vaš "stari” telefon više nećete moći nadograditi na noviji OS jer je proizvođač tako odlučio.
A ispred vas je još barem godina dana ugovora koji vam veže ruke. Hoćete li kupiti novi telefon, ili ćete sačekati da istekne ugovor, nakon čega će vam operater predložiti novo produženje uz "fantastičan popust” na najnoviji turbosuper najpametniji telefon na svijetu koji ima "ovaj krasan novi Android/iOS, a ne to ružno govno što ga imate na tom starom, prljavom, izgrebanom, totalno demode, neupotrebljivom telefonu”, kojeg – kakve li slučajnosti – iz nekog razloga ne možete nadograditi?
Autor je jedan od vodećih domaćih informatičara i ekspert za slobodni softver, informatički novinar, bivši stručni savjetnik za informatiku u poglavarstvu Grada Zagreba i vlasnik tvrtke Operacijski sustavi. Jedan je od 25 najboljih IT konzultanata u Hrvatskoj, prema izboru korisnika tih usluga. Njegove tekstove možete pronaći na njegovom osobnom blogu oddparity.org.

















