Apple iOS: Jak prolomit heslo do iPhonu
V dnešním příspěvku se podíváme, jak snadné je prolomit heslo do iPhonu.
Uživatel se může do svého smartphonu hlásit různými způsoby. O autentizaci pomocí gesta po nainstalování aplikace AndroidLock však nebudeme uvažovat, protože zjistit jaké gesto uživatel používá pro odemykání svého zařízení, by bylo stejně jednoduché jako v případě Android password pattern, kterým se odemyká zařízení s operačním systémem Google Android. Vzhledem k tomu, že aplikace pro iPhone pracuje na úplně stejném principu, bylo by i zde možné realizovat tzv. šmouhový útok.
Společnost Apple usiluje o to, aby její zařízení byla nejen použitelná, ale i bezpečná a tomu pak odpovídá i jejich cena. Podívejme se nyní, jakým způsobem iOS chrání data, která jsou na daném zařízení uložena. iPhone obsahuje čip, který provádí kvalitní hardwarové šifrování algoritmem AES–256. Každý soubor je zašifrován vlastním klíčem svázaným s daným zařízením. Bez znalosti šifrovacího klíče se útočník dostane jen k názvům souborů. (I to může útočníkovi někdy stačit.) Některé soubory navíc mohou být dešifrovány pouze po zadání vstupního hesla, tzv. passcode.
Aby se uživatel dostal ke svým datům, musí se nejprve úspěšně autentizovat. Budeme předpokládat, že uživatel iOS se do svého zařízení autentizuje prostřednictvím 4ciferného PINu. Dále budeme předpokládat, že na daném zařízení nebyl proveden jailbreak, ani na něm nebyla nainstalována aplikace, jejíž zranitelnosti by se dalo zneužít a konečně, že dané zařízení je uzamčené a k dispozici máme jen několik málo pokusů, které když vyčerpáme, tak se k datům nedostaneme, neboť budou nevratně smazána. Předpokládejme, že tato možnost byla aktivována.
Aby se útočník dostal k datům uživatele, musel by se fyzicky zmocnit jeho zařízení a uhádnout PIN. Z informací, které zveřejnila společnost Elcomsoft vyplývá, že na iPhonu je možné přímo volat funkci ověřující, zda bylo zadáno správné heslo, a že vzhledem k tomu, že je tato funkce volána přímo, nikoliv přes API, tak nedojde k vyčerpání počtu povolených pokusů. Přímým voláním této funkce lze vyzkoušet přibližně 4 hesla za sekundu. Prostým výpočtem (stačí jen dosadit ty správné hodnoty) zjistíme, že 4ciferný PIN by byl prolomen průměrně do 20 minut.
Je zřejmé, že 4ciferný PIN, na iOS nejběžnější metoda autentizace, neposkytuje dostatečnou ochranu, protože v případě, že se útočník daného zařízení fyzicky zmocní, je schopen prolomit toto heslo hrubou silou během několika málo minut. Prohlášení, že Elcomsoft svůj nástroj, který se k lámání používá, poskytuje jen vládním organizacím, je sice hezké, ale samotná skutečnost, že se touto cestou lze poměrně snadno dostat k citlivým datům, by měla být pro všechny dostatečným podnětem k tomu, aby pro přihlašování místo PINu používali raději komplexní hesla.
Jestliže budeme i nadále předpokládat, že na daném zařízení lze vyzkoušet 4 hesla za sekundu, dospějeme prostým výpočtem k závěru, že heslo do iOS by mělo být rozhodně delší než 4 znaky. Volba 6místného komplexního hesla, které by obsahovalo velká a malá písmena a čísla, by pro většinu uživatelů iOS mohla být dostačující, neboť prolomení takového hesla by trvalo kolem 200 let, tedy pokud by nebyla použita nějaká jiná mnohem efektivnější metoda.
Nyní si popišme způsob jak se dostat k datům uživatele, která iOS tak důkladně chrání. V zásadě máme dvě možností. Zařízení je možné připojit jako disk a zkopírovat soubor po souboru za použití Apple iTunes, k tomu je však potřeba znát heslo do zařízení (passcode) nebo mít k dispozici escrow keys. Výsledkem jsou pak dešifrované soubory, neboť k dešifrování souborů dochází on-line již při jejich kopírování. Tímto způsobem se však nemusíme dostat ke všem souborům, protože některé soubory mohou být uzamčené.
Útočník navíc zpravidla nemá přístup k počítači, se kterým si uživatel data synchronizuje, a proto bude ve většině případů muset zkopírovat zašifrovaný oddíl pomocí nějakého dd nástroje a vytvořený raw image (přesnou bitovou kopii) dešifrovat off-line. A takovým nástrojem je např. ElcomSoft iOS Acquisition Toolkit, který slouží k vytvoření přesné bitové kopie a vyextrahování hesel a šifrovacích klíčů. Tímto způsobem je možné získat přístup ke všem datům, která má uživatel uložena na svém zařízení. Tedy i k těm, která se nenachází v záloze na počítači, kde běží Apple iTunes.
Mimochodem heslo, kterým je záloha, která se vytváří automaticky při každé synchronizaci iPhonu s počítačem aplikací Apple iTunes, chráněna, lze lámat za použití nástroje Elcomsoft Phone Password Breaker. Na výkonném počítači s GPU, kde se rychlost lámání pohybuje kolem 30.000 hesel za sekundu (s uvolněním iOS verze 4 se již nepoužívá device-specific hardware key) prostým výpočtem opět dospějeme k závěru, že pokud by byla záloha chráněna 6místným komplexním heslem, došlo by k jeho prolomení do 11 dnů.
Budeme tedy předpokládat, že útočník má k dispozici jen iPhone, protože kdyby měl přístup i k počítači oběti, nemusel by PIN vůbec lámat, protože by pro dešifrování mohl použít escrow keys, které vytváří iTunes, na počítači, ke kterému bylo toto zařízení připojeno. Tuto možnost nebudeme vůbec uvažovat, protože by se jednalo spíš o útok na konkrétní osobu, neboť není tak časté, aby útočník našel/ukradl iPhone a zároveň i počítač, ke kterému se uživatel s daným zařízením připojoval. Snad jedině, že by oběť převážela vše v jednom zavazadle a byla okradena.
Dobře, máme tedy zařízení s běžícím iOS, co tedy uděláme? Zařízení vypneme a propojíme kabelem s počítačem a spustíme ElcomSoft iOS Acquisition Toolkit. V menu vybereme volbu č. 1 a poté na zařízení stiskneme a držíme tlačítko Sleep a Home, řídíme se instrukcemi na obrazovce, po chvíli uvolníme tlačítko Sleep za stálého držení tlačítka Home. Vaše zařízení by se mělo nyní nacházet v DFU (Device Firmware Upgrade) módu, ve kterém je možné s ním komunikovat.
V nabídce ElcomSoft iOS Acquisition Toolkit vybereme typ zařízení, které máme připojeno, následně proběhne kontrola, zda je na daném zařízení možné použít připravený exploit. Pokud ano, dojde k jeho spuštění a k zavedení vlastního iOS kernelu a Ramdisku, který slouží k pořízení obrazu daného zařízení. Pokud všechno proběhne v pořádku, zařízení se restartuje a na obrazovce se objeví známé logo Applu. Nyní můžeme vyextrahovat klíče a pořídit image souborového systému.
Nás bude zajímat zašifrovaný oddíl, který obsahuje uživatelská data. Zadáme název obrazu a nyní nám nezbývá nic jiného, než čekat, neboť pořízení obrazu 32GB iPhone 4 trvá přibližně 2 hodiny. Pokud na daném zařízení nebylo nastaveno žádné heslo pro odemčení, bude možné soubory snadno dešifrovat. Spustíme iOS Secrets Dumper a vyextrahujeme šifrovací klíče.
V našem případě je však nastaven PIN. Pokud bychom měli přístup k počítači oběti, mohli bychom spustit iOS Secrets Dumper a poskytnout mu Escrow file, který se nachází na Max OS X v adresáři /var/db/lockdown. Ten my ale nemáme a tak musíme PIN prolomit hrubou silou. V menu proto zvolíme položku Recover iOS device passcode, a zase čekáme, pokud byl použit 4ciferný PIN, máme ho po několika minutách k dispozici. Se znalostí PINu jsme získali ničím neomezený přístup k datům a funkcím telefonu.
Poznámka: Na tomto případě je krásně vidět, že použití kvalitního šifrovacího algoritmu, kterým AES-256 bezesporu je, není zárukou, že dané řešení bude bezpečné. Vždy záleží na konkrétní implementaci. Slabinou iPhonu byla v tomto případě samotná správa šifrovacích klíčů a také použití 4ciferného PINu.
Závěr: Bez znalosti vstupního kódu nebo escrow keys se k datům, jež jsou šifrována a uložena ve vašem iOS, nikdo nedostane, tedy pokud používáte komplexní heslo. Volba bezpečného hesla a správné zacházení s ním je tedy klíčové a především na něm závisí bezpečnost vašich dat. Doporučujeme vám proto používat komplexní hesla a smartphone a počítač nepřepravovat v jednom zavazadle.
Štítky: informační bezpečnost, iOS
K článku “Apple iOS: Jak prolomit heslo do iPhonu” se zde nachází 2 komentáře.
Diskuse na tomto webu je moderována. Pod článkem budou zobrazovány jen takové komentáře, které nebudou sloužit k propagaci konkrétní firmy, produktu nebo služby. V případě, že chcete, aby z těchto stránek vedl odkaz na váš web, kontaktujte nás, známe efektivnější způsoby propagace.
Pomocí nové verze Elcomsoft iOS Forensic Toolkit je možné lámat hesla i na zařízení s iOS 5.
Používání komplexního hesla by bylo sice hezké, ale podle mého názoru je to naprostá utopie. Stačí chvíli pozorovat lidi kolem sebe. Kolik z nich na telefonu (ať už je to iPhone, nebo i jiný) zadává heslo? A přestože nemají žádné heslo pro odemčení telefonu, mají v každé používané aplikaci nastaveno „uložit heslo“. Noční můra každého „bezpečáka“… Akorát, že to není jenom můra, ale dost drsná realita :-(