Bezpečnost OS Android
Total Page:16
File Type:pdf, Size:1020Kb
MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY Bezpečnost OS Android Bakalářská práce Markéta Szydlowská Brno, 2012 Prohlášení Prohlašuji, že tato práce je mým původním autorským dílem, které jsem vypra- covala samostatně. Všechny zdroje, prameny a literaturu, které jsem při vypra- cování používala nebo z nich čerpala, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj. Markéta Szydlowská Vedoucí práce: Ing. Mgr. Zdeněk Říha, Ph.D. Poděkování Děkuji svému vedoucímu práce Ing. Mgr. Zdeňku Říhovi, Ph.D. za cenné rady a připomínky, které mi pomohly při tvorbě a psaní práce. Děkuji také své rodině, příteli a kamarádům za podporu při studiu a rady při psaní práce. Shrnutí Cílem této práce je prozkoumat operační systém Android a jeho bezpečnost, za- měřit se na nejdůležitější hrozby a opatření proti nim. Aplikace, která je součástí práce, se zaměřuje na oprávnění, jež povolují jiným aplikacím přístup k funkcím telefonu. Klíčová slova bezpečnost, Android, smartphone, aplikace, Eclipse, Java, XML Obsah 1 Úvod....................................................................................................................1 2 Operační systém Android...............................................................................3 2.1 Historie OS Android.................................................................................3 2.2 Architektura OS Android.........................................................................8 2.2.1 Základní uspořádání OS Android.........................................................8 2.2.2 Rozšíření základu OS Android...........................................................11 3 OS Android a jeho bezpečnost....................................................................14 3.1 Klíčové součásti vytváření bezpečnostního modelu OS Android....14 3.2 Aplikační Sandbox...................................................................................17 3.3 Další důležitá bezpečnostní opatření...................................................18 4 Způsoby ochrany dat uživatele...................................................................22 4.1 Antiviry.....................................................................................................22 4.2 Firewally...................................................................................................23 4.3 Uživatelská rozvážnost...........................................................................23 4.4 Ochrana dat při ztrátě nebo krádeži zařízení......................................24 5 Návrh aplikace ...............................................................................................25 5.1 Vývoj aplikací pro chytré telefony........................................................25 5.1.1 Vývojové prostředí pro Android.........................................................26 5.2 Základ architektury aplikace OS Android...........................................26 5.2.1 Aktivity...............................................................................................26 5.2.2 Dodavatelé obsahu (Content providers).............................................28 5.2.3 Služby (Services)................................................................................28 5.2.4 Záměry (Intents).................................................................................28 5.2.5 AndroidManifest.................................................................................29 5.3 Návrh grafického rozhraní aplikace.....................................................31 5.3.1 Extensible Markup Languate - XML..................................................32 5.3.2 Pohledy a Skupiny pohledů................................................................33 6 Závěr.................................................................................................................34 7 Literatura..........................................................................................................35 8 Přílohy..............................................................................................................41 1 Úvod Součástí života snad každého z nás se stal mobilní telefon. Díky mobilním tech- nologiím můžeme být prakticky kdykoliv ve spojení s rodinou, s přáteli nebo s obchodními partnery. Z mobilních telefonů se postupem času stávali malé počí- tače a s tím přišel i mobilní operační systém. Mezi nejznámější operační systémy pro mobilní telefony patří Android1 firmy Google Inc., Bada2 vyvíjená společností Samsung, iOS3 vytvořený firmou Apple Inc., Symbian Belle4 od firmy Nokia, Windows Mobile5, který stejně jako počítačové Windows vlastní firma Microsoft, a Meego6, které vzešlo ze spojení firem Intel a Nokia. Na chytrém telefonu může uživatel provádět prakticky cokoliv. Od obyčejného psaní textových zpráv, přes natáčení videa až po přihlášení do banky. Používáním telefonu do něj zazna- menáváme svá citlivá data, která mohou být relativně snadno odcizena, pokud uživatel nebude dostatečně opatrný. Cílem této práce je zmapovat operační systém Android, popsat jeho bezpečnostní opatření, doporučit způsoby ochrany před případnými nežádoucími vlivy a vy- tvořit aplikaci, která k vybrané funkci telefonu zobrazí aplikace, které mají k funkci povolen přístup. Na aplikaci jsou zároveň ukázány důležité části vývoje aplikací pro OS Android. OS Android je mezi mobilními operačními systémy již čtyři roky. Jeho stručná historie je obsažena ve druhé kapitole s názvem 2 Operační systém Android spolu se základními informacemi o architektuře tohoto operačního systému, mezi jejíž částí patří jádro, application runtime, zařízení hardwaru a knihovny. Ve druhé kapitole jsou také zmíněny způsoby, jak rozšířit základní nabídku aplikací 1 http://www.android.com/ 2 http://www.bada.com/ 3 http://www.apple.com/cz/ios/ 4 http://europe.nokia.com/symbian-belle 5 http://www.microsoft.com/windowsphone/cs-cz/ 6 https://meego.com/ 1 OS Android. Se zabezpečením architektury nás seznamuje kapitola třetí, která se jmenuje 3 OS Android a jeho bezpečnost, a kde jsou vysvětleny hlavní součásti bez- pečnostního modelu OS Android. O tom, jak se bránit a jak předcházet útokům na zařízení s OS Android se dočteme v kapitole čtvrté 4 Způsoby ochrany dat uživatele. Kapitola 5 Návrh aplikace je kapitolou předposlední. Obsahuje informace o tvorbě aplikací pro OS Android, o samotném vývoji a vývojovém prostředí. Je zde vysvětlena architektura aplikací OS Android a také funkcionalita grafického rozhraní těchto aplikací. 2 2 Operační systém Android Operační systém Android je nejprodávanějším mobilním operačním systémem na světě – ve třetím kvartále roku 2011 dosáhl 52,6% podílu na trhu (podle prů- zkumu agentury Gartner). [1] Uživatelé zařízení s OS Android vyhledávají nejen kvůli celkovému propojení s Google účtem (což obnáší například automatické zálohování kontaktů), ale i se sociálními sítěmi jako je Facebook nebo Twitter. Uživatelům jsou nabízeny statisí- ce aplikací, které jsou z velké části zdarma. 2.1 Historie OS Android V roce 2005 odkoupila firma Google Inc., známá především provozováním in- ternetového vyhledávače Google, společnost Android Inc. (vznik 2003), která vy- vinula základ platformy Andorid. V roce 2007 pak byla založena Open Handset Alliance (dále jen OHA). Členové OHA se zavázali k tomu, že budou dohlížet na vývoj OS Android. [2] Obrázek č. 1: Logo operačního systému Android[34] OHA se v současnosti skládá z 84 členů, kteří se dělí do 5 velkých skupin: ● Mobilní operátoři (např. Sprint Nextel, T-mobile, Telefónica, Vodafo- ne, …) 3 ● Výrobci mobilních telefonů (např. Acer Inc., Alcatel mobile phones, ASUSTek Computer Inc., Dell, Garmin Internetional, Inc., HTC Corporation, Huawei Technologies, LG Electronics, Inc., Motorola, Inc., Samsung Electronics, Sony Ericsson, …) ● Výrobci polovodičových součástek (Intel Corporation, MediaTek, Inc., NVIDIA Corporation, …) ● Softwarové společnosti (např. eBay Inc., Google Inc., MOTOYA Co., Ltd., ) ● Obchodní společnosti (např. Borqs, L&T Infotech, TAT – The Asto- nishing Tribe AB) První aplikace pro Android vzešly ze soutěže Android Developer Challenge (dále jen ADC), kterou pořádala v roce 2008 firma Google Inc. Vývojáři soutěžili se svými aplikacemi a projekty v deseti různých kategoriích (např. vzdělání, hry, sociální sítě aj.). Odborná porota vybrala 50 projektů, jejichž vývojáři získali k dalšímu vývoji 25.000 dolarů. V každé kategorii byl poté vyhlášen vítěz, který získal 250.000 dolarů. Soutěž ADC se konala ještě jednou v roce 2009 s obdobný- mi pravidly. [3] [4] [5] Od roku 2007 již vyšlo několik verzí OS Android [6] [7] [8] [33], za což je tato platforma často kritizována, kvůli velké roztříštěnosti. Každá nová verze OS Android odstraňuje chyby verze předchozí, přináší vždy nové funkce a snaží se být více uživatelsky přívětivá. Android 1.0 Angel Cake První verze OS Android se objevila ke konci září roku 2008. Byl to první open source mobilní operační systém. Byl plně integrován s tehdejšími službami Go- ogle, obsahoval webový prohlížeč, který zobrazoval HTML7 a XHTML8 stránky, 7 Značkovací jazyk pro vytváření webových stránek 8 Rozšíření značkovacího jazyka HTML 4 které se daly přibližovat. Součástí systému byl i Android Market pro stahování a aktualizaci aplikací (rozvedu dále), multitasking9, instant messaging (interne- tový komunikační nástroj). Podporoval Wi-Fi a Bluetooth. Prvnim telefonem s OS Android byl HTC Dream (G1). Android 1.1 Battenberg Verze 1.1 v únoru 2009 nepřinesla nic zvláštního oproti verzi 1.0, byla určena pouze pro T-Mobile G1. Android 1.5 Cupcake 30.