Czarne chmury nad PDF

Badaczka twierdzi, że metadane dokumentu można przeczytać i edytować za pomocą skryptów w języku JavaScript. Nawet pliki skompresowane przy użyciu formatu takiego jak ZIP można zachować i dołączyć do pliku PDF, a następnie osadzić dowolne obiekty za pomocą komentarzy. O ile osadzenie plików jest czymś normalnym, znacznie ciekawiej wygląda opcja, która wykorzystuje pliki JavaScript do uruchomienia różnych akcji, przy czym do niektórych obiektów można się odwołać wielokrotnie, by uzyskać różne odpowiedzi przy otwieraniu pliku. W ten sposób można także przeprowadzić infekcję z użyciem powszechnie wykorzystywanego sposobu drive-by, pobierając poszczególne składniki złośliwego oprogramowania.

PDF w firmach

Wiele firm oraz instytucji, także państwowych, wykorzystuje pliki PDF jako standard dystrybucji informacji, która zachowuje spójność i standardowy wygląd niezależnie od systemu operacyjnego - zatem wydaje się, że to bardzo dobry wybór w środowiskach heterogenicznych. Aby zapewnić bezpieczeństwo, należy opracować reguły pracy z takimi plikami, obejmujące na przykład usuwanie wszelkich metadanych, aktywnej zawartości, a także kontroli poprawności i zgodności ze standardami. Narzędzia takie jak: BeCyPDFAsm, pdfedit, Advanced PDF Tools czy Aspose.PDF.Kit for Net 5.1.0, potrafią usuwać JavaScript (za pomocą tego ostatniego narzędzia wykorzystuje się metodę Strip z klasy PdfJavaScriptStripper). Potrafi to także aplikacja Adobe Acrobat.

Chociaż firma Adobe opracowała technologię uruchamiania kodu w izolowanym środowisku sandbox w najnowszej wersji Readera, niektórzy badacze są zdania, że opracowano już eksploity, które obchodzą także i to zabezpieczenie.

Antywirus nie widzi zagrożenia

Zagrożenie związane z formatem PDF (oraz innymi, które mogą osadzać aktywną zawartość, utrudniając przy tym analizę, na przykład DOC czy PPT) łączy się także z bardzo słabym wykrywaniem złośliwego oprogramowania, gdy zostaje ono umieszczone wewnątrz pliku o strukturze takiej jak PDF. Julia Wolf testowała działanie różnych skanerów antywirusowych - ponad połowa z 40 badanych programów nie podnosiła alarmu, mimo że ostrzeżenia związane z niektórymi z tych eksploitów wydano kilka miesięcy wcześniej.

Jeśli zagrożenie polega na opracowaniu złośliwego kodu w JavaScripcie i kod ten jest skompresowany, detekcja jest znacznie trudniejsza, zatem odsetek podnoszonych alarmów spowodowanych wykryciem eksploita jest jeszcze niższy.