V našem prostředí lze vypozorovat dvě základní oblasti zkoumání digitálních dat. Zpřístupnění dat a analýza dat. Tou první je formálně správné ale relativně prosté forenzní vyhledání a poskytnutí dat zadavateli, tou druhou je analýza dějů a procesů v prostředcích ICT. Článek se zabývá úskalími obou oblastí.
Úvod
V minulém čísle Digital Forensic Review (2/2019) jsem se pustil do teoretických úvah o tom, co je předmětem digitální forenzní analýzy, tedy o podstatě digitální stopy. Dospěl jsem k závěru, že digitální stopa je (nehmotná) informace, která je zaznamenána pomocí binárního kódování. Je nezávislá na fyzické realizaci kódování, tedy je nezávislá na nosiči digitální stopy. Obecně tedy lze tvrdit, že digitální stopa je latentní a kódovaná. Aby však byla digitální stopa informací podle definice, musí také být relevantní k vyšetřované skutečnosti.
Ve výše uvedeném článku jsem také uvedl příklad, jak a kdo posuzuje právě relevantnost digitální stopy (Digital Forensic Review 2/2019, str. 9‑10). Relevantnost je totiž jedním z podstatných atributů informace jako takové obecně, a tedy i digitální informace, resp. digitální stopy.
Pro připomenutí zde zopakuji podstatnou část uvedeného příkladu:
Na základě uvedeného příkladu se dá vypozorovat a odvodit, že znalec vykonával zkoumání ve dvou fázích:
- V první etapě vyšetřovateli (vhodnou formou) zpřístupnil uživatelská data ‑ platné (a případně i smazané a následně obnovené) soubory ‑ podle zadaného kritéria (tady konkrétně obrazová data). Všimněte si, že neposuzoval to, co je na obrázcích. Bez dalšího upřesnění znalci ani nepřísluší hodnotit, jestli obsah nalezených dat má nebo nemá nějakou relevanci k vyšetřovanému případu.
- Ve druhé fázi, když vyšetřovatel posoudil, co z poskytnutých dat má relevanci k jeho případu, požádal znalce o podrobné prozkoumání dalších skutečností (tady s cílem potvrdit nebo vyvrátit hodnověrnost původních dat). Tento příklad názorně ukázal, kdo a vůči čemu posuzuje relevantnost digitální informace. Nicméně může i velice dobře posloužit k tomu, o čem chci mluvit i v tomto článku, tedy o dvou základních oblastech činnosti, se kterými se v současnosti znalec v oblasti analýzy digitálních dat setkává.
Tou první oblastí, stejně jako v uvedeném příkladě, je oblast zpřístupnění dat, která se aktuálně využívá v pře‑ vážné většině požadavků na zkoumání. Tou druhou oblastí je oblast analýzy dat, která je ale mnohem náročnější na kvalifikaci znalce a na jeho programové a technické zázemí. Možná právě proto (a také asi i z důvodů malého po‑ vědomí o její možnostech) je nabízená, a i využívána mnohem méně, než by si zasloužila.
Než se pokusím popsat obě zmíněné oblasti Digital Forensic, je nutné připomenout procesy, které takovému zkoumání předcházejí, abychom měli základní východiskovou situaci. Obecně lze říct, že společným východiskem by mělo být korektní forenzní zajištění dat. Obecně také lze říct, že by to měly být forenzní obrazy datových nosičů nebo jejich částí, opatřené kontrolními sumami (jak je to uvedeno např. v DFR 2/2018, str. 12).
Jestliže vyjdu z toho, že forenzně zajištěná data nejsou přímo (bez dalšího specifického technického a zejména programového vybavení) uživatelsky čitelná, tedy pro koncového uživatele (např. vyšetřovatele PČR) jsou pořád latentní a kódovaná, musí nastoupit odborná práce, která tato data koncovému uživateli vhodným způsobem zpřístupní.
Jak bylo uvedeno výše, forenzní kopie/obraz digitálních dat je prováděna standardně ve formě forenzního obrazu datového nosiče (blíže viz. např. DFR 2/2019, str. 11). Pro zpřístupnění dat uživateli je nutné datovou strukturu forenzního obrazu analyzovat, dekódovat, zjistit, zda a jak byl původní disk rozdělen a oddíly, jaké souborové systémy jsou v jednotlivých oddílech disku použity, a nakonec aplikovat pravidla daného souborového systému na data daného oddílu disku, aby bylo možné identifikovat jednotlivé soubory. Až poté je možné získat k nim přístup a podle potřeby uživatele je ve vhodné formě zpřístupnit.
Zpřístupnění digitálních dat
Po forenzním zajištění digitálních dat a jejich dekódování a zviditelnění lze přistoupit k vyhledání relevantních souborů podle požadavku uživatele. Nejčastěji to bývá požadavek na výběr souborů, které obsahují nějaký relevantní text (např. jména osob nebo firem), číslo (suma, IČO, telefonní číslo), e‑mailovou adresu nebo cokoliv dalšího. Dále to pak může být požadavek na určitý typ souborů (jako ve výše uvedeném příkladu fotografie, tedy obrazové soubory), dokumenty (a vzniká otázka, jaký formát dat odpovídá v počítači pojmu „dokument“), tabulky, všechny soubory vytvořené (určitým) uživatelem, soubory vytvořené nebo upravované v určitém čase nebo časovém úseku, data komunikace určité osoby nebo osob nebo komunikace v daném časovém období nebo nějaké podobné kritérium. A těch může být nepřeberné množství.
Co je ale na tomto přístupu podstatné? Jedná se vždy o identifikaci a nalezení dat podle nějakých (většinou) vnějších charakteristik souborů nebo záznamů. V zásadě se tedy nejedná o nějakou jejich analýzu a zejména se nejedná o analýzu obsahu takových souborů (jestliže pod pojmem „analýza“ nechápeme jejich vyhledání/identifikaci podle zadaných kritérií).
Zpřístupnění dat uživateli ale často není tak triviální problém, jak by to mohlo z předchozího vypadat. Pokusím se zmínit několik asi nejtypičtějších problémů, se kterými je možné se potkat při řešení požadavku na zpřístupnění dat. Musím také dodat, že tyto problémy vznikají nejenom na technické úrovni nebo na úrovni profesionálních limitů znalce, ale asi nejčastěji z důvodů nevhodné formulace kritérií, podle kterých je požadováno data vyhledat a zpřístupnit.
- Problém vzniká často ve formulaci požadavku na výběr dat. Typickým příkladem je požadavek typu „zpřístupněte všechny soubory, které mají charakter smlouvy firmy XYZ“. Je na znalci, aby zadavatele včas upozornil, že požadavek nelze splnit. Při poskytnutí dat se jednak neanalyzuje samotný obsah, ale zejména požadavek má ve své podstatě právní charakter a znalci nepřísluší takové zkoumání provádět. Posouzení toho, zda obsah daného dokumentu/souboru má nebo nemá charakter smlouvy přesahuje kompetence znalce.
- Dalším častým problémem je nejednoznačná specifikace požadavku typu „zpřístupněte všechny textové dokumenty…“. Z pohledu zadavatele to lze sice pochopit, nicméně pro realizaci takového požadavku je nutné upřesnit, co zadavatel pod pojmem „textový dokument“ chápe (jak jsem uvedl výše, upřesnit, co to pojem „dokument“ v počítači znamená). Zda skutečně pouze dokumenty vytvořené v textovém editoru (tedy typicky všechny soubory s příponou .DOC a .DOCX, byť je nutné vzít do úvahy i dokumenty vytvořené v jiných textových procesorech, než jen MS Office) a potvrdit si, jestli zahrnout i jiné potenciální zdroje, jako jsou soubory plaintextové (tedy standardně s příponou .TXT), ale i jiné, např. RTF, PDF. Pro ilustraci, jak takový zdánlivě jednoduchý (a z pohledu zadavatele dokonce snad i triviální) úkol může být komplikovaný, uvádím odkaz na výčet typů souborů, které lze zařadit do kategorie textových dokumentů ‑ hKps://fileinfo.com/filetypes/ text. Nepočítal jsem je, ale odhadem je takových formátů souborů na této stránce definováno kolem 500. Byť mnoho z nich je velice zřídka použitých v běžném životě v našem prostředí, obecně by teoreticky znalec měl posoudit všechny potenciálně použitelné formáty souborů, které mohou obsahovat textovou informaci. A asi nemusím zdůrazňovat, že podobná situace je i při požadavku na zpřístupnění jiných typů souborů. Např. jak jsem uváděl výše v příkladu, kdy bylo potřebné identifikovat obrazové soubory, tak u těch je nejdříve potřebné specifikovat o jaké obrázky se jedná, zda jen rastrové, nebo i vektorové a 3D, zda do toho zahrnout i video a další, ale např. obrázky mohou být uloženy i v jiných formátech, např. naskenované dokumenty, vložené obrázky v textových dokumentech a pod. Je vidět, že zdánlivě triviální požadavek může vést na straně znalce ke složitým, časově i technologicky náročným a mnohdy i technicky téměř nerealizovatelným úkolům.
- Při požadavku (například) na zpřístupnění „všech textových dokumentů“ vzniká zásadní problém právě ve výběru vhodného způsobu (metody) toho, jak technicky požadované textové dokumenty identifikovat. Z jedné strany se lze domnívat, že zadavatelova představa (která nejspíše vychází z jeho osobních uživatelských zkušeností z práce s počítačem) je limitována na textové dokumenty MS Office. Při neznalosti počítačové gramotnosti vyšetřované osoby je výběr odpovídající metody identifikace textových dokumentů úloha téměř nerealizovatelná. Z druhé strany při tak velkém počtu textových formátů nelze prakticky realizovat postup, který by je spolehlivě identifikoval všechny. Při zkoumání je proto nutné vždy přistoupit k určitému kompromisu. Z pohledu znalce je ale každé kompromisní řešení potenciálně problematické a vnáší do výsledku určitou míru neurčitosti, která se pak potenciálně špatně obhajuje při podání vysvětlení u soudu. Z pohledu zadavatele (jestliže mu znalec celou problematiku zvoleného kompromisu ve výběru metody zkoumání patřičně v posudku objasní) způsobuje kompromisní řešení potenciální problém ve snížení důkazní síly takového znaleckého posudku.
Výše uvedené příklady jsou věnovány problémům spojeným s identifikací digitálních dat podle požadavku zadavatele. Nicméně mnohdy neméně složitější problém vzniká i při realizaci požadavku, který vychází ze slovíčka/požadavku „zpřístupnit“. Logicky se nabízí otázka „jak?“. V zásadě existují dvě základní možnosti:
- V originální podobě. V tomto případě jsou data po identifikaci podle požadavku zadavatele vykopírována na externí nosič v jejich originálním formátu, tedy tak, aby co nejpřesnějším způsobem odpovídala původnímu tvaru a obsahu a zachovala si tak maximální důkazní silu. Teoreticky správné a optimální řešení, avšak prakticky v mnoha případech neakceptovatelné. Zadavatel totiž musí být schopen takto poskytnutým výstupům porozumět, jinak řečeno takový výstup, aby byl pro něj použitelný, musí být pro něj taky čitelný. Jestliže je ale původní formát nalezených dat pro zadavatele nečitelný, je pro něj takový výstup nepoužitelný (jenom jako příklad lze uvést např. textovou dokumentaci k nějakému projektu, která je ve vektorovém formátu .DWG, který určitě není běžnými prostředky pro uživatele čitelný).
• V transformované podobě. V tomto případě se data, která byla podle požadavku zadavatele identifikována, poskytnou zadavateli v transformované podobě tak, aby byla pro zadavatele čitelná, a tedy i přímo použitelná. Prakticky to znamená předpokládat například, že zadavatelovo počítačové vybavení umožňuje splňovat určitý standard, např. že je schopen číst formáty dat MS Office (tedy minimálně Word, Excel a Powerpoint) a formát PDF. Na základě takového předpokladu by bylo nutné transformovat veškeré nálezy do formátů, které jsou pro určité „standardizované“ vybavení zadavatele čitelné/zobrazitelné. Toto řešení ale naráží na několik problémů, kterými jsou (kromě jiných) např. samotná existence konverzních programů mezi jednotlivými formáty dat, problém přesnosti takových konverzí, neexistence přesných veřejných definic jednotlivých datových formátů (typicky pro formáty nejčastěji se vyskytujících dat společnosti Microsoft), a tím problematické přesnosti jejich konverzí, problematika korektního převodu textů v různých způsobech kódování jazyků mezi formáty dat apod. Pravděpodobně ale asi nejzávažnějším problémem při řešení konverzí jsou objemy dat, které by bylo nutné transformovat. Při různorodosti formátů a potenciálně velkém množství jejich verzí a dalších různých specifik je jen stěží možné úlohu konverzí mezi formáty dat automatizovat. A to nemluvím o skutečnosti, že obecně platí, že každou transformací jsou originální data degradována, tedy prakticky každá transformace dat mezi formáty je ztrátová a původní data tím potenciálně ztrácejí svoji důkazní sílu. Jenom jako poslední poznámku k tomuto lze uvést, že asi tou nejhorší variantou transformace (z pohledu degradace původních dat, a i časové náročnosti) je transformace digitálních dat do tiskové podoby ‑ tedy tisk dat, byť převod digitálních důkazů na listinné se jeví z pohledu mnoha zadavatelů a uživatelů výstupu znaleckého posudku jako administrativně nejoptimálnější.
Z výše uvedených příkladů je zřejmé, že různých typů a formátů dat je v počítačích potenciálně nepřeberné množství. Je na odbornosti a zkušenosti znalce a na programových a technických prostředcích, kterými disponuje, jak vůbec a jak efektivně je schopen identifikovat relevantní data podle kritérií zadavatele a v jaké formě je schopen je zadavateli poskytnout. Při potenciálně velkých počtech a objemech výsledků je to úloha určitě netriviální.
Společným jmenovatelem pro úlohy typu „zpřístupnění dat“ podle zadaných kritérií je však skutečnost, že znalec nehodnotí obsah nalezených dat, neprovádí jeho analýzu. Jediným úkolem znalce je po technické stránce posoudit, zda data odpovídají kritériím, která dostal jako zadání od zadavatele.
Analýza digitálních dat
Druhou oblastí znaleckého zkoumání je analýza digitálních dat. Jak vyplývá z příkladu v úvodu tohoto článku, v této oblasti probíhá analýza samotného obsahu dat. Je ovšem nutné si uvědomit, vůči čemu se relevantnost analyzovaných dat posuzuje. Jestliže zadavatel posuzuje relevantnost obsahu (v tomto případě obrázků) vůči vyšetřovaným skutečnostem, analýza dat (obsahu souborů) je v našem příkladě posuzována znalcem vůči pravdivosti EXIF informací obrázků k technickým parametrům snímacího čipu daného digitálního fotoaparátu.
Možná není výše uvedený příklad dostatečně názorným, proto se pokusím uvést další příklady, kdy je potřebné analyzovat obsah dat s cílem zjištění požadovaných informací.
• „Zjistěte, kdy byl počítač naposled zapnut a kým, jaké aktivity byly na něm prováděny a kdy byl vypnut“ ‑ i tak by se dala formulovat poměrně častá otázka, se kterou se mohou znalci setkat. V tomto případě je pravděpodobně nutné identifikovat větší množství souborů, které by mohly potenciálně obsahovat informace o chodu systému. Analyzovat použitý operační a souborový systém, zjistit, kde se dají v daném systému nalézt relevantní informace a posléze analyzovat např. obsah informací v systémových souborech MS Windows a v registrech, informací z metadat souborového systému, zjišťovat relevantní informace z dalších vhodných zdrojů, normalizovat a korelovat všechna takto získaná data a vyvodit z nich relevantní závěry. Z příkladu je vidět, že dochází k analýze obsahu různých datových zdrojů a jejich hodnocení ve vztahu k zadanému požadavku.
- „Potvrďte nebo vyvraťte tvrzení, že daná data byla do počítače nahraná bez vědomí uživatele“. Je to typický příklad, kdy data, nalezená v průběhu zpřístupnění dat, je potřebné verifikovat a analyzovat jejich věrohodnost. Prozkoumat, zda na dané technice existuje možnost ovládání zařízení zvenčí ať už nějakými standardními prostředky nebo zda byl počítač infikován nějakým škodlivým programem a ověřit vlastnosti takového škodlivého programu poskytnout vzdálenému uživateli přístup k zařízení v takovém rozsahu, který by umožňoval nahrát na zařízení předmětná data. Případně prokázat, že k takové události došlo a kdy, pokusit se identifikovat externí zdroj takových aktivit a další skutečnosti, které by uvedené aktivity potvrzovaly.
Co je vidět z obou výše uvedených příkladů (z obou oblastí práce znalce) na první pohled je skutečnost, že v první oblasti je zjišťováno to, co je v počítači, kdežto v druhé oblasti je zjišťováno to, co se v počítači událo. Dá se z toho také dovodit, že požadavky na práci v obou oblastech se zřejmě liší jak z pohledu nároků na technologické vybavení znalecké laboratoře, tak z pohledu požadavků na kvalifikační předpoklady znalce. A vůbec nechci tady hodnotit, která z uvedených oblastí je více nebo méně náročná. Nicméně je nutné zmínit, že otázka vyhledání dat (resp. souborů) podle zadaných kritérií je mnohem lépe algoritmizovatelná a tím i lépe pokrytá různými SW nástroji pro forenzní analýzu než oblast analýzy digitálních dat. Ta vyžaduje detailní vědomosti práce operačních a souborových systémů tak, aby byl znalec schopen identifikovat a doložit souvislosti v datech z různých oblastí systémů a vyvodit z nich relevantní závěry. To jsou právě oblasti, kde se projevuje velmi velká variabilita vstupních dat a které se jen stěží dají nahradit různými programovými nástroji. Je tedy v mnohem větší míře vyžadována znalcova znalost daného prostředí mnohdy různých informačních systémů.
Vzniká ale vzápětí otázka, jestli je takové členění vůbec důležité a jaký to v podstatě má význam pro znaleckou práci a pro pochopení možností znaleckého zkoumání ze strany potenciální klientely (primárně od OČTŘ, ale i v souvislosti s řešením bezpečnostních incidentů v organizacích). Dají se poznatky o obou oblastech znaleckého zkoumání nějak zobecnit? Ve světě už takové zobecnění a členění delší dobu existuje. Ta první oblast zkoumání, tedy zjištění toho, zda se určitá informace v počítači nachází, je celkem jasně definována pojmem e‑discovery (vhodný popis e‑discovery lze najít např. v hKps://cdslegal.com/ knowledge/the‑basics‑what‑is‑e‑discovery/):
S tou druhou oblastí vzniká trochu problém. Obecně je definována jako „Digital Forensics Analysis“ (DFA), ale známé definice jsou hodně obecné a rozpadají se vzápětí na velkou skupinu definic různých podoblastí forenzní analýzy digitálních dat (host forensics, network forensics, mobile forensics apod.). Tady využiji definici DFA, kterou jsem použil již v roce 2015 v časopisu „Digital Forensic Journal 2/2015“ (k dispozici je např. v hKps://dfreview.cz/_files/ 200000027‑e6d33e6d36/DFJ_2‑2015.pdf):
Na tomto místě je ale nutné zdůraznit, že pojem e‑discovery nepochází primárně z našeho (řekněme středoevropského) prostředí, ale je využíván v prostředí americkém, kde má poměrně stabilní a obecně známou pozici. V našem prostředí se e‑discovery samostatně zatím téměř nepoužívá. Nicméně první vlaštovky lze najít i u nás v praxi velkých nadnárodních organizací jak samostatně, tak v souvislosti s další velice příbuznou oblastí, kterou je oblast „forensic readiness“. Ale to by bylo povídání na jiné téma. V našem prostředí jsou obě oblasti chápány společně pod hlavičkou znaleckého zkoumání prostředků výpočetní techniky.
Závěr
Od teoretického pojednání o digitální stopě, která byla uveřejněna v minulém čísle našeho časopisu, jsem se v tomto článku přesunul k předmětu digitální forenzní analýzy z pohledu oblastí zkoumání, se kterými se znalci v praxi obecně setkávají.
Z jedné strany je to oblast, která se zabývá zkoumáním toho, co je ve výpočetní technice uloženo, tedy zejména vyhledávání dat (nebo spíše souborů) podle zadaných kritérií. Obsah takto vyhledaných dat je pak zadavatelem/klientem posuzován vzhledem k vyšetřovaným skutečnostem. Takové zkoumání se podle základních charakteristik velice přibližuje tomu, co je nazýváno „Electronic Discovery“ (jinak také častěji e‑dicovery).
Z druhé strany je to oblast, která se zabývá dokumentováním dějů a procesů, které v informačních systémech probíhaly. K tomu se provádí analýza dat, které s požadovanými procesy přímo či nepřímo souvisejí, tedy probíhá analýza hodnocení obsahů všech relevantních dat/souborů. Podle definice digitální forenzní analýzy, která je uvedena (mimo jiného také) v časopise Digital Forensic Journal 2/2015, je taková oblast zkoumání právě oblastí, která je náplní této definice.
Protože však v našem prostředí obor znalectví „Digitální forenzní analýza“ vlastně oficiálně ani neexistuje, nelze se divit, že se také nikdo nevěnuje úvahám o tom, jaké různé oblasti by takový obor mohl pokrývat. O rozdílech e‑discovery a digital forensic nemluvě. Proto by u nás znalci, kteří se zabývají znaleckým zkoumáním informačních technologií, měli dělat úplně všechno, co s výpočetní technikou přímo nebo nepřímo souvisí. To, že takové přehlížení problematiky znaleckého zkoumání digitálních informací následně přináší obrovské množství problémů kvalifikačních, technologických a následně i kvalitativních, je nasnadě.