100971698

Page 1


SZCZEGÓŁOWY SPIS TREŚCI

ODTŁUMACZA

PRZEDMOWA

WPROWADZENIE

Dlaczego napisałem tę książkę

Co wyróżnia tę książkę

Dlaczego warto korzystać z linii poleceń

Docelowi czytelnicy i wymagania

Kto powinien przeczytać tę książkę

Niezbędna wiedza.

Preinstalowana platforma i oprogramowanie

Jak zorganizowana jest ta książka

Zakres tej książki

Konwencje i format

kierunki i wyzwania

i OSS w kontekście dochodzeniowo-śledczym

stosowania Linuxa i OSS w laboratoriach informatyki śledczej

Jądro Linuxa i urządzenia pamięci masowej

urządzenia

systemów plików przez jądro systemu

i powłoki systemu

zadaniami

Organizowanie zebranych dowodów i danych z wyjścia poleceń

nazewnictwa dla plików i katalogów

Skalowalna struktura katalogów śledztwa

Zapisywanie wyjścia poleceń za pomocą przekierowania

Ocena logistyczna infrastruktury zabezpieczenia

Rozmiary obrazów i wymagane miejsce na dysku

plików

rzadkie

Zgłaszane rozmiary plików i obrazów

i kopiowanie obrazów dowodowych

Szacowanie czasów ukończenia zadań

Wydajność i wąskie gardła

Ciepło i czynniki środowiskowe

Ustanawianie ochrony przed zapisem

Sprzętowe blokery zapisu

Programowe blokery zapisu

Linuxowe bootowalne płyty CD do informatyki śledczej

z trybami fizycznego dostępu tylko do odczytu

podejrzanego sprzętu komputerowego

sprzętowej konfiguracji komputera i usuwanie dysku

sprzętu w badanym komputerze

Podłączenie zabezpieczanego dysku do hosta śledczego

Przegląd sprzętu hosta zabezpieczenia

Identyfikacja podejrzanego napędu

Sprawdzanie informacji zwracanych przez badany dysk

Dokumentowanie danych identyfikacyjnych urządzenia

Sprawdzanie możliwości i funkcji dysku za pomocą hdparm

Wydobycie danych SMART za pomocą smartctl

Włączanie dostępu do ukrytych sektorów

Dostęp do obszaru serwisowego dysku

Zabezpieczenie hasłem ATA i dyski samoszyfrujące

Identyfikacja i odblokowanie dysków chronionych hasłem ATA

Identyfikacja i odblokowanie dysków samoszyfrujących Opal

Szyfrowane pendrive’y

Podłączanie nośników wymiennych

optyczne

Napędy taśmowe

pamięci

Podłączanie innych nośników

Inne urządzenia z dostępem do bloków lub znaków

obrazu za pomocą narzędzi typu dd

unixowe dd i GNU dd

obrazów w formatach dowodowych

ewfacquire

ftkimager

Pozyskiwanie obrazu z jednoczesnym zapisem w kilku miejscach

Zastosowanie kryptografii podczas zabezpieczania dowodów cyfrowych

Podstawy kryptograficznych funkcji skrótu

haszowania

obrazu za pomocą PGP lub S/MIME

Znaczniki czasu RFC-3161

Obsługa awarii i błędów dysku

Obsługa błędów w narzędziach informatyki śledczej

Inne metody w przypadku awarii dysku

Pozyskiwanie obrazu nośnika przez sieć

Zdalne pozyskiwanie obrazów dowodowych za pomocą rdd

Bezpieczne, zdalne tworzenie obrazu za pomocą ssh

Zdalne pozyskiwanie do kontenera dowodowego SquashFS

Pozyskiwanie obrazu zdalnego dysku w formatach EnCase i FTK

Zabezpieczanie działającego systemu za pomocą migawek Copy-On-Write

spis treści

Zabezpieczanie nośników wymiennych

Karty pamięci

Dyski optyczne

Taśmy magnetyczne

RAID i systemy wielodyskowe.

Zabezpieczanie zastrzeżonych układów RAID

JBOD i RAID-0 – striping dysków

Microsoft Dynamic Disks

RAID-1 – mirroring dysków

Linux RAID-5

Podsumowanie

Zastosowania kompresji obrazów

Standardowe, linuxowe narzędzia do obsługi kompresji

Format skompresowany EnCase EWF

Format skompresowany FTK SMART

Kompresja wbudowana w AFFlib

Skompresowane kontenery dowodowe SquashFS

Operowanie podzielonymi obrazami

Polecenie GNU split

Podział obrazów podczas akwizycji

Dostęp do zawartości podzielonego obrazu

Ponowne składanie podzielonych obrazów

Sprawdzanie integralności obrazów dowodowych

Sprawdzanie kryptograficznego skrótu utworzonego podczas zabezpieczenia

Ponowne obliczanie haszy obrazów dowodowych

Kryptograficzne skróty podzielonych obrazów nieprzetworzonych

Znajdowanie niepasujących do siebie okien haszowania

Sprawdzanie poprawności podpisów cyfrowych i znaczników czasu

Przekształcanie formatów obrazów

Zamiana obrazów nieprzetworzonych

Konwersja z formatu EnCase/E01

Konwersja formatu AFF

Kryptograficzne zabezpieczanie obrazu

Szyfrowanie GPG

Szyfrowanie

Wbudowane szyfrowanie w formatach dowodowych

Uniwersalne szyfrowanie dysków

Klonowanie i powielanie dysków

Przygotowanie klona dysku

obrazu na klonie dysku

Przesyłanie i przechowywanie obrazów

Niedrogie dyski do przechowywania i przenoszenia danych

Przesyłanie dużych ilości danych przez sieć

Bezpieczne zamazywanie i usuwanie danych

Usuwanie pojedynczych plików

Bezpieczne zamazywanie zawartości nośników danych

Wykorzystanie komendy ATA Security Erase Unit

Niszczenie kluczy szyfrowania dysków

Podsumowanie

UZYSKIWANIE DOSTĘPU

Pliki obrazów pozyskanych w celach dowodowych

Pliki nieprzetworzonych obrazów dysków oraz urządzenia pętli

Pliki obrazów w formatach dowodowych

Przygotowanie obrazów startowych za pomocą xmount

Obrazy maszyn wirtualnych (VM)

VMWare VMDK

Systemy plików szyfrowane z poziomu systemu operacyjnego

FileVault

i VeraCrypt

Określanie układu partycji oraz typów systemów plików

systemów plików

Wyodrębnianie zawartości partycji

Wyodrębnianie poszczególnych partycji

Znajdowanie i wyodrębnianie usuniętych partycji

Identyfikowanie i wyodrębnianie przestrzeni między partycjami

Wydobycie sektorów z obszarów HPA i DCO

Wydobywanie innych fragmentarycznych danych

slack space z systemów plików

Wyodrębnianie nieprzydzielonych bloków systemu plików

Ręczne wyodrębnianie za pomocą przesunięć

ogó LN y z A r y S i NF or M A ty K i ś L e D cze J

Szkic historycznego tła rozwoju działu informatyki, jakim jest informatyka śledcza, pomaga wyjaśnić, w jaki sposób zmieniała się ona na przestrzeni lat. Dodatkowo ułatwia uchwycenie kontekstu niektórych problemów i wyzwań, przed jakimi stają specjaliści zawodowo związani z tą branżą.

Historia informatyki śledczej

W tej części omawiam rozwój nowoczesnej informatyki śledczej jako działu nauk informatycznych.

Koniec wieku XX

Historia informatyki śledczej jest bardzo krótka w porównaniu z czasem istnienia większości dziedzin i działów nauki. Najwcześniejsze prace dochodzeniowo-śledcze związane z komputerami przypadały na lata osiemdziesiąte, kiedy eksperci byli prawie wyłącznie pracownikami organów ścigania lub organizacji wojskowych. W tamtym

czasie nastąpił wzrost liczby komputerów domowych i serwisów BBS dostępnych przez połączenia wdzwaniane. Zapoczątkowało to zainteresowanie informatyką śledczą w społeczności pracowników organów ścigania. W 1984 roku FBI opracowało pionierski program do analizy dowodów cyfrowych. Ponadto wzrost nadużyć i ataków internetowych doprowadził do utworzenia w 1988 roku Computer Emergency Response Team (CERT) – zespołu reagowania na incydenty w sieci Internet. CERT został utworzony przez agencję DARPA (Defense Advanced Research Projects Agency) na Uniwersytecie Carnegie Mellon w Pittsburgu i do dzisiaj jest z nim związany.

W latach dziewięćdziesiątych nastąpił znaczny wzrost dostępu do Internetu, a komputery osobiste w domu były już codziennością. W tym czasie informatyka śledcza stała się główną problematyką wśród organów ścigania. W 1993 roku FBI zorganizowało pierwszą z wielu międzynarodowych konferencji dla stróżów prawa, poświęconych dowodom w postaci elektronicznej. W 1995 roku powstała IOCE (International Organization of Computer Evidence), która rozpoczęła opracowywanie zaleceń dotyczących standardów postępowania w cyfrowym śledztwie. Pojęcie „przestępczości komputerowej” stało się rzeczywistością nie tylko w Stanach Zjednoczonych, lecz także na arenie międzynarodowej. W 1999 roku Association of Chief Police Officers (ACPO) opracowało przewodnik dobrych praktyk dla brytyjskich funkcjonariuszy organów ścigania, którzy zajmowali się dowodami opartymi na technologiach komputerowych. Pod koniec lat dziewięćdziesiątych powstało pierwsze oprogramowanie o otwartym kodzie źródłowym, służące informatykom śledczym. Był nim The Coroner’s Toolkit stworzony przez Dana Farmera i Wietsego Venema.

2000–2010

Po przełomie tysiącleci wiele czynników zwiększyło zapotrzebowanie na informatykę śledczą. Tragedia z 11 września 2001 roku miała ogromny wpływ na to, jak świat zaczął postrzegać bezpieczeństwo i reagowanie na incydenty. Skandale księgowe dotyczące firm Enron i Arthur Andersen doprowadziły do stworzenia w Stanach Zjednoczonych ustawy Sarbanesa-Oxleya. Ma ona na celu ochronę inwestorów dzięki poprawie dokładności i wiarygodności ładu informacyjnego (oświadczeń o stanie firmy). Akt ten wymaga, aby organizacje sformułowały oficjalne procedury procesów dochodzeniowych i reagowania na incydenty, zwykle obejmujące pewne elementy informatyki śledczej lub gromadzenia cyfrowego materiału dowodowego. Wzrost znaczenia własności intelektualnej (IP) miał również wpływ na organizacje prywatne. Oszustwa internetowe, wyłudzanie informacji i inne naruszenia własności intelektualnej i nazw zastrzeżonych spowodowały dalszy wzrost zapotrzebowania na śledztwa i gromadzenie dowodów. Udostępnianie plików w sieciach peer-to-peer (począwszy od Napstera) wraz z pojawieniem się cyfrowego prawa autorskiego w postaci ustawy Digital Millennium Copyright Act (DMCA) doprowadziło do wzrostu zapotrzebowania na dochodzenia dotyczące naruszeń cyfrowego prawa autorskiego. Od 2000 roku społeczność zajmująca się informatyką śledczą poczyniła ogromne postępy, nadając tej dziedzinie postać dyscypliny naukowej. Konferencja DFRWS w 2001 roku przyniosła ważne definicje i wyzwania stające przed społecznością śledczych. Zdefiniowano wtedy informatykę śledczą jako:

Wykorzystanie naukowo udowodnionych i potwierdzonych metod zabezpieczania, gromadzenia, weryfikacji, identyfikacji, analizy, interpretacji, dokumentacji

i prezentacji cyfrowego materiału dowodowego, pozyskanego ze źródeł elektronicznych, w celu umożliwienia lub ułatwienia rekonstrukcji działań określanych jako przestępcze lub pomocy w przewidywaniu nielegalnych czynów, będących zakłóceniami zaplanowanych czynności1

Podczas gdy społeczność śledczych określała cele i zakres działań budujących naukowe podstawy tej dziedziny, opracowano również standardy postępowania, wytyczne i najlepsze praktyki w zakresie stosowanych procedur. Grupa badawcza Scientific Working Group on Digital Evidence (SWGDE) określiła definicje i standardy, w tym wymogi standardowych procedur operacyjnych (Standard Operating Procedures – SOP) dla organów ścigania.

We Francji podczas konferencji IOCE 2000 pracowano nad sformalizowaniem procedur działania techników-funkcjonariuszy dzięki wytycznym i listom kontrolnym. 13. INTERPOL Forensic Science Symposium, również we Francji, wyznaczyło wymagania stawiane grupom zaangażowanym w infor matykę śledczą i określiło obszerny zestaw norm i zasad dla władz i organów ścigania. Amerykański Departament Sprawiedliwości opublikował szczegółowy przewodnik szybkiego reagowania dla stróżów prawa (US DOJ Electronic Crime Scene Investigation: A Guide for First Responders). W ramach projektu NIST’s Computer Forensics Tool Testing (CFTT) napisano natomiast specyfikację narzędzia do tworzenia obrazu dysku (Disk Imaging Tool Specification).

W ciągu tego dziesięciolecia ukazało się kilka recenzowanych czasopism naukowych mających na celu prezentowanie stale rosnącego zasobu wiedzy. International Journal of Digital Evidence (IJDE) powstał w 2002 roku (i zakończył działalność w 2007 r.), a Digital Investigation: The International Journal of Digital Forensics & Incident Response został utworzony w 2004 roku.

2010–obecnie

W latach po 2010 roku wiele wydarzeń zmieniło podejście do badania i gromadzenia dowodów z cyberataków i naruszeń bezpieczeństwa danych.

Serwis WikiLeaks (http://www.wikileaks.org/) zaczął publikować materiały, które wyciekły z amerykańskiego wojska, w tym filmy i depesze dyplomatyczne. Anonimowi zyskali rozgłos w związku z rozproszonymi atakami typu DoS (Denial of Service) i innymi działaniami haktywistów. LulzSec naruszył bezpieczeństwo i ujawnił dane z HBGary Federal i innych firm.

Badanie szkodliwego oprogramowania Advanced Persistent Threat (APT) stało się głównym zagadnieniem w branży. Opinia publiczna poznała zakres rządowych technik wywiadowczych z zastosowaniem złośliwego oprogramowania, stosowanych zarówno wobec innych rządów, jak i sektora prywatnego. Został odkryty robak Stuxnet, atakujący systemy SCADA. Szczególnym przypadkiem jego działania było zakłócenie systemów kontrolnych irańskiego programu jądrowego. Mandiant opublikował swoje dochodzenie w sprawie APT1, jednostki do walki cybernetycznej w chińskiej armii. Edward Snowden ujawnił obszerne repozytorium dokumentów, odsłaniające zakres hackowania przez NSA. Publikacja danych włoskiej firmy HackingTeam ujawniła, że z profesjonalnego rynku exploitów korzystają rządy, organy ścigania i fir my sektora prywatnego.

1 Gary Palmer, „A Roadmap for Digital Forensic Research”. Digital Forensics Research Workshop (DFRWS), 2001. Technical report DTR-T0010-01, Utica, New York.

Badanie podejrzanego sprzętu komputerowego

Gdy komputer lub notebook zostanie skonfiskowany w warunkach polowych lub dostarczony do laboratorium informatyki śledczej w celu analizy, można sprawdzić więcej niż tylko same dyski wewnętrzne. Badanie powinno polegać na pełnym przeglądzie konfiguracji sprzętu komputerowego, ustawień BIOS, sprzętowego zegara itd.

uwaga Zakres tej książki obejmuje zabezpieczanie nośników „post mortem”, czyli dysków i komputerów, które zostały wyłączone. W zależności od organizacji może być opracowany proces selekcji metodą triage na okoliczność przybycia na miejsce przestępstwa lub incydentu, w którym znajdują się włączone i działające maszyny. Ten proces selekcji może obejmować robienie zdjęć ekranów, uruchamianie narzędzi zrzutu pamięci czy używanie oscylatorów myszy (mouse jigglers) w celu uniemożliwienia aktywacji wygaszaczy ekranu chronionych hasłem. Selekcja metodą triage prowadzona na pracujących maszynach przez zespoły szybkiego reagowania wykracza poza zakres tej książki.

Analiza sprzętowej konfiguracji komputera i usuwanie dysku

Przed odłączeniem przewodów od napędów lub odkręceniem mocowania nośników we wnękach należy zrobić zdjęcie badanego komputera, aby udokumentować konfigurację sprzętu, liczbę zawartych w nim dysków oraz sposób, w jaki są one podłączone do płyty głównej.

Ostrożnie usuwaj dyski, zwłaszcza jeśli są w starych komputerach, które nie były otwierane przez wiele lat. Górną część każdego dysku można sfotografować, aby zarejestrować numer seryjny i inne informacje zapisane na etykiecie. Zanotuj położenie przewodu łączącego każdy z dysków z płytą główną. Jeśli płyta główna ma wiele portów SATA, zwróć uwagę na to, z którego korzystał dany dysk.

Wysuń tacki napędów optycznych, aby potwierdzić, że nie zawierają żadnych płyt. Większość napędów optycznych ma otworek, przez który można ręcznie zwolnić drzwiczki napędu bez włączania jego zasilania.

Sprawdź gniazda PCI pod kątem napędów PCI SATA Express lub PCI NVMe. Jeśli płyta główna ma gniazdo M.2 lub mSATA, sprawdź, czy nie ma w nim modułu SSD.

Inspekcja sprzętu w badanym komputerze

Po usunięciu wszystkich napędów z obudowy badanego komputera włącz zasilanie płyty głównej i zanotuj konfigurację BIOS-u, zegara, kolejność rozruchu, potencjalne logi BIOS-u, wersję itd.

Jeśli potrzebujesz dodatkowych informacji na temat tego komputera, zapoznaj się z nim za pomocą bootowalnej płyty CD do informatyki śledczej, która zawiera różne narzędzia do analizy sprzętu, takie jak lshw, dmidecode, biosdecode, lspci i inne

Możesz uzyskać pewne charakterystyczne dla dostawcy sprzętu informacje za pomocą narzędzi przeznaczonych do tego celu – na przykład vpddecode dla sprzętu IBM i Lenovo, a w przypadku sprzętu firmy Compaq również informacje o właścicielu zapisane w specjalnym znaczniku.

Sprawdź i udokumentuj wszelkie dodatkowe komponenty sprzętu, takie jak moduły pamięci lub karty PCI.

Podłączenie zabezpieczanego dysku do hosta śledczego

Po podłączeniu badanego dysku do stacji roboczej śledczego (za pośrednictwem mechanizmu blokowania zapisu) należy określić właściwe urządzenie blokowe odpowiadające podejrzanemu dyskowi. Aby wiarygodnie zidentyfikować badany nośnik (podłączony do hosta zabezpieczenia), trzeba wyświetlić listę urządzeń pamięci masowej, potwierdzić wszelkie unikatowe identyfikatory skojarzone z dyskiem fizycznym i określić odpowiedni plik urządzenia w /dev. W tej części omówiono te kroki bardziej szczegółowo.

Przegląd sprzętu hosta zabezpieczenia

Zrozumienie konfiguracji sprzętowej hosta zabezpieczenia jest przydatne podczas poprawiania wydajności, planowania wymaganej pojemności, utrzymywania stabilności platformy, rozwiązywania problemów, wyodrębniania błędów i zmniejszania ryzyka błędu ludzkiego. W tej części zobaczysz przykłady narzędzi, których możesz użyć do wyświetlania listy i przeglądania konfiguracji sprzętu komputerowego.

Za pomocą narzędzia lshw możesz wygenerować szybki przegląd sprzętu stacji roboczej informatyka śledczego:

# lshw -businfo

Informacje przekazane przez magistrale (bus info) opisują adresy specyficzne dla poszczególnych urządzeń, takie jak pci@domain:bus:slot.function, scsi@host.channel. target.lun czy usb@bus:device.

Możesz również użyć lshw, aby wyszukać dołączony, specyficzny typ urządzenia. Na przykład:

# lshw -businfo -class storage Bus info Device

usb@2:5.2 scsi22 storage Forensic SATA/IDE Bridge

# lshw -businfo -class disk Bus info Device

scsi@22:0.0.0 /dev/sdp disk 120GB SSD 850 Należy pamiętać, że scsi22 wskazuje na scsi@22:.0.0.0, które to odnosi się do /dev/sdp. Identyfikację linuxowego pliku urządzenia, odpowiadającego podłączonemu, fizycznemu dyskowi, omówiono w kolejnych akapitach.

Jeśli badany dysk został podłączony zewnętrznie, prawdopodobnie jest wpięty przez USB, Thunderbolt, FireWire lub eSATA (a w rzadszych przypadkach może się zdarzyć, że przez Fibre Channel).

# lspci

Jeżeli dysk został podłączony wewnętrznie, prawdopodobnie jest wpięty za pomocą przewodu SATA, gniazda PCI Express, interfejsu M.2 albo przewodu SAS (lub ewentualnie przez starsze złącza, takie jak tradycyjne SCSI czy IDE).

Można wyświetlić listę urządzeń podłączonych do magistrali PCI (w tym do tradycyjnego PCI i PCI Express) za pomocą narzędzia lspci:

Magistrala PCI dzieli urządzenia według klas (odwiedź http://pci-ids.ucw.cz/, aby uzyskać więcej informacji na temat identyfikatorów PCI i klas urządzeń). Urządzenia pasujące do klasy mass storage controller (identyfikator klasy 01) są interesujące, ponieważ zarządzają podłączonymi nośnikami pamięci masowej.

Nowsze wersje lspci (od wersji 3.30 pciutils) mogą wyświetlać magistralę PCI według klasy urządzeń, co może być przydatne do wyodrębnienia interesującego sprzętu. Następujące polecenie wyświetla listę urządzeń kontrolera pamięci masowej SATA (klasa o ID 01, podklasa o ID 06):

# lspci -d ::0106

To polecenie wylicza wszystkie urządzenia kontrolerów pamięci masowej SCSI, IDE, RAID, ATA, SATA, SAS i NVMe w systemie:

# for i in 00 01 04 05 06 07 08; do lspci -d ::01$i; done

Inną klasą PCI, która może zarządzać podłączonymi nośnikami danych, jest klasa serial bus controller (o ID 0C). Następujące polecenie wyświetla listę wszystkich urządzeń klasy kontrolera magistrali szeregowej USB (klasa o ID 0C, identyfikator podklasy 03):

# lspci -d ::0C03

Ta komenda wylicza wszystkie kontrolery magistrali szeregowej FireWire, USB i Fibre Channel w hoście zabezpieczenia:

# for i in 00 03 04; do lspci -d ::0C$i; done

Jeśli podejrzany dysk jest podłączony przez USB, nie pojawi się na magistrali PCI. Można wpisać urządzenia USB oddzielnie, używając lsusb. Bez opcji polecenie generuje listę wszystkich podłączonych urządzeń USB:

# lsusb

Bus 001 Device 005: ID 0951:1665 Kingston Technology

Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

W tym przypadku pamięć USB jest podłączona do magistrali USB numer 1 i przypisano jej identyfikator urządzenia USB 5. Uruchomienie lsusb −v zapewni bardziej szczegółowe dane wyjściowe, dotyczące urządzenia USB23.

Poprzednie narzędzia i przykłady zawierają przegląd kontrolerów nośników danych i sprzętu podłączanego do stacji roboczej śledczego. Strony podręcznika użytkownika24 lshw (1), lspci (8) i lsusb (8) wyjaśniają dodatkowe parametry i funkcje, których można użyć, aby wyświetlić więcej szczegółów na temat sprzętu.

Identyfikacja podejrzanego napędu

Znajomość sprzętu stacji roboczej śledczego, zwłaszcza dostępnych systemów magistral i kontrolerów, pomoże ci zlokalizować miejsce, w którym dysk jest podłączony. Następnym krokiem jest identyfikacja badanego dysku za pomocą potwierdzenia różnych informacji, takich jak numer seryjny, unikalny numer modelu lub inna szczególna właściwość.

Możesz użyć wielu podejść do identyfikacji badanego urządzenia. Jeśli podejrzany dysk jest podłączony przez magistralę USB i znaleziony za pomocą narzędzia lsusb, można uzyskać więcej informacji na jego temat, wskazując vendor:productID (identyfikator producenta i identyfikator urządzenia), w następujący sposób:

# lsusb -vd 0781:5583

Bus 004 Device 002: ID 0781:5583 SanDisk Corp.

idVendor 0x0781 SanDisk Corp.

idProduct 0x5583

bcdDevice 1.00

iManufacturer 1 SanDisk

iProduct 2 Ultra Fit

iSerial 3 4C530001200627113025

wSpeedsSupported 0x000e

Device can operate at Full Speed (12Mbps)

Device can operate at High Speed (480Mbps)

Device can operate at SuperSpeed (5Gbps)

Z tych danych wyjściowych można wykorzystać unikalne informacje o urządzeniu (numer seryjny itd.), aby zidentyfikować podłączony nośnik w celu potwierdzenia, że jest dyskiem poddawanym oględzinom. Jeśli numer seryjny lub inne szczególne właściwości pasują do podłączonego fizycznie dysku, prawidłowo zidentyfikowałeś urządzenie.

23 W danych wyjściowych lsusb −v deskryptor urządzenia iSerial w Linux Foundation...root hub będzie wskazywał adres urządzenia kontrolera USB na magistrali PCI. 24 Manual pages – man.

których narzędzia informatyki śledczej nie obsługują bezpośrednio. Kolejne fragmenty zawierają również przykłady bezpiecznego montowania (w trybie tylko do odczytu) plików obrazów jako zwykłych systemów plików hosta zabezpieczenia. Dzięki temu możliwe jest uzyskiwanie dostępu oraz przeglądanie ich zawartości za pomocą programów codziennego użytku, takich jak menedżery plików, pakiety biurowe, przeglądarki plików, odtwarzacze multimedialne itp.

Pliki obrazów pozyskanych w celach dowodowych

Podstawą wielu metod i przykładów przedstawianych w tej części jest linuxowe urządzenie pętli (nie mylić z urządzeniem pętli zwrotnej, które jest interfejsem sieciowym). Urządzenie pętli to pseudourządzenie, które może być powiązane ze zwykłym plikiem, dzięki czemu staje się on dostępny jako urządzenie blokowe w katalogu /dev Systemy Linux zazwyczaj domyślnie tworzą 8 urządzeń pętli, które mogą nie wystarczyć w przypadku hosta zabezpieczenia. Można tę liczbę zwiększyć podczas uruchamiania systemu w sposób automatyczny albo ręcznie. Aby utworzyć 32 urządzenia pętli, należy dodać podczas uruchomienia max_loop=32 do wiersza GRUB_ CMDLINE_LINUX_DEFAULT= w pliku /etc/default/grub. Po ponownym uruchomieniu powinny być dostępne 32 gotowe do użycia urządzenia pętli. Skrypt sfsimage używa urządzeń pętli do montowania kontenerów dowodowych SquashFS. Rozdział ten omawia również różne obrazy maszyn wirtualnych, używanych przez popularne systemy wirtualizacji, takie jak QEMU, VirtualBox, VMWare i Microsoft Virtual PC. Opisałem w nim także uzyskiwanie dostępu do systemów plików, szyfrowanych na poziomie systemu operacyjnego, takich jak BitLocker Microsoftu, FileVault Apple, Linux LUKS i VeraCrypt (powstały z rozgałęzienia kolejnych wersji kodu TrueCrypt). Ale zacznijmy od najprostszej formy obrazu – nieprzetworzonego obrazu dysku, uzyskanego za pomocą narzędzia do akwizycji typu dd.

Pliki nieprzetworzonych obrazów dysków oraz urządzenia pętli

Najprostszym przykładem zastosowania urządzenia pętli jest użycie go do nieprzetworzonego obrazu dysku (możliwego do uzyskania za pomocą najprostszego wywołania polecenia dd). Komenda losetup podłącza i odłącza urządzenia pętli w systemie Linux. W następującym przykładzie tworzy ona urządzenie blokowe z zawartością pliku image.raw:

# losetup --read-only --find --show image.raw /dev/loop0

W tym przykładzie flagi wskazują, że pętla powinna być tylko do odczytu (--read-only ). Należy użyć pierwszego dostępnego urządzenia ( --find ), wyświetlając je po wykonaniu tego polecenia (--show ). Wskazany nazwą plik (image.raw) stanie się dostępny jako podłączone do systemu urządzenie blokowe.

Wywołanie polecenia losetup bez dodatkowych parametrów wyświetla status wszystkich skonfigurowanych urządzeń pętli. Można więc będzie zobaczyć to utworzone wcześniej:

# losetup

NAME SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE /dev/loop0 0 0 0 1 /exam/image.raw

Urządzenie /dev/loop0 w tym przypadku wskazuje na /exam/image.raw, można więc uzyskać dostęp do jego zawartości za pomocą dowolnych narzędzi, które są w stanie pracować z urządzeniami blokowymi. Na przykład polecenie Sleuth Kit mmls potrafi wyświetlić tablicę partycji pliku image.raw za pomocą urządzenia pętli:

# mmls /dev/loop0

DOS Partition Table

Offset Sector: 0

Units are in 512-byte sectors

Slot Start End Length Description

00: Meta 0000000000 0000000000 0000000001 Primary Table (#0)

01: ----- 0000000000 0000002047 0000002048 Unallocated 02: 00:00 0000002048 0058597375 0058595328 Linux (0x83)

03: 00:01 0058597376 0078129151 0019531776 Linux Swap / Solaris x86 (0x82)

04: 00:02 0078129152 0078231551 0000102400 NTFS (0x07)

05: 00:03 0078231552 0234441647 0156210096 Mac OS X HFS (0xaf)

Gdy urządzenie pętli nie jest już potrzebne, można je po prostu odłączyć w następujący sposób:

# losetup --detach /dev/loop0

Urządzenia pętli dają się dostosowywać i konfigurować. W poprzednim przykładzie z użyciem mmls system plików zaczynał się w sektorze 2048. Można określać przesunięcie początku danych za każdym razem, gdy uruchamiane jest narzędzie do analizy śledczej, ale łatwiej jest mieć osobne urządzenie dla każdej partycji (np. /dev/ sda1). Istnieje możliwość utworzenia oddzielnego urządzenia pętli za pomocą polecenia losetup tylko dla wybranej partycji przez podanie odpowiednich flag przesunięcia początku danych (--offset) oraz ich rozmiaru (--sizelimit). Zwyczajowo jednak stosuje się narzędzie mapowania urządzeń.

Aby zmapować tablicę partycji, można zastosować dmsetup wywołane ręcznie, tak jak zostało to opisane w części „RAID i systemy wielodyskowe” na stronie 185. Narzędzie kpartx automatyzuje jednak tworzenie urządzeń partycji dla danego pliku obrazu. Zabezpieczony dowodowo obraz, zawierający cztery partycje, został użyty w następnym przykładzie w celu zademonstrowania działania narzędzia kpartx. Mapuje ono poszczególne partycje na utworzone w tym celu urządzenia:

# kpartx -r -a -v image.raw

add map loop0p1 (252:0): 0 58595328 linear /dev/loop0 2048

add map loop0p2 (252:1): 0 19531776 linear /dev/loop0 58597376

add map loop0p3 (252:2): 0 102400 linear /dev/loop0 78129152

add map loop0p4 (252:3): 0 156210096 linear /dev/loop0 78231552

Jak widać, narzędzie kpartx odczytuje tablicę partycji dysku lub pliku obrazu. Tworzy następnie urządzenie pętli dla całego obrazu, po czym kolejne urządzenia mapowania dla poszczególnych partycji. Flaga -r zapewnia, że pętla odpowiadająca dyskowi oraz mapowania partycji są dostępne tylko do odczytu. Flaga -a  nakazuje kpartx mapować wszystko, co znajdzie. Użycie flagi -v zwiększającej liczbę wypisywanych informacji pozwala udokumentować dane wyjściowe polecenia i wskazać, co zostało zmapowane.

W tym przykładzie tworzone jest urządzenie pętli (/dev/loop0) z zawartością całego pliku obrazu. Umożliwia ono bezpośredni dostęp do jego zawartości przez urządzenie blokowe. Ponadto urządzenia partycji są udostępniane w katalogu /dev/mapper. Można więc uzyskać do nich dostęp za pomocą narzędzi informatyki śledczej pracujących z całymi partycjami, bez konieczności określania jakichkolwiek przesunięć początkowych danych. Oto przykładowe polecenia z pakietu Sleuth Kit dla kilku wybranych partycji:

# fsstat /dev/mapper/loop0p1

FILE SYSTEM INFORMATION

File System Type: Ext4

Volume Name:

Volume ID: d4605b95ec13fcb43646de38f7f49680

# fls /dev/mapper/loop0p3

r/r 4-128-1: $AttrDef

r/r 8-128-2: $BadClus

r/r 8-128-1: $BadClus:$Bad

r/r 6-128-1: $Bitmap

r/r 7-128-1: $Boot

d/d 11-144-2: $Extend

r/r 2-128-1: $LogFile

r/r 0-128-1: $MFT

# fsstat /dev/mapper/loop0p4

FILE SYSTEM INFORMATION

File System Type: HFS+

File System Version: HFS+ Zmapowany na urządzenie, zawarty w obrazie system plików może być bezpiecznie zamontowany w trybie tylko do odczytu. Umożliwia to dostęp do jego zawartości za pomocą standardowego menedżera plików, aplikacji i innych narzędzi do analizy plików. Można zamontować i odmontować partycje urządzenia pętli metodą pokazaną w kolejnym przykładzie:

# mkdir p3

# mount --read-only /dev/mapper/loop0p3 p3

# mc ./p3

# umount p3

# rmdir p3

W tym przypadku katalog p3 reprezentujący partycję został utworzony w tym samym katalogu, w którym zapisany jest plik nieprzetworzonego obrazu. Następnie p3 został użyty jako punkt montowania. (Wybrany punkt montowania może znajdować się w dowolnym miejscu systemu plików hosta zabezpieczenia). Midnight Commander (mc ) to tekstowy menedżer plików (klon Norton Commandera) użyto go w tym przykładzie do przeglądania plików zamontowanej partycji. Jeśli punkt montowania nie jest już potrzebny, polecenie umount odmontowuje system plików. (To polecenie jest napisane poprawnie, tylko z jednym n w środku w porównaniu z angielskim unmount). Komenda rmdir usuwa katalog będący wcześniej punktem montowania. Opisana procedura prezentuje tradycyjny, unixowy sposób montowania i odmontowywania systemu plików w systemie hosta. Jeśli pętla odpowiadająca dyskowi oraz mapowania partycji nie są już potrzebne, można je wszystkie usunąć, używając kpartx z flagą ( -d) wraz z nazwą pliku obrazu. Odbywa się to w następujący sposób:

# kpartx -d image.raw loop deleted : /dev/loop0

Należy zwrócić uwagę, że to usunięcie nie ma wpływu na zawartość obrazu dysku. To pętla i mapowania są usuwane, a nie obraz dysku. Nie jest on również modyfikowany. Jeśli nieprzetworzony obraz ma uszkodzoną lub nadpisaną tablicę partycji, można przeszukać go pod kątem zawartych systemów plików i użyć dmsetup do ich ręcznego zmapowania jako urządzeń (za pomocą tablic dmsetup). Podczas tworzenia, montowania, odmontowywania lub odłączania urządzenia pętli wymagane są uprawnienia roota. Są one również potrzebne do bezpośredniej pracy z urządzeniami /dev/loopX za pomocą narzędzi informatyki śledczej. Przykłady pokazane w tej części były uruchamiane przez użytkownika root. Miało to na celu zmniejszenie złożoności zapisanych poleceń, ułatwiając w ten sposób ich zrozumienie. Poprzedzanie poleceń komendą sudo może być używane przez zwykłych użytkowników do uruchamiania poleceń w sposób uprzywilejowany.

Pliki obrazów w formatach dowodowych

Pakiet oprogramowania ewflib zawiera narzędzie o nazwie ewfmount do „montowania” zawartości obrazów w for matach dowodowych, dzięki czemu ich zawartość staje się dostępna za pośrednictwem zwykłego pliku nieprzetworzonego obrazu.

Kolejny przykład prezentuje grupę plików *.e01. Polecenie mkdir tworzy punkt montowania raw, w którym zostanie udostępniony plik nieprzetworzonego obrazu:

Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.
100971698 by WN PWN - Issuu