artykuły

Steganografia − wyzwanie wciąż aktualne

8
7 czerwca 2019, 15:01 Krzysztof Wołk

Steganografia i znakowanie wydruków

W dawnych czasach łatwo było namierzyć autora tekstu. Gdy wszystko pisano ręcznie, a książek było niewiele, nawet jeśli ktoś pisał anonimowo, wskazówką był charakter pisma. Z czasem powstały pierwsze drukarnie książek wykorzystujące ruchome czcionki. Tworzone z metalu elementy maszyny miały cechy indywidualne, co także umożliwiało wykrycie, skąd pochodzi wydruk. Gdy zaczęto stosować maszyny do pisania, nie były one wolne od wad, a to pozwalało na odnalezienie konkretnego urządzenia. W czasach ZSRR, gdy walczono z dziennikarzami i pisarzami, którzy pisali teksty nieprzychylne dla władzy, by ułatwić poszukiwania takich osób, znakowano maszyny do pisania.

Pierwsze próby znakowania wydruków przez producentów drukarek miały miejsce ponad trzydzieści lat temu. A wraz z rozpoczęciem znakowania rozwinęła się dziedzina o nazwie steganografia drukarkowa. 

Tajemnicze informacje zapisywane są na wydrukach w formie niewielkich, ledwo dostrzegalnych żółtych kropek, które znajdują się na kwadracie o boku 1 cm.

Na początku nie było wiadomo, co te kropki oznaczają. Jednak dzięki naukowcom z Drezna zagadka została rozwiązana. Żółte kropki na kartkach mogą służyć między innymi do inwigilacji. Producenci drukarek nie stosują kropek z własnej inicjatywy. Jest to efekt współpracy, jaką nawiązał z nimi wywiad amerykański i angielski.

Wśród producentów, którzy używają tego rozwiązania, wymienia się między innymi firmy: Canon, HP, Dell, Lexmark, Brother, Hewlett-Packard, Ricoh, Konica Minolta, Xerox oraz Toshiba. Ze znanych marek jedynie Samsung miał nie wprowadzić znakowania kropkami do swych urządzeń.

Ledwo widoczne żółte kropki zawierają między innymi informacje o numerze seryjnym drukarki, dacie i dokładnej godzinie wydruku. Oczywiście zwykły człowiek, który drukuje dokumenty, nie zauważy, że na kartkach znajduje się nie tylko to, co miało zostać wydrukowane, ale również tajemniczy szyfr.

Fot.://www.semanticscholar.org/paper/Forensic-Analysis-and-Anonymisation-of-Printed-Richter-Escher/2be9abe785b6159df65063dd80a6a72e29fa6d23

Sprawa tajemniczych wydruków z żółtymi kropkami ujrzała światło dzienne dopiero w 2004 roku. Przez lata starano się ukrywać informacje o tym. Tłumaczono, że żółte kropki są ochroną przed fałszowaniem pieniędzy i papierów wartościowych. Choć jest to pewne wyjaśnienie, to możemy być pewni, że to niejedyna przyczyna stosowania tego rozwiązania.

Wspomniani naukowcy z Drezna potrafili złamać zabezpieczenie. Nie tylko rozszyfrowali kody, które stosowane były przez producentów drukarek. Opracowali także otwartoźródłowe narzędzie DEDA, którego kod umieścił w repozytorium GitHub. Program pozwala na odczytanie kodu oraz na zastosowanie anonimizacji wydruku. Kilka żółtych kropek nadal pozostanie, lecz tak naprawdę nie będą nic znaczyć, więc drukowanie będzie w pełni bezpieczne.

Narzędzie zostało zaprogramowane w języku Python3, więc można je uruchomić na wielu platformach. Na przykład korzystając z menedżera pakietów PIP3, wystarczy wydać polecenie: $ pip3 install --user deda aby narzędzie zainstalować, a następnie: $ deda_gui by uruchomić interfejs użytkownika w formie strony internetowej.

Narzędzie to ma kilka ciekawych funkcji. Jedną z nich jest Forensic Analysis, która pozwala dokonać analizy zeskanowanych dokumentów oraz dekodowania ukrytych informacji. Opcja Pattern Comparison pozwala na porównanie kilku plików i znajdujących się na nich oznakowań. Generate Pattern pozwala stworzyć własne wzorce, dzięki którym będzie możliwe przyszłe identyfikowanie własnych wydruków, zdjęć czy innych dokumentów. Jest to przydatne choćby podczas publikowania treści w internecie, gdy chcemy zatroszczyć się o własne prawa autorskie. Scan Anonymization pozwala na coś odwrotnego, czyli anonimizację wcześniej oznakowanych dokumentów. Generate Print Mask generuje maskę punktów anonimizujących dostosowanych do konkretnego rodzaju drukarki. Mechanizm ten wymaga wydrukowania strony wzorcowej, która jest następnie skanowana − na podstawie skanu tworzona jest maska. Opcja Print Anonymization wymaga, aby wcześniej została wygenerowana maska dostosowana do drukarki, z której korzystamy. Ponadto aplikacja zakłada, że dokument, który mamy zamiar drukować, zapisaliśmy w pliku .pdf. Gdy spełnimy te dwa warunki, możemy dokonać anonimizacji naszego dokumentu przed przekazaniem zadania wydruku do urządzenia.

3