background image

70

 

PRAKTYKA

HAKIN9 4/2009

Z ARTYKUŁU 

DOWIESZ SIĘ

o technikach anti-forensics,

o narzędziach anti-forensics.

CO POWINIENEŚ 

WIEDZIEĆ

znać podstawy pracy w 

systemach Windows i Linux,

znać budowę systemów plików.

warunkach naszego kraju niezbyt 
dynamicznie rozwija się informatyka 
śledcza jednak metody pozwalające na 

utrudnianie prowadzenia takiego śledztwa są znane 
także naszym rodakom.Przeciwdziałanie wykrywaniu 
nielegalnych działań wykonywanych przy użyciu 
systemów komputerowych jest tak stare, jak same 
systemy komputerowe i – co bardziej niepokojące 
– związane z nim techniki rozwijają się cały czas. 
W bardzo wielu przypadkach podczas śledztw 
elektronicznych okazuje się, że część dowodów jest 
niezdatna do użytku lub wręcz nie daje się podczas 
analizowania materiału dowodowego wyizolować 
konkretnych elementów mogących definitywnie 
stanowić niepodważalny dowód konkretnego 
działania naruszającego prawo. Informatyka śledcza, 
a więc także specjaliści zajmujący się analizą 
materiału dowodowego, zmuszeni są niejako do 
pogłębiania swojej wiedzy nie tylko na temat technik 
odnajdywania dowodów, ale także sposobów, na 
jakie dowody są ukrywane czy niszczone. Pragnąc 
wykonać rzetelnie działania analityczne podczas 
prowadzenia śledztwa informatycznego, warto 
wiedzieć, jakimi metodami posługują się ludzie z 
przeciwnej strony barykady

Techniki działań anti-forensics 

Dawniej skuteczną metodą na usunięcie śladów 
po dokonaniu na przykład włamania na serwer 
było usunięcie z logów systemowych informacji 
mogących ten fakt ujawnić, dziś tego typu środek 
jest mało skuteczny.

GRZEGORZ BŁOŃSKI

Można wyodrębnić dwa podstawowe rodzaje 

działań mających na celu utrudnienie prowadzenia 
śledztwa elektronicznego – zakłócanie danych oraz 
zakłócanie narzędzi. Ponieważ dane elektroniczne są 
podatne na modyfikację, jednocześnie są narażone 
na wiele działań związanych z manipulacjami. 
Jednym z działań wykorzystywanych w zakłócaniu 
danych jest szyfrowanie. Zaszyfrowany plik, katalog, 
partycja czy nawet cały dysk są zaporą nie do 
przebycia dla śledczego analizującego materiał 
dowodowy. Innymi działaniami używanymi do 
zakłócania jest ukrywanie danych w przeróżnych 
obszarach czy to pamięci masowych, czy nawet 
pamięci operacyjnej. Przykładem może być 
ukrywanie danych w obszarach systemu plików NTFS 
zwanych ADS (ang. Alternate Data Stream). Kolejnym 
przykładem techniki ukrywania danych może być 
zapisywanie informacji w uszkodzonych sektorach 
czy niezapisanym obszarze sektorów na dysku (tzw. 
slack space) . Innymi interesującymi miejscami, w 
których chowane są dane w celu ukrycia ich przed 
śledztwem elektronicznym, są ukryte partycje, takie 
jak na przykład HPA (ang. Host Protected Area
– obszar dysku używany przez producentów do 
przechowywania danych serwisowych.

W celu ukrywania danych powstały nawet 

specjalne systemy plików, pozwalające na łatwiejsze 
wykonywanie operacji ukrywania:

•   Data Mule FS – potrafi ukrywać dane w 

obszarach zarezerwowanych dla przechowywania 
informacji o i-węzłach (ang. i-node),

Stopień trudności

Zakłócanie 

śledztwa 

elektronicznego

Anti-forensics – działania mające na celu utrudnienie zdobycia 

dowodów elektronicznych, wpływanie na ilość oraz jakość 

tych dowodów, skompromitowanie osoby prowadzącej analizę 

dowodów cyfrowych. Tak w dużym uogólnieniu może brzmieć 

definicja tego tajemniczego zwrotu. 

background image

71

 

ANTI-FORENSICS

HAKIN9 

4/2009

•   Waffen FS – dzięki temu systemowi plików 

możemy wykorzystać plik journalingu 
systemu plików EXT3 do ukrycia danych,

•   Rune FS – bardzo ciekawy system plików, 

który potrafi zapisywać dane w obszarach 
dysku udających uszkodzone sektory.

Osobom interesującym się steganografią 
zapewne znany jest także system plików 
StegFS, dzięki któremu także możemy 
ukrywać dane. Nie można pominąć 
takich technik, jak wykorzystywanie 
niezaalokowanego miejsca na dysku 
twardym czy steganografia, polegająca na 
ukrywaniu informacji w plikach graficznych.

Zakłócanie narzędzi to druga z 

wymienionych technik utrudniania 
przeprowadzania śledztwa elektronicznego. 
W działaniach zakłócających dane celem 
było spowodowanie, aby informacja stała 
się nieczytelna, ukryta czy wręcz usunięta z 
pamięci. W przypadku zakłócania narzędzi 
dążymy do wprowadzenia w błąd osoby 
poszukującej śladów elektronicznych.

Jedną z wykorzystywanych metod 

jest zmiana znacznika czasowego pliku 
(ang. timestamp) w systemach Windows 
wykorzystujących NTFS jako system plików. 
Narzędzia używane przez śledczych 
pozwalają na odczytanie takich informacji 
o pliku, jak czas jego utworzenia, ostatniej 
modyfikacji oraz ostatniego otwarcia pliku. 
Przykładem narzędzia pozwalającego na 
zmianę tych informacji jest timestomp.exe
Plik ze zmienionymi informacjami o czasie 
jego utworzenia może w prosty sposób 
spowodować pominięcie go podczas 
analizowania materiału dowodowego, 
ponieważ zmodyfikowana data utworzenia 
pliku nie pasuje do okresu, w jakim mogło 
zostać popełnione przestępstwo. Taka 
sytuacja może doprowadzić do znacznego 
utrudnienia pracy śledczego.

Kolejna technika pozwalająca 

zakłócać dane zbierane w trakcie śledztwa 
informatycznego to wykorzystanie funkcji 
systemu plików NTFS nazwanej ADS 
– Alternate Data Streams. Te alternatywne 
strumienie danych pozwalają na ukrycie 
dowolnych danych w pliku czy katalogu. 
Mimo tego, iż większość narzędzi forensics 
jest w stanie bez problemu wykrywać 
strumienie ADS, jest to metoda pozwalająca 
na wydłużenie czasu potrzebnego na 
analizę danych, co w znacznym stopniu 
utrudnia śledztwo.

Warto wspomnieć także o metodzie 

pozwalającej na zmianę zawartości pliku przy 
jednoczesnym zachowaniu wygenerowanego 
dla tego pliku hasha MD5, manipulacji 
rozszerzeniami plików, a także tak zwanym 
magic number, który także może być 
zmieniany. 

Programy 

Osoby wykorzystujące narzędzia anti-
forensics zwykle mają coś do ukrycia, lecz 
niekoniecznie muszą być cyberprzestępcami. 

W celu ukrywania danych wykorzystywane 

są różnego rodzaju programy do szyfrowania 
całych dysków, partycji, katalogów i plików. 
Ukrywanie danych to jednak tylko jeden 
aspekt działań anti-forensics. Innym dość 
ważnym zagadnieniem jest kasowanie 
danych przed ich przechwyceniem. Na tym 
polu istnieje dość dużo mniej lub bardziej 
znanych narzędzi. Przykładem może być 
Evidence Eliminator – komercyjne narzędzie 
pozwalające między innymi na niszczenie 
pliku wymiany systemu Windows, plików 
tymczasowych, logów systemowych, ADS, 
historii przeglądarek i całej masy innych 
informacji, których brak znacznie utrudni 
poszukiwanie dowodów. Programów o 
podobnym działaniu jest więcej. Wśród 
komercyjnych narzędzi należy wymienić 
takie jak: Steganos Security Suite, Tracks 
Eraser Pro, Diskzapper, BCWipe, przy 
których pomocy usuniemy zawartość 
poszczególnych plików i katalogów, 
całych partycji lub dysków metodami 
niepozwalającymi na późniejsze odtworzenie 

usuniętych danych. Wśród narzędzi na licencji 
GPL podobnym działaniem charakteryzują się 
między innymi Srm, Wipe, Fwipe, Overwrite czy 
Grind. W skład pakietu Metasploit wchodzą 
trzy narzędzia będące bardzo często 
wykorzystywane do działań antiforensic:

•  timestamp wspomniany wcześniej 
•  slacker – pozwala na zagospodarowanie 

przestrzeni slack space do 
przechowywania danych

•  transmogrify – pozwala na zmianę 

sygnatury pliku.

Ciekawostką jest narzędzie DBAN (Darik's 
Boot And Nuke), dyskietka zawierająca 
oprogramowanie wykrywające dyski w 
komputerze i kasująca całą ich zawartość.

Wymienione narzędzia nie wyczerpują 

listy wszystkich które są dostępne w sieci. Z 
dnia na dzień powstaje wiele nowych narzędzi 
które czasami przez przypadek stają się 
narzędziami antiforensics.

Jak to się robi?

Aby choć trochę przybliżyć Czytelnikom 
jedną z metod anti-forensics, spróbuję 
opisać ukrywanie danych w przestrzeniach 
slack space. Na początek może kilka 
słów o tej przestrzeni – jak i dlaczego ona 
powstaje? Jak ogólnie wiadomo, klaster/blok 
(ang. cluster/block) to najmniejsza ilość 
miejsca przeznaczona na przechowanie 
pojedynczego pliku. W systemach Windows 
rozmiar klastra jest zależny od wielkości 
dysku twardego, bez względu na to, czy 

Rysunek 1. 

Zrzut ekranu – wynik wykonania polecenia bmap

Rysunek 2. 

Wprowadzone wartości numerów telefonów do ukrycia

Rysunek 3. 

Odczyt zawartości slack space

background image

72

 

PRAKTYKA

HAKIN9 4/2009

ANTI-FORENSICS

73

 

HAKIN9 

4/2009

systemem plików jest któraś z odmian FAT, 
czy NTFS. W systemach Linux standardowa 
wielkość klastra to cztery kilobajty (można ją 
oczywiście zmienić). 

Jak powstaje slackspace pozwoli 

zrozumieć Rysunek 5, na którym widać 
proces powstawania przestrzeni slackspace. 
Plik A zajmuje dwa sektory, załóżmy, że nasz 
system plików posiada klastry/sektory o 
wielkości 4 kilobajtów. Z rysunku wynika, że 
nasz plik posiada rozmiar 8 kilobajtów gdyż 
wypełnia dwa sektory. Po skasowaniu pliku 
A zostaje zwolnione miejsce. Plik B , który 
zostaje zapisany w miejsce skasowanego jest 
mniejszy , więc zajmuje cały sektor 1 i część 
sektora 2. Powstała wolna część sektora 2 to 
właśnie slack space. Obszary takie powodują 
postępujący proces fragmentacji systemu 
plików. Jakie są skutki dużej fragmentacji 
systemu plików wiedzą wszyscy, którzy 
korzystali z narzędzi do defragmentacji. 

Duża ilość tak powstałego miejsca , 
niewykorzystanego do przechowywania 
plików daje dużo możliwości działań 
antiforensic mających na celu ukrycie jakiejś 
ilości danych. Skoro już wiemy skąd się bierze 
niezaalokowana przestrzeń slackspace , 
znamy przyczyny jej powstawania możemy 
zająć się próbą wykorzystania jej do 
zapisania naszych tajnych danych. 

Przed przystąpieniem do ukrywania 

danych w przestrzeniach slack space 
musimy wyposażyć nasz system w 
program pozwalający na dokonywanie 
takiego rodzaju działań. Dostępne są dwa 
narzędzia, przedstawię tutaj przykład, w który 
wykorzystuję program bmap, pozwalający 
na manipulowanie zawartością slack 
space w pojedynczym pliku. Załóżmy, że 
korzystamy z systemu Linux wyposażonego 
dysk z partycjami systemu plików ext3, w 
którym wielkość klastra to właśnie 4kB. W 

katalogu /test znajduje się plik o nazwie 
crontab. Wyświetlamy zawartość pliku, aby 
sprawdzić, co w nim jest i czy coś się zmieni 
na późniejszym etapie naszych działań. 
Używamy do tego celu polecenia 

cat

#cat /test/crontab

Zawartość pliku widoczna jest na zrzucie 
ekranu. Sprawdzamy rozmiar naszego 
pliku i obecność przestrzeni slack space 
poleceniem:

#bmap -mode slack /test/crontab

Na Rysunku 1 widać, że program zwrócił 
nam informacje o rozmiarze pliku, rozmiarze 
slack space oraz rozmiarze bloku/klastra, a 
także o numerze klastra, w którym zapisany 
jest nasz plik. Do dyspozycji mamy 3761 
bajtów, w których możemy zapisać cokolwiek 
– i na pewno nie będzie to widoczne dla 
przeciętnego użytkownika komputera (z 
pewnością utrudni także odnalezienie tych 
danych osobie ich szukającej). Załóżmy, 
że mamy kilka numerów telefonów, których 
nie chcemy z pewnych względów nikomu 
ujawniać. Wykonujemy polecenie:

#bmap -mode putslack /test/crontab

Program wyświetla to, co wcześniej i czeka 
na wprowadzenie dodatkowych danych. 
Wpisujemy więc kilka numerów oraz imion 
(Rysunek 2). Zatwierdzamy wprowadzone 
dane wciśnięciem klawisza [ENTER]. Dla 
pewności powtarzamy polecenie:

 #cat /test/crontab

i potwierdzamy, iż zawartość pliku nie uległa 
zmianie (czego właśnie oczekiwaliśmy). W tym 
momencie, wykonując polecenie:

#bmap -mode slack /test/crontab 

sprawdzamy zawartość naszej przestrzeni 
slack space w klastrze zajmowanym przez 
nasz plik. Wynik widoczny na ekranie (Rysunek 
3) ukazuje naszym oczom wpisane przed 
chwilą numery oraz imiona, które mają 
pozostać ukryte. Rozmiar pliku oraz rozmiar 
obszaru slack space także nie uległy zmianie. 
W takiej sytuacji jedynie osoby znające 
tego typu narzędzia oraz umiejące się 
nimi posługiwać są w stanie odczytać tak 

��������

��������

������

������

�����������������������������������������

��������

��������

������

������

������������������������������������������

�����������������������������

��������

��������

������

������

��������

����������

������

����������������������������������������������������

Rysunek 5. 

Proces powstawania Slackspace

Rysunek 4. 

Uruchomiony DBAN

��������

��������

������

������

�����������������������������������������

��������

��������

������

������

������������������������������������������

�����������������������������

��������

��������

������

������

��������

����������

������

����������������������������������������������������

��������

��������

������

������

�����������������������������������������

��������

��������

������

������

������������������������������������������

�����������������������������

��������

��������

������

������

��������

����������

������

����������������������������������������������������

background image

72

 

PRAKTYKA

HAKIN9 4/2009

ANTI-FORENSICS

73

 

HAKIN9 

4/2009

ukryte dane. Osiągnęliśmy więc zamierzony 
przez nas cel. Należy jednak pamiętać, że 
tak – nazwijmy to – ukryte dane są mimo 
wszystko dostępne przy użyciu odpowiednich 
technik odczytu.

Chciałbym w tym miejscu dodać, że 

opisana metoda jest okupiona pewnego 
rodzaju ograniczeniem. Ilość danych 
możliwych do ukrycia w obszarze slack space 
jest różnicą wielkości klastra/bloku (czyli 4096 
bajtów) i rozmiaru zapisanego w danym 
klastrze pliku (lub jego ostatniego kawałka). 
Upraszczając, jeśli plik crontab miałby 2048 
bajtów, to ilość miejsca do wykorzystania 
ograniczyłaby się do 2048 bajtów.

A co w przypadku, gdy chcielibyśmy 

ukryć większą ilość danych, na przykład 
100 megabajtów? W takiej sytuacji możemy 
skorzystać z programu slacker.

Narzędzie to umożliwia wykorzystanie 

przestrzeni slack space w całej strukturze 
katalogu – a więc przy założeniu, że w 
katalogu zapisanych jest bardzo wiele plików 
o rozmiarze mniejszym niż rozmiar klastra, 
możemy mieć do dyspozycji bardzo duże 
obszary slack space. Niestety, wykorzystanie 
obszarów slack space jest możliwe tylko przy 
założeniu, iż zawartość plików tworzących te 
przestrzenie nie będzie się zmieniała. Każda 
modyfikacja zawartości pliku (na przykład 
jego powiększanie się przez dopisywanie 
danych) powoduje zwiększenie się obszaru 
zajmowanego w klastrze, co jednocześnie 
redukuje rozmiar slack space i tym samym 
może spowodować uszkodzenie ukrytych 
tam danych (po prostu je nadpisując). 
Mimo tych wad, ukrywanie danych w slack 
space jest skuteczne i potrafi spowodować 
wydłużenie czasu analizy danych, a więc jest 
w stanie zakłócić prowadzenie śledztwa.

Inna z metod antiforensic , dość często 

wykorzystywana przez wielu domowych 
użytkowników komputerów to usuwanie 
danych w taki sposób aby nie dało się ich 
odzyskać. Programów pozwalających na 
wykonanie takiej operacji jest dość sporo , 
do najbardziej znanych należą wymienione 
wcześniej , ale można do nich dodać 
chociażby sławne narzędzia M.H.D.D. 
czy Victoria które w zasadzie są bardziej 
narzędziami do diagnostyki dysków 
twardych ale posiadają także wbudowane 
polecenia pozwalające na kasowanie 
zawartości dysku.

Chciałbym jednak przedstawić tutaj 

także wcześniej wspomniany program 

DBAN – Darik’s Boot And Nuke. Program 
działający z dyskietki lub płyty CD.

Ze strony autora można pobrać zarówno 

obraz płyty CD jak i instalatora, który tworzy 
dyskietkę bootowalną. Po uruchomieniu 
komputera z płyty CD na ekranie zobaczymy 
ekran podobny do tego na Rysunku 4.
Do wyboru mamy kilka opcji 

•  F2 pomoc
•  F3 krotka lista poleceń
•  F4 rozwiązywanie problemów
•  ENTER start aplikacji w trybie 

interaktywnym

•  autonuke – start aplikacje w trybie 

automatycznym.

Po wybraniu trybu interaktywnego widzimy 
ekran pozwalający na wybranie pewnych 
ustawień pracy programu kasującego dane. 
Możemy wybrać jeden z dwóch generatorów 
liczb pseudolosowych Mersenne Twister 
oraz ISAAC. Kolejny parametr na który mamy 
wpływ jest metoda kasowania danych. 
Tutaj do wyboru jest kilka opcji z różnymi 
poziomami bezpieczeństwa iróżną ilością 
przebiegów kasowania.

•  quick erase – ta metoda zapisuje na 

dysk zera , wykonuje to podczas jednego 
przebiegu , metoda nieprzydatna do 
działań antiforensics , dane są możliwe 
do odzyskania.

•  RCMP TSSIT OPS-II – Royal Canadian 

Mounted Police Technical Security 
Standard for Information Technology , 
standard wykorzystywany w kanadyjskiej 
policji , dość skuteczny w kasowaniu 
danych

•  DoD Short – skrócona wersja DoD 5220 , 

amerykańskiego standardu o skuteczności 
kasowania zbliżonej do RCMP

•  DoD 5220.22-M – pełna wersja 

amerykańskiego standardu,

•  Gutman Wipe – metoda opracowana 

przez Gutmana jest uznawana za bardzo 
bezpieczną metodę kasowania danych , 
okupiona jest 35 przebiegami procesu , 
co jest czasochłonne.

•  PRNG Stream – metoda wykorzystująca 

generator liczb pseudolosowych do 
zapisywania strumieniami , uznawana za 
bardzo bezpieczną przy wykorzystaniu co 
najmniej ośmiu przebiegów .

•  Verify – weryfikacja pracy programu to 

kolejny parametr na który mamy wpływ. 
Możemy ją całkowicie wyłączyć , włączyć 
weryfikację ostatniego przebiegu lub 
weryfikować każdy z przebiegów.

Ostatnim parametrem ważnym podczas 
kasowania danych jest wybór ilości 
przebiegów pracy programu. Ich ilość 
jest zależna od wcześniej wybranych 
innych parametrów. Po wybraniu dysku 
na którym mamy zamiar przeprowadzić 
operację kasowania wciskamy klawisz 
F10 aby rozpocząć proces. Po czasie 
ściśle uzależnionym od rozmiaru 
dysku oraz ustawionych parametrów 
programu naszym oczom ukaże się ekran 
zakończenia pracy programu.

Podsumowanie

Rozwiązania technologiczne wykorzystywane 
w informatyce śledczej są ciągle 
udoskonalane, a narzędzia analizy stają się 
coraz wygodniejsze w użyciu. Nie zwalnia 
to jednak osoby prowadzącej śledztwo 
elektroniczne z dokładnego analizowania 
materiału dowodowego, gdyż – jak widać 
– metody ukrywania danych (czy też 
niszczenia ich, tak aby nie mogły stać się 
dowodami na niezgodne z prawem działania) 
także stają się coraz bardziej efektywne.  
Wzrost liczby przestępstw popełnionych z 
wykorzystaniem systemów informatycznych 
jest już zauważalny dość mocno nawet 
w realiach naszego kraju. Musimy mieć 
nadzieję, że informatyka śledcza i specjaliści 
computer forensics będą w stanie sprostać 
zadaniom odnajdywania śladów – nawet tych 
dobrze ukrytych z wykorzystaniem technik 
anti-forensics.

W Sieci

•   http://www.evidence-eliminator.com/

product.d2w,

•   http://www.dban.org,
•   http://users.ox.ac.uk/~kebl2949/grind,
•   http://www.kyuzz.org/antirez/

overwrite.html,

•   http://srm.sourceforge.net,
•   http://www.forensicfocus.com.

Grzegorz Błoński

Autor, Grzegorz Błoński, z wykształcenia jest informatykiem, 

certyfikowanym specjalistą IBM. Pracuje w dużej firmie 

o zasięgu światowym. Zajmuje się administracją 

oraz bezpieczeństwem sieciowym. Należy do 

międzynarodowych organizacji ISOC oraz ISACA, 

zajmujących się szeroko pojętym bezpieczeństwem IT. 

Jest członkiem Digital Forensics Association.

Kontakt z autorem: mancymonek@mancymonek.pl