A miał być taki piękny dzień...

Analiza woluminów i partycji jest procesem, którego często nie dostrzegamy. Dzieje się tak za sprawą kombajnów do analizy systemów plikowych (np. EnCase, SleuthKit, Access Data FTK), które po wczytaniu do nich obrazów (np. takich, które wykonaliśmy narzędziem dd) same rozpoznają woluminy i wyszukują partycje. Pozwalają one również na prowadzenie analizy na obydwu poziomach, o których mówiliśmy - fizycznym i logicznym. Podczas tej fazy analizy możemy napotkać jednak pewną niedogodność. Jeżeli uszkodzeniu uległa tablica partycji, oprogramowanie może mieć trudności z identyfikacją systemu plikowego. Tutaj również nie jesteśmy w sytuacji bez wyjścia. Z pomocą przychodzą odpowiednie narzędzia, które posługując się sygnaturami podpowiedzą, z czym konkretnie mamy do czynienia. Przykładem jest chociażby darmowy TestDisk (http://www.cgsecurity.org/wiki/TestDisk).

Więcej woluminami i partycjami nie musimy się zajmować, choć głębsza wiedza z tego zakresu nigdy nie zaszkodzi. Jak już powiedzieliśmy, w przeważającej większości przypadków popularne narzędzia śledcze pobiorą wszystkie potrzebne informacje.

Wyruszając na poszukiwania danych, musimy dość dobrze orientować się również w systemach plików, w jakich przyjdzie nam się poruszać. Na nasze nieszczęście tych występuje w naturze bardzo dużo. Z drugiej strony - tym razem na szczęście - najczęściej spotykane są tylko trzy: FAT, NTFS i EXT. Pierwsze dwa charakterystyczne dla Windows, ostatni dla Linuksa.

A miał być taki piękny dzień...

Jeżeli uszkodzeniu uległa tablica partycji, oprogramowanie może mieć trudności z identyfikacją systemu plikowego. Z pomocą przychodzą odpowiednie narzędzia, np. darmowy TestDisk.

Co warto wiedzieć o systemach plików w ogóle? W ramach systemów plików możemy wyróżnić kilka elementów. Każdy z nich ma kluczowe znaczenie dla dalszych poszukiwań. W zależności bowiem od tego, jakich informacji poszukujemy, odwołamy się do odpowiedniego elementu. Metadane - bo od nich zaczniemy - to informacje, które opisują pliki. Mogą zawierać dane dotyczące lokalizacji pliku, jego rozmiaru, dat i czasów dostępu oraz modyfikacji. W zależności od systemu plików nomenklatura określająca metadane jest różna - w systemie EXT nazywane są INODES, w NTFS to Master File Table. Pamiętajmy też, że metadane niekoniecznie muszą zawierać nazwę pliku. Jest ona bowiem dla użytkownika - po to, aby ułatwić poruszanie się w gąszczu danych. No i wreszcie mamy zawartość pliku, czyli dane właściwe.

Jest jeszcze coś - przestrzeń, której nie zajmuje żaden system plików (unallocated space). Znajdziemy ją porównując wielkość woluminu i systemu plików. Tutaj również mogą zostać ukryte informacje i to właśnie w tym miejscu duże znaczenie będzie miała fizyczna analiza danych. Trzeba też mieć na uwadze, że niestety część z informacji, które będziemy podglądać, może być z łatwością sfałszowana i nie zawsze można im ufać. Dotyczy to chociażby rozszerzeń plików, które niewprawnego śledczego mogą wyprowadzić na manowce. Nic przecież nie powstrzyma "sprawcy" przed zmianą nazwy pliku z "konta_bankowe.xls" na "systemdata.dll". Niczego więc nie osiągniemy, szukając wśród plików tych z rozszerzeniem *.xls po nazwie. W tym przypadku będziemy musieli sięgnąć po sygnatury i przeglądać system plików w poszukiwaniu charakterystycznych dla danej aplikacji wartości szesnastkowej (pomocy możemy szukać na stroniehttp://www.garykessler.net/library/file_sigs.html).

Mając świadomość powyższych faktów, wyruszamy w poszukiwanie śladów. Mogą one przybrać różną formę. Przeważnie będziemy poszukiwali plików lub przeszukiwali je pod kątem pewnej zawartości. Obecnie można wyróżnić dwie metody prowadzenia poszukiwań - ręczną i automatyczną.

Techniki ręczne dają najlepsze rezultaty, ponieważ sami lepiej wiemy czego szukamy, a automat może pominąć to, czego nie ominie czujne oko śledczego. Nie oszukujmy się jednak. Wyszukiwanie ręczne jest potwornie wolne i przy dyskach o pojemnościach kilkuset GB niepraktyczne.

Dlatego też powszechnie stosowane są techniki zautomatyzowane. Wśród nich również można wyróżnić kilka podgrup. Najpopularniejszą i najstarszą zarazem jest poszukiwanie słów kluczowych. W swojej podstawowej formie nie daje jednak zbyt dużych możliwości, jeżeli chodzi o wyszukiwanie typów obiektów, które nas interesują. Dlatego, w zależności od użytych narzędzi, wyniki będą zawierały mniej lub więcej tzw. fałszywych trafień (false positives) i fałszywych pominięć (false negatives), z czego te drugie są znacznie gorsze.

A miał być taki piękny dzień...

Odzyskiwanie pliku za pomocą Autopsy.

Rozszerzeniem techniki wyszukiwania słów kluczowych jest wykorzystanie wyrażeń regularnych. Jest to metoda o tyle lepsza, że daje możliwość elastycznego określania poszukiwanych obiektów. Korzysta z niej zarówno Autopsy/SleuthKit, jak i EnCase.

Następna metoda - dopasowań przybliżonych - jest znowu rozwinięciem poprzedniej. Modyfikacja polega na tym, że określamy, jakie odchylenia od szukanych wyrażeń jesteśmy w stanie zaakceptować. Uzyskamy w ten sposób pełniejsze dane, ale też musimy spodziewać się znacznie wyższego poziomu false positives. Narzędziem, które wykorzystuje tę technikę, jest np. agrep (http://www.tgries.de/agrep/).

Istnieją wreszcie heurystyczne, specjalizowane narzędzia do wyszukiwania określonych rodzajów obiektów. Tak czy inaczej uzyskamy ogrom informacji. Wypadałoby znaleźć sposób na dalsze ich ograniczenie. Z pomocą przyjść mogą bazy sygnatur. Zawierają one wartości funkcji skrótu plików, które są typowe dla różnych systemów operacyjnych i aplikacji oraz nie ulegają częstym zmianom. Bazy takie znajdziemy np. na stronach NIST - National Institute of Standards and Technology (http://www.nsrl.nist.gov/).

W ten sposób znacząco odchudzimy ilość danych do dalszej obróbki. Możemy również skorzystać z narzędzi, które wyszukują bardziej konkretne informacje. Na przykład NTA Stealth (http://www.forensics-intl.com/nta.html) potrafi zbierać dane o odwiedzanych stronach i pobieranych treściach - wyszukuje je także w przestrzeni slack space, która bardzo często zawiera użyteczne informacje. Powstaje ona ponieważ systemy plików umieszczają dane w wielobajtowych blokach, a nie w pojedynczych bajtach. Jeżeli plik nie jest w stanie wypełnić całego bloku, wówczas powstaje w nim niezapełniona przestrzeń, którą określa się właśnie mianem slack space.

Sprytniejszy od przeciętnego misia

A miał być taki piękny dzień...
Osoby chcące pozbyć się obciążających plików najczęściej po prostu je kasują. Rzadko jednak zdają sobie sprawę z tego, że tak naprawdę nie pozbywają się tych plików, usuwają jedynie zewnętrzne oznaki ich istnienia. Skasowanie pliku jest dla systemu znakiem, że przestrzeń, którą zapełniają dane, nie jest już potrzebna i może być ponownie wykorzystana. Jako śledczy będziemy więc skupiali się na dwóch miejscach, z których można odzyskać skasowane dane: z przestrzeni, która została zwolniona w momencie kasowania pliku, oraz z przestrzeni slack . Jeżeli mamy do czynienia z systemem plików FAT, to w momencie kasowania pliku zostaje on oznakowany poprzez dodanie na początku jego nazwy znaku sigma " ". Przywrócenie pliku polega na odnowieniu powiązania metadanych i nazwy z danymi właściwymi. Sprawa jest stosunkowo prosta, jeżeli plik zapisany jest w kolejnych blokach danych. Misję odzyskiwania plików ze zwolnionego obszaru można śmiało powierzyć narzędziom takim jak fatback (http://sourceforge.net/projects/biatchux/). I znowu większość kombajnów również będzie w stanie wykonać to zadanie.

Jeżeli jednak jest on rozrzucony po całym dysku, zadanie to staje się już dość trudne i może okazać się, że będziemy musieli ręcznie odzyskiwać plik. Co jednak, jeżeli plik został usunięty dość dawno lub jest uszkodzony? Wówczas możemy skorzystać z innej metody odzyskiwania - określa się ją mianem file carving. Metoda ta nie używa metadanych, a poszukuje określonych, charakterystycznych treści - najczęściej nagłówków lub stopek plików. Korzystają z niej narzędzia, takie jak Ontrack Easy Recovery Pro czy Data Lifter. Dzięki nim możemy odzyskać wiele rodzajów plików graficznych, tekstowych czy wykonywalnych. Najpopularniejszym obecnie narzędziem open source do file carvingu jest Skalpel (http://www.digitalforensicssolutions.com/Scalpel/).

Są jeszcze setki zagadnień i tysiące przykładów, do których można było sięgnąć. Wówczas musiałaby powstać książka, która oprócz wartości merytorycznej byłaby znakomitym przyciskiem do papieru. Analiza systemów plików jest bowiem jednym z najtrudniejszych zagadnień w tej jakże artystycznej dziedzinie, jaką jest Computer Forensics. Niniejszym więc przekazujemy podstawowe tylko narzędzia, życząc owocnego rzeźbienia w dyskach.


TOP 200