Sigurnost i privatnost Google Glass-a
Uvod
Početkom travnja 2012. godine, Google je na svojoj društvenoj mreži otvorio korisnički račun za Google Glass naočale i putem njega postavio objavu [1] koja počinje s:
"Mi mislimo da bi tehnologija trebala raditi za vas - biti tamo kad ju trebate i maknuti vam se s puta kad ju ne trebate."
te sadrži video koji demonstrira mogućnosti naočala tako da prikazuje primjere kako bi se one mogle koristiti u svakodnevnom životu. Ovime je Google najavio razvoj nosivog uređaja (eng. Wearable device) koji će omogućiti pristup sveprisutnom računarstvu (eng. Ubiquitous computing) prosječnom kupcu putem principa pojačane stvarnosti (eng. Agumented reality). Javnost je objavu dočekala s oduševljenjem, a naočale su se ubrzo mogle vidjeti kako ih koriste javne ličnosti i zaposlenici Google-a.
Dva mjeseca nakon najave, suosnivač Google-a Sergey Brin je demonstrirao jednu funkcionalnost naočala [2] koja je uz sav zanos, počela buditi i brigu oko mogućnosti naočala za zadiranje u privatnost njezinih korisnika - Brin je pokazao mogućnost naočala da svakih 10 sekundi uzimaju fotografiju onoga što korisnik vidi. To je izazvalo javljanje sve više korisnika i stručnjaka koji su iskazivali zabrinutost zbog mogućeg narušavanja njihove privatnosti i mogućeg dovođenja u opasnost njihove sigurnost, a kasnije dovelo do uvođenja ograničenja i zabrana korištenja Google Glass naočala i sličnih nosivih uređaja s mogućnošću snimanja okoline na mnogim javim mjestima.
Unatoč velike podršku i zanimanja javnosti, Google Glass naočale nisu nikad izašle iz faze testiranja u fazu masovne proizvodnje. Uz najavu ograničenog korištenja na mnogim javnim mjestima, pa čak i zakonskih zabrana korištenja, recenzenti i testeri tehnologija su samom uređaju davali niske ocjene zbog tehnoloških ograničenja i lošeg korisničkog iskustva. Sve ovo je dovelo do toga da je Google 15. siječnja 2015. godine najavio [3][4] zaustavljanje proizvodnje naočala u njihovom trenutnom obliku.
Hardware
Godinu dana nakon najave u travnju 2013. godine tako zvani Istraživači (eng. Explorers) su dobili mogućnost korištenja naočala. Prvu verziju Google Glass naočala koja je bila dostupna javnosti (namijenjena testerima i osobama koje bi razvijale aplikacije za Glass) zvana Google Glass Explorer (prev. istraživač) je bilo moguće kupiti po cijeni od 1500 dolara što je približno 10,000 kuna.
Naočale su opremljene s:
- Android 4.0.3 (Ice Cream Sandwich) operacijskim sustavom
- 570mAh Internal lithium-ion battery
- Texas Instruments OMAP 4430 SoC 1.2Ghz Dual(ARMv7) procesorom
- 2 GB radne memorije
- 16 GB memorije za spremanje podataka (od čega je OS zauzimao 4GB)
- Wi-Fi 802.11b/g
- Bluetooth
- 5 megapikselnom kamerom koja je bila u stanju snimati video rezolucije 720p
- mikrofon
- dodirnik (*touchpad)
- micro USB port
- 640×360 Himax HX7309 LCoS display (prizma)
- senzor ubrzavanja (accelerometer)
- senzor položaja (gyroscope)
- senzor osvjetljenja okruženja
- senzor blizine
- kompas
- zvučnik koji prenosi vibracije putem kosti lubanje
Naočale teže 50 grama, a pružaju su mogućnost spajanja na Internet putem Wi-Fi veze, a u odsutnosti Wi-Fi-a je potrebno koristi mobilni podatkovni promet spajanjem na mobitel putem Bluetooth veze. Korisnici su se žalili na osjetno zagrijavanje uređaja za vrijeme korištenja, na kratko trajanje baterije - do 3 sata aktivnog korištenja, te na spor odaziv sustava na glasovne i dodirne naredbe.
Propusti i ranjivosti
Kod svake nove tehnologije, a pogotovo kod one koja je dostupna javnosti za vrijeme svog razvoja, se pronalaze sigurnosni propusti programera i potencijalne opasnosti za sigurnost i privatnost korisnika.
Ubrzo nakon prvog puštanja naočala u javnost, Google je odgovorio na brojne zabrinute upite javnosti s objavom kako neće omogućiti funkcionalnost prepoznavanja lica prije postavljanja jake politike privatnosti i magičnosti zaštite privatnosti. Naočale su pružale mogućnost primanja glasovnih naredbi od korisnika, što je impliciralo da je mikrofon konstantno upaljen i da se konstantno obrađuje zvuk iz okoline sa svrhom prepoznavanja glasovnih naredbi.
Kako se Google Glass naočale temelje na Android operacijskom sustavu, postavljanje aplikacije za naočale (Glassware) na službeni market aplikacija je relativno jednostavno i omogućeno svima, a korisnik prije same instalacije nove aplikacije može vidjeti koje mogućnosti i senzore naočala ta aplikacija koristi. Ali zbog same činjenice da se privlačnost naočala temelji na pojačanoj stvarnosti, većina aplikacija će koristiti senzore mikrofona i kamere, pa se time znatno povećava mogućnost instalacije programa koji je u biti trojanski konj - na površini nudi neku korisnu funkcionalnost, a pod krinkom potrebe senzora snima i obrađuje zvuk i sliku korisničke okoline. Google je tome doskočio tako što se za Glass može razvijati samo putem Web API-a zvano Mirror API koje obavezuje programere da kod šalju na pregled prije nego što ga omoguće dostupnim svima.
Jedna ranjivost koja se otkrila ubrzo nakon prvog puštanja naočala u javnost 2013. godine, a koju je Google tiho zakrpao je ranjivost naočala na QR kodove. Radi ugodnijeg korištenja sučelje naočala je čitalo i obrađivalo QR kodove bez prethodne potvrde od korisnika. Ovo je otvorilo vrata napadaču da postavi plakate sa slikom QR koda koji je tjerao naočale da se spoje na obližnji Wi-Fi koji je postavljen s namjerom da privuče korisnike (eng. honeypot). Jednom kad se korisnikove naočale spoje na napadačevu mrežu on može promatrati i spremati svu komunikaciju koju naočale obavljaju prema Internetu. Kad se ta ranjivost uparila s ranjivošću Androida 4.0.4 od strane Interneta, napadač je naizgled dobio potpunu kontrolu na korisnikovim naočalama.
Google je QR kod ranjivost pokrpao 2 mjeseca nakon puštanja naočala u javnost na način da korisnička potvrda za čitanje QR koda postala obavezna.
--Tadija
Odluke o korištenju Google Glass u javnosti
Pojavom Google Glass, počele su brojne diskusije i upozorenja zbog potencijalno ugrožene privatnosti javnosti. U ovom radu su izdvojene pronađene reakcije predstavnika zakona i drugih nadležnih osoba vezane uz uporabu Google Glass na javnim mjestima.
Stop The Cyborgs
Kampanja koja je nastala u SAD-u kao odgovor na „odjevnu“ tehnologiju pokrenula je inicijativu da što više lokala preuzme njihov znak koji zabranjuje uporabu Google Glass, kako bi donekle omogućili privatnost javnosti.
Glavni problem koja stoji iza ove inicijative je potencijalno oduzimanje slobode ljudima koji su izloženi riziku da prihvate kao nešto normalno i uobičajeno snimanje svakog trenutka i savjest o tome da su snimani što god da rade na javnom mjestu. Što samim time daje mogućnost sistemu da kontrolira i utječe na svaku odluku pojedinca.
"The moral agency of the individual is reduced when a corporation forms part of their extended body, when every decision is mediated and influenced. The freedom of society and the possibility of genuine authentic response is threatened when every action is monitored and gamified"[5]
Odluke o korištenju unutar tvrtki
Zaposlenicima američke tvrtke USAA je zabranjeno korištenje Google Glass na sastancima, radnom mjestu, dok hodaju i voze. Razlog tome navode rizik snimanja audio i video zapisa povjerljivih informacija unutar tvrtke, te njihova dostupnost za svakoga tko ima pristup naočalama, što vrlo lako mogu biti osobe koje nisu ovlaštene da znaju spomenute informacije.
Odluke o zabrani korištenja u prometu
Kao što je zabranjeno korištenje mobilinih uređaja za vrijeme vožnje, isti zakon bi mogao vrijediti i za Google Glass ukoliko krene njihova šira uporaba.
U zapadnoj Virginiji predložen je amandman kojima se treba zabraniti korištenje Google Glass vozačima, osim ako im je u opisu posla da ih iz nekog razloga koriste tijekom vožnje, o čemu njihovo poduzeće treba obavijestiti vlasti. [7] Međutim, ova odluka bi mogla naštetiti Google Glass jer se gubi mogućnost iskoristivosti jedne od važnijih aplikacija koja daje upute kako doći do željene lokacije.
Upozorenja o korištenju u kinima
Uporaba Google Glass spada u dio zabrana koji nalaže američki zakon o piratstvu, kako bi se onemogućilo neovlašteno kopiranje i reproduciranje filmova.
The Motion Picture Association, poslalo je upozorenja kinima u vezi sa prijetnjama koje su se pojavile vezano uz korištenje Google Glass i upozorilo na moguće posljedice i funkcionalnosti kojima bi korisnici ovog uređaja mogli neovlašteno smimati filmove koji se prikazuju u kinima te ih naknadno objavljivati.
Također, The Federation Against Copyright Theft tvrdnje zabranjuju neke funkcionalnosti koje podržava Google Glass, a koje se odnose prije svega na neovlašteno reproduciranje snimljenih materijala, s obzirom da su korisnici naočala u mogućnosti snimati ono što im se nalazi u vidnom polju.
Zakoni u Hrvatskoj koji se mogu odnositi na korištenje Google Glass
S obzirom da Google Glass nije dostupan široj javnosti, nego je još uvijek u fazi razvoja, ne postoji stavka u zakonu Republike Hrvatske koja se odnosi konkretno na njih, međutim, neke stavke postojećeg zakona se mogu odnositi na njihovo korištenje.
Zakon o zaštiti osobnih podataka
Temeljnim odredbama ovog zakona uređuje se zaštita osobnih podataka o fizičkim osobama te nadzor nad prikupljanjem, obradom i korištenjem osobnih podataka u Republici Hrvatskoj.
U članku 8. ovog zakona piše da je zabranjeno prikupljanje i daljnja obrada osobnih podataka koji se odnose na rasno ili etničko podrijetlo, politička stajališta, vjerska ili druga uvjerenja, sindikalno članstvo, zdravlje ili spolni život i osobnih podataka o kaznenom i prekršajnom postupku. Što je moguće prekršiti Google Glass snimanjem fotografije ili video snimka u javnosti.
Prema kaznenim odredbama ovoga zakona izvršitelj obrade koji prekorači granice svoje ovlasti ili osobne podatke prikuplja i obrađuje za drugu namjenu osim ugovorene bit će kažnjen novčanom kaznom od 20 000 do 40 000kn. [8].
Zakon o autorskom pravu i srodnim pravima
Ovaj zakon prema članku 185. propisuje privremene mjere zbog povrede prava autora, koje se mogu načiniti i korištenjem Google Glass. Prema zakonu zadatak suda je spriječiti daljnje povrede prava tako što će se naložiti protivniku osiguranja da odustane od radnji koje krše ovaj zakon te isključiti iz prometa predmet protupravnog korištenja. Također ukoliko osoba koja je posjedovala ujedno i zarađivala od nekog djela koje je autorski zaštićeno, sud mu može odrediti oduzimanje pokretnina ili nekretnina koje nisu u neposrednoj vezi s povredom, kao i zabranu raspolaganja sredstvima na računu kod financijskih institucija. [9]
Procjena rizika primjene Google Glass-a u poslovanju prema NIST metodologiji
Prema proporučenim standardima National Institute of Standards and Technology, obrađenim u jednom od radova [10], navedeno je 9. koraka procesa procjene, koje ćemo koristiti da bi procjenili rizik korištenja Google Glass u poslovanju.
Karakterizacija sustava
Promatraju se Google Glass u poslovanju tvrtke koja se bavi internet marketingom. Tvrka broji 20 zaposlenika, i od njih 5 koji se bave prikupljanjem i dizajnom foto i video materijala imaju pristup naočalama. Google Glass su spojene na njihova računala kada su u uredu, kada su na terenu, spojene su na njihove mobilne uređaje koji podržavaju android sustav.
Ostali zaposlenici bave se:
- 5 osoba kreiranjem tekstualnoga sadržaja
- 5 osoba praćenjem uspješnosti dosadašnjih kampanja i kreiranjem strategije za razvoj novih
- 2 osobe komuniciraju s klijentima
- 3 osobe promocijom i prodajom usluga poduzeća
Svaki od njih na radnom mjestu posjeduje računalo od poduzeća, poslovni mobitel sa Android sustavom i osobni mobitel. U poduzeću još postoje 2 printera sa omogućenim Wi-Fi spajanjem, koji su ujedno i skeneri.
Za pohranu slikovnog i video sadržaja projekata na kojima trenutno rade koriste Google Drive repozitorij. Nakon što se projekt završi, sadržaj se s Google Drive pohranjuje na računalo direktora poduzeća.
Zaposlenici koji koriste Google Glass, snimljeni sadržaj direktno pohranjuju na Google Drive repozitorij. S obzirom da se radi o malom poduzeću čiji je naglasak bio na razvoju poslovanja, ne postoji definirana sigurnosna politika, te se sve temelji na povjerenju između zaposlenika jer komunikacija vezana uz posao teče u živo.
Kao ured je opremljen 4-sobni stan sa balkonom u prizemlju zgrade.
Identifikacija prijetnji
U ovom koraku ćemo navesti popis mogućih izvora prijetnji koje su, prema osobnoj procjeni u mogućnosti iskoristiti ranjivost Google Glass-a i tako načiniti štetu poduzeću:
- Pad i uništenje uslijed nepažnje zaposlenika
- Dozvoljavanje isprobavanja drugim zaposlenicima koji mogu zloupotrijebiti
- Krađa uređaja
- Krađa medija i dokumenata pohranjenih u Google Drive repozitoriju
- Greške u postojećim aplikacijama koje mogu dovesti do neispravnoga obavljanja funkcije uređaja
- Iskorištavanje poznatih ranjivosti od treće strane kao što su Man in the middle napadi
Identifikacija ranjivosti
S obzirom da su Google Glass još uvijek u fazi razvoja, ali njihova korištenje je omogućeno osobama koje se bave razvojem aplikacija, poznato je da sustav već i sada ima ranjivosti koje mogu ugroziti informacijsku sigurnost korisnika. Ranjivosti korištenja ovoga sustava, prema osobnoj procjeni su sljedeće:
- Tehnologija osjetljiva na mehaničke udare
- Nova tehnologija, uobičajenoga izgleda
- Ostavljanje medija u uredu na nekontroliranim mjestima
- Nepostojanje načina identifikacije korisnika
- Korištenje iste bežične mreže od strane svih zaposlenika
- Nedovoljno testirana tehnologija
- Mogućnost Google Glass skeniranja i automatskog čitanja QR koda koji može preusmjeriti na malicioznu stranicu
Analiza kontrola
S obzirom da postojeće poduzeće nema uvedene kontrole informacijskog sustava, u ovom dijelu predložit će se kontrole glede korištenja Google Glass-a. Kontrole mogu biti definirane zbog preventive zaštite ili detekcijske, u krajnjem slučaju i reakcijske jer postoji mogućnost da će se napad opet izvršit. [11].
Preventivne kontrole
Cilj preventive kontrole u slučaju korištenja Google Glass-a je onemogućiti realizaciju prethodno navedenih prijetnji, shodno tome, prema osobnoj procjeni sljedeće kontrole bi trebalo uvesti kako bi se povećala zaštita:
- Uputiti korisnike na pravilan način rukovanja i korištenja uređaja, te definirati i osigurati mjesto čuvanja uređaja unutar ureda.
- Definirati pravila ustupanja uređaja neovlaštenim korisnicima, uključujući i druge zaposlenike poduzeća, te u tom slučaju imati prisutne vlasnike uređaja koji će imati uvid djelatnosti osobe koja isprobava uređaj.
- Provjeriti i povećati mrežnu sigurnost.
- Pohranjeni sadržaj putem Google Glass iz Google Drive po potrebi kriptirati.
- Provjeravati postojanje nove verzije postojećih aplikacija za Google Glass bez obzira na automatsko mjesečno ažuriranje.
- Učestalo provjeravati i skenirati mobilne uređaja i računala na koje se spaja Google Glass uslijed zaštite od malicioznih programa.
- Zabrana spajanja na javno dostupne mreže.
Detekcijske kontrole
- Ukoliko se dodijeljeni vlasnik uređaja ne pridržava definiranih preventivnih kontrola, uređaj će se dodijeliti drugom vlasniku.
- Provjeriti postavke rutera kako bi se ustanovile moguće promjene od zadnje postavljenih.
- Učestala promjena lozinki uređaja na koje se spaja Google Glass.
- Otkrivanje neovlaštenog upada u mrežu i njegovu prevenciju korištenjem tehnologija koje se baziraju na identifikaciju mogućih incidenata prikupljanjem podataka o događajima na korištenim uređajima i mreži [12]
Određivanje vjerojatnosti pojave neželjenih događaja
Prema uputama National Institute of Standards and Technology, u ovom koraku se uzimaju u obzir izvori prijetnje, potencijalna ranjivost sustava i postojeće kontrole.[13]. Osobna procjena ranjivosti sustava od strane određenih prijetnji prikazana je u nastavku:
Ranjivost | Vjerojatnost pojave neželjenog događaja | Opis |
Tehnologija osjetljiva na mehaničke udare | Niska | Izvor prijetnje dolazi od zaposlenika, međutim kontrolama se povećava savjesnost o važnosti odgovornog rukovanja uređajem |
Nova tehnologija, neuobičajnog izgleda | Niska | Izvor prijetnje zainteresirane osobe, neovlaštene za uporabu uređaja. Kontrolom nadzora smanjuje se vjerojatnost neželjenog događaja |
Ostavljanje medija u uredu na nekontroliranim mjestima | Srednja | Izvor prijetnje mogu biti klijenti koji dolaze na sastanak u urede, ali kontrolom o pravilnom spremanju uređaja na posebno pripremljeno mjesto, prijetnja nije dovoljno jaka |
Nepostojanje načina identifikacije korisnika | Srednja | Izvor prijetnji je djelomično sposoban korištenjem ove ranjivosti pristupiti podatkovnom sadržaju poduzeća snimljenim Google Glass uređajem, ali navedene kontrole su dostatne za sprječavanje izvršenja napada. |
Korištenje iste bežične mreže od strane svih zaposlenika | Visoka | Ukoliko je izvor prijetnje zaposlenik poduzeća, postojeće sigurnosne kontrole su nedovoljne za učinkovitu zaštitu sustava |
Nedovoljno testirana tehnologija | Visoka | Izvor prijetnje se nalazi izvan okvira poduzeća i posljedica je korištenja tehnologije koja je tek u razvoju iz tog razloga postojeće sigurnosne kontrole su nedovoljne za učinkovitu zaštitu |
Mogućnost Google Glass skeniranja i automatskog čitanja QR koda koji može preusmjeriti na malicioznu stranicu | Niska | Vlasnici uređaja su upoznati sa ranjivosti i sigurnosne kontrole su dovoljno jake da spriječe posljedice ovakvog napada |
Analiza utjecaja
Ukoliko se neka od ranjivosti ostvari, usprkos definiranim kontrolama, važno je imati procjenu negativnog učinka.
Materijal koji se snima sa Google Glass je namijenjen prije svega realizaciji nekih Internet kampanja, što podrazumijeva da osobe koje su pristale na snimanje prihvaćaju i javno emitiranje snimljenoga sadržaja. Negativan učinak može se ostvariti gubitkom povjerljivosti, odnosno ako neka treća strana iskoristi ranjivosti uređaja i pristupi sadržaju koji je još uvijek u obradi.
Rizik će se prikazati rangiranjem prijetnji prema osobnoj procjeni utjecaja mogućeg ostvarenja ranjivosti i vjerojatnosti ostvarenja. Kod ove metode funkcija rizika ovisi samo o dva parametra : utjecaj na resurs (vrijednost resursa) i vjerojatnost ostvarenja prijetnje. Implicitno se podrazumijeva da je utjecaj na resurs ekvivalentan vrijednosti resursa, dok se prijetnje promatraju u odnosu na odgovarajuće ranjivosti. Funkcija rizika (R) na taj način postaje ovisna o više parametara.
Ovdje se definiraju rasponi vrijednosti za utjecaj (vrijednost resursa ) i vjerojatnost ostvarenja prijetnje. Moguće vrijednosti su u rasponu od 1 (mala) do 5 (vrlo velika). Razinu rizika određuje produkt tih dvaju parametra : Rizik =Vrijednost x Vjerojatnost ostvarenja. [14].
Prema našoj procjeni vidimo da su najveći rizik zapravo od moguće fizičke krađe uređaja, u čemu je i najveća ranjivost jer su onda svi materijali direktno dostupni imatelju uređaja bez potrebne ikakve vrste identifikacije.
Određivanje rizika
U ovoj fazi se određuju razine rizika kojima je izložen informacijski sustav, s obzirom da smo promatranje ograničili na rizike koji se pojavljuju uporabom Google Glass-a promatrat će se samo onaj dio IS-a koji je izložen njihovom uporabom.
U ovu svrhu koristi se matrica razine rizika, s obzirom da je ovaj dio već obrađen u radu o procjeni rizika, koristiti će se tamo objavljeni materijali.
Na sljedećoj slici vidimo matricu gdje se razina rizika računa množenjem ocjene vjerojatnosti s ocjenom učinka neželjenog događaja.
Prema našoj prethodnoj analizi u visoku vjerojatnost ostvarenja prijetnje su greške u postojećim aplikacijama koje mogu dovesti do neispravnoga obavljanja funkcije uređaja, međutim prema rangiranju prijetnje najveći učinak i samim time gubitak se može ostvariti krađom uređaja.
U sljedećoj tablici prikazan je opis rizika pojedine razine i što to prema ovoj metodologiji znači.
Preporuka koraka za umanjivanje rizika
Kako bi se Google Glass uređaj mogao koristiti u poslovanju, potrebno je uvesti neke kontrole kojim bi se rizik primjene smanjio na prihvatljivu razinu. U radu o procjeni rizika nabrojani su čimbenici koji se trebaju uzeti u obzir kao što su:
- pouzdanost i efikasnost preporučenih postupaka, s obzirom da se radi o osobnoj procjeni, sama pouzdanost nije na zavidnoj razini ali je u svakom slučaju temelj za skupljanje iskustva i revidiranje kontrola kroz određeno vrijeme.
- troškovi implementacije i održavanja, sama implementacija i održavanje ne stvaraju toliki trošak koliko omjer vrijednosti i iskoristivosti uređaja, u smislu da krajnji ishod korištenja ove tehnologije nema velikih izgleda za značajan povrat investicije.
- Utjecaj na poslovne procese
- Utjecaj na informacijski sustav, uređaj je prije svega namijenjen lakšem snimanju i bilježenju događaja koji će olakšati kreativni dio posla koji se obavlja pri realizaciji kampanja pa znatnog utjecaja na ostali dio IS-a i nema. Preporuka je da se uvedu kontrole koje će osigurati spajanje naočala na točno željeni uređaj metodama mrežne sigurnosti.
- Pravna ograničenja, pri kreiranju i reproduciranju materijala potrebno je se pridržavati prethodno navedenih zakona o obrani o zaštiti osobnih podataka i zakona o autorskom pravu kako se ne bi poduzele neke aktivnosti korištenjem uređaja koji će narušiti temeljne odredbe spomenutih zakona.
- Sigurnosna politika organizacije, s obzirom da se još uvijek radi o tehnologiji koja je u razvoju, preporuča se korištenje uređaja za izradu materijala u svrhu promocije poduzeća i kreiranja sadržaja koji su vezani uz događanja unutar poduzeća.
Pravila za kreiranje aplikacija za Google Glass [15]
Google je da bi zaštitio korisnike i omogućio napredak Google Glass-a objavio obavezne odredbe i pravila koje svi programeri moraju usvojiti da bi mogli kreirati aplikacije za Google Glass. Ove odredbe i pravila su podložne čestim promjenama, a trenutno zadnja izmjena je napravljena 9.1.2015. godine.
Generalna pravila
Obavezna pravila o privatnosti i druge obavijesti
Izričito upoznati i prikazati korisnicima pravila o privatnosti i pridržavati ih se (i za informacije koje dobivate od Google Mirror API-a ili GDK-a o korisniku kao i za podatke ste dobili od korisnika izravno). Nemojte mijenjati svoju politiku privatnosti bez da dovoljno unaprijed obavijestite svoje korisnike. Ako želite objaviti vašu aplikaciju na Googleu, morate osigurati da je objavljena zadnja verzija vaše politike privatnosti.
Informacije koje ne smiju prikupljati, pohranjivati ili dijeliti
Ne smijete prikupljati, pohranjivati, ili dijeliti osjetljive osobne informacije kao što su brojevi kreditnih kartica, bankovne račune, broj vozačke dozvole ili brojeve socijalnog osiguranja, osim ono što je potrebno za plaćanja.
Distribucija
Ne možete objavljivati ili distribuirati aplikaciju izvan službenih Googleovih kanala - Google Mirror API klijenta i GDK kanal za distribuciju aplikacija, osim ako nemate pismeno odobrenje od strane Googlea.
Sigurnost
Ne smijete koristiti Google Mirror API ili GDK za bilo kakve aktivnosti u kojima uporaba ili neuspjeh Google Mirror API-a ili GDK-a može dovesti do smrti, tjelesne ozljede ili oštećenja okoliša (kao što je rad s nuklearnim objektima, kontrola zračnog prometa, ili sustavi za održavanje života).
Osobni podaci prikupljeni iz Google Mirror API-a ili GDK-a
Ovaj dio se odnosi na osobne podatke korisnika koje vaša aplikacija dobiva pozivom Google Mirror API-a ili GDK-a, kao što su slike i fotografije koje se dijele iz Glass-a.
Korištenje i dijeljenje podataka s Google Mirror API-a ili GDK-a
Nemojte koristiti osobne podatke korisnika u svrhe izvan ograničenog i istaknite svrhu svoje aplikacije (uključujući kako se planira razvijati), bez da dobijete izričito dopuštenje od korisnika. Nemojte prodavati, iznajmljivati ili na drugi način odavati korisnikove osobne podatke bilo kojoj trećoj strani bez dobivanja izričitog dopuštenja od strane korisnika. Bez izričitog pristanka smijete dati osobne podatke korisnika samo onim trećim stranama, čije usluge su neophodne kako bi izgradili ili pokrenuli svoju aplikaciju. Vi ste odgovorni za to kako te treće osobe obrađuju podatke,te ste obavezni ugovorom od njih tražiti da drže u tajnosti te podatke. Ne smijete koristiti korisničke podatke s vaše aplikacije u reklamne svrhe. Ne možete prodati ili prenijeti korisničke podatke koje ste dobili od svoje aplikacije na oglasnu mrežu treće strane ili drugih reklamnih oglašivača. Radi razjašnjavanja, korisničke podatke iz aplikacije se ne može koristiti za prikaz oglasa od treće strane. ("3PAS").
Ažurni podaci
Nemojte koristiti zastarjele podatke. Možete pohraniti podatke koje dobivate putem Google Mirror API-a ili GDK-a, ali u mjeri u kojoj je to potrebno u kontekstu vaše aplikacije. Koristite svježe podatke nedavno preuzete iz Google Mirror API-a ili GDK-a. Ako svježi podaci pokazuju da sadržaj ne postoji(na primjer, jer je korisnik izbrisao podatke), izbrišite ih i ne koristite svoju staru kopiju.
Pravila za brisanje
Dajte korisnicima razumno lak način za brisanje njihovih osobnih podataka koje ste dobili iz Google Mirror API-a ili GDK-a. Ne pokazujte korisniku da su njegovi podaci izbrisani bez da zapravo obrišete podatke u razumnom vremenskom razdoblju. Ako ste stvorili račun za korisnika povezanih s njihovim identitetom na Google-u (uključujući interne račune koji nisu direktno vidljivi korisniku), morate dati korisniku razumno lak način za brisanje te poveznice. Ako korisnik briše svoj račun na vašem sustavu, briše povezanost između tog računa i njegovog računa na Googleu ("odspaja"), ili obriše svoj Google račun, morate izbrisati sve osobne podatke koje ste dobili od Google API-a koji se odnosi na njih.
Kao jedina iznimka ovog, podaci koje smijete zadržati su: Podaci koje ste propisanim zakonom obavezni zadržati. Informacije ste dužni zadržati zbog posebnog ugovora s Googleom. Skupni podaci koji ne uključuju bilo koji od korisnikovih osobnih identifikacijskih podataka.
Što ne smijete u svojoj aplikaciji
Korisničko iskustvo
Nemojte zavaravati svoje korisnike o tome što vaša aplikacija radi, ili ih varati sa svrhom da koriste aplikaciju. Ne uključujte funkcionalnosti koje zahtijevaju odnosno prikupljaju korisnička imena, lozinke ili druge informacije za autentifikaciju osobnog Google računa. Nemojte oponašati funkcionalnosti ili upozorenja na računalu korisnika sustava ili pri komunikaciji s Googleovim poslužiteljima. Ne izazivajte korisnike da krše Googleove uvjete pružanja usluge ili druga primjenjiva Google pravila. Nemojte koristiti fotoaparat ili mikrofon da usporedite i odmah prikažete informaciju identifikacije nekoga tko nije vaš korisnik, uključujući i slučajeve korištenja prepoznavanja lica i glasa. Aplikacije s tim slučajevima korištenja neće biti odobrene u ovom trenutku. Nemojte onemogućiti ili isključiti zaslon kad se koristi fotoaparat. Zaslon mora postati aktivan kod fotografiranja i ostati aktivan tijekom video snimanja, kao dio vaše aplikacije.
Sigurnost
Sigurnost shvaćamo vrlo ozbiljno: možemo suspendirati vašu aplikaciju bez prethodne najave, ako se čini da je problem sigurnost i stabilnost koja bi mogla utjecati na Google ili Google korisnike. Ako imate sigurnosni proboj ili primijetite zlouporabu informacija, morate obavijestiti Google. Ako imate proboj koji izloži privatne informacija korisnika, morate obavijestiti svoje korisnike.
Propisi o privatnosti za pojedine industrije
Google Glass nije namijenjen za uporabu u vezi s aplikacijama i uslugama koje bi mogle biti predmet propisa o zaštiti privatnosti za pojedine industrije. Nemojte stvarati aplikacije koje stvaraju ili prenose podatke koji podliježu tim propisima.
Oglasi
Ne možete prikazivati ili uključivati oglase u vašoj aplikaciji.
Pravila oko sadržaja
Seksualno eksplicitni materijal: Ne dopuštamo sadržaj koji sadrži golotinju, prikaze seksualnih činova ili seksualno eksplicitne materijale. Google ima politiku nulte tolerancije prema dječjoj pornografiji. Ako smo postali svjesni sadržaja s dječjom pornografijom, mi ćemo ga prijaviti nadležnim tijelima i izbrisati Google račune onih koji su uključeni u distribuciju.
Nasilje i zlostavljanje: Prikazi nepotrebnog nasilja nije dopušteno. Aplikacija ne smije sadržavati materijale koji prijete, maltretiraju i vrše nasilje nad drugim korisnicima.
Govor mržnje: Ne dopuštamo promicanje mržnje prema skupinama ljudi na temelju njihove rase ili etničkog podrijetla, religije, invaliditeta, spola, dobi, veteranskog statusa ili seksualne orijentacije / rodnog identiteta. Lažno predstavljanje ili obmanjujuće ponašanje: Zabranjeno je lažno predstavljanje, nemojte tvrditi da je vaša aplikacija ovlaštena ili proizvedena od strane druge tvrtke ili organizacije, ako to nije slučaj. Proizvodi koje aplikacija sadrži također ne smiju oponašati funkcije ili upozorenja iz operativnog sustava ili drugih aplikacija. Aplikacija ne smije imati ime ili ikone koje su zbunjujuće slične postojećim proizvodima ili aplikacijama isporučene od strane Googlea. Programeri ne smiju preusmjeriti korisnike ili dati linkove na bilo koje drugo web mjesto koje oponaša ili se predstavlja kao drugi program ili uslugu. Aplikacija ne smije imati ime ili ikone koje su zbunjujuće slične postojećim proizvodima ili aplikacijama isporučenim s uređajem (kao što su kamera, galerija ili poruke).
Osobni podaci i povjerljive informacije: Ne dopuštamo neovlašteno objavljivanje ili otkrivanje nečijih osobnih podataka i povjerljivih informacija, kao što su brojevi kreditnih kartica, matičnih brojeva, brojeve vozačke i drugih dozvola, ili bilo koje druge informacije koje nisu javno dostupne.
Intelektualno vlasništvo: Zabranjeno je kršiti prava intelektualnog vlasništva drugih, (uključujući patente, zaštitne znakove, poslovne tajne, autorska prava i druga vlasnička prava), ili potaknuti ili izazvati povrede prava intelektualnog vlasništva. Mi ćemo odgovoriti na jasne znakove o navodnom kršenju autorskih prava. Za više informacija ili za podnošenje DMCA zahtjeva pročitajte naše postupke o autorskim pravima.
Nezakonite radnje: Budite legalni. Ne upuštajte se u nezakonite aktivnosti na ovom proizvodu.
Kockanje: Ne dopuštamo sadržaj ili usluge koje olakšavaju kockanje, uključujući, ali ne ograničavajući se na, online kockarnice, sportsko klađenje i lutrije.
Opasni proizvodi: Nemojte prenositi viruse, crve, nedostatke, trojanske konje, malware, ili bilo koje druge stavke koje mogu uvesti sigurnosne propuste ili štetu korisnikovom uređaju, aplikacijama, ili osobnim podacima. Ne dopuštamo sadržaj koji šteti, ometa rad ili pristupa na neovlašteni način, mreži, poslužitelju ili drugoj infrastrukturi. Aplikacije koje prikupljaju podatke (kao što je položaj korisnika ili korisničko ponašanje) bez znanja korisnika (spyware), zlonamjerne skripte i phishing, aplikacije koje uzrokuju da korisnik nesvjesno preuzima ili instalira aplikacije iz vanjskih izvora također su zabranjene na Google Glass platformi.
Povezana pravila
Kršenje ovih pravila su povrede Glass API uvjeta pružanja usluge i / ili GDK uvjeta pružanja usluge, a može dovesti do onemogućavanja ili uklanjanje vaše aplikacije, zabrane pružanja budućih aplikacija ili gašenjem vaših Google računa.
Naknade
Ne možete naplatiti krajnjim korisnicima nikakve naknade ili prikupiti bilo kakve uplate za preuzimanje ili pristup vašoj aplikaciji.
--Kristina
Neke od aplikacija dostupnih putem Google Glass
Aplikacije koje će poboljšati funkcionalnost Google naočala još uvijek su u fazi potencijalnoga nastajanja, međutim američki internet magazin | The Verge objavio je rezultate testiranja dosada postojećih aplikacija.
Google Search
Razlika između ove aplikacije i uobičajene Google tražilice je da potiče korisnika na postavljanje konkretnog pitanja, kako bi dobio konkretan odgovor. U suprotnom kao rezultat općenitog upita korisnik može vidjeti 6 odgovora sa nekih opisom, na koje je nemoguće kliknuti. [16]
" Take a picture "
Na ovu glasovnu naredbu, naočale će bez prethodne mogućnosti pregleda snimiti sliku, nakon njezine izrade, slijedi privatna pohrana na Google servise i mogućnost dijeljenja fotografije na Google društvenoj mreži, kao i mogućnost brisanja fotografije i prebacivanja na računalo preko USB-a. O uspješno obavljenom snimanju i pohrani fotografije naočale obavještavaju zvukom. S obzirom da se radi o 5MP kameri, Google naočale ovom aplikacijom ne donose neki poseban značaj u poredbi sa kamerama prosječnih mobilnih uređaja koji će snimati dobre fotografije u dobrim uvjetima.
"Record a Video"
Ova aplikacija radi također glasovnom naredbom, i sprema snimljeni video na Google servise. Trajanje videa je početno postavljeno na 10 sekundi, što se može produžiti pritiskom na gumb za snimanje.
"Get directions to..."
Ovom glasovnom naredbom, Google naočale traže izrečenu lokaciju i nakon upozorenja da se aplikacija ne koristi dok je korisnik u pokretu, pokazuje upute za svako skretanje koje se nalazi do željene lokacije. Kompas je osjetljiv na pokrete glave pa je korisnik u mogućnosti prepoznati da li se kreće u pravom smjeru. Postojeće opcije su pregledanje cijele rute, odabir načina putovanja (pješice, automobilom ili biciklom).
"Send a message to"
Nakon ove glasovne naredbe, Google naočale daju mogućnost odabira kome poslati poruku, potom korisnik diktira poruku koja se automatski šalje kao e-mail sa Gmail računa. Između diktiranja poruke i slanja, postoji jako malo vremena za poništiti poruku koja ne sadrži zamišljeni tekst korisnika.
"Make a call to"
S obzirom da se zvučnik naočala nalazi na kostima iza uha, na korisniku je da li mu je glasnoća zvuka sugovornika odgovarajuća ili je ipak bolji alternativni način razgovora putem mobilnih uređaja.
Google Now
Aplikacija koja ovisno o trenutnoj lokaciji ili personaliziranom odabiru prikazuje informacije vezane uz trenutne vremenske uvjete, smjernice do najbližeg restorana, rezultate sportskog tima...
Aplikacije izrađene od drugih proizvođača
Neke od aplikacija koje je moguće koristiti preko Google naočala, a koje su izrađene od neke treće strane su:
- Evernote
- CNN
- Fullscreen beam
- Glass to do
"Hakovi"
Winky
Aplikacija koja omogućava snimanje fotografije treptanjem desnog oka. Moguće ju je jedino instalirati na rootanu verziju google naočala.[17].
Slijed pokretanja OS-a na Android uređajima
Particijska tablica niske razine (raw) i normalna particijska tablica
Jedna od najbitnijih stvari kada se radi sa ugrađenim sustavima - pogotovo kao programer amater - je razumijevanje što se događa od trenutka kada je naše računalo/tablet/mobitel/itd (nadalje uređaj) uključeno, pa dok OS ne preuzme kontrolu nad uređajem tako da ga možemo koristiti. Razumijevanje ovog niza događaja je nužno kako bi razvijali low-level rutine za bilo koju ugrađenu platformu, i jednako bitno za efikasno dizajniranje high-level aplikacija.
Uobičajeno, u uređajima za pokretanje (boot device), blok 0 sadrži Master Boot Record (MBR). Ovaj specijalni sektor (boot sektor) sadrži informacije o tome kako je uređaj particioniran u strukturi obično znanoj kao particijska tablica. Na ovaj način, OS zna gdje će naći ukoliko treba nešto. Međutim, Kada pokrećemo sistem prvi put, sa praznim uređajem bez MBR ili particija, čak i tada, postoji neke stvari koje možemo napraviti. Jednom kada je uređaj upaljen on pokrene kod iz poznate lokacije (ROM) i traži bootloader za prvu fazu u određenom bloku. Nakon nekih inicijalizacija, prvi bootloader pokazuje na bootloader za drugu fazu, koji je postavljen na drugoj poznatoj lokaciji. Ovaj proces “usmjeravanje” se ponekad naziva Low Partition Table ili Raw Partition. Ovo nije particija kao takva, ali kod zna gdje nastaviti, s obzirom da je hard-kodirano gdje mora dalje tražiti. Ako ROM očekuje naći bootloader u sektoru 1, a nema ga, on zaustavlja operaciju, inače izvrši prisutan kod i nastavlja. Uobičajeno u ugrađenim sustavima (kao što je Android) slike RAMDiska i Kernela se nalaze na poznatim lokacijama izvan particijske tablice, tako da mogu biti učitane u DRAM kada se sistem pokrene. Te slike su generirane prilikom kompiliranja kernela i samog Androida.
Glavna prednost ovoga je da samo sa bootloaderom, u našem uređaju za pokretanje možemo pristupiti osnovnom terminalu sa korisnim naredbama kao što su fdisk ili fastboot. Koristeći ove komande možemo kreirati MBR i particijsku tablicu i učitati slike kernela, ramdisk ili sistem (fastboot) na brži način nego ručno kopiranje.
Pokretanje - ROM
Kada se sistem pokrene, procesor izvrši kod koji se nalazi na poznatoj lokaciji. U ugrađenim sustavima, ta lokacija je obično interni ROM koji inicijalizira neke komponente u ploći i pronađe s kojeg uređaja treba pokrenuti sistem (u nekim platformama ovaj kod se naziva BL0) - razlikuje se od ploće i od CPU. U slučaju PC-a, ovaj zadatak vrši BdaOS, koji je fleksibilniji kod biranja sa kojega uređaja treba pokrenuti sistem, konfiguracije komponenata,itd. U svakom slučaju, rezultat je isti i sistem se pokuša pokrenuti. Ako je uređaj spreman za pokretanje sistema - to znači, bootloader za prvu fazu je nađen (znan kao BL1) - BL1 se kopira u interni RAM, i on je odgovoran za učitavanje ostatka bootloadera (BL2). Ovaj se proces razlikuje od ploće do ploće, ali možemo pretpostaviti da sve one rade slično, i da je krajnji cilj postavljanje bootloadera za drugu fazu u DRAM i njegovo pokretanje. Na sljedećoj slici je primjer procesa učitavanja hardkernel ODROID-A4 bootloadera.
Kernel
Jednom kada je bootloader (sada referenciran kao cjelina, BL0 + BL1 + BL2) inicijalizirao sve komponente u ploći, on učita u RAM - sa poznate lokacije - kompleksniji softver, znan kao kernel. Kernel, koji je posebno kompiliran za našu ploću (CPU, memorija i komponente), je odgovoran za upravljanje resursima sistema, i on je “most” između hardvera i softvera. Kada je kernel otpakiran, on se učita i pokrene nekoliko procesa, kreirajući sloj na niskoj razini za potporu korijenskom datotečnom sustavu (u našem slučaju Android). Ovaj zadatak vrši Init Slijed (engl. Init Sequence, init.rc). Jedna zanimljiva činjenica ovdje je da s obzirom da kernel zna hardver, i mora komunicirati s njime, ne samo da kernel mora biti kompiliran ovisno o samoj platformi, nego je točno određen za svaku ploću. Ovo dodaje složenost, jer, neće svaki kernel biti moguće učitati u svaku ploću - kao što je slučaj kod PC računala, gdje postoji skup standardnih upravljačkih drivera koji su kompatabilni sa većinom hardvera, od CPU do grafičkih kontrolera. Na primjer, ako želimo promijeniti kernel od Samsung Galaxy III uređaja, moramo znati da on dolazi sa Exynos 4412, koji je ARM Quad Cortex-9 procesor. Sa tim znanjem znamo mogućnosti našeg procesora i ciljnu platformu na koji je potrebno kompilirati kernel, međutim, nedostaju nam detalji o ploći kao takvoj, odnosno nacrt Samsung Galaxy III. Mi možemo pristupiti takozvanoj razvojnoj ploći - kao što su one pružane od hardkernela (ODROID), koje su vrlo slične Samsungovim i open source. Računajući na informaciju o korištenim komponentama (FLASH i RAM čipovi, Ethernet kontroler, itd.), moguće e kreirati konfiguracijske datoteke za kernel koje će se podudarati sa određenom ciljnom platformom. Te promjene u kernelu su vrlo određene s verzijom kernela, i uobičajen slučaj je da smo obično ograničeni na vrlo malo verzija kernela kada se bavimo sa danom ploćom. Uobičajeno je da su sve te promijene u kernelu (verzija x) grupirani pod zakrpom, koja može biti primjenjena na službeni kernel (verzija x) tako da je kompatabilan sa našom ploćom.
Dalvim VM i Zygote
Normalno, zadnji korak u init slijedu je učitati korijenski datotečni sustav i OS, koji je zapravo zadnji korakprije nego mi preuzmemo kontrolu nad ploćom/uređajem/itd. Unatoč tome, Android se ne pokreče na vrhu kernela s obzirom da je programiran u Java programskom jeziku i prema toma mora raditi na Virtualnoj Mašini. Android VM radi na vrhu Dalvika (Google je odlučio napustiti JME i JVM), i za razliku od tradicionalno korištene VM arhitekture temeljene na stogu koristi arhitekturu temeljenu na registrima. S obzirom da svaka aplikacija računa da će raditi u svojoj instanci VM, VM instance se trebaju brzo pokrenuti kada je nova aplikacija pokrenuta. Također, memorijski trag VM treba biti minimalan. Kako bi se ovo postiglo, Android je predstavio koncept zvan Zygote, kako bi omogučio dijeljenje koda među instancama VM i pružio kratko vrijeme pokretanja novih VM instanci. Zygote proces inicijalizira jednu Dalvik VM, koja učita i inicijalizira klase biblioteka. Jednom kada je Zygote inicijaliziran, on će čekati za zahtjeve socketa od runtime procesa pokazujući da bi trebao razgranati nove VM instance temeljene na Zygote VM instanci. Pošto Zygote treba biti pokrenut prije nego što ključni Android procesi mogu biti izvršeni, on je pokrenut od kernela, kao dio init slijeda.
Korijenski datotečni sustav - Android
Na kraju, Android kod se počne izvršavati: volume servisi, biblioteke, upravljač aktivnosti, ključne aplikacije, itd., što vodi prema pokretanju grafičkog sučelja. Radi razumijevanja na sljedećoj slici je prikazana usporedba različitih slijedova pokretanja uređaja koji pokreće Linux (lijevo), uređaja koji pokreće Android (sredina) i PC koji pokreće Linux. [18]
--Tomislav
Android Developer Alati (ADT) - Fastboot
Fastboot je protokol koji se koristi kako bi se unaprijedio flash datotečni sustav u Android uređajima preko USB-a. On je dio Androig Debug Bridge biblioteke (adb). Ovim protokolom možemo lako upravljati fastboot naredbom. S obzirom da je fastboot dio adb biblioteke, prije korištenja je potrebno instalirati Android SDK i konfigurirati naše okruženje da radi sa komandnom linijom. S obzirom da nam fastboot omogućuje da promijenimo instalirani sustav na uređaju koristeći USB sučelje, host uređaj i uređaj na koji ćemo instalirati sustav trebaju znati da koristimo fastboot protokol. Za to je potrebno omogućiti protokol u samom uređaju tako da naredbe koje stižu od USB porta na host mašini budu prihvaćene. Fastboot ne zahtijeva da je OS pokrenut na uređaju, ali treba barem, da osnovna ljuska radi na vrhu.
Fastboot i bootloader na Android uređajima
Kao što je ranije već opisano, sada će još jednom biti objašnjeno, prvi softver koji se pokrene na ovakvim uređajima je bootloader, vrlo mali softver pohranjen izravno na uređaju i njegova je svrha učitavanje i pokretanje operacijskog sustava koji će se koristiti. Predefinirani bootloader za Android uređaje koji je osigurao Google se zove fastboot. Neki uređaji pružaju svoje alternativne bootloadere, neki od njih podržavaju fastboot kao drugu opciju. Kada se uređaj pokrene u fastboot načinu, on ne nastavlja pokretati operacijski sustav, nego se fastboot zaustavi i učini se dostupnim preko USB-a. Moguće je kontrolirati bootloader koristeći program od Google-a koji se također zove fastboot. Ovo omogućuje pristup uređaju na niskoj razini. Jedna od naredbi dostupnih kroz fastboot je “oem”, koja omogućuje proizvođačima da pružaju vlastite naredbe. Sve nakon “fastboot oem” je poslano uređaju bez promjena. Standardno, fastboot je zaključan, i samo će određeni skup naredbi biti korišten. Neki uređaji pružaju oem naredbe koje će otključati bootloader. Najčešća naredba za otključavanje bootloader-a je “unlock”. Na većini uređaja koji nude ovu naredbu, biti će prikazan izbornik koji objašnjava da otključavanjem bootloadera garancija će biti poništena, i da se ne preporuća otključavanje. Ono također ima i potpratni efekt: svi osobni podaci pohranjeni na uređaju će biti obrisani. Kako bi se osiguralo da je garancija poništena ( i da se jasnije vidi da se nešto promijenilo), uređaji koji imaju otključan bootloader će prikazivati i neku sliku prilikom pokretanja sustava. Jednom kada je bootloader otključan, može ga se koristiti kako bi se dobilo potpuni pristup uređaju, i često za instaliranje drugih ili modificiranih operacijskih sustava.
Dobivanje administratorskog pristupa na Google naočalama
Kako bi fastboot bio od neke koristi, trebalo bi imati “sliku” operacijskog sustava. Slika je slična bootabilnom CD-u koji se koristi kod računala. U slučaju linuxa, to je kernel (koji uključuje bilo koje potrebne upravljačke programe uređaja). I, ugrađen u njemu, datotečni sustav. Kako bi se napravilo takvu sliku, potrebno je imati kernel koji je kompatibilan sa uređajem. Najlakši način za dobivanje valjanog kernela je samo preslikavanje jednoga sa ispravnog uređaja. Međutim, fastboot ne nudi tu mogućnost: to se treba napraviti nakon što se uređaj već pokrenuo, a to zahtijeva administratorski (root) pristup. Ukratko, treba imati root pristup da bi se dobilo root pristup. Ponekad proizvođač uređaja osigura slike “sa police” (što je vrlo korisno ako slučajno pokvarite nešto kod uređaja - lako je vratiti na tvorničko stanje pomoću fastboota). Google međutim, nije izdao slike za Google naočale.
Skripta koja omogućuje rootanje Android uređaja
Na forumu “XDA developers” je moguće naći exploit koji je proizveo korisnik imenom “Bin4ry”. Naime, s tim exploitom je moguće dobiti administratorski pristup bilo kojem Android 4.0, i 4.1 uređaju. Exploit radi na sljedeći način: on uključuje nešto što se zove “symlink traversal”. Taj postupak je moguće pokrenuti prilikom vraćanja sigurnosne kopije na uređaj. Exploit konstruira, modificira, i vrati više sigurnosnih kopija, jednu kako bi postavio simboličku poveznicu (symlink), i drugu kako bi putovao tim poveznicama. Na Android uređajima, moguće je pomoću adb-a napraviti sigurnosnu kopiju osobnih podataka povezanih sa bilo kojim instaliranim paketom, i poslije vratiti te podatke. Kada se podaci vraćaju, prvo se obrišu svi osobni podaci koji već postoje, i potom se raspakiraju podaci koji su pohranjeni u sigurnosnoj kopiji. Sigurnosna kopija je sama kompresirana u “tar” datoteci. Nadalje će biti objašnjen pojam simboličke poveznice. Symlink je posebna vrsta datoteke koja zapravo nije datoteka. Ona je više kao pokazivač koji kaže računalu da koristi drugu datoteku umjesto te poveznice. Ako imate direktorij ili datoteku koja je symlink na drugu datoteku, kada idete u taj direktorij, završiti ćete u direktoriju na koji pokazuje symlink. Ako se sigurnosna kopije raspakira na vrh symlinka, podaci će završiti na krivom mjestu. Nemoguće je postaviti symlink prije vremena, jer je prvi korak kod vraćanja sigurnosna kopije, brisanje starih podataka. Nemoguće je postaviti symlink u sigurnosnu kopiju, jer iako se može to napraviti u tar datoteci, sustav vraćanja podataka u Androidu ne zna što napraviti kada nađe takvu specijalnu vrstu podataka u podacima sigurnosne kopije. Potrebno je zato postaviti symlink tijekom procesa vraćanja podataka. Ovo se također naziva i “uvjet utrke”, jer sada postoje dvije aktivnosti koje se utrkuju do istog mjesta, i ovisno o tome koja će prije tamo doći (proces vraćanja, ili pokušaj postavljanja symlinka), može se dogoditi ili problematični ili željeni rezultat. Kako bi osigurali da postupak prođe na željeni način, potrebno je učiniti sigurnosnu kopiju vrlo velikom, tako da se proces vraćanja podataka uspori. Datoteka koju želimo prepisati sa sigurnosnom kopijom je /data/local.prop, koja je pohranjena na dijelu uređaja koji može biti izmijenjen, ali jedino ako ste administrator. Unutar te datoteke, cilj je postaviti “ro.kernel.qemu=1”, čime će operacijski sustav misliti da ne radi na stvarnom hardveru, nego na emulatoru koji je dobiven od Google razvojnog tima kako bi lakše testirali svoje aplikacije (program koji se zove “qemu”). Kako bi ovo radilo, potrebno je naći paket koji omogućuje da njegovi podaci budu vraćeni iz sigurnosne kopije kao i čiji je vlasnik root (tako da se sigurnosna kopija otpakira kao root, što je potrebno kako bi bilo moguće pisati u /data/local.prop). Na većini Android uređaja aplikacija Settings odgovara profilu. Na Google naočalama, ne postoji aplikacija Settings, ali postoji aplikacija Glass Logging service koja može poslužiti svrsi. Nadalje, potrebno je imati Android SDK (koji dolazi sa adb alatom) instaliran na računalu, i dvije datoteke:
exploit.ab i su.
Kako ovaj proces uključuje vraćanje osobnih podataka pohranjenih na Glass Logging servisu, potrebno je prvo napraviti kopiju svih podatak koji su već pohranjeni na naočalama. To se napravi pomoću adb naredbe backup, kojoj je potrebno proslijediti ime datoteke u koju želimo pohraniti podatke i ime paketa koji želimo sačuvati.
$ adb backup -f backup.ab com.google.glass.logging
Kada se pokrene ova naredba, naočale će prikazati dialog (kroz prizmu) za potvrdu izrade sigurnosne kopije i odabirom da li želimo da je sigurnosna kopija zaštičena lozinkom. U ovom slučaju potrebno je samo pomoću touchpada naočala odabrati izbor “Back up my data”. Tada će se naredba izvršiti. Sljedeći korak je vraćanje podataka. Exploit će tada kreirati direktorij u području podataka za Glass Logging servis u kojem će bilo tko, pa čak i adb ljuska moći kreirati nove datoteke. Potrebno je izvršiti naredbu u adb ljuski koja će pokušati kreirati symlink, ponovo i ponovo sve dok ne uspije priliko kreiranja direktorija.
$ adb shell "while ! ln -s /data/local.prop \ /data/data/com.google.glass.logging/a/file99 \ 2>/dev/null; do :; done"
Dok se to izvršava potrebno je pokrenuti proces vraćanja podataka modificiranog payloada. To se izvrši sa adb restore naredbom. Ova naredba će otvoriti novi dialog na zaslonu naočala, pa je potrebno odabrati “Restore my data” opciju.
$ adb restore exploit.ab
Nakon par sekundi, prethodna naredba (ona koja kreira symlink) bi trebala završiti. Prije nego što nastavimo, trebali bi vratiti sigurnosnu kopiju koju smo napravili od prethodnih podataka Glass Logging servisa. Ovo ne samo da će počistiti nered koji je nastao, nego će vratiti i prethodne osobne podatke za taj servis.
$ adb restore backup.ab
Sada je potrebno ponovo pokrenuti naočale. Kada se sistem pokrene, mogu se pojaviti neke greške o tome da se Bluetooth sistem srušio ili nije uspio: ovo je zbog toga što emulator (u kojem naočale smatraju da se izvršavaju) ne podržava te mogućnosti. Potrebno je dalje kopirati su binarne datoteke na uređaj, i učiniti ih privilegiranim, i ponovo pokrenuti naočale.
$ adb reboot $ adb shell "mount -o remount,rw /system" $ adb push su /system/xbin $ adb shell "chmod 6755 /system/xbin/su" $ adb shell "rm /data/local.prop" $ adb reboot
Sada, kada se uređaj ponovo pokrene, neće se prikazati nikakve greške. Adb ljuska će također biti ograničena kao prije, pošto uređaj nema više naše modificirane datoteke. Međutim, pošto je “su” instaliran i označen sa ispravnim privilegijama, moguće je dobiti administratorski pristup kada god je potrebno sa adb. [19]
--Tomislav
Bootloader štiti korisnika
Razlog zašto ne bi trebalo otključavati bootloader je zbog toga što, dok uređaj ima otključan bootloader ne možete biti sigurni da vaš operacijski sustav nije mijenjan od nekoga dok je uređaj bio izvan vaše kontrole. To je zato što bilo tko može , nakon što pokrene vaš uređaj sa otključanim bootloaderom u fastboot, pokrenuti ili instalirati bilo koju izmijenjenu sliku koju želi. Nije važno koliko je siguran operacijski sustav. Fastboot je dostupan. Moguće je zaključiti da bi se primjetilo ako netko instalira drugu verziju Android sustava na vaš uređaj, ali napadač treba samo modificirati postojeći softver. Moguće je pristupiti datotečnom sustavu i instalirati malo izmijenjenu verziju bilo kojeg softvera kojeg koristite. Ovo znači da ako ostavite vaš uređaj u tuđim rukama, i ako ima otključan bootloader, u kratkom vremenu moguće je pristupiti bilo čemu što je pohranjeno na uređaju. Dok na mnogim Android uređajima postoji PIN koji štiti vaše osobne podatke, ne treba dugo da se programski isproba svaki PIN. Sve u svemu, potrebno je vrlo kratko vrijeme da napadač samo modificira vaš uređaj da automatski učitava sve vaše podatke na server sljedeći put kada ćete ga koristiti. Čak mogu i ostaviti softver koji im omogućuje da pristupi vašem uređaju bilo kada, dozna vašu lokaciju ili čak uzima fotografije. Način na koji ste zaštičeni od ovoga, kako bi se fastboot iskoristio za krađu podataka, bootloader mora biti otključan, i proces otključavanja bootloadera briše sve vaše podatke. Rezultat toga je, nakon što bi dobili uređaj nazad, bilo bi vrlo očito da je sustav mijenjan, svi podaci bi nestali, i kada bi pokrenuli uređaj, prikazala bi se slika koja daje do znanja da je sustav mijenjan. Jednom kada napadač ima administratorski pristup naočalama, on ima puno veću moć nego kada bi pristupio vašem mobitelu ili čak računalu. On ima pristpu nad kamerom i mikrofonom. Izmjenjene Google naočale ne prate samo svaki vaš korak, one prate sve što vi gledate i snima sve što čujete. [20]
--Tomislav
Literatura
[1]. StopTheCyborgs(2013). Dostupno 12.1.2015 na http://stopthecyborgs.org/about/
[2]. Paule Miller (2013), Google Glass apps: everything you can do right now, The Verve. Dostupno 10.1.2015 na http://www.theverge.com/2013/5/20/4339446/google-glass-apps-everything-you-can-do-right-now
[3]. Davor Šuštić(2013), Gadgeti - Google Glass, BugNews. Dostupno 10.1.2015 na http://www.bug.hr/bug/tekst/google-glass/96523.aspx
[4]. From PowerOn to Android – The Boot Sequence. Dostupno 05.01.2015 na http://javigon.com/2012/08/24/from-poweron-to-android-the-boot-sequence/
[5]. The Bootloader – Understanding, Modifying, Building and Installing. Dostupno 05.01.2015 na http://javigon.com/2012/08/27/the-bootloader-understanding-modifying-building-and-installing/
[6]. Jay Freeman, Exploiting a Bug in Google's Glass. 3.Dostupno 05.01.2015. na http://www.saurik.com/id/16
[7]. Google Developers. Dostupno 18.1.2015. na https://developers.google.com/glass/policies