Others

Czy możesz stwierdzić, czy plik PDF zawiera ukryty kod śledzący?

Plik PDF może zawierać więcej niż to, co widzisz na stronie. Wbudowany JavaScript, ukryte pola formularzy, zdalne wywoływanie zasobów i niestandardowe metadane mogą służyć do śledzenia, kiedy dokument jest otwierany, skąd jest otwierany i co robi z nim czytelnik. Bezpieczeństwo PDF Skanowanie w poszukiwaniu mechanizmów śledzenia staje się standardowym krokiem w procesie należytej staranności biznesowej, szczególnie w przypadku otrzymywania plików PDF z nieznanych lub niezaufanych źródeł. Pytaniem nie jest tylko to, czy kod śledzący istnieje, ale czy masz narzędzia umożliwiające jego wykrycie przed otwarciem poufnego dokumentu.

Kod śledzący w plikach PDF można podzielić na dwie kategorie: zamierzone i łagodne. Zamierzone śledzenie wykorzystuje JavaScript, aby zadzwonić do domu po otwarciu dokumentu i wysłać adres IP osoby otwierającej, przybliżoną lokalizację i czas czytania do serwera śledzącego. Łagodne śledzenie obejmuje takie funkcje, jak potwierdzenia odczytu osadzane w fakturach w formacie PDF lub zarządzanie prawami cyfrowymi, które weryfikuje licencję przed wyświetleniem treści. Obydwa typy wykorzystują podobne mechanizmy techniczne, a opisane tutaj metody wykrywania działają w obu przypadkach.

Funkcje PDF Privacy WukongPDF obejmują narzędzia kontroli bezpieczeństwa, które skanują dokumenty w poszukiwaniu osadzonych skryptów przed przetworzeniem. Szybkie sprawdzenie przed otwarciem pliku PDF od nieznanego nadawcy dodaje warstwę ochrony przed śledzeniem, której większość czytników plików PDF domyślnie nie zapewnia.

Can You Tell If a PDF Contains Hidden Tracking Code

Jak technicznie działa kod śledzący PDF

Pliki PDF obsługują JavaScript za pośrednictwem Acrobat JavaScript API, podzbioru JavaScript działającego w silniku skryptowym czytnika PDF. Skrypty na poziomie dokumentu są wykonywane automatycznie po otwarciu pliku PDF, przeglądaniu strony, drukowaniu dokumentu lub jego zamknięciu. Skrypt śledzący zazwyczaj działa na zdarzeniu DocOpen, zbiera informacje dostępne za pośrednictwem interfejsu API JavaScript, takie jak adres IP czytelnika, za pośrednictwem żądania HTTP i wysyła te dane do zdalnego serwera za pomocą metod app.launchURL lub Net.HTTP.request.

Dane, które może gromadzić PDF JavaScript, są ograniczone w porównaniu z JavaScriptem przeglądarki. Nie może uzyskać dostępu do plików na komputerze użytkownika, czytać plików cookie przeglądarki ani wchodzić w interakcję z innymi otwartymi dokumentami. Może jednak wysyłać żądania sieciowe, co jest podstawową funkcją umożliwiającą śledzenie. Plik PDF otwarty w programie Adobe Acrobat Reader z włączoną obsługą JavaScript spowoduje ciche wykonanie skryptu śledzącego. Plik PDF otwarty w przeglądarce opartej na przeglądarce, która nie obsługuje interfejsu API JavaScript Acrobat, nie wykona skryptu, a próba śledzenia zakończy się niepowodzeniem w trybie cichym.

WukongPDF

Wypróbuj opcję Chroń plik PDF

Nie wymaga instalacji. Działa bezpośrednio w Twojej przeglądarce.

Zacznij teraz →

Metoda 1: Sprawdź JavaScript w programie Adobe Acrobat Pro

Najbardziej bezpośrednim sposobem sprawdzenia kodu śledzenia jest sprawdzenie zawartości JavaScript pliku PDF. W programie Adobe Acrobat Pro otwórz plik PDF, przejdź do menu Edycja, wybierz Preferencje, a następnie kliknij kategorię JavaScript. Odznacz opcję Włącz Acrobat JavaScript, aby globalnie wyłączyć całe wykonywanie JavaScript w czytniku. Zapobiega to uruchomieniu skryptu śledzącego po otwarciu pliku. Przed wyłączeniem JavaScript możesz sprawdzić, jakie skrypty istnieją, bez ich wykonywania.

Aby sprawdzić skrypty, otwórz plik PDF w programie Acrobat Pro i przejdź do opcji Narzędzia, następnie JavaScript i z listy rozwijanej wybierz opcję Dokumentuj JavaScripty. W oknie dialogowym są wyświetlane nazwy wszystkich skryptów na poziomie dokumentu. Wybierz nazwę skryptu i kliknij Edytuj, aby wyświetlić jego kod źródłowy. Poszukaj wzorców wskazujących na śledzenie: adresów URL wskazujących domeny zewnętrzne, wywołań app.launchURL, wywołań Net.HTTP.request lub odwołań do zdarzeń this.docOpened lub this.docClosed. Jeżeli skrypt wysyła żądania sieciowe i nie spodziewałeś się, że dokument będzie potrzebował dostępu do sieci, potraktuj go jako potencjalny kod śledzący.

Możesz usuwać pojedyncze skrypty w oknie dialogowym JavaScripty dokumentu. Wybierz nazwę skryptu i kliknij Usuń. Po usunięciu wszystkich podejrzanych skryptów zapisz plik PDF pod nową nazwą, aby zachować oryginał jako dowód. Wyczyszczony plik PDF zachowuje całą widoczną zawartość i funkcjonalność formularzy, ale nie wykonuje już usuniętych skryptów.

Metoda 2: Sprawdź wewnętrzne elementy PDF za pomocą edytora tekstu

Aby uzyskać głębszą kontrolę, która nie wymaga programu Acrobat Pro, przejrzyj surową wewnętrzną strukturę pliku PDF. Pliki PDF korzystają z tekstowego formatu obiektowego, w którym czytelne dla człowieka ciągi znaków i słowa kluczowe są przeplatane danymi binarnymi. Otwórz plik PDF w edytorze tekstu obsługującym duże pliki, takim jak VS Code, Notepad++ lub Sublime Text. Wyszukaj ciąg /JavaScript lub /JS. Te słowa kluczowe wyznaczają początek obiektów kodu JavaScript. Kod źródłowy skryptu następuje po słowie kluczowym, zwykle w nawiasach lub pomiędzy znacznikami strumienia i strumienia końcowego.

Wyszukaj także /URI lub /URL, aby znaleźć zakodowane na stałe adresy internetowe osadzone w pliku PDF. Skrypt śledzący może zawierać adres URL serwera śledzącego. Wyszukaj /AA lub /OpenAction, które są kluczami słownika PDF określającymi działania, które mają zostać wykonane po otwarciu dokumentu. Wpis /OpenAction wskazujący obiekt JavaScript jest najpopularniejszym mechanizmem wyzwalającym kod śledzący po otwarciu dokumentu.

Ta ręczna metoda inspekcji wymaga pewnej znajomości składni PDF, ale wychwytuje kod śledzenia, który mogą przeoczyć zautomatyzowane narzędzia. Jest to ta sama technika, której badacze bezpieczeństwa używają do analizowania podejrzanych załączników PDF w dochodzeniach w sprawie phishingu. Jeśli znajdziesz struktury śledzące i chcesz je zneutralizować bez programu Acrobat Pro, możesz usunąć odpowiednie obiekty z nieprzetworzonego pliku PDF za pomocą narzędzia takiego jak qpdf z flagą --remove-restrictions, chociaż to podejście wymaga ostrożności, aby uniknąć uszkodzenia struktury pliku.

Metoda 3: Automatyczne skanery zabezpieczające PDF

Kilka bezpłatnych i komercyjnych narzędzi automatyzuje wykrywanie śledzenia i złośliwego kodu w plikach PDF. DID-SIEM i podobne narzędzia do analizy bezpieczeństwa analizują strukturę pliku PDF i oznaczają obiekty zawierające JavaScript, zewnętrzne adresy URL, akcje uruchamiania i osadzone pliki. Internetowe narzędzia do sprawdzania bezpieczeństwa plików PDF akceptują przesyłanie pliku i zwracają raport zawierający listę wszystkich potencjalnie możliwych do śledzenia elementów. Do rutynowego sprawdzania plików PDF otrzymanych ze źródeł zewnętrznych automatyczny skaner jest szybszy i dokładniejszy niż kontrola ręczna.

WskaźnikCo to oznaczaJak sprawdzić
Dokumentuj JavaScriptSkrypty uruchamiane podczas otwierania, zamykania lub drukowania pliku PDFAcrobat: Edycja, Preferencje, panel JavaScript
Wywołania zasobów zewnętrznychPlik PDF po otwarciu ładuje obrazy, czcionki lub dane ze zdalnych adresów URLSprawdź właściwości dokumentu pod kątem osadzonych adresów URL
Ukryte pola formularzaNiewidoczne pola, które są wstępnie wypełnione identyfikatorami śledzenia lub tokenamiOtwórz panel Formularze i poszukaj ukrytych flag pól
Skrypty metadanychMetadane XMP zawierające niestandardowe identyfikatory śledzeniaPrzeglądaj właściwości dokumentu i surowe dane XMP

Co zrobić, jeśli znajdziesz kod śledzenia

Znalezienie kodu śledzenia w otrzymanym pliku PDF nie musi oznaczać, że nadawca działa złośliwie. Faktury w formacie PDF zwykle zawierają skrypty potwierdzenia odczytu, które powiadamiają nadawcę o otwarciu faktury. Materiały marketingowe mogą obejmować śledzenie zaangażowania podobne do pikseli śledzących otwarcie wiadomości e-mail. Pytaniem jest, czy śledzenie jest jawne i odpowiednie dla rodzaju dokumentu. Oczekuje się potwierdzenia przeczytania faktury. Problematyczny jest ukryty moduł śledzący w umowie przesyłanej w trakcie negocjacji.

Jeśli chcesz udostępnić dokument innym osobom bez kodu śledzenia, usuń kod JavaScript zgodnie z opisem w metodzie 1 i zapisz czystą kopię. Jeśli kod śledzenia stanowi część systemu DRM lub systemu wymuszania licencji, usunięcie go może naruszyć warunki korzystania z dokumentu. W przypadku dokumentów wrażliwych z prawnego punktu widzenia przed usunięciem jakiegokolwiek osadzonego kodu skonsultuj się z działem prawnym lub zespołem ds. bezpieczeństwa Twojej organizacji, ponieważ mechanizmy śledzenia mogą stanowić część systemu zgodności lub ścieżki audytu, do którego zachowania jesteś zobowiązany na mocy umowy.

Kod śledzenia PDF można wykryć za pomocą odpowiednich narzędzi. Przeprowadzenie szybkiej kontroli JavaScript przed otwarciem plików PDF z nieznanych źródeł zajmuje mniej niż minutę i wychwytuje większość mechanizmów śledzenia. Włączenie tej kontroli do standardowej procedury obsługi dokumentów zmniejsza prawdopodobieństwo nieświadomego udostępniania informacji o czytaniu stronom zewnętrznym. W przypadku organizacji obsługujących poufne dokumenty polityka domyślnego wyłączania JavaScript w czytniku plików PDF i włączania go tylko dla zaufanych dokumentów zapewnia silną podstawową ochronę bez konieczności ciągłej kontroli każdego dokumentu.

Wyłączanie JavaScript we wszystkich czytnikach plików PDF w organizacji

Indywidualna kontrola każdego pliku PDF pod kątem kodu śledzenia jest praktyczna w przypadku okazjonalnego użytku, ale nie jest dostosowana do organizacji otrzymującej codziennie setki zewnętrznych plików PDF. Bardziej systematyczne podejście polega na wyłączeniu wykonywania JavaScriptu na poziomie czytnika na wszystkich urządzeniach. W programie Adobe Acrobat Reader ustawienie to znajduje się w obszarze Edycja, Preferencje, JavaScript, gdzie odznaczenie opcji Włącz Acrobat JavaScript blokuje wykonywanie wszystkich skryptów. To ustawienie można wdrożyć za pomocą zasad grupy w systemie Windows, poprzez profil konfiguracyjny na komputerze Mac oraz za pośrednictwem zarządzanych preferencji w przypadku wdrożeń programu Acrobat Reader w przedsiębiorstwie.

Globalne wyłączenie JavaScriptu ma wpływ na funkcjonalność. Niektóre formularze PDF wykorzystują JavaScript do sprawdzania poprawności pól, automatycznych obliczeń i dynamicznego zachowania formularza. Funkcje te przestają działać, gdy JavaScript jest wyłączony. W przypadku organizacji korzystających z interaktywnych formularzy PDF podejście powinno polegać na domyślnym wyłączeniu JavaScript i włączeniu go tylko dla formularzy z zaufanych źródeł wewnętrznych, zamiast akceptować ryzyko bezpieczeństwa związane z wykonywaniem JavaScript w każdym pliku PDF od każdego zewnętrznego nadawcy. Kontrola bezpieczeństwa plików PDF pod kątem kodu śledzenia to nowoczesna umiejętność czytania i pisania dokumentów. Poświęcenie jednej minuty na sprawdzenie kodu JavaScript, zewnętrznych adresów URL i ukrytych pól formularzy przed otwarciem lub udostępnieniem pliku PDF z nieznanego źródła zapobiega subtelnym formom wycieku informacji, o istnieniu którego większość użytkowników plików PDF nawet nie zdaje sobie sprawy. Świadome podejście do obsługi plików PDF chroni zarówno prywatność osób, jak i bezpieczeństwo informacji organizacyjnych, bez konieczności stosowania specjalistycznego oprogramowania lub zaawansowanej wiedzy technicznej.

WukongPDF

Wypróbuj opcję Chroń plik PDF

Nie wymaga instalacji. Działa bezpośrednio w Twojej przeglądarce.

Zacznij teraz →