Jedną z najczęstszych praktyk przy cenzurowaniu haseł lub innych poufnych informacji na obrazach jest zastosowanie klasycznego pikselowania. Istnieje też możliwość użycia zniekształceń kierunkowych lub szumu, ale ogólnie piksele są bardziej popularne. Wyobraź sobie jednak mechanizm, który pozwala odzyskać hasło ze spikselowanych obrazów. Projekt Depix zmierza w tym kierunku i choć ma zaledwie nieco ponad dwa miesiące, jego potencjał jest ogromny.

Depix: Odzyskiwanie hasła ze spikselowanych obrazów
Odzyskiwanie hasła z obrazów z pikselowaniem

Piksele i „utracone” informacje

W połowie zeszłego roku rozmawialiśmy o Face Depixelizer, platformie sztucznej inteligencji, która potrafi tworzyć obrazy percepcyjnie realistyczne na podstawie spikselowanych twarzy. Problem w tym, że wielu użytkowników internetu uwierzyło, że technologia ta pozwala rozpoznać ocenzurowane twarze, podczas gdy w praktyce tak nie jest. W rzeczywistości wszystko, co generuje algorytm, jest „wymyślone”, a sądząc po jego oryginalnych wynikach, ma bardzo szeroką wyobraźnię.

Jednakże koncepcja częściowego odzyskiwania staje się wykonalna w zależności od materiału do przetworzenia. Na przykład pomyśl o spikselowanym haśle. Oryginalne informacje są zniszczone, ale w takich przypadkach nie potrzebujemy idealnego wyniku. Wystarczy poznać ogólną strukturę hasła (powiedzmy, ile ma łącznie znaków) lub kilka jego liter, aby opracować bardziej złożony i precyzyjny atak.

Jak Depix odzyskuje hasło ze spikselowanych obrazów?

To prowadzi nas do projektu Depix autorstwa Sipke Mellemy, który w grudniu 2020 roku opublikował artykuł pod tytułem “Recovering passwords from pixelized screenshots”. Wyjaśnia w nim podstawowy proces pikselizacji oraz historię niektórych algorytmów używanych do „demaskowania”, które sięgają nawet połowy lat 90.

Depix: Odzyskiwanie hasła ze spikselowanych obrazów
Jedna z sekwencji De Bruijna używanych przez Depix w jego przetwarzaniu

Jak to dokładnie działa? Tak zwany “liniowy filtr pudełkowy” (formalna nazwa pikselowania) wykorzystuje deterministyczny algorytm. Innymi słowy, jeśli wielokrotnie pikselujemy tę samą wartość, zawsze otrzymamy ten sam wynik. Tekst również nie jest na to odporny. Poniżej przykład litery J powtórzonej pod tym samym filtrem.

Depix: Odzyskiwanie hasła ze spikselowanych obrazów
Litera J powtórzona 10 razy i zasłonięta. Wzór jest identyczny.

To, co robi Depix, to analiza i porównanie tych wzorców w celu zidentyfikowania konkretnych liter, cyfr i symboli. Nie jest to jednak łatwe zadanie: algorytm wymaga tego samego rozmiaru tekstu i koloru tła. Depix kompensuje to, używając jako bazy obrazu zawierającego sekwencję De Bruijna wszystkich możliwych znaków.

Szczegóły techniczne i podsumowanie

Technicznie rzecz biorąc, Depix to skrypt w Pythonie, więc każde środowisko przygotowane do obsługi tych skryptów powinno go uruchomić. Osobiście polecam użyć jakiejś dystrybucji Linuksa i zwrócić uwagę na sekcję zależności, ponieważ nie wszystkie dystrybucje mają odpowiednie elementy. Kolejną rzeczą, na którą warto zwrócić uwagę, jest to, że Depix potrzebuje czasu. Wszystko zależy od długości przetwarzanego pikselowania, ale zawsze widywałem, że skrypt używa jednego rdzenia.

Depix: Odzyskiwanie hasła ze spikselowanych obrazów
Testowanie Depix w Kali
Depix: Odzyskiwanie hasła ze spikselowanych obrazów
Wyniki były prawie zerowe w naszym przypadku, ale spróbujemy ponownie...

Jeśli chodzi o wyniki, nasze pierwsze doświadczenia były dość słabe. Być może trzeba nieco dostosować warunki wstępne obrazu, ale nie mamy wątpliwości, że jego wydajność poprawi się z czasem. Odwiedź profil Depix na GitHubie i przetestuj go sam.

Oficjalna strona: Kliknij tutaj