filesaudit.com

8.08.2026

Jak sprawdzić, czy archiwum ZIP zostało zmodyfikowane

Kiedy pobierasz plik ZIP z internetu, otrzymujesz od kogoś nośnik danych lub przenosisz archiwum między serwerami, jednym z najważniejszych pytań, jakie możesz sobie zadać, jest to, czy jego zawartość pozostała nienaruszona od momentu utworzenia. Archiwa ZIP są niezwykle popularne, ponieważ pozwalają na łatwe pakowanie wielu plików w jeden kontener oraz opcjonalną kompresję danych zmniejszającą ich rozmiar. Niestety, ta sama wygota sprawia, że są one podatne na modyfikacje — ktoś może dodać nowy plik, usunąć dokument, podmienić zawartość istniejącego elementu lub zmienić komentarze wewnętrzne archiwum, pozostawiając przy tym nazwę pliku ZIP nietkniętą. Z perspektywy technicznej samo pytanie, czy zip został zmieniony, można podzielić na dwa aspekty: sprawdzenie integralności całego pliku ZIP jako pojedynczej jednostki danych oraz weryfikację struktury i zawartości poszczególnych plików wewnątrz tego archiwum. Każdy z tych aspektów wymaga nieco innego podejścia, ale oba opierają się na analizie technicznych metadanych oraz kryptograficznych odciskach palców, które pozwalają stwierdzić, czy dane są identyczne z oryginałem.

Najbardziej niezawodnym mechanizmem pozwalającym określić, czy jakikolwiek plik uległ zmianie, jest obliczenie jego kryptograficznych funkcji skrótu. Kiedy tworzony jest plik ZIP, można dla niego wygenerować unikalny ciąg znaków, na przykład hash SHA-256 lub MD5. Algorytmy te działają w taki sposób, że nawet najmniejsza zmiana w pliku — na przykład modyfikacja jednego bitu w jednym z zapisanych w archiwum dokumentów — powoduje wygenerowanie zupełnie innego, nieprzewidywalnego ciągu znaków w wynikowym skrócie. Jeśli więc dysponujesz hashem oryginalnego pliku ZIP zarejestrowanym w momencie jego utworzenia lub pobrania z zaufanego źródła, możesz w dowolnym momencie ponownie obliczyć skrót ze swojego obecnego pliku i porównać obie wartości. Jeśli oba hashe są identyczne co do co znaku, oznacza to z matematycznym prawdopodobieństwem, że plik ZIP nie uległ żadnej modyfikacji. Jeśli jednak wartości się różnią, jest to techniczny dowód na to, że archiwum zostało zmienione. Warto podkreślić, że sama zgodność hashy dowodzi jedynie identyczności danych na poziomie bitowym, a niekoniecznie prawdziwości czy legalności ich zawartości — kryptografia nie ocenia intencji, a jedynie stan pliku.

Aby zrozumieć, w jaki sposób można dogłębnie przeanalizować archiwum, warto uświadomić sobie, jak technicznie zbudowany jest plik ZIP wewnątrz. Format ten opiera się na strukturze, w której na końcu pliku znajduje się tak zwany Central Directory, czyli centralny katalog. Jest to lista wszystkich plików i folderów zawartych w archiwum, wraz z ich nazwami, rozmiarami, datami utworzenia czy modyfikacji, a także sumami kontrolnymi obliczonymi za pomocą algorytmu CRC32 dla każdego zapisanego w nim pliku. Na podstawie tego katalogu programy dekompresujące wiedzą, co znajduje się w archiwum i jak odczytać poszczególne fragmenty danych. Analiza metadanych tego katalogu pozwala na bardzo szczegółową weryfikację. Jeśli ktoś na przykład usunął plik z archiwum lub dodał nowy, centralny katalog zostanie zaktualizowany, co zmieni daty modyfikacji wewnętrznych struktur, a także wpłynie na całkowity rozmiar archiwum. Jednak istnieją sytuacje, w których ktoś może chcieć ukryć fakt modyfikacji — w takich przypadkach sprawdzanie wyłącznie widocznych w systemie operacyjnym atrybutów pliku, takich jak data modyfikacji pliku ZIP, jest niewystarczające, ponieważ te wartości można w bardzo prosty sposób cofnąć lub podmienić za pomocą dowolnego edytora metadanych.

Dlatego właśnie ekstrakcja technicznych metadanych z samego pliku i porównanie ich z oczekiwanym stanem jest tak istotnym elementem pracy analityków, inżynierów oraz audytorów. Plik ZIP przechowuje wewnętrzne znaczniki czasu, które często różnią się od tych widocznych w systemie plików. Znacznik ten jest zapisywany w formacie MS-DOS, co oznacza, że ma ograniczoną dokładność do dwóch sekund i jest zapisywany w lokalnej strefie czasowej, co czasami powoduje zamieszanie przy porównywaniu z danymi z innych systemów. Niemniej jednak, jeśli archiwum zostało spakowane w określonym dniu i godzinie, a wewnętrzne daty modyfikacji poszczególnych plików wskazują na daty późniejsze niż data utworzenia samego archiwum, stanowi to bardzo silny techniczny dowód na to, że archiwum zostało otworzone, zmodyfikowane i spakowane ponownie. Narzędzia do ekstrakcji metadanych potrafią również odczytać hiperparametry kompresji, wersję kompresora, poziom kompresji (np. domyślny, najszybszy, maksymalny) oraz komentarze dodane do pliku ZIP lub do poszczególnych wpisów w nim. Wszystkie te dane tworzą techniczny obraz, który pozwala ocenić, czy struktura jest spójna i czy nie nosi śladów wtórnej manipulacji.

W praktyce, jeśli chcesz sprawdzić, czy ZIP został zmieniony, możesz to zrobić ręcznie, używając systemowych narzędzi wiersza poleceń, takich jak sha256sum w systemach Linux i macOS lub Get-FileHash w PowerShellu w systemie Windows, a następnie wykorzystując program unzip z opcją weryfikacji sum kontrolnych, aby upewnić się, że wewnętrzne pliki nie uległy uszkodzeniu. Proces ten wymaga jednak posiadania odpowiednich wartości referencyjnych — bez wyjściowego skrótu SHA-256 lub MD5 oryginalnego pliku, sprawdzenie integralności całego archiwum sprowadza się tylko do weryfikacji wewnętrznej spójności, a nie potwierdzenia jego niezmienności od momentu pierwszego utworzenia. Weryfikacja CRC32 wewnątrz archiwum mówi nam jedynie, czy od ostatniego zapisu plików do archiwum żaden z nich nie uległ degradacji lub bitowym uszkodzeniom, ale nie chroni przed celową podmianą zawartości, ponieważ osoba modyfikująca archiwum może bez problemu wygenerować i zapisać nowe, poprawne sumy kontrolne CRC32 dla podmienionych plików. Dlatego właśnie do celów audytowych, dokumentacyjnych i dowodowych konieczne jest stosowanie solidnych kryptograficznych funkcji skrótu na poziomie całego pliku ZIP, a nie tylko poleganie na wbudowanych mechanizmach sprawdzających archiwizatorów.

Zamiast ręcznie zarządzać procesem weryfikacji w wielu środowiskach, profesjonalnym podejściem jest wykorzystanie platformy takiej jak FilesAudit, która automatyzuje proces ekstrakcji metadanych i obliczania kryptograficznych funkcji skrótu. Po wgraniu pliku ZIP na platformę, system w tle analizuje jego strukturę, odczytuje wszystkie techniczne metadane dostępne w centralnym katalogu, wypakowuje i analizuje nagłówki wewnętrznych plików, a następnie oblicza skróty SHA-256, MD5 oraz sumy kontrolne CRC32 dla całego archiwum. Wynikiem tego procesu jest profesjonalny raport w formacie PDF, który dokumentuje wszystkie te techniczne wnioski w sposób czytelny i gotowy do dołączenia do dokumentacji audytowej lub materiałów dowodowych. Raport ten stanowi fotografię technicznego stanu pliku w momencie analizy. Jeśli zatem masz podejrzenia co do autentyczności pliku ZIP, możesz wygenerować taki raport dla wersji pierwotnej, a następnie dla wersji późniejszej, i porównać udokumentowane w nich skróty kryptograficzne. Jeśli skróty SHA-256 w raportach się różnią, masz twardy, udokumentowany dowód na to, że plik uległ modyfikacji. FilesAudit nie stwierdza wprawdzie, kto i dlaczego dokonał zmiany — stwierdza wyłącznie fakt zmiany na poziomie bitowym i dokumentuje to w sposób weryfikowalny.

Warto również zauważyć, że archiwa ZIP służą często jako nośniki dla innych typów plików, które same w sobie posiadają bogate metadane. Jeśli archiwum zawiera zdjęcia w formatach JPG czy HEIC, dokumenty PDF, pliki projektowe CAD takie jak DWG, modele trójwymiarowe STL, nagrania wideo w formacie MP4 lub pliki audio MP3, każde z nich może skrywać dodatkowe informacje na temat swojego pochodzenia, takie jak dane EXIF z lokalizacją GPS, informacje o użytym sprzęcie, oprogramowaniu edytującym, autorze czy dacie utworzenia. W sytuacji, gdy weryfikujesz, czy ZIP został zmieniony, bardzo często pomocne jest nie tylko porównanie samych sum kontrolnych całego archiwum, ale także analiza metadanych plików w nim zawartych. Na przykład jeśli archiwum rzekomo zostało utworzone w styczniu, ale metadane EXIF w zawartym w nim zdjęciu wskazują, że zostało ono edytowane w programie graficznym w marcu, masz do czynienia ze scenariuszem, w którym zawartość archiwum została zaktualizowana. Aby dogłębnie zbadać takie ślady, warto sięgnąć po szczegółowe przewodniki tematyczne na blogu FilesAudit, gdzie znajdziesz informacje o tym, jak interpretować wewnętrzne metadane specjalistycznych formatów plików.

Gdy przeprowadzasz analizę integralności plików, szczególnie w środowisk

Ready to see what's hidden in your own files? Upload a file to FilesAudit and get a free forensic metadata report in seconds — no registration required.