Incepcja bitów

W 2010 roku, światowej sławy filmowiec Christopher Nolan wyreżyserował film Incepcja. W tym obrazie bohaterowie penetrują kolejne warstwy świadomości, są w stanie podejmować zaplanowane akcje przebywając w cudzych snach, a podczas trwania w takim śnie – wnikać w kolejne sny. Celem działań bohaterów jest umieszczenie informacji w podświadomości ofiary w sposób, aby odniosła wrażenie, że są to jej własne poglądy. W skrócie: ofiara nie zdaje sobie sprawy z istnienia wiadomości. Co to ma wspólnego z bitami? Bity to informacja.

Starożytne metody …

Problematyką umieszczania przekazu w sposób, aby zataić fakt istnienia ukrytej wiadomości zajmuje się nauka zwana steganologią. Przy zastosowaniu tej nauki, przesyłana za sprawą nośnika niejawna informacja nie będzie budziła podejrzeń i pozostanie niezauważona. Pomimo istnienia od wieków, w ostatnich latach za sprawą rozwoju mediów cyfrowych, znacząco zyskała na znaczeniu. Zanim jednak poruszymy tę problematykę w kategoriach bitów – trochę historii.

Ekranizacja komiksu Franka Millera z 2006, wyreżyserowana przez Zacka Snydera przedstawia losy „300” spartan w bitwie pod Termopilami. Niestety nie zawiera części opowieści o steganologii i greku Demaratosie. Przebywając na wygnaniu, dowiedział się o mobilizacji wojsk perskich oraz planowanym ataku na Helladę. Z tabliczki do pisania zeskrobał wosk, na odsłoniętym drewnie zapisał wiadomość na temat perskich zamiarów, a następnie zalał ją woskiem ponownie. Tak przygotowany przedmiot wysłał do Lacedemonu bez wzbudzania podejrzeń. Legenda głosi, że spartanie długo nie mogli zrozumieć, co może oznaczać pusta tabliczka.Dopiero żona Leonidasa, Gorgo kazała zeskrobać wosk, odsłaniając tym samym przekaz od Demaratosa. Ukryta wiadomość odebrała Kserksesowi przewagę wynikającą z elementu zaskoczenia oraz doprowadziła do bitwy pod Termopilami – miejscu które zapewniało taktyczną przewagę spartanom.

… Cyfrowe nośniki

W czasach współczesnych, za sprawą mediów cyfrowych, możliwości wykorzystania technik steganologicznych znacznie się zwiększyły. Z ciekawszych faktów: z powodu znacznej popularyzacji drukarek, umożliwiających wykonanie wysokiej jakości wydruków, znacząco wzrósł proceder podrabiania pieniędzy. Reakcją na to zjawisko było wprowadzenie przez większość producentów tych urządzeń znakowania wszystkich realizowanych wydruków metodą mikrodruku. Wydruki znakowane są do dzisiaj – niezauważalny kod, zawiera najczęściej informacje o typie drukarki i dacie wydruku.

W protokole VoIP pakiety przychodzące zbyt późno są uznawane za stracone i usuwane. W maju 2008 roku, polscy naukowcy z Instytutu Telekomunikacji Politechniki Warszawskiej zaproponowali wykorzystanie tego faktu do tajnej wymiany informacji. Technika ta nazywa się Steganofonią, a jej wykorzystanie zaproponowali Wojciech Mazurczyk i Krzysztof Szczypiorski w swojej pracy. Następnym razem, gdy w trakcie rozmowy usłyszysz trzaski, to być może nie jest to wina Twojego dostawcy usług, a rozmówcy przesyłającego tajną wiadomość. 😉

Steganografia jest używana na ogromną skalę w znakowaniu mediów takich jak muzyka, filmy, książki czy obrazki – kupowanych w formie cyfrowej. Poprzez wykorzystanie nadmiarowości danych, w zakupionych dobrach ukrywane są dane na temat kupującego, co pozwala określić właściciela, jednocześnie nie ograniczając możliwości wykonywania kopii zapasowych.

Grafiki, steganografia i terroryzm

Popularną metodą stosowania steganografii jest ukrywanie tekstu w zapisanych cyfrowo grafikach. Klasyczna już, 24-bitowa paleta kolorów pozwala na generowanie ponad 16 milionów barw, gdzie przeciętny człowiek jest w stanie postrzegać około 10 mlnSzersze palety kolorów zawierające biliony odcieni umożliwiają znikome modyfikacje barw, których ludzkie oko w żadnym wypadku nie jest w stanie dostrzec. Prawda jest taka, że te zmiany są trudne do zauważenia nawet przy użyciu edytorów graficznych.

Wydarzenia z 11 września 2001, zwróciły oczy całego świata na problem terroryzmu. Niezwykle ważne było poznanie metod za pomocą których terroryści porozumiewali się w trakcie przygotowań do ataków na WTC. Czy mogli używać steganografii i przekazywać sobie wiadomości ukryte w grafikach umieszczonych w uzgodnionych portalach? FBI ustaliło, że trzech porywaczy wynajęło pokoje w Hollywood, żądając w nich 24-godzinnego dostępu do internetu. Niestety służby nie były w stanie określić, co dokładnie robili podejrzani w sieci. Zespół uczonych z Uniwersytetu Michigan kilka dni po atakach, odnalazł poszlaki wskazujące na wyszukiwania słowa „steganografia”. Uczeni pomimo przeanalizowania dwóch milionów grafik nie znaleźli żadnych śladów utajnionych wiadomości.

libraryMnogość systemów

Metody zawierania tajnych informacji w obrazach nie ograniczają się tylko i wyłącznie do modyfikacji najmniej znaczącego bitu. Co więcej, nośnikiem nie musi być grafika. Utajnioną wiadomość można umieścić w dźwięku, filmie, dokumencie, czy wolnej przestrzeni na dysku. Przekaz nie musi być tekstem. Wspomnienie filmu Incepcja we wstępie do wpisu nie jest przypadkowe. Wyobraź sobie czytelniku zawarcie grafiki B w grafice A będącej nośnikiem. Jednak grafika B nie jest przekazem, tylko kontenerem przechowującym tekst C, który jest właściwą utajnioną komunikacją pomiędzy stronami. W przypadku dużych objętościowo mediów, tego typu warstw może być więcej.

Najprostsze metody związane są z formatami kompresji bezstratnej png czy flac . Istnieją jednak sposoby na umieszczenie dodatkowych danych w nośnikach reprezentujących formaty stratne t.j. jpg czy mp3. Ciekawym opracowaniem, wartym przeczytania jest przegląd metod steganograficznych dokonany przez Włodzimierza Garbarczuka i Piotra Kopniaka w 2005.

Pod rozwagę weźmy również użycie metod kryptologicznych w komunikacji tego typu. Treść ukrytej w nośniku wiadomości może być zatajona przez dowolny rodzaj szyfru. Zabezpieczenie systemem kryptograficznym może dodatkowo poprawić losowość danych, co utrudni wykrycie przekazu za pomocą metod statystycznych. Rozpatrzmy zagadnienie jeszcze inaczej: utajniona informacja może być dowolnym zbiorem bajtów, czyli na przykład bazą danych, modelem sieci neuronowej czy aplikacją. Pojedyncza tajna transmisja może być upakowana w wiele plików – nośników. Przesłany zbiór tysięcy zdjęć kotów, pomiędzy dwoma osobami, może zawierać przykładowo bazę danych.

Atak na steganologię

Steganologia w dzisiejszych czasach jest bardzo trudnym zagadnieniem w aspekcie przechwycenia treści informacji. Nawet w przypadku wykrycia istnienia tajnej wiadomości, odkrycie jej treści może być problemem o wiele rzędów bardziej złożonym. Cytując z publikacji Marty Walenczykowskiej:

Przełamanie zabezpieczeń steganograficznych wymaga znajomości przynajmniej części algorytmu, lub znajomości treści ukrytej wiadomości. Trzeba także liczyć się z tym, że najnowsze programy steganograficzne mogą używać algorytmów kryptograficznych do rozpraszania danych po nośniku lub ich szyfrowania jeszcze przed ukryciem, konieczne więc staje się także złamanie hasła i znajomość algorytmu kryptograficznego. W momencie, gdy algorytm steganograficzny jest skomplikowany, a przeprowadzający atak nie ma żadnych z powyższych informacji, mówimy o łamaniu algorytmu „na ślepo”.

W swoim opracowaniu wyszczególnia również dwa typy ataków: pasywny i aktywny. Atak pasywny skupia się na obserwacji potencjalnych nośników w poszukiwaniu artefaktów wskazujących na istnienie szumu o nielosowym rozkładzie w medium, na przykład dziwne zakłócenia w pliku dźwiękowym. Atak aktywny dopuszcza bezpośrednią ingerencję w plik w celu znalezienia przekazu oraz profilaktycznego usunięcia ukrytych danych. W przypadku zawarcia wiadomości w plikach kompresji stratnej, „wystarczy” zmodyfikować poziom kompresji.

Wymieniona publikacja zawiera też metodologię przeprowadzania ataków wraz z wynikami analiz stegoplików – warto przeczytać 😉

Przegląd aplikacji

W tej chwili w internecie dostępne jest bardzo dużo różnego rodzaju oprogramowania do zastosowań steganograficznych. Dostępne są narzędzia on-line, za pomocą których w dowolnym miejscu i czasie możemy przygotować nośnik z utajnioną wiadomością. Możemy też wybrać jeden z wielu programów do zainstalowania na komputerze. Przeglądając GitHub również natrafimy na tysiące repozytoriów zawierających źródła programów potrafiących ukryć dane w plikach.

Wpis powstał pośrednio właśnie po to, aby przygotować teoretyczne podstawy pod utworzenie oprogramowania steganograficznego, realizującego ograniczony zakres funkcjonalności. Zagadnienie jest na tyle szerokie, że pewne techniki steganograficzne są doskonałym, łatwym w implementacji, wprowadzeniem w bitowe operacje na plikach oraz budowę formatów. Skrypty umożliwiające umieszczenie tekstu w języku polskim w plikach graficznych oraz ich wyłuskanie są dostępne na koncie devdo-eu w portalu GitHub. Wpis w dziale Praktyka opisujący, co dzieje się w skryptach, jakie są plany na rozwinięcie i dlaczego w Pythonie3 – jest już dostępny. Zapraszam do zapoznania się również z nim.

Dodaj komentarz