Využitie sledovania spotreby batérie v OS Android

Similar documents
Registrácia účtu Hik-Connect

Mesačná kontrolná správa

Anycast. Ľubor Jurena CEO Michal Kolárik System Administrator

kucharka exportu pro 9FFFIMU

Spájanie tabuliek. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

Mesačná kontrolná správa

Aplikačný dizajn manuál

Copyright 2016 by Martin Krug. All rights reserved.

TP-LINK 150Mbps Wireless AP/Client Router Model TL-WR743ND Rýchly inštalačný sprievodca

Databázové systémy. SQL Window functions

D.Signer prostriedok pre vytváranie zaručeného elektronického podpisu. Inštalačná príručka

NIKY a NIKY S. JEDNOFÁZOVÉ UPS od 600 do 3000 VA SVETOVÝ ŠPECIALISTA PRE ELEKTRICKÉ INŠTALÁCIE A DIGITÁLNE SYSTÉMY BUDOV

Ochrana koncových staníc pomocou Cisco Security Agent 6.0. Ľubomír Varga.

Spôsoby zistenia ID KEP

Desatinné čísla #1a. Decimal numbers #1b. How much larger is 21,8 than 1,8? Desatinné čísla #2a. Decimal numbers #2b. 14 divided by 0,5 equals...

LL LED svietidlá na osvetlenie športovísk. MMXIII-X LEADER LIGHT s.r.o. Všetky práva vyhradené. Uvedené dáta podliehajú zmenám.

Testovanie bieleho šumu

Recipient Configuration. Štefan Pataky MCP, MCTS, MCITP

Obsah. SOA REST REST princípy REST výhody prest. Otázky

1 Komplexný príklad využitia OOP

UNIVERZITA KONŠTANTÍNA FILOZOFA V NITRE

ÚMRTNOSŤ NA ÚRAZY MOZGU VO VYBRANÝCH EURÓPSKYCH KRAJINÁCH

Základná(umelecká(škola(Jána(Albrechta Topoľčianska(15

VYLEPŠOVANIE KONCEPTU TRIEDY

Databázy (1) Prednáška 11. Alexander Šimko

BGP - duálne prepojenie AS. (primary + backup spoj), s IBGP, cez virtuální L2 linky

Microsoft Azure platforma pre Cloud Computing. Juraj Šitina, Microsoft Slovakia

XPS 8920 Setup and Specifications

Crestron Mercury. Univerzálny Videokonferenčný a Kolaboračný systém

Riešenia a technológie pre jednotnú správu používateľov

Poradové a agregačné window funkcie. ROLLUP a CUBE

Textový formát na zasielanie údajov podľa 27 ods. 2 písm. f) zákona

Manuál k programu FileZilla

REALIZÁCIA VIRTUÁLNEHO LABORATÓRIA S VYUŽITÍM XPC TARGET-u

VLSM a CIDR. CCNA2 Kapitola Cisco Systems, Inc. All rights reserved. Cisco Public 1

Vzory, rámce a webové aplikácie

Podporované grantom z Islandu, Lichtenštajnska a Nórska prostredníctvom Finančného mechanizmu EHP a Nórskeho finančného mechanizmu

REPORT DESIGNER 1 VYTVORENIE A ÚPRAVA FORMULÁRA. úprava formulárov v Money S4 / Money S Vytvorenie formulára

SMARTPHONE FAKULTA INFORMAČNÍCH TECHNOLOGIÍ BRNO UNIVERSITY OF TECHNOLOGY FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER SYSTEMS

Ochrana proti DDoS za použitia open-source software. Katarína Ďurechová

Databázy (1) Prednáška 08. Alexander Šimko

Rýchlosť Mbit/s (download/upload) 15 Mbit / 1 Mbit. 50 Mbit / 8 Mbit. 80 Mbit / 10 Mbit. 10 Mbit / 1 Mbit. 12 Mbit / 2 Mbit.

Návrh a dimenzovanie siete GSM z hľadiska kapacity

MERANIE SOFTVÉRU. Jakub Šimko MSI

ZADANIE SEMESTRÁLNEHO PROJEKTU

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

VZDÁLENÝ PŘÍSTUP K MOBILNÍM ZAŘÍZENÍM REMOTE ACCESS TO MOBILE DEVICES

Constraint satisfaction problems (problémy s obmedzujúcimi podmienkami)

Coordinates ordering in parallel coordinates views

Ekonomický pilier TUR

ŽILINSKÁ UNIVERZITA V ŽILINE ELEKTROTECHNICKÁ FAKULTA

Knižnica (framework) pre kreslenie grafov

Transactions of the VŠB Technical University of Ostrava, Mechanical Series No. 2, 2014, vol. LX article No. 1991

DOPLNĚK PRO PROHLÍŽEČE PRO DETEKCI A ZP- RACOVÁNÍ AUDIO A VIDEO STREAMŮ BROWSER EXTENSION FOR AUDIO/VIDEO STREAM PROCESSING

Tvorba informačných systémov. 4. prednáška: Návrh IS

Nový Office. Pre stredné a veľké podniky. Služba. Ovládanie dotykom. zariadenie

Užívateľská príručka k softvéru Spontania

Útoky typu Cross-Site Scripting

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

JEDNODUCHÝ IS PRO MOBILNÍ TELEFONY PRO EVIDENCI HOVORŮ SIMPLE MOBILE PHONE IS FOR CALL EVIDENCE

Sprievodca pripojením (pre model COOLPIX)

SLOVENSKÁ TECHNICKÁ UNIVERZITA FAKULTA INFORMATIKY A INFORMAČNÝCH TECHNOLÓGIÍ ILKOVIČOVA 3, BRATISLAVA 4

NÁKLADY ŽIVOTNÉHO CYKLU LIFE CYCLE COSTS

SECURITY BULLETIN Týždeň

informačné, riadiace, telemetrické a komunikačné systémy BaWiT Online portál SCT revízia r2.4

Problém Big Data a ako ho riešiť pomocou NoSQL. Ján Zázrivec Softec

Geo-lokalizácia a online marketing. JUDr. Zuzana Hečko, LL.M.

JAVA. Sieťové programovanie

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Manuál pre používanie ručného scannera IRIScan Book Executive 3

S ROZHRANÍM KWP-1281 FAKULTA INFORMAČNÍCH TECHNOLOGIÍ BRNO UNIVERSITY OF TECHNOLOGY

Overené riešenia.

1. ELASTIX inštalácia 2 2. Elastix konfigurácia Nastavenie užívateľských kont Pridanie nových užívateľských kont 10 2.

Daker DK Plus UPS RACK-TOWER UPS. od 1 do 10 kva SVETOVÝ ŠPECIALISTA PRE ELEKTRICKÉ INŠTALÁCIE A DIGITÁLNE SYSTÉMY BUDOV

Používateľská príručka

Rozloženie operačných systémov v mobilných zariadeniach a preferencie používateľov na Slovensku a v Českej republike

Kamera. Sieťová klenbová kamera. Rýchla používateľská príručka---po slovensky. Táto rýchla príručka sa vzťahuje na: DS-2CD2112-(I),

Detekcia antivírusových aplikácií na zariadeniach v počítačovej sieti

Xamarin písanie Android a ios aplikácií v C#

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY VÝUKOVÁ WEBOVÁ APLIKÁCIA NA PROGRAMOVANIE GPU.

ÚRAD VEREJNÉHO ZDRAVOTNÍCTVA SLOVENSKEJ REPUBLIKY Trnavská cesta 52 P.O.BOX Bratislava

MONITOROVÁNÍ NEELEKTRICKÝCH VELIČIN S VY- UŽITÍM BLUETOOTH LOW ENERGY

POROVNANIE GUI VYBRANÝCH SOFTVÉROVÝCH NÁSTROJOV

SYSTÉM NA EVIDENCIU A KATEGORIZÁCIU

Nové komunikačné trendy v dátových centrách

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Tvorba webových stránok pre mobilné platformy

Štruktúra údajov pre kontajner XML údajov 1. Dátové prvky pre kontajner XML údajov

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY FYZIKY A INFORMATIKY. Moderné trendy pri tvorbe webových aplikácií

Aplikácia k určovaniu rastlín pre platformu ios

MOBILNÍ APLIKACE PRO VZDÁLENOU OBSLUHU FOTOGRAFICKÝCH ZAŘÍZENÍ

SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE MATERIÁLOVOTECHNOLOGICKÁ FAKULTA V TRNAVE

ANALÝZA BEZPEČNOSTI BEZDRÁTOVÝCH SÍTÍ

Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky. Interaktívna výuková webová aplikácia na riešenie úloh o pravdepodobnosti

Návod na odstránenie certifikátov so zrušenou platnosťou

On-line pomocník. Vitajte v LTE CPE! On-line pomocník. Huawei patentované a dôverné Autorské práva Huawei Technologies Co., Ltd

Identification of network users by profiling their behavior. Bc. David Kubeša

PODPORNÉ PROSTRIEDKY PRE VERZIOVANIE: VHODNÝ VÝBER PRE NÁŠ TÍM?

SIMULÁTOR 3D TISKÁRNY SIMPLE 3D PRINTER SIMULATOR

WEBOVÁ PLATFORMA PRE TVORBU HIER WEB PLATFORM FOR GAME DEVELOPMENT

Transcription:

Masarykova univerzita Fakulta informatiky Využitie sledovania spotreby batérie v OS Android Bakalárska práca Juraj Galbavý Brno, jar 2016

Prehlásenie Prehlasujem, že táto bakalárska práca je mojím pôvodným autorským dielom, ktoré som vypracoval samostatne. Všetky zdroje, pramene a literatúru, ktoré som pri vypracovaní používal alebo z nich čerpal, v práci riadne citujem s uvedením úplného odkazu na príslušný zdroj. Juraj Galbavý Vedúci práce: Ing. Mgr. et Mgr. Zdeněk Říha, Ph.D. i

Poďakovanie Rád by som na tomto mieste poďakoval svojmu vedúcemu bakalárskej práce Ing. Mgr. et Mgr. Zdeňkovi Říhovi, Ph.D. za ochotný prístup a odbornú pomoc. Ďalej by som chcel poďakovať rodine a priateľom za cenné rady pri písaní tejto práce a podporu pri štúdiu. ii

Zhrnutie Bakalárska práca sa zaoberá skúmaním využitia spotreby batérie v operačnom systéme Android. Bližšie skúma spotrebu batérie na základe sily signálu GSM. S využitím tejto spotreby ďalej popisuje možnosti sledovania polohy zariadenia. V ďalšej časti sa práca venuje možnosti sledovania užívateľa pri prehliadaní webových stránok. V rámci práce bola implementovaná mobilná aplikácia pre operačný systém Android. Úlohou tejto aplikácie bolo zisťovanie elektrického príkonu a sily signálu z mobilného telefónu. iii

Kľúčové slová batéria, sila signálu, príkon, spotreba batérie, mobilný telefón, sledovanie polohy iv

Obsah 1 Úvod................................ 1 2 Operačný systém Android.................... 3 2.1 Bezpečnostné riziká...................... 4 3 Batéria............................... 5 3.1 Získanie informácií o batérii................. 5 3.2 Bezpečnostné riziká sledovania batérie............ 7 4 Spotreba batérie na základe sily signálu........... 9 4.1 Elektrický príkon....................... 9 5 Sledovanie polohy zariadenia................. 13 5.1 Hrozby............................ 14 5.2 Meranie sily signálu a príkonu................ 16 5.3 Závislosť sledovania od prostredia.............. 18 5.4 Hysteréza........................... 18 5.5 Výzvy............................. 19 5.6 Rozlíšiteľnosť trasy...................... 19 5.7 Sledovanie mobilu v reálnom čase.............. 20 5.7.1 Sledovanie pomocou DTW............ 20 5.7.2 Vylepšenie sledovania pomocou modelu pohybu 21 5.8 Odvodzovanie novej trasy................... 21 6 Sledovanie pomocou Battery Status API........... 22 6.1 Sledovanie prehliadania webových stránok.......... 22 6.1.1 Frekvencia zmeny stavu batérie.......... 23 6.1.2 Počet možných identifikátorov.......... 23 6.1.3 Rekonštrukcia užívateľských identifikátorov.. 24 6.2 Ochrana pred sledovaním................... 24 6.2.1 Obmedzenie presnosti výstupných informácií. 24 6.2.2 Oprávnenie prístupu k Battery Status API.... 25 7 Aplikácia.............................. 26 7.1 Ďalšie merania........................ 27 8 Experiment............................ 29 8.1 Funkcionalita programu................... 29 8.2 Výsledky............................ 30 9 Záver................................ 31 A Prílohy............................... 36 A.1 Zoznam elektronických príloh................. 36 v

1 Úvod Pokrok v elektronike a vynájdenie dotykového displeja prispel k enormnému rozvoju mobilných aplikácii. Je to z dôvodu jednoduchšieho a prívetivejšieho ovládania. Dotykové mobilné zariadenia ako smartfóny a tablety ponúkajú oveľa rozmanitejšie možnosti využitia. Mobilné telefóny vlastní dnes takmer každý. V súčasnosti už tieto zariadenia nevyužívame len na telefonovanie či zasielanie textových správ, môžeme pomocou nich počúvať hudbu, fotografovať, aj prehliadať webový obsah alebo nakupovať. A práve využívanie rôznych mobilných aplikácií či surfovanie na internete cez mobilné zariadenia sa pomaly stáva bežnou súčasťou každodenného života. Mobilné aplikácie v mnohých aspektoch zjednodušujú náš život, avšak mnohokrát si neuvedomujeme, že rovnako ako počítače, aj smartfóny sú cieľom rôznych kybernetických útokov, a teda sú ohrozené. V dnešnej dobe pomocou mobilného telefónu dokonca platíme účty, preto si musíme dávať pozor, čo si do svojich mobilov inštalujeme. Mnoho aplikácií totiž môže vyzerať na prvý pohlaď neškodne, ale v skutočnosti môžu mať nekalé zámery, ako napríklad sledovanie polohy. Cieľom mojej práce bolo využiť možnosť sledovania spotreby batérie na mobilnom telefóne s operačným systémom Android. Previesť experimenty, ktoré sledujú spotrebu batérie na základe sily signálu GSM. Na základe tejto spotreby preskúmať možnosti sledovania polohy užívateľa. V kapitole 2 som sa venoval operačnému systému Android vo všeobecnosti. Následne som uviedol možné bezpečnostné riziká súvisiace so zlou aktualizáciou starších zariadení a taktiež s veľkým množstvom nebezpečných aplikácií v Google Play. Tretia kapitola sa venuje batériám v mobilných telefónoch. Uviedol som momentálne najpoužívanejšie batérie v smartfónoch. Táto kapitola bola taktiež zameraná na získavanie informácií o batériách, ktoré sú voľne prístupné v koreňových súboroch telefónu. Tieto súbory sú dostupné každej nainštalovanej aplikácií v telefóne, vzhľadom na to, že pri inštalácií nie je potrebné potvrdiť povolenie k prístupu k týmto súborom. Tieto informácie môžu byť následne zneužité. 1

1. Úvod Kapitola 4 je zameraná na spotrebu batérie na základe sily signálu. V tejto kapitole sú uvedené závislosti príkonu batérie od sily signálu a jednoduché vzorce použité pri meraniach. V kapitole 5 sa bližšie venujem možnosti sledovania polohy užívateľa na základe informácií o batérii mobilného telefónu. Sú v nej obsiahnuté prekážky a postupy týkajúce sa tejto témy. V šiestej kapitole sa zaoberám možnosťami sledovania užívateľa pri prehliadaní webových stránok. V siedmej kapitole opisujem praktickú časť práce, ktorou je aplikácia využívaná pri meraniach. Taktiež sú v tejto kapitole grafy výsledkov rôznych testov. Ôsma kapitola je venovaná experimentu. 2

2 Operačný systém Android Android je operačný systém pre mobilné zariadenia, vyvíjaný spoločnosťou Google. Tento operačný systém je založený na Linuxovom jadre a primárne navrhnutý pre dotykové mobilné zariadenia ako smartfóny a tablety [1]. Avšak vznikli aj odnože Androidu, ktoré sa špecializujú na iné zariadenia. K týmto zariadeniam patria napríklad televízory, inteligentné hodinky (smart watch), prenosné počítače, konzoly a autá. Od roku 2012 je najpredávanejší operačný systém v mobilných telefónoch, vtedy predbehol dlho napredujúci SymbianOS a ios [2]. Prieskum, ktorý bol robený v januári 2016 ukazuje, že Android používa 66,28 % mobilných telefónov. Na druhom mieste je ios s 19,58 %. Pre porovnanie, v roku 2012, keď sa Android dostal na prvú priečku používalo tento operačný systém 23,81 % zariadení. Android v posledných rokoch zaznamenal obrovský nárast popularity. Graf 2.1: Použitie verzií Androidu [3] Z grafu 2.1 vyplýva, že najnovšia verzia Androidu 6.0 Marshmallow, sa nachádza iba na 7 % zariadeniach s operačným systémom Android. Veľké zastúpenie majú verzie KitKat a Jelly Bean, aj keď 3

2. Operačný systém Android sú staršie ako dva roky. Na vine sú výrobcovia telefónov, pretože prestávajú aktualizovať staršie zariadenia. Ako príklad uvediem môj smartfón Sony Xperia P. Tento telefón sa začal predávať v máji 2012 s operačným systémom Android s verziu 2.3 Gingerbread, ktorá bola vydaná vo februári 2011 [4]. Posledná dostupná aktualizácia operačného systému bola na verziu 4.1 Jelly Bean z júla 2012. Nasledujúca verzia 4.2 z novembra 2012 už nebola oficiálne dostupná. Vzhľadom na to, že väčšinou s každou aktualizáciu prichádzajú aj bezpečnostné vylepšenia, užívatelia so staršími modelmi sú vystavený väčšiemu riziku a ich zariadenia sú zraniteľnejšie voči možným útokom. S každou aktualizáciou sa znižuje zraniteľnosť systému. Ako príklad by som uviedol zvýšenie ochrany osobných údajov. 2.1 Bezpečnostné riziká Operačný systém Android sa čoraz viac dostáva do pozornosti a to aj z hľadiska počítačovej bezpečnosti. Android je prezentovaný ako open source platforma, a preto je jeho zdrojový kód dostupný pod open source licenciou. Z tohto dôvodu veľa rôznych výrobcov upravuje Android pred tým, ako ho dá do svojho zariadenia [29]. Podľa prieskumu sto tisíc aplikácii pre Android v obchode Google Play predstavuje bezpečnostné riziko pre užívateľov [5]. Tieto aplikácie však nepredstavujú priame nebezpečenstvo (napr. inštaláciou škodlivého kódu), ale potencionálne nebezpečenstvo. Aplikácie boli hodnotené na základe kritérií ako: aké prístupové práva vyžadujú pri inštalácii reputácia vydavateľa ako často a aký objem dát sťahovali zo siete Zaujímavé zistenie je, že až 42 % aplikácií využíva dáta lokalizácie GPS a to aj šetriče obrazovky, hry a tapety. Ďalej 31 % aplikácií pristupuje k telefónnemu adresáru alebo výpisu hovorov a 26 % k osobným údajom, ako je napríklad mail. Naviac 9 % vyžaduje pri inštalácii súhlas užívateľa s niečím, čo by ho mohlo v konečnom dôsledku stáť peniaze. 4

3 Batéria Akumulátor mobilného zariadenia alebo tiež nabíjateľná batéria (ďalej batéria) je zatiaľ nenahraditeľná súčasť každého elektronického mobilného zariadenia. Táto všadeprítomná súčiastka však predstavuje dieru v bezpečnostnom systéme a umožňuje prístup k súkromiu užívateľa. Viac o tejto problematike sa budem venovať v nasledujúcich kapitolách. Mobilné zariadenia s operačným systémom Android sú v dnešnej dobe vyrábané s dvoma rôznymi typmi batérií. [6] Lithium-iónová batéria (Li-Ion batéria alebo LIB) je v dnešnej dobe jeden z najpoužívanejších druhov batérii. Hodí sa pre prenosné zariadenia kvôli vysokej hustote energie vzhľadom k jej objemu. Najväčšou prednosťou batérie je potlačenie pamäťového efektu 1, ktorý sa v tomto druhu batérie skoro neprejavuje. Pri používaní tejto batérie je však nutné dodržiavať isté pravidlá, pretože pri extrémnom prebití batérie môže dôjsť k explózii. V dnešnej dobe sú však tieto hrozby sledované rôznymi senzormi. Lithium-polymerová batéria (Li-Pol, LiPo) je novší druh batérie, ktorý je veľmi podobný Li-Ion batérii. Pamäťový efekt je už úplne potlačený a neprejavuje sa. Nevýhodou tejto batérie je malý počet nabíjacích cyklov. Nabíjanie trvá dlhšie ako u batérii Li-Ion [7]. 3.1 Získanie informácií o batérii V rámci operačného systému Android je jednoduché zisťovať aktuálne informácie o stave batérie. V systémových súboroch operačného systému sa nachádzajú súbory, ktoré uchovávajú tieto informácie. Cesta k týmto súborom sa môže v rôznych zariadeniach líšiť. Tak isto sa líšia aj premenné v jednotlivých súboroch na rôznych zariadeniach. Možné cesty k súborom: /sys/class/power_supply/battery/ /sys/class/power_supply/* 1. Zníženie kapacity batérie spôsobené tím, že dobíjame batériu, ktorá nie je 100% vybitá. 5

V týchto súboroch sa nachádzajú nasledujúce premenné: POWER_SUPPLY_NAME - názov batérie 3. Batéria POWER_SUPPLY_STATUS - aktuálny status batérie (nabíjanie/vybíjanie) POWER_SUPPLY_CHARGE_TYPE - typ nabíjania batérie (sieť/usb) POWER_SUPPLY_HEALTH - stav(zdravie) batérie POWER_SUPPLY_PRESENT - počet prítomných batérií POWER_SUPPLY_TECHNOLOGY - technológia batérie (Liion/Li-poly) POWER_SUPPLY_VOLTAGE_MAX_DESIGN - výrobná vrchná hranica elektrického napätia v mikrovoltoch (µv) POWER_SUPPLY_VOLTAGE_MIN_DESIGN - výrobná spodná hranica elektrického napätia v mikrovoltoch (µv) POWER_SUPPLY_VOLTAGE_NOW - aktuálne elektrické napätie v mikrovoltoch (µv) POWER_SUPPLY_CAPACITY - aktuálne nabitie batérie v percentách POWER_SUPPLY_CURRENT_MAX - vrchná hranica elektrického prúdu v mikroampéroch (µa) POWER_SUPPLY_CURRENT_NOW - aktuálny elektrický prúd v mikroampéroch (µa) POWER_SUPPLY_TEMP - teplota (kelvin K) POWER_SUPPLY_CHARGE_FULL_DESIGN - výrobná vrchná hranica elektrického náboja v mikrocoulomboch (µc) POWER_SUPPLY_CHARGE_FULL - vrchná hranica elektrického náboja v mikrocoulomboch (µc) POWER_SUPPLY_CHARGE_NOW - aktuálny elektrický náboj v mikrocoulomboch (µc) 6

3. Batéria Obr. 3.1: Ukážka dát z batérie Na obrázku 3.1 je zobrazený výstup zo súboru uevent, zo zariadenia Sony Xperia Z 3.2 Bezpečnostné riziká sledovania batérie Ako bolo spomenuté v predošlej kapitole v systémových súboroch si mobil uchováva aktuálne informácie o batérii. V porovnaní s inými operáciami, ako sú napríklad používanie GPS polohy zariadenia alebo prístup k informáciám o sieti Wi-Fi, ku ktorým potrebuje aplikácia povolenia na prístup k daním informáciám, sledovanie informácii o baterke je voľne prístupné bez akýchkoľvek oprávnení [8]. Ako môžeme vidieť na obrázku 3.2. Tieto informácie môžu byť využité napríklad na sledovanie polohy zariadenia alebo aj sledovanie činnosti užívateľa pri prehliadaní webového obsahu. Pred každou inštaláciou aplikácie v operačnom systéme Android vyskočí dialógové okno so žiadosťou o potvrdenie povolení, ktoré aplikácia vyžaduje. Na obrázku 3.3 je príklad inštalácie aplikácie, ktorá má prístup k polohe užívateľa pomocou GPS. Jedno z mnohých povolení je aj konkrétne povolenie na využitie polohy. 7

3. Batéria Obr. 3.2: Žiadne povolenia To znamená, že užívateľ je upozornený, keď aplikácia môže zisťovať polohu mobilného telefónu aj v prípade, keď je aplikácia zameraná na iné ciele (napríklad hudobný prehrávač). Toto však neplatí o zisťovaní polohy pomocou príkonu batérie. Obr. 3.3: Potvrdenie povolení 8

4 Spotreba batérie na základe sily signálu Spotreba elektrickej energie je ovplyvnená vzdialenosťou od základňovej stanice GSM, na ktorú je mobilný telefón pripojený a prekážkami, ako sú napríklad budovy a stromy. Čím ďalej je telefón od základňovej stanici, tým je signál slabší. Dôvodom je takzvaný útlm voľného priestoru, ktorý spôsobuje útlm elektromagnetických vĺn. Je dôsledkom rozptylu vlny do priestoru [9]. Sila signálu nie je ovplyvnená len stratou energie, ale vo veľkej miere aj prekážkami v ceste, ktoré ju taktiež tlmia. Ďalším elementom ovplyvňujúcim silu signálu je viac-cestná interferencia [10] spôsobovaná objektmi, ktoré odrážajú rádiový signál späť do telefónu prostredníctvom rôznych ciest, ktoré majú rôznu dĺžku. Sila prijatého signálu ovplyvňuje príkon batérie mobilného telefónu. Príkon mobilného telefónu je menší, keď prebieha prenášanie informácií s dobrým signálom. Touto témou sa zaoberal aj pán Schulman so svojím tímom. Dokázali, že komunikácia so zlým signálom môže zvyšovať spotrebu energie až o 50 %. Hlavný dôvod tohto javu je, že príkon, ktorý je vyhradený na prenos, zvýši svoj odber, keď poklesne sila signálu. Spomenutý efekt nastane i pri samotnom prijímaní paketov telefónom. Sila GSM signálu je hlavným faktorom, ktorý ovplyvňuje príkon batérie. Anténa je jeden z najväčších elektrických spotrebiteľov v telefóne [11]. 4.1 Elektrický príkon V Androide sa na zisťovanie príkonu batérie (wattmeter) využíva čítanie z nasledujúcich dvoch súborov. Cesta k týmto súborom sa môže mierne líšiť v závislosti od verzie Androidu. /sys/class/power_supply/battery/voltage_now /sys/class/power_supply/battery/current_now V súbore voltage_now sa nachádza aktuálna hodnota elektrického napätia a v súbore current_now aktuálna hodnota elektrického prúdu. 9

4. Spotreba batérie na základe sily signálu Pomocou jednoduchého vzorca 4.1 si z týchto dvoch veličín dokážeme vypočítať elektrický príkon. Vzorec 4.1. P = U * I Elektrické napätie (U) určuje rozdiel elektrických potenciálov medzi dvoma pólmi, pričom vyjadruje energiu potrebnú na premiestnenie náboja medzi danými pólmi. Ako je možné vidieť na obrázku 3.1 zariadenie má definovanú maximálnu a minimálnu hodnotu napätia. Čím je mobil viac nabitý, tým je elektrické napätie väčšie a postupne klesá pri vybíjaní [12]. Väčšinu času je mobil v režime vybíjania, teda nie je pripojený do elektrickej siete. A práve v tomto stave je výstupná hodnota elektrického prúdu z batérie záporná, keďže elektrina je spotrebovávaná. Akonáhle sa mobil pripojí k elektrickej sieti hodnota elektrického prúdu sa zmení na kladú. Práve preto pri výpočte elektrického príkonu využívam upravený vzorec 4.2, aby bol príkon kladný počas celého merania. Vzorec 4.2. P = U * I Nasledujúce meranie prebehlo na jednom statickom mieste a počas merania bol dvakrát zapnutý displej telefónu, na začiatku tretej tretiny a na konci merania. Nasledujúce grafy ukazujú závislosť elektrického príkonu od elektrického prúdu a elektrického napätia. Ako je vidieť, graf príkonu 4.1 a graf elektrického prúdu 4.2 (absolútna hodnota) vyzerajú identicky. Elektrický prúd je pomerne konštantný, zmení sa až vtedy, keď sa zapne displej a začne sa spotrebovávať viac elektrickej energie. Po vypnutí displeja sa prúd vráti na pôvodné hodnoty. Na druhej strane elektrické napätie sa zmenšuje pri narastajúcej záťaži a následne sa vracia do viditeľne zníženého stavu. Elektrické napätie počas celého vybíjania postupne klesá. 10

4. Spotreba batérie na základe sily signálu Graf 4.1: Elektrický príkon Graf 4.2: Elektrický prúd Graf 4.3: Elektrické napätie 11

4. Spotreba batérie na základe sily signálu Nasledujúce meranie bolo zamerané na sledovanie závislosti príkonu od sily signálu. Dáta boli zaznamenávané aplikáciou, ktorá je súčasť tejto práce. Počas prechodu tejto trasy bol meraný elektrický príkon a sila signálu 1. Nasledujúce dva grafy ukazujú závislosť príkonu batérie na sile signálu. Pri poklese signálu je vidieť náhly vzrast príkonu. Graf 4.4: Príkon batérie Graf 4.5: Sila signálu 1. Stupnica sily signálu je od 0 do 31, pričom 31 je najlepší signál. 12

5 Sledovanie polohy zariadenia V dnešnej dobe sú mobilné telefóny neoddeliteľnou súčasťou nášho života, nosíme ich väčšinu času všade so sebou. Práve z tohoto dôvodu majú väčšinou rovnakú polohu ako my. Sledovanie mobilného telefónu je teda vlastne sledovanie polohy majiteľa tohto zariadenia. Ľudia vo všeobecnosti nemajú radi, keď sú sledovaní, preto všetky mobilné platformy uznali polohu za citlivú informáciu o užívateľovi. Práve preto sú nutné užívateľove povolenia na prístup k GPS v mobile alebo Wi-Fi pripojenie, ako už bolo spomenuté v kapitole 3.2. Napriek týmto obmedzeniam môžu aplikácie získať polohu telefónu [13]. Môžu to docieliť pomocou zdanlivo neškodného senzora wattmetra. Tento senzor meria príkon mobilného telefónu v reálnom čase. Ako bolo uvedené v kapitole 4, GSM signál, teda aj poloha telefónu, má vplyv na spotrebu batérie. Hlavným technickým problémom je, že energiu v zariadení spotrebováva súčasne veľa komponentov a aplikácií. Užívateľ môže napríklad používať aplikácie, počúvať hudbu, zapínať/vypínať displej, používať Wi-Fi, telefonovať alebo fotografovať. Všetky tieto aktivity ovplyvňujú príkon mobilnej batérie, výsledkom je teda veľké množstvo šumu v nameraných hodnotách z batérie. Mobilná anténa spotrebováva energiu podla toho, ako veľmi je vzdialená od základňovej stanici. Počas telefonátu alebo prenosu dát anténa spotrebováva viac energie ako pri v nečinnom stave [14]. Všetky tieto faktory prispievajú k premenlivosti spotreby batérie telefónu a spôsobujú nežiadúci šum. Wattmeter poskytuje dáta iba o celkovom príkone batérie a nemôže byť použitý na meranie konkrétnej zložky. Aj napriek tomu sa dá s použitím strojového učenia zistiť umiestnenie a pohyb telefónu. Dôvodom prečo prítomný šum nepomýli algoritmus je, že šum nie je v korelácii s polohou telefónu. Preto dostatočne dlhé meranie spotreby energie umožní algoritmu rozlíšiť šum od chcených údajov. Za týmto účelom sa používa meranie spotreby energie ako časových rád, a následné použitie metód na ich vzájomné porovnanie k získaniu vzoru pre profil spotreby energie pre jednotlivú trasu. 13

5. Sledovanie polohy zariadenia Z pohľadu útočníka môžeme sledovanie rozdeliť do troch cieľov: 1. Rozlíšiteľnosť trasy: Cieľom je zistiť ktorou trasou sa užívateľ pohybuje z pomedzi vopred fixne vybraných možných trás. 2. Sledovanie pohybu v reálnom čase: Za predpokladu, že používateľ ide známou cestou. Je možné určiť polohu užívateľa a sledovať ho v reálnom čase? 3. Nová trasa: Predpokladajme, že užívateľ ide ľubovoľne dlhou trasou. Môže útočník zistiť túto trasu z množstva vopred nameraných profilov menších ciest v tejto oblasti? Trasa užívateľa a miesto konca trasy sa identifikuje podľa profilov (príkonu) krátkych segmentov trasy. Tento prístup je založený len na meraní celkového (všetky faktory v jeden okamih) príkonu telefónu, nie iba jeho častí [15]. Taktiež sa nemeria sila signálu pretože tieto dáta sú chránené vo väčšine operačných systémov. Prístup k týmto dátam vyžaduje povolenie užívateľa. Naopak, prístup k informáciám o batérii nepotrebuje špeciálne povolenia. Aplikuje sa postup z kapitoly 4, podľa ktorého sa získavajú údaje z dvoch súborov. Viac ako sto aplikácii na Play Store pristupuje k týmto súborom. Zatiaľ čo väčšina z nich iba monitoruje použitie batérie, ukázalo sa, že všetky môžu sledovať polohu užívateľa. 5.1 Hrozby Predpokladajme, že má užívateľ nainštalovanú aplikáciu vo svojom mobile, ktorá mu neustále beží na pozadí. Táto aplikácia nemá oprávnenie pre prístup k GPS alebo akémukoľvek inému údaju o polohe. Taktiež nemá oprávnenie k dotazovaniu sa na identitu viditeľných základňových staníc alebo na SSID viditeľných Wi-Fi sietí. Aplikácia má však prístup k dátam z batérie a oprávnenie na komunikáciu so vzdialeným serverom. Pripojenie k sieti je potrebné k vytvoreniu fiktívneho slabého prenosu, aby sa zabránilo anténe prejsť do úsporného režimu. V tomto nastavení sa taktiež môže použiť aj sieťové pripojenie na odosielanie dát na centrálny server, kde sa môžu dáta ďalej spracovávať. Je však možné spracovať dáta priamo v mobile. Prístupové 14

5. Sledovanie polohy zariadenia práva k sieti síce sú v zozname oprávnení nainštalovanej aplikácii aj keď sa nezobrazia v potvrdení oprávnení pred inštaláciou aplikácie. Ako už bolo uvedené, aplikácia môže zisťovať iba súhrnný príkon telefónu. Nieje možné merať len samotnú spotrebu antény. Toto predstavuje ťažkú úlohu, pretože v telefóne je veľa komponentov, ktoré spotrebovávajú v jednej chvíli rôzne množstvo príkonu. V dôsledku toho sa vo všetkých meraniach nachádza extrémny šum. Tento šum je potrebné nejakým spôsobom odstrániť. Predpokladajme, že útočník má informácie o trase alebo oblasti v ktorej sa užívateľ pohybuje. Tieto informácie, mu umožnia dopredu namerať energetický profil rôznych trás v tejto oblasti. Systém koreluje tieto dáta s nameraným príkonom telefónu, a aj napriek šumu je schopný správne určiť polohu telefónu [15]. Aby tento systém správne fungoval musí byť sledovaný telefón v pohybe. Telefón, ktorý stojí na jednom mieste udáva len profil jedného miesta, preto nemôže byť sledovaný. Pre správne fungovanie je za potreby viac susediacich pozícií. Cieľom je lokalizovanie telefónu v množine vopred známych ciest vo vopred stanovenom priestore. Bolo by potrebné vynaložiť veľké úsilie, aby systém pokryl celý svet vopred premeranými profilmi všetkých ciest. Avšak experimenty dokázali, že sledovanie používateľa, ktorý každý deň chodí na tie isté miesta je celkom možné. Napríklad si môže užívateľ zvoliť jednu z niekoľkých možných ciest z domu do práce. Systém správne vyhodnotí, ktorá z možných trás bola zvolená a v reálnom čase identifikuje polohu telefónu počas celej cesty. Je dobré brať na vedomie, že na vytvorenie systému, ktorý by pokryl celosvetovú cestnú sieť môže byť použitý napríklad crowdsourcing 1 [16]. Populárna aplikácia alebo dokonca jadrom OS, môže zaznamenávať profily ciest pomocou rôznych užívateľov a výsledok posielať na centrálny server. Tieto dáta môžu použiť napríklad poskytovatelia služieb na zlepšenie presnosti lokalizačných služieb, avšak môžu byť použité aj na tajné lokalizovanie užívateľa. 1. Úloha zadaná bližšie nešpecifikovanej skupine ľudí ako všeobecná výzva. 15

5.2 Meranie sily signálu a príkonu 5. Sledovanie polohy zariadenia Nasledujúce výsledky meraní ukázali potenciál zistenia polohy vďaka meranie príkonu. Najprv treba dokázať, že sila signálu v každom mieste na testovanej trase môže byť statická v priebehu niekoľkých dní. Silu signálu som meral dvakrát z toho istého zariadenia. Dáta som získal pomocou aplikácie, ktorá je bližšie opísaná v kapitole 7. Medzi meraniami bolo časové rozmedzie niekoľko dní. Na grafe 5.1 sú znázornené dve merania sily signálu na jednej trase. Je zjavné, že tieto merania sú si veľmi podobné. Odchýlky merania boli spôsobené hlavne nestálou rýchlosťou chôdze pri meraní. Tiež jasne vidieť pôsobenie okolitých budov (prekážok) na zníženie sily signálu. Test ukázal, že sila signálu na tejto trase má jedinečný a nepravidelný vzor. Graf 5.1: Sila signálu Zhoda medzi dvoma meraniami sily signálu je väčšia, ako zhoda dvoch meraní príkonu. Príkon totiž nezávisí len na tom, ako reaguje na zmeny sily signálu, ale sila signálu ho môže značne ovplyvniť. Aj malý rozdiel v sile signálu môže spôsobiť prepnutie mobilu do módu, kde má úplne inú spotrebu energie alebo sa pripojí na inú základňovú stanicu v okolí a zostať k nej nejakú dobu pripojený. 16

5. Sledovanie polohy zariadenia Graf 5.2: Meranie príkonu 1 Nasledujúce merania boli zamerané na získanie príkonu batérie na rovnakej trase. Jednotlivé merania boli vykonané v časovom odstupe niekoľkých dní. Merania som zaznamenával na tom istom mobile. Keď porovnáme grafy 5.2 a 5.3,môžme medzi nimi vidieť podobnosť. Test ukázal, že na rovnakej trase v rôzny čas je možné namerať veľmi podobný príkon. Graf 5.3: Meranie príkonu 2 17

5.3 Závislosť sledovania od prostredia 5. Sledovanie polohy zariadenia Užívateľ, teda potenciálny cieľ, sa môže pohybovať počas sledovania cez rôzne prostredia. Tieto prostredia môžeme rozdeliť na tri typy: mesto dedina príroda V meste sú podmienky na sledovanie relatívne dobré. Prekážky ako veľké budovy robia v profile trasy viditeľné zmeny, podľa ktorých sa môže ľahšie identifikovať poloha. Na druhej strane v meste sa nachádza veľa ľudí(mobilov) a je v ňom umiestnených viac základňových staníc. To znamená, že v prípade preťaženia jednej stanice sa mobil prepne na druhú stanicu a tým sa profil trasy úplne zmení. Dedina má však väčšinou iba jednu základňovú stanicu a nebýva tak zaľudnená ako mesto, čo sú tiež dobré podmienky na sledovanie polohy. Taktiež je v dedine menej ciest, čo znamená menej možných trás, ktoré môže užívateľ prejsť. Sledovanie v prírode sa dá rozdeliť do dvoch ďalších kategórií, a to podľa toho či sa užívateľ pohybuje po turistických trasách alebo po vopred neoznačených trasách. V prvom prípade je sledovanie možné, avšak signál môže byť nestabilný a môže kolísať, čo sťažuje sledovanie. V druhom prípade je možnosť sledovania veľmi malá. Potencionálny útočník by totiž musel poznať profil príkonu celého územia po ktorom sa užívateľ pohybuje. 5.4 Hysteréza Hysteréza je závislosť určitého fyzikálneho stavu od predchádzajúcich javov. Mobilný telefón sa pripája na základňovú stanicu s najsilnejším signálom. Dalo by sa teda očakávať, že základňová stanica, ku ktorej je mobil pripojený a sila signálu budú rovnaké na konkrétnom mieste, avšak sila signálu môže byť na jednom mieste značne odlišná [11]. Záleží na tom akým spôsobom sa mobil dostal na konkrétne miesto. Napríklad z ktorého smeru dorazil. Toto nastáva kvôli hysteréze, podľa ktorej sa rozhodne, na ktorú základňovú stanicu sa mobil pripojí. Telefón sa prepojí do novej základňovej stanice, keď je sila prijímaného 18

5. Sledovanie polohy zariadenia signálu z doterajšej stanice menšia ako sila signálu z vedľajšej stanice. Rozdiel v signáloch však musí byť väčší ako je prahová hodnota [17]. Takže dva telefóny umiestnené na rovnakom mieste môžu byť pripojené k dvom rôznym základniam. Hysteréza má dva dopady na určovanie polohy užívateľa: Potencionálny útočník môže použiť iba rovnaký smer pohybu v akom je nameraný príkon. Skomplikuje to odvodzovanie novej trasy z merania príkonu na jednotlivých cestných úsekoch. 5.5 Výzvy Merania naznačujú, že pomocou sledovania príkonu telefónu môže byť zistená poloha užívateľa, avšak naskytujú sa štyri prekážky, ktoré treba prekonať na zistenie požadovanej polohy [15]. 1. Počas prípravnej fázy merania môže útočník cestovať rozdielnou rýchlosťou a zastavovať sa na rôznych zástavkách ako cieľový telefón. 2. Útočník bude musieť identifikovať energetický profil užívateľa z mnohých vopred nameraných profilov z rôznymich ciest. 3. V prípade, že útočník identifikuje správnu cestu, po ktorej užívateľ ide, jeho presná poloha môže byť nejednoznačná z dôvodu podobností na profile trasy. 4. Užívateľ môže prechádzať trasou, ktorú útočník počas predchádzajúcich meraní pokryl iba na určitých častiach. Tieto merania sú iba podmnožinou trasy užívateľa. 5.6 Rozlíšiteľnosť trasy Ak útočník pozná trasy, po ktorých sa užívateľ pohybuje každý deň (cesta do práce), môže dopredu zistiť profil týchto trás a neskôr to využiť na lokalizovanie užívateľa. 19

5. Sledovanie polohy zariadenia Na základe nameraných profilov vopred známych trás je potrebné klasifikovať novú trasu. Každý profil je chápaný ako časová rada, ktorú je treba porovnať s inou časovou radou. Po každom porovnaní je udelené skóre, na základe ktorého je vybratá najpravdepodobnejšia trasa. Viaceré prechody tou istou trasou sa môžu líšiť napríklad rýchlosťou na rôznych miestach trasy (prechody pred chodcov, križovatky). Z toho dôvodu sa musia porovnávať profilové rysy, ktoré sa môžu meniť v čase a dĺžke. Taktiež sa musia vyvážiť základné línie v profile príkonu z dôvodu spotreby stálych zložiek, ktoré sú závislé na bežiacich aplikáciách a rozdiel v modeloch zariadení. Za týmto účelom sa používa klasifikačná metóda založená na DTW (dynamic time warping) [18]. Algoritmus meria podobnosti medzi časovými sekvenciami, ktoré nie sú vyrovnané a menia sa v čase alebo rýchlosti. Vypočíta sa DTW vzdialenosť medzi novým profilom a ostatnými profilmi, ktoré sú asociované so známymi trasami. Vyberie sa jeden s najmenším rozdielom. Ak sú vopred známe profily označené ako sekvencia {X} i=1 n a nový profil je označený ako Y, výsledkom je trasa i, ktorú vypočítame podľa vzorca 5.1 [15]. Pred výpočtom vzdialenosti DTW sa uplatnuje normalizácia na každý profil. Vzorec 5.1. i = argmin i DTW(Y, X i ) 5.7 Sledovanie mobilu v reálnom čase Útočník vie, že užívateľ cestuje po určitej trase. Nepredpokladá sa znalosť špecifickej štartovnej pozície. Útočník má vopred zhromaždené profily cieľových trás a neustále prijíma nové merania spotreby z aplikácie nainštalovanej na cieľovom mobilnom telefóne. Cieľom je identifikovať zariadenie na trase a ďalej ho sledovať v reálnom čase. 5.7.1 Sledovanie pomocou DTW Tento prístup je podobný tomu z kapitoly 5.6, ale používajú sa iba doteraz nazbierané merania, ktoré obsahujú časti celého profilu cesty. Za týmto účelom sa používa skôr subsekvenčný DTW algoritmus ako klasický DTW [18]. 20

5. Sledovanie polohy zariadenia 5.7.2 Vylepšenie sledovania pomocou modelu pohybu Odhad polohy sa ďalej môže zlepšovať tým, že zavádza pravidlá na základe rozumného modelu pohybu [15]. Je dôležité vedieť kedy sme zameraní na cieľ. Za účelom zistenia tejto informácie je definovaný prah podobnosti. Ak je minimálna vzdialenosť DTW nad týmto prahom, vieme, že sme úspešne zameraní na požadovaný cieľ. Akonáhle sme zameraný na cieľ, každú iteráciu sa vykoná test, či sa cieľ posunul o danú vzdialenosť. Ak test neprejde s najväčšou pravdepodobnosťou je odhad polohy nepresný a za novú odhadovanú polohu sa dosadí predchádzajúci odhad. V prípade, že podobnosť je pod prahom, prepína sa algoritmus do nezameraného stavu a prestane vykonávať kontrolu. Kontrola sa začne vykonávať, až keď bude mobil opäť zameraný. 5.8 Odvodzovanie novej trasy Predpokladajme, že vieme identifikovať trasu, ktorou prechádza užívateľ na základe toho, že potencionálne trasy sú vopred známe. Môže však nastať situácia, keď potencionálne trasy nebudú vopred známe. Cieľom je identifikovať polohu mobilného zariadenia po prejdení vopred neznámej trasy. Užívateľ sa pohybuje v zóne, ktorá je vopred známa (susedstvo, dedina, pracovisko, škola,...). Počet všetkých možných trás v tejto zóne je však príliš veľký. Na zistenie polohy by teda útočník musel dopredu zaznamenať všetky z nich, čo môže byť problematické. Možným riešením tohto problému je zaznamenať profily všetkých jednotlivých častí ciest tejto oblasti, čo po spojení vytvorí ucelenú sieť. Akúkoľvek trasa, zvolená užívateľom v tejto oblasti je podmnožinou cestnej siete. Profil vopred neznámej trasy, na ktorej sa pohybuje cieľ, tak bude rekonštruovaný z vopred známych profilov jednotlivých zodpovedajúcich cestných segmentov. Rekonštruovanie trasy umožní odhadnúť finálnu polohu užívateľa. Avšak vďaka vplyvu hysterézy, spomínanej v kapitole 5.4, na prepínanie medzi základňovými stanicami, príkon zariadenia nezáleží len od konkrétneho úseku cesty ale tiež od predchádzajúceho úseku cesty a smer, z ktorého cieľ dorazil na danú cestu. 21

6 Sledovanie pomocou Battery Status API Battery Status API, častejšie nazývaný iba Battery API, poskytuje informácie o úrovni nabitia batérie v zariadení. Odosiela upozornenia, keď sa zmení úroveň nabitia batérie alebo status nabíjania. Táto technológia sa využíva na prispôsobenie využitia prostriedkov aplikáciou čím sa zníži vybíjanie batérie. Napríklad, keď je batéria skoro vybitá, týmto spôsobom sa zabraňuje strate dát a zabezpečuje sa uložením zmien [30]. Úroveň batérie je definovaná desatinným číslom, s dvoma desatinnými miestami, ktoré naberá hodnotu od 0 (vybitá) do 1,0 (nabitá). Ďalšou získavanou informáciou je predpokladaný čas nabitia alebo vybitia zariadenia. Battery Status API nevyžaduje povolenie od užívateľa, aby mala prístup k informáciám o batérii. Každá webová stránka alebo skripty tretích strán, ktoré môžu byť na nich uložené, môžu použiť API na prístup k informáciám o batérii [20]. API taktiež nevyžaduje, aby webový prehliadač oznámil užívateľovi, že jeho informácie sú používané. To umožňuje webovej stránke alebo skriptom tretích strán prístup k informáciám bez vedomia užívateľa. Touto témou sa zaoberal Lukasz Olejnik s jeho tímom. Merali do akej miery je možné prepojiť a sledovať zariadenie pomocou úrovni nabitia batérie a zostávajúceho času do nabitia/vybitia. Tieto informácie môžu mať vplyv na sledovanie užívateľa pri prezeraní webových stránok. 6.1 Sledovanie prehliadania webových stránok Skript tretích strán, ktorý je prítomný na viacerých stránkach si môže vďaka využitiu informácií o batérii, ktoré sú mu poskytnuté, ľahko spojiť viaceré návštevy užívateľa na týchto webových stránkach v krátkom intervale. Za týmto účelom môže skript použiť hodnoty stavu batérie, predpokladaný čas do nabitia a predpokladaný čas do vybitia. Namerané hodnoty budú zhodné na každej z webových stránok, vzhľadom na to, že časové úseky medzi aktualizáciami sú rovnaké [26]. To by mohlo umožniť skriptom tretích strán spojiť tieto dve súbežné návštevy. V prípade, že používateľ opustí tieto stránky a následne sa o krátky čas pripojí na iné stránky s rovnakým skriptom tretích 22

6. Sledovanie pomocou Battery Status API strán, by namerané informácie pravdepodobne mohli byť využité na spojenie aktuálnej návštevy s predchádzajúcimi. 6.1.1 Frekvencia zmeny stavu batérie Spomínaný tím analyzoval rýchlosť aktualizácie stavu batérie počas rôznej výpočtovej záťaže počas sledovania filmu, prehliadania webových stránok. Testovanie rýchlosti týchto zmien prebehlo pomocou vytvorenia jednoduchej stránky a zaregistrovaním JavaScript správcov udalostí (event handlers) pre zmenu stavu batérie. Monitorovala sa úroveň nabitia batéria, čas do nabitia/vybitia zariadenia a časové známky týchto udalostí. Následne sa analyzovali zhromaždené údaje pre relatívne časové rozdiely medzi úrovňou batérie a zmenami času do nabitia/vybitia. Výsledky ukázali, že po dobu asi 30 sekúnd môže stav batérie slúžiť ako statický identifikátor, čo umožňuje napríklad skriptom tretích strán, aby prepojili viac návštev z rovnakého zariadenia v krátkom časovom intervale [21]. 6.1.2 Počet možných identifikátorov V testovacom prostredí bol nameraný najkratší čas do vybitia batérie (dischargetime) 355 sekúnd a najdlhší 40277 sekúnd. Naskytuje sa 39922 možností, za predpokladu, že sú možné všetky hodnoty od 355 do 40277. Môžeme tiež predpokladať, že užívatel pripojí svoje zariadenie do elektrickej siete keď má batéria mobilu nízku úroveň nabitia. V prípade, že užívateľ začne nabíjať zariadenie keď je úroveň batérie 0,1 zostáva 90 dostupných možností nabitia batérie (od 0,11 do 1,0). Počet potenciálnych úrovní batérie označme ako usporiadanú dvojicu (úroveň batérie, čas do vybitia). Finálne číslo vypočítame vynásobením týchto dvoch čísel, teda 90 * 39922, a výsledok je 3592980. Tento výsledok odpovedá len za stav vybíjania. Použitím informácií o čase do nabitia batérie (chargingtime) by sa mohol zdvojnásobiť počet možností [21]. Pravdepodobnosť rovnosti usporiadanej dvojice (úroveň batérie, čas do vybitia) u viacerých užívateľov je preto nízka, a pre krátky časový úsek by táto usporiadaná dvojica mohla byť jedinečný identifikátor. Čas do vybitia batérie však môže podliehať častým zmenám v reakcii na zmenu využitia zariadenia. To znamená, že riziko dlhodobého sledovania týmto spôsobom je zanedbateľné. Avšak v závislosti na úrovni batérie, niektoré hodnoty času do vybitia 23

6. Sledovanie pomocou Battery Status API alebo času do nabitia nemusia byť získateľné v praxi. Napríklad 355 sekúnd môže byť príliš málo na vybitie plnej batérie, tak ako 40277 sekúnd príliš veľa na vybitie batérie na úrovni 0,1. Napriek tomu by mohli byť dostupné informácie použité na rozlíšenie užívateľov za sieťovým maskovaním [22]. Informácie z batérie môžu pomôcť rozlíšiť zariadenia s rovnakou verejnou IP adresou. 6.1.3 Rekonštrukcia užívateľských identifikátorov Užívatelia, ktorí sa pokúsia znovu navštíviť webovú stránku s novou identitou môžu používať súkromný režim prehliadača alebo vyčistiť cookies a iné klientske identifikátory. Ak v krátkom časovom úseku užívateľ navštívi stránku, stránka môže prepojiť používateľove staré a nové identity, využitím úrovni batérie a času do nabitia/vybitia zariadenia. Webová stránka potom môže vytvoriť inštanciu užívateľských cookies a iných klientskych identifikátorov, táto metóda je známa ako respawning [23]. Tento spôsob, využitia dát batérie, ako spájania identifikátorov, môže byť použitý aj proti skúseným užívateľom, ktorý si odstránia aj evercookies. 6.2 Ochrana pred sledovaním Proti sledovaniu s využitím Battery Status API sa môžeme brániť viacerými spôsobmi. 6.2.1 Obmedzenie presnosti výstupných informácií Implementácia API by mala zabrániť poskytovaniu príliš presných informácii o batérii za účelom obmedziť sledovanie pomocou Battery Status API. Hrozba by mohla byť minimalizovaná jednoduchým zaokrúhľovaním úrovne batérie, bez straty funkčnosti API. Táto zmena sa týka najmä platforiem, kde operačný systém poskytuje príliš presné informácie o batérii. Týkalo sa to hlavne webového prehliadača Mozilla Firefox na platforme Linux. Chyba bola opravená v júni 2015 [21]. 24

6. Sledovanie pomocou Battery Status API 6.2.2 Oprávnenie prístupu k Battery Status API Aj v prípade zmenšenia presnosti výstupných informácii o batérii, môže byť stále prítomná hrozba sledovania v krátkom časovom intervale. V tomto prípade informácie o batérii môžu umožniť útočníkovi použiť sledovacie identifikátory podobným spôsobom ako evercookies. Aby sa tomu predišlo, výrobcovia webových prehliadačov môžu vyžiadať užívateľské oprávnenie pre prístup k API. Minimálne by užívatelia mali mať možnosť zvoliť si, či budú mať právo ovplyvňovať prístup k informáciám o batérii. Prehliadače by mali dávať možnosť voľby aspoň v súkromnom režime prehliadania. Podľa výskumu, jediný webový prehliadač, ktorý má silnú ochranu proti sledovaniu pomocou Battery Status API, je prehliadač Tor [25]. Tento prehliadač úplne zabraňuje API, vytvoriť fingerprint zariadenia. Informácie o používaná API by mali byť užívateľovi prístupné. Užívateľ by mal byť informovaný, buď priamo pomocou užívateľského rozhrania prehliadača, alebo prinajmenšom tým, že mu je dovolené čítať informácie pomocou rozšírení prehliadača. Týmto spôsobom môže užívateľ zistiť, ako sú využívané informácie o batérii v jeho zariadení. 25

7 Aplikácia Táto aplikácia slúži na zber dát z batérie smartfónu a sily signálu GSM. Na obrázku 7.1 je znázornená aplikácia v priebehu záznamu. Pred spustením zaznamenávania sa môže zmeniť obnovovacia frekvencia, ktorá je na začiatku nastavená na jednu sekundu. Ďalej je možné nastaviť poznámku, ktorá bude uložená v textovom súbore, slúži na lepšie zapamätanie daného merania. Obr. 7.1: Spustená aplikácia 1. namerané hodnoty 2. počet priebežných meraní 3. cesta k uloženým dátam 4. poznámka do súboru 5. obnovovacia frekvencia (v sekundách) 6. štart/stop tlačítko 26

7. Aplikácia Textový súbor sa po dokončení uloží do zložky battery_output v ukladacom priestore mobilného telefónu. Názov textového dokumentu odpovedá času, kedy bolo meranie zahájené. Na nasledujúcom obrázku je výstup z aplikácie v textovom dokumente, ktorý sa dá ďalej jednoducho spracovať pomocou Microsoft Excel, kde sa nastaví bodkočiarka ako oddeľovač stĺpcu. Obr. 7.2: Výstup z aplikácie 7.1 Ďalšie merania Nasledujúce dva grafy znázorňujú prijatie SMS a telefonovanie, čo sú bežné činnosti, ktoré sa vykonávajú s mobilným telefónom. Graf 7.3 ukazuje prijatie správy. Počas celého testu bol displej mobilného telefónu vypnutý. Aj napriek tomu je patrný obrovský nárast príkonu pri príchode správy. Na grafe 7.4 je znázornený prebiehajúci hovor. Na začiatku merania bol displej mobilu vypnutý. Po tridsiatich sekundách je vidieť veľký nárast príkonu batérie. V tejto chvíli začal mobil zvoniť pričom sa zapol aj displej. Počas trvania hovoru vidieť pokles príkonu z dôvodu vypnutia displeja, čím mobil šetrí energiu. 27

7. Aplikácia Po ukončení hovoru zostal displej zapnutý, a ako je vidieť príkon je väčší ako počas hovoru. Graf 7.3: Prijatie SMS Graf 7.4: Prebiehajúci hovor 28

8 Experiment Pred experimentom boli vytýčené dve trasy trasa A a trasa B, ktoré je možné vidieť na obrázku 8.1. Na oboch trasách som vykonal 5 meraní, ktoré sa považujú za vzory týchto trás. Ďalej som uskutočnil 20 ďalších meraní práve týchto trás. Obnovovacia frekvencia bola 2 s a každé meranie malo okolo 300 zápisov. Cieľom bolo porovnať jednotlivé merania s vopred nameranými vzorkami trás a určiť či ide o trasu A, alebo B. Za týmto účelom som implementoval program PowerComparator, ktorý je súčasťou príloh. Obr. 8.1: Trasy experimentu 8.1 Funkcionalita programu Program najprv načíta vzory trás zo súborov v priečinku f iles v adresári programu. Každé z týchto meraní rozdelí na n častí, kde n je počet hodnôt v súbore vydelený mierkou. Mierka určuje z koľkých za sebou nasledujúcich hodnôt sa bude počítať priemer. V našom prípade je v súbore okolo 300 hodnôt príkonu a presnosť nastavme napríklad na 20. To znamená, že dostaneme spriemerovaných 15 hodnôt. Ďalším krokom je spraviť priemer z piatich vzorov pre jednotlivé trasy. Výsledkom sú teda dva profily trás A a B. 29

8. Experiment Aby sa dali nové meranie porovnávať s profilmi, rozdelím ho taktiež podľa mierky na n častí a v týchto častiach vypočítam priemer. Porovnanie testovaného merania s profilom prebieha tak, že sa vypočíta absolútna hodnota rozdielu dvoch prislúchajúcich častí merania a profilu. Tento výpočet sa aplikuje na všetky časti merania. Tieto absolútne hodnoty následne sčítame a dostávame jedno číslo, ktoré odpovedá za odlišnosť merania od profilu danej cesty. Meranie je porovnané s oboma profilmi, čím dostaneme 2 hodnoty. Výsledkom je teda trasa s menšou odlišnosťou. Hodnoty príkonu musia byť namerané s rovnakou obnovovacou frekvenciou a dĺžka trás A a B musí byť približne rovnaká. 8.2 Výsledky Experiment ukázal, že je možné s určitou mierou overiť na ktorej trase boli jednotlivé merania zaznamenané. Dôležitým faktorom pri porovnávaní je zvolená mierka. Ak je mierka príliš veľká, meranie sa rozdelí na málo častí a porovnávanie preto nie je príliš presné. Ak je však mierka príliš malá nezachytia sa nerovnosti, ktoré sa v jednotlivých meraniach vyskytujú. V tabuľke 8.1 sú uvedené výsledky s rôznymi mierkami. Ako môže vidieť mierka 21 bola v tomto prípade najideálnejšia. Mierka Správne (z 20) Perc. 1 12 60 % 10 11 55 % 16 16 80 % 21 18 90 % 50 10 50 % 100 14 70 % 300 16 80 % Tabuľka 8.1: Tabuľka úspešnosti Vzrast úspešnosti s mierou nad 100 prisudzujem tomu, že trasa A mala v meraniach väčší priemerný príkon ako trasa B. Takže celkový priemer trasy veľa krát stačil na identifikáciu tej správnej. 30

9 Záver Cieľom tetjo práce bolo využiť možnosť sledovania spotreby batérie na mobilnom telefóne s operačným systémom Android a previesť experimenty, ktoré sledujú spotrebu batérie na základe sily signálu GSM. V praktickej časti mojej práce som sa zaoberal experimentálnym sledovaným spotreby energie na základe sily signálu GSM. Za účelom sledovania spotreby energie som si ako pomôcku naprogramoval mobilnú aplikáciu, ktorá získava informácie o batérii pomocou čítania z koreňových súborov v mobilnom telefóne a následne spracováva tieto údaje. Získané údaje sú počas merania zapisované do textového súboru v pamäti telefónu. Na následnú prácu s dátami v textovom súbore som používal Microsoft Excel, ktorý dovoľuje jednoducho importovať dáta z textového súboru pomocou vopred zvolených oddeľovačov. Následná tvorba grafov mala za účel vizualizovať výsledky meraní. Merania sú v niektorých prípadoch nepresné vďaka prítomnému šumu z mobilných komponent. Pri meraní signálu musí byť displej mobilného telefónu zapnutý pretože, akonáhle sa vypne, meraná sila signálu sa prestane meniť a zostáva rovnaká. Rovnaký efekt malo vypnutie displeja aj na zisťovanie elektrického prúdu a napätia batérie tento problém však vyriešil WakeLock, ktorý zabráni procesoru po vypnutí displeja v prepnutí do úsporného režimu. Na silu signálu to však vplyv nemalo, preto som nastavil, aby sa displej pri používaní tejto aplikácii vôbec nevypínal. Ako súčasť praktickej časti som vykonal experiment, ktorý mal za cieľ dokázať, že je možné rozhodnúť, na ktorej z dvoch trás bolo meranie zaznamenané. Bolo testovaných 20 vzoriek, ktoré boli porovnávané s desiatimi vopred nameranými profilmi dvoch trás (5 na každú). K experimentu bolo nutné implementovať program, ktorý porovnáva jednotlivé merania a prezentuje výsledok v miere úspešnosti. Výsledky experimentu dokázali, že sila signálu má naozaj vplyv na príkon batérie a teda, že príkon batérie môže byť za určitých podmienok použitý na sledovanie mobilného zariadenia. 31

Literatúra [1] ALLEN, Sarah, GRAUPERA, Vidal, LUNDRIGAN, Lee. Android. 1. vyd. New York: Apress, 2010. ISBN 978-1-4302-2869-1. [2] STATCOUNTER. GlobalStats [online]. 2015 [cit. 2016-5-6]. Dostupné z: <http://gs.statcounter.com/#mobile_ os-ww-monthly-201001-201605>. [3] ANDROID. Platform Versions [online]. 2016 [cit. 2016-5-6]. Dostupné z: <http://developer.android.com/about/dashboards/ index.html>. [4] GSM ARENA. Sony Xperia P [online]. 2012 [cit. 2016-5-6]. Dostupné z: <http://www.gsmarena.com/sony_xperia_p-4436. php>. [5] CARBON BLACK. Security Risks Posed by 100K Android Apps [online]. 2012 [cit. 2016-5-6]. Dostupné z: <https: //www.carbonblack.com/company/news/press-releases/ security-risks-posed-by-100k-android-apps-according/ -to-bit9-research/>. [6] FERREIRA, Denzil, DEY, Anind, KOSTAKOS, Vassilis. Understanding Human-Smartphone Concerns: A Study of Battery Life. 1. vyd. Heidelberg: Springer Berlin Heidelberg, 2011. ISBN 978-3-642-21726-5. [7] BATTERY UNIVERSITY. Is Lithium-ion the Ideal Battery? [online]. 2010 [cit. 2016-5-6]. Dostupné z: <http: //batteryuniversity.com/learn/article/is_lithium_ion_ the_ideal_battery>. [8] ANDROID. Monitoring the Battery Level and Charging State [online]. 2016 [cit. 2016-5-6]. Dostupné z: <http:// developer.android.com/training/monitoring-device-state/ battery-monitoring.html>. [9] BURROWS, C. Radio Wave Propagation. 1. vyd. Cambridge: Academic Press, 2011. ISBN 9781483258546. 32

LITERATÚRA [10] KNAY KOV, L. B.. Polarizational Frequency-Selective Multipath Interference Devices for Millimetric- and Submillimetric-Wave Receivers. International Journal of Infrared and Millimeter Waves, November 2003, Volume 24, no. 11, p. 1931-1938. [11] SCHULMAN, Aaron, NAVDA, Vishnu, a spol. Bartendr: A Practical Approach to Energy-aware Cellular Data Scheduling [online]. 2010 [cit. 2016-5-6]. Dostupné z: <http://web. stanford.edu/~aschulm/docs/mobicom10-bartendr.pdf>. [12] LIVESCIENCE. What Is Electric Charge? [online]. 2015 [cit. 2016-5-6]. Dostupné z: <http://www.livescience.com/ 53144-electric-charge.html>. [13] TECH TIMES. PowerSpy: The Android App That Tracks Your Location By Battery Use Alone [online]. 2015 [cit. 2016-5-6]. Dostupné z: <http://www.techtimes.com/articles/34812/ 20150223/gps-android-stanford-rafael-powerspy.htm>. [14] HUANG, Junxian, QIAN, Feng a spol. A close examination of performance and power characteristics of 4G LTE networks [online]. 2012 [cit. 2016-5-6]. Dostupné z: <http: //www.cs.columbia.edu/~lierranli/coms6998-7spring2014/ papers/rrclte_mobisys2012.pdf>. [15] MICHALEVSKY, Yan, S, Aaron a spol. PowerSpy: Location Tracking using Mobile Device Power Analysis [online]. 2015 [cit. 2016-5-6]. Dostupné z: <https://www.usenix.org/system/files/ conference/usenixsecurity15/sec15-paper-michalevsky. pdf>. [16] LI, Wei, HUHNS, Michael. Crowdsourcing. 1. vyd. Heidelberg: Springer Berlin Heidelberg, 2015. ISBN 978-3-662-47011-4. [17] POLLINI Gregory P.. Trends in handover design. Communications Magazine, IEEE, Mar 1996, Volume 34, no. 3, p. 82-90. [18] MÜLLER, Meinard. Information retrieval for music and motion. 2. vyd. Heidelberg: Springer, 2007. ISBN 978-3-540-74048-3. [19] LATECKI, Login Jan, WANG, Qiang a spol. Optimal subsequence bijection. 1. vyd. Omaha: IEEE, 2007. ISBN 978-0-7695-3018-5. 33

LITERATÚRA [20] MDN. Battery Status API [online]. 2016 [cit. 2016-5-6]. Dostupné z: <https://developer.mozilla.org/en-us/docs/web/ API/Battery_Status_API>. [21] OLEJNIK, Lukasz, ACAR, Gunes a spol. The leaking battery A privacy analysis of the HTML5 Battery Status API [online]. 2014 [cit. 2016-5-6]. Dostupné z: <https://eprint. iacr.org/2015/616.pdf>. [22] ECKERSLEY, Peter. How Unique Is Your Web Browser?. 1. vyd. Heidelberg: Springer, 2010. ISBN 978-3-642-14527-8. [23] SOLTANI, Ashkan, CANTY, Shannon a spol. Flash Cookies and Privacy [online]. 2010 [cit. 2016-5-6]. Dostupné z: <https: //www.aaai.org/ocs/index.php/sss/sss10/paper/viewfile/ 1070/1505>. [24] TOR PROJECT. Getting up to speed on Tor s past, present, and future [online]. 2011 [cit. 2016-5-6]. Dostupné z: <https://www. torproject.org/docs/documentation> [25] ANDROID. Android Studio The Official IDE for Android [online]. 2016 [cit. 2016-5-6]. Dostupné z: <http: //developer.android.com/sdk/index.html> [26] INDEPENDENT. Phone batteries can be used to spy on their owners and track them around the internet [online]. 2015 [cit. 2016-5-6]. Dostupné z: <http://www. independent.co.uk/life-style/gadgets-and-tech/news/ phone-batteries-can-be-used-to-spy-on-their-owners-/ could-track-people-around-the-internet-10435578.html> [27] GUSTAFSSON, Fredrik. Particle Filters. 1. vyd. London: Springer, 2015. ISBN 978-1-4471-5058-9. [28] KRAVARITIS, Giorgos, MULGREW, Bernard. Variable- Mass Particle Filter for Road-Constrained Vehicle Tracking [online]. 2007 [cit. 2016-5-11]. Dostupné z: <http: //link.springer.com/article/10.1155/2008/321967> 34