Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

plik SVG z JavaScriptem

Termin Definicja
plik SVG z JavaScriptem

Plik SVG z osadzonym JavaScriptem to wektor ataku wykorzystujący traktowanie grafiki jako nieszkodliwej.

Jak działa plik SVG z osadzonym JavaScriptem

SVG, czyli Scalable Vector Graphics, jest opartym na XML formacie opisu grafiki wektorowej. Dokument SVG może zawierać elementy takie jak <path>, <rect>, <text> i <image>, ale także element <script> oraz atrybuty zdarzeń, na przykład onclick. Oznacza to, że plik z rozszerzeniem .svg nie zawsze jest wyłącznie statycznym obrazem. W zależności od sposobu otwarcia i programu, który go interpretuje, może zostać potraktowany jako dokument zawierający wykonywalny kod.

Skrypt w SVG może reagować na zdarzenia, modyfikować elementy dokumentu, tworzyć lub zmieniać odwołania do innych zasobów oraz wykonywać operacje dostępne dla danego środowiska uruchomieniowego. Sam fakt obecności JavaScriptu nie oznacza jeszcze, że plik jest złośliwy, ponieważ SVG bywa używany także do legalnych, interaktywnych ilustracji, diagramów i animacji. Ryzyko pojawia się wtedy, gdy plik pochodzi z nieznanego źródła, a aplikacja lub przeglądarka otwiera go w kontekście umożliwiającym wykonanie skryptu.

Dlaczego rozszerzenie grafiki może wprowadzać w błąd

Pliki SVG są często przesyłane jako załączniki, umieszczane na stronach internetowych albo wykorzystywane jako ikony i obrazy. Użytkownik może uznać grafikę za bezpieczniejszą niż plik wykonywalny, dokument z makrem czy skrypt zapisany w pliku tekstowym. Tymczasem SVG jest dokumentem XML, a nie bitmapą taką jak JPEG lub PNG. Jeżeli program otworzy go jako pełny dokument, może przeanalizować zawartość skryptową, odwołania do zasobów zewnętrznych i obsługę zdarzeń.

Znaczenie ma również kontekst osadzenia. SVG użyty jako zwykły obraz w odpowiednio skonfigurowanym elemencie strony może podlegać innym ograniczeniom niż SVG otwarty bezpośrednio w karcie przeglądarki. Zachowanie zależy od przeglądarki, nagłówków HTTP, polityki bezpieczeństwa treści, sposobu osadzenia oraz aplikacji obsługującej plik. Nie należy więc wyciągać wniosku, że każdy skrypt w SVG zawsze wykona się w każdej sytuacji. Równie błędne jest założenie, że każde SVG jest pozbawione kodu wykonywalnego tylko dlatego, że przedstawia grafikę.

Atakujący może nadać plikowi nazwę sugerującą ikonę, skan, fakturę albo dokument techniczny, a następnie nakłonić odbiorcę do otwarcia go w przeglądarce lub programie graficznym. W praktyce zagrożenie może polegać na wyświetleniu fałszywego komunikatu, przekierowaniu do innej witryny, próbie pobrania kolejnego pliku albo wykorzystaniu błędu w konkretnym programie. Skuteczność takiego działania zależy od użytego silnika i jego zabezpieczeń, dlatego ocenę trzeba odnosić do konkretnego środowiska, a nie do samego rozszerzenia.

Weryfikacja zawartości SVG przed otwarciem

Podstawową czynnością jest sprawdzenie, czy plik rzeczywiście zawiera oczekiwaną grafikę, czy dodatkową treść skryptową. SVG można otworzyć w edytorze tekstu jako dokument XML, bez uruchamiania go w przeglądarce. Warto wyszukać elementy <script>, atrybuty zaczynające się od on, takie jak onclick lub onload, oraz odwołania href i xlink:href prowadzące do adresów internetowych. Należy również zwrócić uwagę na zakodowane lub zaciemnione fragmenty, nietypowo długie ciągi znaków i elementy <foreignObject>, które mogą osadzać treść HTML zależną od obsługi przez dany program.

Jeżeli SVG ma być używany na stronie internetowej, bezpieczniejszym podejściem jest oczyszczenie dokumentu po stronie serwera przed zapisaniem lub opublikowaniem. Usuwanie skryptów powinno obejmować zarówno elementy JavaScript, jak i atrybuty zdarzeń oraz niepożądane odwołania do zasobów zewnętrznych. Samo filtrowanie tekstu prostymi wyrażeniami regularnymi nie daje pewności, ponieważ XML może zawierać różne sposoby zapisu atrybutów, encje i struktury zagnieżdżone. Do tego zadania należy używać sprawdzonego parsera XML i narzędzia sanitizującego skonfigurowanego dla SVG, a wynik trzeba ponownie zweryfikować.

W środowisku użytkownika pomocne jest ograniczenie automatycznego otwierania załączników oraz aktualizowanie przeglądarki, programu graficznego i systemu operacyjnego. Plik otrzymany pocztą lub komunikatorem warto najpierw przeskanować mechanizmem bezpieczeństwa i porównać z oczekiwanym źródłem. Jeżeli plik ma służyć wyłącznie jako statyczna ilustracja, można rozważyć jego konwersję do formatu rastrowego w odizolowanym środowisku, pamiętając, że sam proces konwersji także powinien korzystać z aktualnego, zaufanego oprogramowania.

Objawy problemu i działania serwisowe

Niepokojącym sygnałem po otwarciu SVG jest pojawienie się nieoczekiwanej karty przeglądarki, przekierowania, okna logowania, komunikatu o konieczności pobrania programu albo próby zapisania kolejnego pliku. Podejrzane są także nagłe zmiany ustawień przeglądarki, nowe rozszerzenia, nietypowe procesy uruchomione bez działania użytkownika oraz powtarzające się alerty zabezpieczeń. Pojedynczy komunikat nie przesądza o infekcji, ale powinien skłonić do zamknięcia dokumentu, odłączenia pliku od dalszego obiegu i wykonania skanowania z użyciem aktualnego oprogramowania ochronnego.

Diagnostyka powinna objąć historię pobierania i stron, listę ostatnio zainstalowanych aplikacji, rozszerzenia przeglądarki, autostart systemu oraz pliki utworzone w czasie otwierania załącznika. Warto zachować kopię podejrzanego SVG do analizy, lecz nie należy uruchamiać jej ponownie na używanym komputerze. Jeżeli użytkownik wpisał hasło w oknie wyświetlonym po otwarciu pliku, hasło powinno zostać zmienione z bezpiecznego urządzenia, a aktywne sesje danego konta unieważnione zgodnie z możliwościami usługi. Dalsze kroki zależą od ustaleń z analizy i od tego, czy doszło tylko do wyświetlenia treści, czy również do uruchomienia dodatkowego programu.

Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i podzespołów, a w przypadku podejrzanego pliku SVG może przeprowadzić diagnostykę systemu, sprawdzić nietypowe zmiany w oprogramowaniu oraz pomóc w przywróceniu bezpiecznej konfiguracji urządzenia. Zakres czynności powinien wynikać z objawów i zebranych dowodów, ponieważ samo usunięcie pliku graficznego nie zawsze usuwa skutki wykonania kodu.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę