Czy można odczytać zaszyfrowany plik PDF?

Badacz Fabian Ising pokazał podczas konferencji Chaos Communication Congress ograniczenia związane z szyfrowaniem plików PDF.

Zgodnie ze specyfikacją formatu pliku PDF obsługuje szyfrowanie, używając algorytmu AES w trybie wiązania bloków zaszyfrowanych. Dlatego — przynajmniej teoretycznie — każdy, kto szyfruje plik PDF, może mieć pewność, że jego zawartość może zobaczyć tylko ta osoba, która ma hasło. W trakcie badania bezpieczeństwa formatu PDF zespół naukowców z kilku niemieckich uniwersytetów przetestował, na ile niezawodne jest szyfrowanie stosowane w tym formacie. Fabian Ising z uczelni Münster University of Applied Sciences przedstawił swoje wnioski, które niestety rozczarowały.

W teorii firmy używają zaszyfrowanych plików PDF do przesyłania danych za pośrednictwem niezabezpieczonego lub niezaufanego kanału — na przykład do umieszczania pliku w magazynie w chmurze, do którego ma dostęp wiele osób. Naukowcy szukali sposobu na zmodyfikowanie pliku źródłowego w taki sposób, aby po wprowadzeniu hasła informacje w pliku PDF były wysyłane do osoby trzeciej, ale bez wprowadzania jakichkolwiek zmian widocznych dla odbiorcy.

Badacze opracowali dwie koncepcje ataku, które umożliwiają osobom trzecim uzyskanie dostępu do zaszyfrowanej zawartości. Pierwszy atak (eksfiltracja bezpośrednia) nie wymaga posiadania żadnych specjalnych umiejętności kryptograficznych — wystarczy rozumieć specyfikację formatu PDF. Drugi atak jest bardziej skomplikowany i wymaga rozumienia trybu wiązania bloków zaszyfrowanych.

Kto i do czego używa szyfrowanych PDF-ów?

Szyfrowanych plików PDF firmy używają w różnych sytuacjach:

  • Banki zapewniają w ten sposób poufność podczas wymiany dokumentów z klientami.
  • Organizacje mogą akceptować zeskanowane dokumenty wysłane pocztą e-mail w postaci chronionych hasłem plików PDF, jeśli nadawca wybierze opcję „w postaci zaszyfrowanej”.
  • Urządzenia do diagnostyki medycznej używają zabezpieczonych PDF-ów do wysyłania wyników testów do pacjentów lub klinik.
  • Agencje rządowe (np. Departament Sprawiedliwości Stanów Zjednoczonych) akceptują przesyłanie dokumentów w postaci zaszyfrowanych plików PDF.

Wiele wtyczek aplikacji pocztowych zapewnia możliwość wysłania dokumentu w postaci zaszyfrowanego pliku PDF, zatem zapotrzebowanie na tę opcję naprawdę istnieje.

Atak bezpośredniego wyciągania danych

Szyfrowanie pliku PDF dotyczy tylko zawartości (tj. obiektów w pliku, które są scharakteryzowane jako ciągi lub strumienie). Pozostałe obiekty, określające strukturę dokumentu, pozostają niezaszyfrowane. Innymi słowy, możliwe uzyskanie informacji o liczbie i rozmiarze stron, obiektach i łączach. Informacji tych nie należy pozostawiać, gdyż potencjalni atakujący mogą użyć ich do obejścia szyfrowania.

Naukowcy zastanawiali się najpierw, czy mogą dodać do pliku własne informacje — teoretycznie dzięki temu mogliby wynaleźć kanał zdobywania danych. Z dokumentacji formatu dowiedzieli się, że pliki PDF umożliwiają szczegółową kontrolę nad szyfrowaniem: na przykład można szyfrować tylko obiekty typu „ciąg” lub typu „strumień”, pozostawiając inną zawartość niezaszyfrowaną.

Ponadto nie jest stosowana żadna kontrola integralności, więc jeśli coś zostanie dodane do zaszyfrowanego dokumentu, użytkownik się o tym nie dowie. Tym „czymś” może być np. polecenie przesłania formularza, co oznacza, że w pliku PDF można umieścić formularz, który wysyła dane (na przykład całą zawartość dokumentu) do osoby trzeciej. Funkcja ta może też na przykład obejmować otwieranie dokumentu.

Jest to jeden z wielu przykładów zdobywania danych. Osoby atakujące mogą umieścić link do swojej witryny, a do adresu może zostać dodana cała zawartość pliku. Mogą też użyć JavaScriptu do wysyłania odszyfrowanej zawartości do dowolnego miejsca. Oczywiście niektóre czytniki PDF zapytają użytkownika, zanim połączą się ze stroną internetową, ale nie wszystkie. Ponadto nie każdy użytkownik zastanowi się, zanim zezwoli na taki kontakt.

Atak na ciągi

Drugi atak na szyfrowanie PDF wykorzystuje znaną wadę trybu wiązania bloków zaszyfrowanych, który nie ma kontroli integralności. W tym dobrze znanym ataku osoba postronna, która zna część zaszyfrowanych informacji w postaci zwykłego tekstu, może zmienić zawartość bloku.

Jednak zgodnie ze specyfikacją formatu PDF za każdym razem, gdy zawartość pliku jest szyfrowana, szyfrowane są również różne uprawnienia (na przykład autor ma możliwość edytowania dokumentu, a dla czytnika opcja ta jest zablokowana). Teoretycznie miało to na celu uniemożliwienie osobom atakującym manipulowanie uprawnieniami, które są szyfrowane przy użyciu tego samego klucza AES co reszta dokumentu.

Jednocześnie uprawnienia te są również przechowywane w pliku w postaci niezaszyfrowanej. Oznacza to, że domyślnie atakujący znają 12 bajtów pliku, w związku z czym mogą użyć trybu wiązań bloków zaszyfrowanych w celu zaatakowania i zmiany zaszyfrowanych danych, na przykład dodając do zaszyfrowanego pliku mechanizm eksfiltracji danych w celu wysłania zawartości pliku do witryny innej firmy.

Efekty

Badacze przetestowali swoje metody na 23 czytnikach PDF i 4 przeglądarkach. Okazało się, że każda z nich w jakiś sposób jest podatna na co najmniej jeden z tych ataków.

Tabela podsumowująca luki w przeglądarkach PDF. Źródło.

Niestety żadne rozwiązanie po stronie klienta nie może wyeliminować wady omawianego formatu. Zablokowanie wszystkich kanałów eksfiltracji sparaliżuje używanie go. Badacze skontaktowali się z programistami i zgłosili wspomniane problemy, a niektóre firmy (w tym Apple) zaczęły wyraźnie powiadamiać użytkownika, że plik uzyskuje dostęp do witryny innej firmy. Tymczasem inne organizacje poinformowały, że nie udało im się naprawić czegoś, czego według nich naprawić się nie da.

Jeśli chcesz przekazać poufne dane, skorzystaj z alternatywnej metody zabezpieczania ich. Na przykład możesz użyć naszych rozwiązań i utworzyć zaszyfrowane kontenery.

Porady