Wykrywanie ukrytych danych (steganaliza)
Wyszukiwanie ukrytych ładunków
Wykrywanie ukrytych danych (steganaliza) to bezpłatna lekcja Cyber Security Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cyber Security Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.
Czym jest steganaliza
Steganaliza to nauka o wykrywaniu ukrytych danych — odpowiednik steganografii. Jej celem nie musi być odczytanie ładunku; najpierw trzeba odpowiedzieć na prostsze pytanie: czy ten plik w ogóle zawiera ukryte dane?
Steganaliza ma znaczenie dla obrońców, ponieważ ukryte dane omijają narzędzia oparte na sygnaturach. Złośliwy ładunek przemycony w niewinnym obrazie przejdzie skanowanie antywirusowe i filtr zapobiegania utracie danych — właśnie o to chodzi w ukrywaniu.
Wykrywanie może być banalne (na przykład rozpoznanie dołączonych plików) albo niezwykle trudne (statystyczne wykrycie osadzania z użyciem odpowiedniego klucza i ułamkowego wskaźnika).
Rodzaje ataków steganalizy
Steganalizę klasyfikuje się na podstawie tego, co wie analityk, analogicznie do kryptoanalizy:
- Stego-only dostępny jest wyłącznie podejrzany plik — to najtrudniejszy i najczęstszy przypadek.
- Known-cover dostępny jest również oryginalny, czysty nośnik; porównanie natychmiast ujawnia zmiany.
- Known-message znana jest ukryta wiadomość, co pozwala ustalić metodę osadzania.
- Chosen-stego analityk może uruchomić narzędzie do osadzania, aby zbadać jego ślad.
Większość wykrywania w rzeczywistych warunkach ma charakter stego-only, dlatego metody statystyczne są tak ważne — oryginalny plik do porównania jest rzadko dostępny.
Zacznijmy od podstaw: struktura plików
Przed analizą zaawansowanych statystyk należy sprawdzić podstawy. Wiele amatorskich prób można wykryć za pomocą prostej analizy strukturalnej:
- Rozmiar pliku większy, niż wynikałoby to z widocznej zawartości.
- Dane dołączone na końcu zawartość znajdująca się za znacznikiem końca pliku danego formatu.
- Osadzone pliki archiwum ZIP lub plik wykonywalny wydobyty z obrazu.
- Czytelne ciągi znaków tekst jawny, który nie powinien znajdować się w pliku multimedialnym.
Narzędzia takie jak binwalk, strings i file wykrywają takie przypadki w kilka sekund.
file suspect.png # confirms the real format vs the extension
binwalk suspect.png # scans for embedded/appended file signatures
strings -n 10 suspect.png # surfaces readable hidden text
exiftool suspect.png # inspects metadata for stashed dataMetadane i pola komentarzy
Formaty obrazów i dokumentów mają pola metadanych — tagi EXIF, bloki komentarzy i XMP — które mogą przechowywać dowolny tekst. Ukrywanie danych w ten sposób jest prymitywne, ale powszechne, ponieważ programy do wyświetlania plików nigdy ich nie pokazują.
Zawsze należy sprawdzać metadane:
- Pola EXIF comment, UserComment i ImageDescription.
- Fragmenty komentarzy JPEG/PNG.
- Strumienie obiektów PDF i właściwości dokumentu.
To miejsce ukrywania danych wymagające najmniej wysiłku, dlatego jest jednym z pierwszych, które sprawdza analityk.
# Dump all metadata, including comment and description fields
exiftool -a -u -g1 suspect.jpg
# Inspect PNG text chunks specifically
pngcheck -v suspect.pngAtaki wizualne: analiza płaszczyzn bitowych
Skuteczną techniką wykrywania LSB jest analiza płaszczyzn bitowych. Obraz 8-bitowy można podzielić na 8 warstw, po jednej dla każdej pozycji bitu. Najbardziej znaczące płaszczyzny bitowe zawierają rozpoznawalny obraz; najmniej znacząca płaszczyzna bitowa zwykle wygląda jak losowy szum.
Na czystym obrazie na płaszczyznę LSB wpływają naturalny szum matrycy i tekstura. Gdy dane są osadzane z użyciem pełnego LSB, ta płaszczyzna często ujawnia strukturę — regularne wzory, bloki lub widoczne kontury ukrytego ładunku.
Narzędzia takie jak StegSolve i zsteg pozwalają wyświetlać poszczególne płaszczyzny bitowe, aby dostrzec te anomalie gołym okiem.
# zsteg scans PNG/BMP bit planes for hidden content
zsteg -a suspect.png
# StegSolve (GUI) lets you flip through each bit plane visually;
# a structured LSB plane is a strong indicator of embedding.Steganaliza statystyczna
Najskuteczniejsze metody wykrywania są statystyczne: ukryte dane subtelnie zaburzają naturalny rozkład wartości pikseli lub współczynników. Osadzanie bitów spłaszcza losowość w sposób, który można wykryć matematycznie.
Kluczowe metody:
- Atak chi-kwadrat wykrywa, że pary wartości (np. 200/201) występują z jednakową częstotliwością, co jest nienaturalne w rzeczywistych obrazach.
- Analiza RS (Regular/Singular) szacuje stopień osadzenia, odwracając bity LSB i mierząc reakcję gładkości obrazu.
- Analiza par próbek bada zależności między sąsiednimi próbkami.
Metody te działają nawet wtedy, gdy ładunek jest zaszyfrowany, ponieważ wykrywają sam fakt osadzania, a nie wiadomość.
Atak chi-kwadrat — wyjaśnienie
Atak chi-kwadrat wykorzystuje specyficzną słabość sekwencyjnego osadzania LSB. W naturalnym obrazie wartości 200 i 201 występują z różną częstotliwością. Jednak osadzanie LSB przełącza między nimi w zależności od losowych bitów ładunku, przez co każda para wartości (zwana parą wartości, czyli PoV) ma tendencję do występowania z mniej więcej taką samą częstotliwością.
Test chi-kwadrat mierzy, jak bardzo częstotliwości tych par zbliżają się do równości. Wysokie prawdopodobieństwo równości dla wielu par wskazuje na osadzanie. Uruchamiając test dla coraz większych fragmentów obrazu, analityk może nawet oszacować ile danych ukryto i w którym miejscu ich ukrywanie się kończy.
# The chi-square steganalysis tests whether value pairs
# (2k, 2k+1) have become artificially equal in frequency.
# Natural image: unequal counts -> low embedding probability
# LSB-stego image: equalized counts -> high embedding probabilitySteganaliza z wykorzystaniem uczenia maszynowego
Nowoczesna steganaliza coraz częściej wykorzystuje uczenie maszynowe. Zamiast jednej ustalonej statystyki klasyfikator uczy się rozróżniać czyste obrazy od obrazów stego na podstawie wielu przykładów.
- Klasyczne metody ML wyodrębniają bogate zestawy cech (takie jak cechy SPAM lub SRM), opisujące zależności między pikselami, a następnie na ich podstawie trenują klasyfikator.
- Głębokie uczenie wykorzystuje konwolucyjne sieci neuronowe, które uczą się cech przydatnych do wykrywania bezpośrednio z surowych obrazów.
ML świetnie wykrywa adaptacyjną steganografię, która omija statystyki opracowane ręcznie, ale wymaga reprezentatywnych danych treningowych i można ją oszukać metodami, których wcześniej nie widziała — gra w kotka i myszkę trwa.
Wykrywanie narzędzi steganograficznych
Czasami najłatwiej wykryć narzędzie, a nie dane. Wiele programów steganograficznych pozostawia rozpoznawalne artefakty:
- Charakterystyczne sygnatury bajtowe lub znaczniki w pliku.
- Typowy kompromis między pojemnością a jakością.
- Znane nagłówki narzędzi takich jak steghide, OpenStego czy OutGuess.
Specjalistyczne detektory, takie jak StegExpose i stegdetect, przeszukują obrazy pod kątem odcisków palców popularnych narzędzi osadzających. Na urządzeniach końcowych samo wykrycie, że narzędzie steganograficzne zostało zainstalowane lub uruchomione, jest silnym wskaźnikiem.
# stegdetect screens JPEGs for known tool signatures (jsteg, outguess, etc.)
stegdetect -t jopi suspect.jpg
# StegExpose batch-scores a directory of images for likely LSB stego
java -jar StegExpose.jar ./images/Aktywna steganaliza i oczyszczanie
Gdy nie można niezawodnie wykryć ukrytych danych, można je mimo to zneutralizować. Aktywna steganaliza niszczy ładunki bez konieczności ich odnalezienia:
- Ponowne kodowanie ponownie kompresuje każdy obraz (np. do nowego pliku JPEG) na bramie, niszcząc proste dane LSB.
- Zmiana rozmiaru/przycinanie ponowne próbkowanie zmienia wartość każdego piksela.
- Usuwanie metadanych usuwa wszystkie pola EXIF i komentarzy.
- Normalizacja formatu konwertuje wszystkie przesyłane pliki do jednego standardowego formatu.
To praktyczna ochrona bram pocztowych i platform z treściami: należy założyć, że ukryte dane mogą istnieć, i usuwać je z wyprzedzeniem.
# Sanitize an image at a gateway: strip metadata + re-encode
exiftool -all= clean_candidate.jpg
convert input.png -resize 99% -strip output.jpg # ImageMagick re-encodePraktyczny proces wykrywania
Połączmy te metody w proces pracy obrońcy, zaczynając od najtańszych kontroli:
- 1. Struktura należy uruchomić
file,binwalkistringsw celu wykrycia danych dołączonych na końcu lub osadzonych. - 2. Metadane należy sprawdzić pola EXIF i komentarzy za pomocą
exiftool. - 3. Analiza wizualna analiza płaszczyzn bitowych za pomocą zsteg lub StegSolve.
- 4. Analiza statystyczna analiza chi-kwadrat/RS i detektory narzędzi.
- 5. ML przesiewanie za pomocą klasyfikatora na dużą skalę.
- 6. Aktywna ochrona gdy wykrycie jest niepewne, należy oczyścić dane przez ponowne kodowanie.
Żaden pojedynczy test nie daje rozstrzygających wyników; pewność wynika z łączenia metod.
Szybki test
Proszę sprawdzić rozumienie zasad wykrywania statystycznego.
Podsumowanie: wykrywanie ukrytych danych (stegan analiza)
Poznali Państwo sposoby, za pomocą których analitycy znajdują ukryte ładunki.
- Steganaliza najpierw ustala, czy istnieją ukryte dane, a nie co zawierają — w większości przypadków chodzi wyłącznie o stego.
- Należy zacząć od niedrogich kontroli struktury i metadanych: file, binwalk, strings, exiftool.
- Analiza płaszczyzn bitowych (zsteg, StegSolve) ujawnia strukturę w płaszczyźnie LSB, która zdradza osadzanie.
- Metody statystyczne — analiza chi-kwadrat i RS — wykrywają sam fakt osadzania, nawet w przypadku zaszyfrowanych ładunków.
- Uczenie maszynowe wykrywa adaptacyjną steganografię, która omija ustalone statystyki.
- Detektory narzędzi i aktywna steganaliza (ponowne kodowanie, usuwanie metadanych) identyfikują lub neutralizują ładunki.
- Należy stosować metody warstwowo, zaczynając od najtańszych, aby niezawodnie wykrywać ukryte dane.
Następnie przyjrzymy się kanałom ukrytym i sposobom, w jakie atakujący wykradają dane.
Często zadawane pytania
Czy lekcja „Wykrywanie ukrytych danych (steganaliza)” jest bezpłatna?
Tak — pełny tekst „Wykrywanie ukrytych danych (steganaliza)” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cyber Security Academy, przejdź na CoddyKit PRO. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Wykrywanie ukrytych danych (steganaliza)”?
Wyszukiwanie ukrytych ładunków Ćwiczysz Cyber Security Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Cyber Security Academy?
Nie wymagamy żadnego doświadczenia. Cyber Security Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.
Ile czasu zajmuje lekcja „Wykrywanie ukrytych danych (steganaliza)”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Cyber Security Academy?
Tak. Każda lekcja Cyber Security Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Czym jest steganografia
- Steganografia obrazu i dźwięku
- Wykrywanie ukrytych danych (steganaliza)
- Kanały ukryte i eksfiltracja