Analýza mobilních zařízení s důrazem na využití JTAG

13.10.2017

Oblast forenzní analýzy mobilních zařízení získává v rámci digitální forenzní analýzy na samostatnosti. To je dáno zejména množstvím a kvalitou informací obsažených v mobilních zařízeních. Tento článek pojednává o základních přístupech k provádění forenzní analýzy mobilních zařízení a zaměřuje se zejména na získávání dat z těchto zařízení metodou JTAG.

Úvod

Digitální forenzní analýza je nepochybně jedna z nejdynamičtěji se rozvíjejících forenzních disciplín. A o jedné z jejích podoblastí to platí dvojnásob. Řeč je pochopitelně o forenzní analýze mobilních zařízení. Primární příčinou dynamiky této forenzní disciplíny je především rychlost, jakou se mění samotný trh mobilních zařízení a použité technologie. V podstatě to není tak dlouho, kdy izraelský Cellebrite oznámil nalezení chyby v operačním systému Windows Phone, která mu u řady zařízení umožňovala provést zajištění obsahu jejich paměti. Což byl významný počin, neboť tomuto systému se věštil rychlý nárůst tržního podílu. Krátce nato se ale objevila finální verze Windows Phone 10 a dnes už je jasné, že předznamenala konec této platformy, která se tak zařadila po boku dříve neméně rozšířeného BlackBerry OS. Vývoj mobilních technologií tak prvním faktorem, který se podílí na rychlém rozvoji této disciplíny.

Druhým faktorem je uživatelský přístup k mobil-ním zařízením, který je pochopitelně rovněž determinován dostupnými technologiemi. S rozvojem rychlých mobilních dat a souvisejícího aplikačního vybavení se z mobilních zařízení stala pro celou řadu uživatelů jakási pomyslná ústřední výpočetní jednotka a na této pozici mobilní telefony postupně nahrazují notebooky, které z této pozice ještě o několik let dříve vytlačily stolní počítače. Mobilní telefony se tedy z pohledu digitální forenzní analýzy stávají klíčovým zařízením z hlediska kvality i kvantity potencionálně zájmových informací.

Kombinace neustále se měnící, roztříštěné a ne-standardizované technologické platformy spolu s rostoucím významem obsahu paměti mobilních zařízení tak představuje pro forenzní experty obrovskou výzvu - jednak v oblasti kontinuálního vzdělávání, jednak v_nutnosti udržování nákladného technologického vy-bavení.

Analýza mobilních zařízení a integrita digitálních stop

Zásada nepozměnění originální digitální stopy vždy byla v tomto oboru klíčová. To vycházelo zejména z vlastností pevných disků, které s dopomocí blokátorů zápisu a hashovacích algoritmů umožňovaly tuto zásadu bez problémů dodržovat. S měnícími se technologiemi je ovšem nutno tuto dříve nepřekročitelnou zásadu revidovat. Pro analýzu mobilních zařízení to pak platí dvojnásob, protože v podstatě neexistuje způsob, jak z mobilního zařízení zajistit data bez toho, aby na zařízení došlo k jakýmkoliv změnám.

Zde je však nutno podotknout, že provedení minimálních a dobře zdokumentovaných změn na zkoumaném zařízení není v rozporu s požadavkem na zachování integrity digitální stopy. Tyto zásahy je však nutno minimalizovat, zdokumentovat a odůvodnit. Zde vstupuje do hry forenzní expert, který musí být schopen popsat a vysvětlit děje, které se v zařízení v_průběhu zkoumání udály, a zda a jaký vliv měly na originální data. To je ovšem v příkrém rozporu s_dnešní zaběhnutou praxí, že expertem na mobilní forenzní analýzu je každý, kdo dokáže zajistit data klikáním do grafického rozhraní jednoho z nákladných forenzních nástrojů. Protože to je však na druhé straně z velké části způsobeno ohodnocením a postavením soudních znalců a dalších forenzních expertů v našem systému, přijmeme pro potřeby tohoto článku skutečnost, že zdrojová data budou zkoumáním pozměněna, jako nevyhnutelnou.

Logická a fyzická extrakce?

Zejména působením marketingových oddělení výrobců nejpoužívanějšího software pro zajišťování dat z mobilních zařízení se ustálily dvě kategorie extrakce dat - logická a fyzická. K oběma skupinám lze do-hledat celou řadu definic. Velmi zjednodušeně bychom logickou extrakcí nazvali extrakci logických objektů (např. souborů a složek) z logického úložiště (tj. např. oddílu souborového systému). To by ovšem, jako paralelu ke klasickým počítačům, implikovalo zajištění souborového systému ze zkoumaného zařízení. To ovšem ne úplně odpovídá realitě, protože drtivá většina forenzních nástrojů využívá k logické extrakci dotazy do interních databází zařízení a výstupem jsou pak výsledky těchto dotazů - nejedná se tedy o kopii souborového systému a obsah výstupu se může od prostého výčtu složek a souborů lišit. Pravděpodobně nebude obsahovat všechny platné soubory (zejména nemusí obsahovat řadu systémových a aplikačních dat), naopak může obsahovat data, která nejsou podskupinou platného souborového systému.

Abychom mohli hovořit o logické extrakci ve smyslu, jak ji chápeme u zajišťování dat na logické úrovni u běžných počítačů, je třeba využít standardní Media Transfer Protocol, který po připojení zařízení k_počítači přes USB zpřístupní úložiště zařízení na souborové úrovni. Je ovšem nutno zdůraznit, že rozsah zpřístupněných částí se odvíjí od OS zařízení, a tak zatímco u zařízení s OS Android se nám zpřístupní externí i interní paměť a spolu s nimi i celá řada forenzně zajímavých dat, u iOS si musíme vystačit s úložištěm digitálního fotoaparátu (složka DCIM).

Z výše uvedeného je patrné, že budeme-li operovat s pojmem logická extrakce či logická analýza, nejde v_žádném případě o pojmy jednoznačné a rozsah výstupu takové extrakce se může při použití různých nástrojů dosti významně lišit. Neméně komplikované je situace u tzv. fyzické extrakce.

Ta je totiž v různých zdrojích definována buď jako bitová kopie celé paměti telefonu, tj. paměťového čipu (NIST) nebo také jako proces instalace vlastního boot loaderu a následného "stažení" obrazu paměti zařízení (US DoJ). Obě definice nám navozují představu, že proběhne podobný proces, jako v případě pořizování obrazu pevného disku, a tedy že výsledkem bude přesná bitová kopie paměti telefonu. Tak tomu ovšem u žádného z používaných forenzních nástrojů není. Všechny tyto nástroje využívají Android Debug Bridge (proto je také nutné mít přístup do zařízení, a tedy mít možnost aktivovat Debug režim) a výstupem jsou tedy kopie těch oddílů, které jsou s využitím tohoto protokolu přístupné. V podstatě se tedy jedná o obrazy částí paměti zařízení.

Brothersův klasifikační systém pro mobilní forenzní analýzu

Poněkud jiný způsob nahlížení na rozdělení mobilní forenzní analýzy představil už v roce 2008 Sam Brothers. Ten rozdělil metody a nástroje forenzní analýzy mobilních zařízení do 5 úrovní dle náročnosti a nutných znalostí k jejich provádění.

Jeho dělení se elegantně vypořádalo s nejasnostmi okolo logické a fyzické analýzy a dle názoru autora lépe odpovídá aktuální praxi.

1. úroveň - Ruční procházení

Tato základní úroveň představuje v podstatě vizuální zjištění obsahu pamětí zařízení prostřednictvím vlastního displeje zařízení - ten je pak dokumentován buď fotograficky, pořizováním snímků displeje externím fotoaparátem či kamerou, či pouze písemně v podobě přepisu zpráv či výpisů. Tato metoda byla reálně využívána zejména u prvních tlačítkových telefonů. Ty často nebyly schopny propojení s počítačem, a přitom kvantum informací, které obsahovaly, bylo ještě touto metodou zpracovatelné v akceptovatelném čase.

Výhodou této metody jsou v podstatě nulové nároky na odborné znalosti obsluhy a na technické vybavení. Nevýhodou je vysoké riziko změny či zničení dat, nutnost plné funkčnosti zařízení a v poslední době pochopitelně faktická neproveditelnost s ohledem na objem dat, který je v dnešních zařízeních uložen.

2. úroveň - Logická analýza

Tato metoda je založena na vybudování spojení mezi zkoumaným zařízením a technologickým počítačem znalce, vybaveným příslušným specializovaným software. Spojení je realizováno přes rozhraní zařízení (USB, WiFi, Bluetooth apod.) a za pomoci standardizovaných komunikačních protokolů. Specializovaný software vyšle operačnímu systému zařízení dotaz/příkaz, operační systém vrátí požadovaná data, která jsou pak specializovaným software dále zpracována a_interpretována. Rozsah zajištěných dat záleží na možnostech daného operačního systému a daného konkrétního zařízení. V současnosti se jedná o nejběžněji používanou metodu zajišťování dat z mobilních zařízení. Tento úkon nevyžaduje rozsáhlé expertní znalosti, dostačuje poučení a základní praktický trénink. Z_vybavení se uplatní pouze specializovaný software.

3. úroveň - Hex dumping a JTAG

Metody používané na této úrovni částečně odpovídají tomu, co si výrobci specializovaného software představují pod pojmem fyzická extrakce. My si ji zde můžeme rozdělit do dvou podskupin - invazivní a ne-invazivní. Neinvazivní postup, tedy takový, kde nemusí dojít k dekompozici zařízení, spočívá nejčastěji v nahrání vlastního boot loaderu (či jiného obdobného programu) do dočasné paměti zařízení. Ten pak umožní přepnutí zařízení do diagnostického režimu a pomocí specifických příkazů následný přístup k paměti zařízení. Typickým výstupem této metody je kompletní souborový systém v takovém formátu, jak je uložen v_paměti zařízení. Takto zajištěný souborový systém je pak specializovaným software zpřístupněn a umožňuje další analýzu. Na této metodě jsou založeny nej-známější forenzní nástroje nabízející možnost fyzické extrakce dat.

Druhou metodou, spadající do této kapitoly je tzv. JTAG. Ten spočívá v komunikaci s mikroprocesorem základní desky zařízení, který zprostředkuje přímý přístup k obsahu paměti zařízení. Pro komunikaci se používá specializovaný hardware a software. JTAG bývá často hodnocen jako invazivní metoda, neboť při něm dochází k úplné demontáži zařízení a často i k pá-jení vodičů na kontakty JTAG rozhraní na základní desce. Ve většině případů je ale tento proces vratný a_zařízení je možno dále používat. Této metodě se budeme dále v článku věnovat podrobněji.

4. úroveň - Chip-off

Jak již název napovídá, tato metoda spočívá v de-montáži paměťového čipu ze základní desky zařízení a_zajištění dat vyčtením přímo z tohoto čipu. K tomuto účelu se využívá speciálních adaptérů a následně specializovaného software, který je schopen parsovat a_interpretovat zajištěná binární data z paměťového čipu. Tato metoda se svou podstatou nejvíce podobá zajišťování dat z klasických pevných disků osobních počítačů.

Provádění chipoff vyžaduje vysokou odbornost, aby při pájení čipu ze základní desky nedošlo k jeho poškození. Další expertní znalosti jsou pak nutné k_přečtení obsahu paměti a k její následné analýze. Byť je opětovná instalace čipu a znovu zprovoznění zařízení po provedení analýzy v podstatě možné, obecně se vzhledem k souvisejícímu nutnému času, dovednostem a nákladům považuje chipoff metoda za destruktivní.

5. úroveň - Micro-read

Podstatou této metody je čtení stavů jednotlivých hradel flash paměti, tj. zjišťování přítomnosti či nepřítomnosti elektronů v jednotlivých buňkách paměťového modulu za pomoci elektronového mikroskopu. Tímto způsobem je vytvořena binární řada, která je pak následně převedena do hexadecimálního raw obrazu paměti.

Tato metoda je však spíše teoretická, autorovi článku není znám případ, kdy by touto metodou bylo dosaženo vyčtení obsahu paměťového čipu - to je dáno především extrémní nákladností potřebného vybavení, expertního týmu a času, který by byl nutný pro zpracování dnes běžných kapacit paměťových čipů.

JTAG

JTAG obecně je metoda využívající standardizované rozhraní testovacích obvodů plošných spojů. Tento standard byl primárně vyvinut výrobci plošných spojů pro testování propojení mezi jednotlivými součástkami a testování integrovaných obvodů a jejich chování. Rozhraní k testovacím obvodům je realizováno prostřednictvím tzv. Test Access Ports (TAPs). Pro zabezpečení minimálního fungování komunikace definuje standard (IEEE 1149.1) tři vstupní a jeden výstupní port:

• TCK (Test Clock) - Port zabezpečující jed-notné hodiny pro všechny komponenty, neboť hodiny jednotlivých komponent se mohou lišit. Je tak zajištěna synchronizace.

• TMS (Test Mode Select) - Vstup pro řízení TAP řadiče v závislosti na TCK

• TDI (Test Data In) - Port pro komunikaci z ovládacího zařízení/software k cílové komponentě

• TDO (Test Data Out) - Port pro komunikaci z cílové komponenty k ovládacímu zařízení/software

Nepovinně může být přítomen signál TRST (Test Reset) pro reset TAP. Další doplňkové signály zahrnují:

• GND (Ground)

• RTCK (Return Test Clock)

• SRST (Systém Reset)

• VREF (Voltage Reference)

• VCC (Voltage Collector)

Z pohledu forenzní analýzy mobilních zařízení lze JTAG úspěšně použít k adresování určitého rozsahu paměťového čipu a vyčtení jeho obsahu, čímž získáme kopii dat v původním formátu tak, jak jsou uložena v_paměti zařízení. Je však nutno podotknout, že ne vždy je možno touto metodou přistoupit k celému rozsahu paměti.

K zajištění komunikace mezi počítačem a zkoumaným zařízením se využívá specializovaný hardware, tzv. flasher box. Flasher boxy a k nim dodávaný obslužný software jsou zařízení vyvinuta primárně pro testování a servis mobilních telefonů, na specifika úkonů forenzní analýzy nebylo pamatováno. To s sebou přináší riziko nevratného poškození obsahu paměti zkoumaných zařízení, protože flasher boxy jsou ze své podstaty schopny z paměti zařízení nejen číst, ale rovněž do ní zapisovat či ji mazat.

Dalším citelným negativem této metody je absence v podstatě jakékoliv dokumentace a podpory k jednotlivým flasher boxům a jejich software, přitom jejich ovládání nelze v žádném případě označit jako intuitivní. To je opět dáno jejich původním účelem, kdy se předpokládá, že zařízení je obsluhováno znalým profesionálem.

Poslední významnou komplikaci vnášejí do této metody sami výrobci. Zatímco JTAG jako takový je standardizován, rozložení a podoba TAP portů na desce přístroje už nikoliv. A tak zatímco u některých telefonů má podobu běžných Molex konektorů, u jiných se jedná pouze o vodivé kontakty na základní desce, v některých případech dokonce záměrně skryté, např. pod izolační vrstvou.

Všechny výše uvedené skutečnosti pak předurčují využití metody JTAG pro potřeby digitální forenzní analýzy mobilních zařízení výhradně školeným expert-ním pracovníkům, disponujícím potřebnými znalostmi a vybavením.

JTAG v praxi

Pro ověření výše uvedených poznatků bylo provedeno zkušební zajištění obsahu paměti metodou JTAG u dvou náhodně vybraných mobilních zařízení - Sony Xperia X10 mini a Samsung Galaxy Mini 2. Jako flasher boxy byly použity Riff Box 2 a Easy JTAG z3x.

První komplikace nastala už při instalaci ovladačů pro flasher boxy, zejména v případě z3x. Na základě této zkušenosti lze doporučit instalaci těchto flasherů pod systémem Windows 7, který nevyžaduje digitálně podepsané ovladače.

Po korektní instalaci flasher boxu je možno přistupovat k databázi výrobce, která kromě upravených boot loaderů, nutných pro komunikaci s konkrétním typem telefonu, obsahuje i fotografie příslušné základní desky s rozložením TAPů. To je nezbytné, neboť - jak již bylo uvedeno výše - podoba a rozmístění TAP není standardizováno (reálné rozmístění TAPů dokumentuje následující obrázek).

V klasickém pojetí se předpokládá připájení tenkých vodičů přímo na jednotlivé TAP a jejich připojení do flasher boxu. Z důvodu eliminace tohoto úkonu, kdy při chybějící praxi hrozí riziko teplotního poškození základní desky, byl pro připojení k TAP portům využit diagnostický stůl VR-Table. Ten je vybaven tenkými sondami na nastavitelných ramenech, které zprostředkují vodivý dotyk s příslušným TAP. I tato metoda však vyžaduje značný cvik - jednotlivé porty jsou velmi blízko u sebe, což klade značné nároky na efektivitu rozmístění jednotlivých ramen. Rovněž tak zajištění kvalitního kontaktu mezi hrotem sondy a vodivou ploškou TAP není bezproblémové a často je nutno sondu umísťovat opakovaně (viz následující obrázek).

U nejběžněji vyskytujících se telefonů lze tuto nevýhodu částečně odstranit tzv. jigem, což je součástka vybavená z jedné strany konektorem pro připojení k flasher boxu, z druhé kontakty v zrcadlovém rozmístění proti TAP portům na základní desce. Přitlačením jigu na desku je tak zajištěn kontakt se všemi TAP porty najednou bez nutnosti pájení či nastavování jednotlivých sond.

V případě kvalitního propojení s JTAG rozhraním je schopen ovládací software flasher boxu inicializovat základní desku - tedy za předpokladu jejího napájení, které v některých případech může být realizováno standardním USB kabelem, v jiných je zapotřebí externího stabilizovaného zdroje. Následně se v ovládacím software určí rozsah paměti, která má být vyčtena, a frekvence pro komunikaci, která pak určuje rychlost přenosu dat. Se zvyšující se frekvencí rostou nároky na kvalitu spojení, v tomto případě na kvalitu kontaktu mezi kontaktní ploškou TAP a hrotem sondy. V případě horšího kontaktu dochází v průběhu komunikace ke ztrátě synchronizace a k jejímu selhání. Vzhledem k tomu, že se jedná o raw data, lze čtení opětovně obnovit od adresy, kde došlo k selhání. I bez přerušení se ovšem jedná, vzhledem k přenosovým rychlostem, o zdlouhavý proces a s ohledem na velikost vnitřní paměti zařízení je nutno dobu zajišťování dat počítat v řádu hodin až dnů.

Výstupem je hex dump zadaného rozsahu paměti ve formátu odpovídajícím původnímu formátu v zařízení. K jeho parsování a interpretaci, která umožní další analýzu, je nutno využít specializovaný software.

Ačkoliv JTAG metoda v žádném případě nepatří mezi snadné a spolehlivé způsoby zajištění dat z mobilního zařízení, má v tomto oboru nezastupitelnou úlohu. Jedná se zejména o analýzu zařízení poškozených, zařízení s aktivním zámkem obrazovky, kde není možno aktivovat debug režim, nebo o zařízení, která nepodporují neinvazivní metody fyzické analýzy a výstupy z logické analýzy nejsou dostatečné či relevantní.

Literatura

[1] Reiber, L. Mobile Forensic Investigations; McGraw-Hill Education: USA, 2016.

[2] Ayers, R., Brothers, S., Jansen W. Guidelines on mobile Device Forensics [online], 2014. Dostupné z: https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-101r1.pdf

[3] SWGDE Best Practices for Examining Mobile Phones Using JTAG v1.0 [online], 2015. Dostupné z: https://www.swgde.org/documents/Current%20Documents/SWGDE%20Best%20Practices%20for%20Examining%20Mobile%20Phones%20Using%20JTAG

[4] SWGDE Best Practices for Mobile Phone Forensics v2.0 [online], 2013. Dostupné z: https://www.swgde.org/documents/Current%20Documents/SWGDE%20Best%20Practices%20for%20Mobile%20Phone%20Forensics

[5] LOHRUM, M. - Live imaging Android device [online], 2014. Dostupné z: https://freeandroidforensics.blogspot.cz/2014/08/live-imaging-android-device.html

Ing. Marián Svetlík, Jr. je absolventem ČVUT. Dlohodobě pracuje jako expert v oblasti digitální forenzní analýzy, jako lektor se věnuje školící a také publikační činnosti v tomto oboru. V současnosti se věnuje prosazování nových technologií do znalecké praxe a specificky oblasti forenzní analýzy mobilních telefonů a řídících jednotek automobilů. Je předsedou Institutu pro digitální forenzní analýzu a člen redakční rady časopisu Digital Forensic Review.