- iOS -

Architektura bezpečnosti iOS

Název

Obrázek

Popis

Architektura iOS

Výsledek obrázku pro ios

Každý operační systém má v sobě bezpečnostní mechanismus, který zařízení chrání. Mechanismy jsou běžně přizpůsobeny bezpečnostnímu modelu, na kterém je založena celková bezpečnost zařízení. Bezpečnost systému iOS je vystavěna na bezpečnostním modelu a systému mechanismů, které předchází možným bezpečnostním rizikům. V této kapitole je popsána architektura zabezpečení systému iOS a způsoby, jakými je systém iOS zabezpečen proti útokům malwaru, exploitu a zásahu do systému.

Model bezpečnosti iOSVýsledek obrázku pro iosBezpečnost systému iOS je navržena s pomocí základního modelu bezpečnosti, na kterém je založena bezpečnost všech verzí systému iOS. Bezpečnostní model rozděluje bezpečnost systému do čtyř základních komponent. Komponenty bezpečnostního modelu systému iOS jsou bezpečnost zařízení, datová bezpečnost, síťová bezpečnost a bezpečnost aplikací.
Upravená útočná vrstvaVýsledek obrázku pro iosUpravená útočná vrstva je speciální kód, který zpracovává vstupní data. Vrstva funguje na principu vyhledávání zranitelností ve zdrojovém kódu systému. V případě, že útočník nalezne potenciální zranitelnost v systému, nemůže této zranitelnosti využít k tvorbě exploitu, z důvodu průběžné kontroly kódu v systému. Množství kódu, které je potenciálním útočníkům dostupné, je omezené a klíčem k úspěchu této technologie je právě snaha o její minimalizaci.
Diverzifikace systémuVýsledek obrázku pro ios

Kromě omezení množství dostupného kódu pro možný útok je systém iOS diverzifikován (Stripped-Down). Snahou je znemožnit nezávislé spouštění různých aplikací v systému, které by mohly následně spouštět další aplikace. Příkladem může být příkazová řádka (Shell) v systému OS X. Útočníci se snaží o tvorbu exploitu, který následně spouští kód právě přes příkazovou řádku. Systém iOS příkazovou řádku neobsahuje a omezuje tak možnosti využití exploitu tímto způsobem.

Oddělování právVýsledek obrázku pro ios

Systém iOS využívá při dělení práv stejnou strukturu, jako tradiční systém UNIX, tzn. skupiny uživatelů user, group a root. Nejběžnější využití mají aplikace s udělenými právy „mobile“, které jsou identické k právům „user“. Do této skupiny patří aplikace třetích stran, webový prohlížeč, nebo klient elektronické pošty. Systémové procesy jsou řazeny do skupiny práv „root“. Mezi ně řadíme např. procesy _wireless, nebo _mdnsresponder. V případě napadení webového prohlížeče, je útočník silně limitován skutečností, že webový prohlížeč má 14 pouze práva „mobile“ a nemůže spouštět systémové procesy. Stejně je tomu u aplikací, instalovaných z obchodu AppStore.

Podepisování kóduVýsledek obrázku pro iosPodepisování kódu (Code Signing) je nejdůležitějším bezpečnostním mechanismem, který společnost Apple v systému iOS využívá. Binární kód a knihovny aplikací musí být před spuštěním podepsány důvěryhodnou autoritou. Kód, který není podepsán, nemůže být spuštěn. Uživatelům také není umožněno stahovat a instalovat aplikace z prostředí internetu. Instalovat aplikace mohou pouze z obchodu AppStore, kde jsou aplikace společností Apple kontrolovány a podepsány.
Datová prevence (DEP)Výsledek obrázku pro iosDatová prevence, tzv. DEP (Data Execution Prevention), je mechanismus, který brání přístupu kódu k datům v okamžiku, kdy procesor rozpoznává, co je spuštěný kód, a co data. Mechanismus se využívá při exploitu, který se snaží spustit tzv. payload, který uměle zatěžuje procesor. Mechanismus DEP je rozpozná a posoudí jako data, která nemohou být spuštěna. Útočníci se snaží mechanismus DEP obcházet používáním návratově orientovaného programování.
Adresní prostor (ASLR)Výsledek obrázku pro iosÚtočník při využívání ROP potřebuje nutně znát umístění kódu, který se snaží zneužít. V tom mu brání adresní prostor, tzv. ASLR (Address Space Layout Randomization). Adresní prostor náhodně umísťuje objekty v paměti, čímž se pro útočníka stávají nedostupné. V systému iOS jsou takto rozmístěny systémové knihovny, nebo binární kód systému. Mechanismy ASLR společně s DEP pracují od okamžiku spuštění systému. Útočník potřebuje ke zneužití systému znát dvě zranitelnosti. Musí znát, jaký kód je spustitelný a následně jeho umístění v paměti. Právě tomu brání kombinace mechanismů DEP a ASLR.
Testovací prostředíVýsledek obrázku pro iosTestovací prostředí, tzv. Sandbox, tvoří bezpečnostní mechanismus, který brání proniknutí malwaru do systému využitím předem stanovených práv. Sandbox pomáhá systému iOS určit, jaká práva by měla být aplikaci přidělena tak, aby aplikace nemohla přistupovat k datům jiných aplikací. Sandbox můžeme považovat za poslední bránu do systému v případě, kdy by se útočníkovi podařilo umístit úspěšně malware do obchodu AppStore. Právě Sandbox zabrání nekontrolovatelnému přístupu k datům jiných aplikací v systému iOS, či spouštění procesů. Mechanismus zabraňuje krádeži osobních dat, např. fotografií, nebo samovolnému posílání sms zpráv.
ŠifrováníVýsledek obrázku pro iosDůležitou součástí zabezpečení systému iOS je šifrování. Společnost Apple využívá k šifrování dat speciální API pro ochranu dat, tzv. Data Protection API, které je současně 16 k dispozici vývojářům aplikací. Cílem API je ochrana citlivých uživatelských dat v zařízení pro případ jeho odcizení. Další metodou pro ochranu dat je využívání bezpečnostních scénářů.