{ }
menu zespół linki Logowanie
Stabilny hosting
BSDGuru zawdzięcza
firmie Datanet.pl
Hosting BSDGuru.org - DataNet.pl

StegoMatrix czyli jak ukryć między wierszami i opublikować ... albo jak dostosować poziom do poziomu oglądającego ;-)

Wolność słowa zawsze była niepodważalną zaletą Internetu. Czasami nie chcemy albo nie możemy przekazać informacji w sposób jawny, a tradycyjne metody kryptograficzne odpadają z różnych powodów. Niniejszy artykuł jest szybkim wprowadzeniem w ciekawy temat ukrywania treści między wierszami bitów z pozoru niewinnych.

1. Steganografia

Steganografia (bo tak chyba należy tłumaczyć angielskie steganography) jest techniką polegającą na osadzaniu treści szyfrogramu w niepotrzebnych bitach pliku przykrywającego. Nośnikiem może być teoretycznie każdy strumień bitów którego metodę interpretacji znamy. Praktycznie wiadomości ukrywane są w plikach obrazów bitmapowych i strumieniach dźwiękowych. Wynik całego procesu w postaci niewinnie wyglądającego obrazka z ukrytą wiadomością nazywany jest plikiem stego.

Notatka: Nie będę tu wyjaśniał całej filozofii i techniki, bardziej dociekliwych odsyłam do dokumentu autorstwa Neil F. Johnson pod adresem
http://www.isse.gmu.edu/~njohnson/stegdoc/
.

By wykorzystać niżej opisane narzędzia należy pamiętać o paru elementach:

  • nie ma ograniczeń formatu pliku osadzanego

  • osadzenie pliku jest możliwe po podaniu sekretnego hasła umożliwiającego późniejsze wydobycie wiadomości z pliku stego

  • hasło oraz wiadomość są szyfrowane algorytmem obsługiwanym przez dane narzędzie

  • razem z ukrywaną wiadomością zwykle jest zachowywana nazwa ukrywanego pliku

  • jak zwykle przełączniki pozwalają zmienić niektóre standardowe zachowania, zautomatyzować pracę, a czasem nawet sterować algorytmem ukrywania

2. Ukrywanie i odkrywanie czyli poezja działania

  1. W katalogu /usr/ports/security znalazłem dwa narzędzia gotowe do instalacji:

    1. security/steghide

    2. security/outguess

    Oczywiście po zainstalowaniu dokumentacja każdego dostępna przy pomocy man(1), lub dla niecierpliwych przełącznikiem --help.

    Dalej skupimy się na pierwszym, choć i drugi jest interesujący, chociażby dzięki możliwości ukrycia dwóch wiadomości w jednym stego. Mój wybór narzędzia do przykładu dokładniej wyjaśni dokumentacja, czyli:

    1. steghide(1)

    2. outguess(1)

  2. Przygotowujemy niewinny nośnik informacji w pliku Beeth9th.au.

  3. Teraz ulubionym edytorem (vi(1)) tworzymy właściwą wiadomość: fortune.txt.

  4. Znajdujemy hasło na poziomie odbiorcy albo według ustalonego wcześniej klucza, czyli przykładowo wykonując w ulubionym systemie operacyjnym:

    % date -u '+BeerWare%Z%Year'
  5. Wiedząc co chcemy zrobić przystępujemy do działania, jak manual przykazał:

    % steghide embed -pf fortune.txt -cf Beeth9th.au -sf stegoBeeth9th.au

    Enter passhrase:oczywiście przygotowane wcześniej hasło
    Re-Enter passphrase:powtórka z rozrywki ;-)

    Jeśli nie pomyliliśmy hasła to otrzymujemy plik stegoBeeth9th.au zawierający ukrytą wiadomość.

  6. Co dalej zrobić z plikiem pozostawiam fantazji czytającego ufając, że potrafi co najmniej wykonać:

    % man 1 intro

    lub

    % apropos '(6)'
  7. Dekodowanie pliku stego jest bardzo proste, aczkolwiek wymagana jest znajomość hasła służącego do przygotowania danej wiadomości. Przy wcześniej ustalonym algorytmie jego nadawania można sprawę nawet zautomatyzować:

    % steghide extract -sf stegoBeeth9th.au -pf - -p "`date -u '+BeerWare%Z%Year'`" | more

    Oczywiście zaprezentowany algorytm ustalania hasła jest prosty ale dobra znajomość date(1), systemu operacyjnego odbiorcy oraz strftime(3) otwiera przed nami nowe horyzonty. Do poważniejszych zastosowań zalecam jednak lekturę security(7)

3. Pułapki

Jak zwykle na narzędzie można znaleźć anty-narzędzie. Przykładem może być security/stegdetect, ale to już inna historia ;-).

4. Podziękowania

Artykuł dedykuję pamięci GC za nieprzemijającą Siódmą Pieczęć [SPB MC 006], jak i osoby która skutecznie przeszkadzała spokojnie wysłuchać Jego wykonania na żywo w REMEDIUM kiedy był jeszcze wśród nas.

5. Uwagi mile widziane

Znalazcy błędów jak i wynalazcy zastosowań mogą mnie znaleźć gdzieś w Cyberprzestrzeni, chyba żeby ... 8-).

Autor: 
Ryszard Czekaj, [bofh@RYCHo.org]
Porozmawiaj o tym artykule na forum: 

tytus, nie., 20/04/2008 - 16:17